FYI; I've cleaned the code up (with some of the issues that pycharm indicated) and created a pull request for it to be merged into the development branch.
https://github.com/weewx/weewx/pull/670 On Monday, 3 May 2021 at 14:39:33 UTC+1 WeewxUser wrote: > Hi! > I'm using weewx with a airmar 150LB, which I found in a bin (about to be > thrown out) at my previous employer. It has a broken humidity sensor, so in > effect it operates like a 200 WX. > > I updated the driver script to handle the case where the humidity and > temperature is missing, but also I have a separate python script pulling in > humidity and temperature from a cheap DHT22. So I updated the WIMDA message > handling to parse messages where not all of the message is complete, so it > only pulls out values which are available. I've attached the updated driver. > > I'm using kplex to allow multiple inputs NMEA2000 inputs into weewx. > Here's my kplex configuration; > [serial] > filename=/dev/ttyAMA0 > direction=both > baud=4800 > checksum=no > strict=no > > [tcp] > mode=server > port=10111 > direction=in > checksum=no > strict=no > > [tcp] > mode=server > port=10110 > direction=out > > Here's the relevant section of the weewx config; > [Airmar] > # This section is for the Airmar series of weather stations. > # > # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0 > port = socket://localhost:10110 > > # The station model, e.g., Airmar 150WX > model = Airmar > > # The driver to use: > driver = weewx.drivers.airmar > > I might see if I can update my version of weewx, and if the driver's still > working, make a pull request to include the driver in the weewx package. > > > On Monday, 10 August 2020 at 21:26:20 UTC+1 [email protected] wrote: > >> Hi Jim, >> >> thank you for your answer. I'll try it with the "string methode". Before >> I tried to adapt the lines at the bottom of the aleksander's (the original) >> driver version: >> >> >> >> * if 'windSpeed_mwd' in data and data['windSpeed_mwd'] is not >> None: data['windSpeed'] = data['windSpeed_mwd'] >> elif 'windSpeed_mda' in data and data['windSpeed_mda'] is not >> None: data['windSpeed'] = data['windSpeed_mda']* >> With my above added dictonary entry "SOG_kn": >> >> >> >> >> >> >> >> * try: data['COG_degTrue'] = >> float(buf[1]) data['COG_degMag'] = >> float(buf[3]) data['SOG_kn'] = >> float(buf[5]) data['SOG_kmh'] = >> float(buf[7]) except (ValueError): >> pass loginf("Wrong data format '%s, %s, %s, %s'" % >> (buf[1], buf[3], buf[5], buf[7]))* >> But weewx always complains about *KeyError: 'SOG_kn'. *After some >> google-sessions I found out, that this is python typical, if there is no >> dictonary entry for SOG_kn...which is fine, as long as I am testing on the >> desk with no GPS signal, but outside with values for SOG_kn (even >> displayable in grafana) I'm still receiving this error. >> >> And, I'm afraid, that I am not the Dennis who works with Cooper in >> Denmark ;-) >> I'm here in Munich, Germany ;-) >> [email protected] schrieb am Montag, 10. August 2020 um 21:10:19 UTC+2: >> >>> >>> by the way, are you the same Dennis that works with Cooper in Denmark? >>> On Monday, August 10, 2020 at 1:28:40 PM UTC-4 [email protected] wrote: >>> >>>> >>>> I wonder if your values are strings rather than floating point numbers? >>>> >>>> If so, then you would need: >>>> *data['windSpeed_true'] = >>>> str(float(data['windSpeed_rel_mwv'])-float(data['SOG_kn'])* ) >>>> >>>> I had to run my version of "airmar.py" independent of WeeWx in order to >>>> more easily debug. >>>> When I was satisfied with my tests, then I went back to WeeWx. >>>> >>>> I had my driver working for awhile but then had some trouble related, I >>>> think, to the RaspberryPi not having a good clock. >>>> After I get a real clock and get things going again, I will document my >>>> driver development for Airmar 200Wx modified from Rob's. >>>> >>>> -JiM. >>>> >>>> On Saturday, August 8, 2020 at 3:14:11 PM UTC-4 [email protected] wrote: >>>> >>>>> Edit: I ment subtract not divide...sorry about that >>>>> >>>>> [email protected] schrieb am Samstag, 8. August 2020 um 21:07:44 UTC+2: >>>>> >>>>>> First of all thank you Jim and Rob for your patience ;-) >>>>>> >>>>>> Second I'd like to ask, if someone (more python versed) can tell me >>>>>> how to divide two values in the airmar driver. In my specific case it >>>>>> would >>>>>> be the *windSpeed_rel_mwv* - *SOG_kn.* SOG_kn is an value I >>>>>> extracted from the message >>>>>> *$GPVTD. * >>>>>> If I use *data['windSpeed_true'] = >>>>>> data['windSpeed_rel_mwv']-data['SOG_kn']* I get an error. So can >>>>>> anyone tell me, where my mistake is? >>>>>> What I have learned, it is not the exact or 100% right way to >>>>>> calculate "true wind" but I think I would be close enough ;-) >>>>>> >>>>>> Thank you in advance and best regards, >>>>>> >>>>>> Dennis >>>>>> >>>>>> [email protected] schrieb am Samstag, 1. August 2020 um 22:29:51 UTC+2: >>>>>> >>>>>>> Hi Rob, >>>>>>> >>>>>>> if I didn't get the technical manual for the wx unit wrong not all >>>>>>> messages are enabled by default. So some messages have to be activated >>>>>>> manually. Did anyone managed to do so? When I start minicom the sensor >>>>>>> ist >>>>>>> talking but never listening. >>>>>>> @James: how are you coming on with this topic? >>>>>>> >>>>>>> Thank you and best regards, >>>>>>> >>>>>>> Dennis >>>>>>> >>>>>>> [email protected] schrieb am Donnerstag, 9. Juli 2020 um 22:04:31 >>>>>>> UTC+2: >>>>>>> >>>>>>>> Hi Dennis, >>>>>>>> >>>>>>>> One option to see the raw data in the terminal would be to put >>>>>>>> kplex between the usb and the weewx. Configure kplex to receive the >>>>>>>> messages from usb, and publish on a tcp server socket. Configure weewx >>>>>>>> to >>>>>>>> connect to that socket for messages. >>>>>>>> >>>>>>>> Kplex will log to a file if you configure it so, or you can simply >>>>>>>> telnet to the kplex tcp port and see the raw messages. You're looking >>>>>>>> for >>>>>>>> $WIVWT messages. >>>>>>>> >>>>>>>> http://www.stripydog.com/kplex/configuration.html >>>>>>>> >>>>>>>> I hope this helps, >>>>>>>> Rob. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, 9 Jul 2020 at 20:02, Dennis Füß <[email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Jim and Rob, >>>>>>>>> >>>>>>>>> first of all: thank you for your fast reply. >>>>>>>>> For the moment I have used windSpeed_rel_mwv but it turned out, >>>>>>>>> that the data I'm getting is the windspeed without the subtracted >>>>>>>>> vessel >>>>>>>>> speed. >>>>>>>>> The main problem is, that I'm the "engineer" for the system but >>>>>>>>> have no possibility to test it in person on the lake, where the >>>>>>>>> vessel is >>>>>>>>> located :-/ >>>>>>>>> >>>>>>>>> Maybe I explain my setup: >>>>>>>>> Airmar 150WX goes via NMEA 0183 cable to an RS422 to USB converter >>>>>>>>> to a raspberry pi 3 running weewx. Weewx stores the data in an >>>>>>>>> influxdb and >>>>>>>>> grafana is showing them. >>>>>>>>> >>>>>>>>> @Jim: thank you. But where have you specified the mentioned data? >>>>>>>>> I mean in which configuration file? >>>>>>>>> >>>>>>>>> @Rob: you asked if I would receive the values for >>>>>>>>> windSpeed_true_vess etc. -> I tried to call it in grafana but it >>>>>>>>> didn't >>>>>>>>> show me data, so I guess I don't receive them. Or is there a way to >>>>>>>>> see all >>>>>>>>> received data/variables in terminal (probably a stupid question, but >>>>>>>>> for >>>>>>>>> the moment I don't know). When I open grafana it shows me the >>>>>>>>> available >>>>>>>>> data from its database, so I don't see any reason why available data >>>>>>>>> shouldn't be stored in there, right? >>>>>>>>> >>>>>>>>> So I hope, that I didn't forget anything and stay thrilled for >>>>>>>>> Jim's findings ;-) >>>>>>>>> Thank you in advance and best regards, >>>>>>>>> >>>>>>>>> Dennis >>>>>>>>> Am Mittwoch, 8. Juli 2020 10:24:16 UTC+2 schrieb Rob Fuller: >>>>>>>>>> >>>>>>>>>> Hi Dennis, >>>>>>>>>> >>>>>>>>>> The device we use is at a fixed position so it's not something >>>>>>>>>> I've looked at before. >>>>>>>>>> >>>>>>>>>> Looking quickly at the code I see it does try to >>>>>>>>>> parse windAngle_true_vess and windSpeed_true_vess from the $WIVWT >>>>>>>>>> message. >>>>>>>>>> Does your device send that? >>>>>>>>>> >>>>>>>>>> Otherwise I'm waiting to see what James Manning comes up with ;-) >>>>>>>>>> >>>>>>>>>> Kind regards, >>>>>>>>>> Rob. >>>>>>>>>> >>>>>>>>>> On Tue, 7 Jul 2020 at 20:38, Dennis Füß <[email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Rob, >>>>>>>>>>> >>>>>>>>>>> maybe you can help me out since Aleksandar seems to be gone for >>>>>>>>>>> a while. >>>>>>>>>>> I have an Airmar 150WX up and running but i doesn't seem to give >>>>>>>>>>> me any values for *windSpeed_true_vess*. Or in other words I >>>>>>>>>>> don't get the windspeed subtracted from the vessel's speed. >>>>>>>>>>> >>>>>>>>>>> Do you have any idea, how to accomplish this? >>>>>>>>>>> >>>>>>>>>>> Thank you and best regards in advance, >>>>>>>>>>> >>>>>>>>>>> Dennis >>>>>>>>>>> >>>>>>>>>>> Am Mittwoch, 10. Juni 2020 09:12:48 UTC+2 schrieb Rob Fuller: >>>>>>>>>>>> >>>>>>>>>>>> Hi James, >>>>>>>>>>>> >>>>>>>>>>>> I haven't looked at this for a while, but anyhow it was working >>>>>>>>>>>> okay. At Marine Institute we did something like this: >>>>>>>>>>>> >>>>>>>>>>>> wget -O bin/weewx/drivers/airmar.py >>>>>>>>>>>> https://raw.githubusercontent.com/fullergalway/weewx-airmar-150wx-driver/master/airmar.py >>>>>>>>>>>> >>>>>>>>>>>> && chmod 755 bin/weewx/drivers/airmar.py >>>>>>>>>>>> >>>>>>>>>>>> In the weewx conf we included these lines >>>>>>>>>>>> [Station] >>>>>>>>>>>> ... >>>>>>>>>>>> station_type = Airmar >>>>>>>>>>>> >>>>>>>>>>>> [Airmar] >>>>>>>>>>>> model = Airmar 200WX >>>>>>>>>>>> port = socket://10.11.104.5:10000 >>>>>>>>>>>> driver = weewx.drivers.airmar >>>>>>>>>>>> >>>>>>>>>>>> I hope this helps! >>>>>>>>>>>> Rob. >>>>>>>>>>>> >>>>>>>>>>>> On Tue, 9 Jun 2020 at 20:50, 'James Manning - NOAA Federal' via >>>>>>>>>>>> weewx-development <[email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Rob- >>>>>>>>>>>>> >>>>>>>>>>>>> First, thanks MUCH for posting your "airmar.py" on github. >>>>>>>>>>>>> >>>>>>>>>>>>> I am a very novice weewx user. I just got the "simulator" >>>>>>>>>>>>> working on my RaspberryPi and now I want to hook up my Arimar >>>>>>>>>>>>> 200WX. >>>>>>>>>>>>> From what I understand, I need to take two basic steps: >>>>>>>>>>>>> >>>>>>>>>>>>> 1) modify the weewx.conf to point to new station_type and set >>>>>>>>>>>>> driver=weewx.drivers.airmar >>>>>>>>>>>>> 2) put the "airmar.py" in my "user" directory which I think is >>>>>>>>>>>>> /home/pi >>>>>>>>>>>>> >>>>>>>>>>>>> Is that right? >>>>>>>>>>>>> -JiM. >>>>>>>>>>>>> >>>>>>>>>>>>> On Wednesday, May 20, 2015 at 12:05:58 PM UTC-4, Rob Fuller >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks Aleksandar, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I needed to make a couple of small changes for it to work >>>>>>>>>>>>>> with our device (Airmar 200WX). Mostly: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1. use pyserial socket:// url, since we are exposing the >>>>>>>>>>>>>> weatherstation using ftdi driver and kplex >>>>>>>>>>>>>> 2. added some detail in the log messages >>>>>>>>>>>>>> 3. added some leniency on the checksum verification (" F" == >>>>>>>>>>>>>> "0F") >>>>>>>>>>>>>> >>>>>>>>>>>>>> For the 200WX I'm still getting a couple of warnings, but >>>>>>>>>>>>>> haven't looked into it yet, and generally things seem ok. The >>>>>>>>>>>>>> warnings are: >>>>>>>>>>>>>> >>>>>>>>>>>>>> weewx[11]: airmar: Wrong data format for windchill_rel '' >>>>>>>>>>>>>> weewx[11]: airmar: Wrong data format for windchill '' >>>>>>>>>>>>>> weewx[11]: airmar: Wrong data format for heatindex '' >>>>>>>>>>>>>> >>>>>>>>>>>>>> I put the source on github for the moment here if someone is >>>>>>>>>>>>>> running with it: >>>>>>>>>>>>>> https://github.com/fullergalway/weewx-airmar-150wx-driver >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks again, >>>>>>>>>>>>>> Rob. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Tuesday, April 28, 2015 at 11:20:47 AM UTC+1, Aleksandar >>>>>>>>>>>>>> Tsankov wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>> I followed the mwall's advice and went back to original >>>>>>>>>>>>>>> wxservices.py. The logic for deciding which windSpeed and >>>>>>>>>>>>>>> windDir to be >>>>>>>>>>>>>>> used is putted in the driver. >>>>>>>>>>>>>>> Now everything works as supposed. >>>>>>>>>>>>>>> Since I want to have some real-time application running on >>>>>>>>>>>>>>> tablet, is it possible weewx to generate Weather Display's >>>>>>>>>>>>>>> clientraw.txt >>>>>>>>>>>>>>> file in order WDL (or something similar) to be used? >>>>>>>>>>>>>>> I'm attaching the new version of driver. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>> You received this message because you are subscribed to a >>>>>>>>>>>>> topic in the Google Groups "weewx-development" group. >>>>>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>>>>> https://groups.google.com/d/topic/weewx-development/q6IHzkmyhBo/unsubscribe >>>>>>>>>>>>> . >>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an >>>>>>>>>>>>> email to [email protected]. >>>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>>> https://groups.google.com/d/msgid/weewx-development/b9035cdf-fd4d-41b4-ab20-95c9535968ddo%40googlegroups.com >>>>>>>>>>>>> >>>>>>>>>>>>> <https://groups.google.com/d/msgid/weewx-development/b9035cdf-fd4d-41b4-ab20-95c9535968ddo%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>> . >>>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>> You received this message because you are subscribed to a topic >>>>>>>>>>> in the Google Groups "weewx-development" group. >>>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>>> https://groups.google.com/d/topic/weewx-development/q6IHzkmyhBo/unsubscribe >>>>>>>>>>> . >>>>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>>>> to [email protected]. >>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>> https://groups.google.com/d/msgid/weewx-development/a35bd773-b6b8-4c2d-979d-22337bbcd127o%40googlegroups.com >>>>>>>>>>> >>>>>>>>>>> <https://groups.google.com/d/msgid/weewx-development/a35bd773-b6b8-4c2d-979d-22337bbcd127o%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>>> the Google Groups "weewx-development" group. >>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>> https://groups.google.com/d/topic/weewx-development/q6IHzkmyhBo/unsubscribe >>>>>>>>> . >>>>>>>>> >>>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>>>> [email protected]. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/weewx-development/ff51ce20-4659-405e-90b6-b981e671f096o%40googlegroups.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/d/msgid/weewx-development/ff51ce20-4659-405e-90b6-b981e671f096o%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- You received this message because you are subscribed to the Google Groups "weewx-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/63699afe-71ea-4ce7-b361-0afdaea585d4n%40googlegroups.com.
