Hi,

Your windSpeed is 0 and by default WeeWX sets windDir to None when 
windSpeed is 0. What happens when windSpeed > 0? If you want to change this 
default behaviour look at the ignore_zero_windspeed 
<http://weewx.com/docs/usersguide.htm#StdWXCalculate> config option under 
[StdWXCalcute]

Gary
On Friday, 9 October 2020 at 06:59:07 UTC+10 bdf0506 wrote:

> I can't get WeeWx to properly parse out WindDir from an Acurite 5n1 sensor 
> packet using SDR. I believe this is something on the WeeWx side and not the 
> SDR side. I see the value in there when I manually run both rtl_433 and the 
> sdr.py program, but WeeWx refuses to parse it. It will even show in the 
> debug log file that it is being parsed, but the loop packets can't seem to 
> find it. Can anyone please let me know what I might be doing wrong?
>
> Running rtl_433 command outside of WeeWx:
>
> [root@weewx weewx]$ rtl_433 -M utc -F json
> rtl_433 version 20.02-178-g0e41c92 branch master at 202010050903 inputs 
> file rtl_tcp RTL-SDR
> Use -h for usage help and see https://triq.org/ for documentation.
> Trying conf file at "rtl_433.conf"...
> Trying conf file at "/home/root/.config/rtl_433/rtl_433.conf"...
> Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
> Trying conf file at "/etc/rtl_433/rtl_433.conf"...
> Registered 138 out of 167 device decoding protocols [ 1-4 8 11-12 15-17 
> 19-21 23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 
> 130-149 151-161 163-167 ]
> Detached kernel driver
> Found Rafael Micro R820T tuner
> Exact sample rate is: 250000.000414 Hz
> [R82XX] PLL not locked!
> Sample rate set to 250000 S/s.
> Tuner gain set to Auto.
> Tuned to 433.920MHz.
> {"time" : "2020-10-08 20:34:13", "model" : "Acurite-5n1", "subtype" : 49, 
> "id" : 3420, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, 
> "wind_avg_km_h" : 0.000, *"wind_dir_deg" : 180.000,* "rain_in" : 19.460, 
> "mic" : "CHECKSUM"}
> {"time" : "2020-10-08 20:34:13", "model" : "Acurite-5n1", "subtype" : 49, 
> "id" : 3420, "channel" : "A", "sequence_num" : 1, "battery_ok" : 1, 
> "wind_avg_km_h" : 0.000, *"wind_dir_deg" : 180.000,* "rain_in" : 19.460, 
> "mic" : "CHECKSUM"}
> {"time" : "2020-10-08 20:34:13", "model" : "Acurite-5n1", "subtype" : 49, 
> "id" : 3420, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, 
> "wind_avg_km_h" : 0.000, *"wind_dir_deg" : 180.000,* "rain_in" : 19.460, 
> "mic" : "CHECKSUM"}
>
> Running SDR driver by itself shows me what I want:
>
> [root@weewx weewx]$ wee_extension --list | grep sdr
> sdr               0.77      Capture data from rtl_433
>
> [root@weewx weewx]$ PYTHONPATH=bin python bin/user/sdr.py --cmd "rtl_433 
> -M utc -F json"
> out:[u'{"time" : "2020-10-08 20:37:52", "model" : "Acurite-5n1", "subtype" 
> : 49, "id" : 3420, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, 
> "wind_avg_km_h" : 0.000, *"wind_dir_deg" : 180.000,* "rain_in" : 19.460, 
> "mic" : "CHECKSUM"}\n', u'{"time" : "2020-10-08 20:37:52", "model" : 
> "Acurite-5n1", "subtype" : 49, "id" : 3420, "channel" : "A", "sequence_num" 
> : 1, "battery_ok" : 1, "wind_avg_km_h" : 0.000, *"wind_dir_deg" : 
> 180.000, *"rain_in" : 19.460, "mic" : "CHECKSUM"}\n', u'{"time" : 
> "2020-10-08 20:37:52", "model" : "Acurite-5n1", "subtype" : 49, "id" : 
> 3420, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, 
> "wind_avg_km_h" : 0.000, *"wind_dir_deg" : 180.000,* "rain_in" : 19.460, 
> "mic" : "CHECKSUM"}\n']
> parsed: {'rain_total.0D5C.Acurite5n1PacketV2': 19.46, 
> 'snr.0D5C.Acurite5n1PacketV2': None, 'noise.0D5C.Acurite5n1PacketV2': None, 
> 'channel.0D5C.Acurite5n1PacketV2': u'A', *'wind_dir.0D5C.Acurite5n1PacketV2': 
> 180.0,* 'model.0D5C.Acurite5n1PacketV2': u'Acurite-5n1', 
> 'wind_speed.0D5C.Acurite5n1PacketV2': 0.0, 
> 'msg_type.0D5C.Acurite5n1PacketV2': 49, 'rssi.0D5C.Acurite5n1PacketV2': 
> None, 'mod.0D5C.Acurite5n1PacketV2': None, 
> 'battery.0D5C.Acurite5n1PacketV2': 1, 
> 'sequence_num.0D5C.Acurite5n1PacketV2': 0, 'dateTime': 1602189472, 
> 'freq.0D5C.Acurite5n1PacketV2': None, 'usUnits': 1, 
> 'protocol.0D5C.Acurite5n1PacketV2': None}
> parsed: {'rain_total.0D5C.Acurite5n1PacketV2': 19.46, 
> 'snr.0D5C.Acurite5n1PacketV2': None, 'noise.0D5C.Acurite5n1PacketV2': None, 
> 'channel.0D5C.Acurite5n1PacketV2': u'A', *'wind_dir.0D5C.Acurite5n1PacketV2': 
> 180.0*, 'model.0D5C.Acurite5n1PacketV2': u'Acurite-5n1', 
> 'wind_speed.0D5C.Acurite5n1PacketV2': 0.0, 
> 'msg_type.0D5C.Acurite5n1PacketV2': 49, 'rssi.0D5C.Acurite5n1PacketV2': 
> None, 'mod.0D5C.Acurite5n1PacketV2': None, 
> 'battery.0D5C.Acurite5n1PacketV2': 1, 
> 'sequence_num.0D5C.Acurite5n1PacketV2': 1, 'dateTime': 1602189472, 
> 'freq.0D5C.Acurite5n1PacketV2': None, 'usUnits': 1, 
> 'protocol.0D5C.Acurite5n1PacketV2': None}
> parsed: {'rain_total.0D5C.Acurite5n1PacketV2': 19.46, 
> 'snr.0D5C.Acurite5n1PacketV2': None, 'noise.0D5C.Acurite5n1PacketV2': None, 
> 'channel.0D5C.Acurite5n1PacketV2': u'A', *'wind_dir.0D5C.Acurite5n1PacketV2': 
> 180.0,* 'model.0D5C.Acurite5n1PacketV2': u'Acurite-5n1', 
> 'wind_speed.0D5C.Acurite5n1PacketV2': 0.0, 
> 'msg_type.0D5C.Acurite5n1PacketV2': 49, 'rssi.0D5C.Acurite5n1PacketV2': 
> None, 'mod.0D5C.Acurite5n1PacketV2': None, 
> 'battery.0D5C.Acurite5n1PacketV2': 1, 
> 'sequence_num.0D5C.Acurite5n1PacketV2': 2, 'dateTime': 1602189472, 
> 'freq.0D5C.Acurite5n1PacketV2': None, 'usUnits': 1, 
> 'protocol.0D5C.Acurite5n1PacketV2': None}
>
> All looks good up to this point. But then running WeeWx, it does not parse 
> the wind_dir field.
>
> [sudo@weewx weewx]$ sudo weewxd
> LOOP:   2020-10-08 16:50:02 EDT (1602190202) beaufort: 0, dateTime: 
> 1602190202, maxSolarRad: 383.8640062554796, outTempBatteryStatus: 1, rain: 
> 0.0, rainRate: 0.0, rain_total: 19.46, usUnits: 1, *windDir: None*, 
> windSpeed: 0.0
> LOOP:   2020-10-08 16:50:02 EDT (1602190202) beaufort: 0, dateTime: 
> 1602190202, maxSolarRad: 383.8640062554796, outTempBatteryStatus: 1, rain: 
> 0.0, rainRate: 0.0, rain_total: 19.46, usUnits: 1, *windDir: None*, 
> windSpeed: 0.0
> LOOP:   2020-10-08 16:50:02 EDT (1602190202) beaufort: 0, dateTime: 
> 1602190202, maxSolarRad: 383.8640062554796, outTempBatteryStatus: 1, rain: 
> 0.0, rainRate: 0.0, rain_total: 19.46, usUnits: 1, *windDir: None*, 
> windSpeed: 0.0
> REC:    2020-10-08 16:50:00 EDT (1602190200) appTemp: 83.78578056945588, 
> beaufort: 0, cloudbase: 2432.411212114173, dateTime: 1602190200, dewpoint: 
> 67.85699066669764, ET: None, extraHumid1: 55.0, extraHumid2: 62.0, 
> extraHumid3: 53.0, extraHumid4: 62.0, extraTemp1: 72.176, extraTemp2: 
> 70.16, extraTemp3: 69.80000000000001, extraTemp4: 71.78, heatindex: 77.2, 
> humidex: 90.70753324187874, interval: 5.0, maxSolarRad: 383.981212089455, 
> outHumidity: 73.0, outTemp: 77.2, outTempBatteryStatus: 1.0, rain: 0.0, 
> rainRate: 0.0, rain_total: 19.460000000000004, usUnits: 1, windchill: 77.2, 
> *windDir: 
> None*, windGust: 0.0, windGustDir: None, windrun: 0.0, windSpeed: 0.0
>
> BUT - the debug packets do in fact show the wind_dir_deg being parsed!
>
> Oct  8 16:50:05 weewx weewx[688] DEBUG user.sdr: lines=[''{"time" : 
> "2020-10-08 20:50:02", "model" : "Acurite-5n1", "subtype" : 49, "id" : 
> 3420, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, 
> "wind_avg_km_h" : 0.000, *"wind_dir_deg" : 180.000,* "rain_in" : 19.460, 
> "mic" : "CHECKSUM"}\n', '{"time" : "2020-10-08 20:50:02", "model" : 
> "Acurite-5n1", "subtype" : 49, "id" : 3420, "channel" : "A", "sequence_num" 
> : 1, "battery_ok" : 1, "wind_avg_km_h" : 0.000, "wind_dir_deg" : 180.000, 
> "rain_in" : 19.460, "mic" : "CHECKSUM"}\n', '{"time" : "2020-10-08 
> 20:50:02", "model" : "Acurite-5n1", "subtype" : 49, "id" : 3420, "channel" 
> : "A", "sequence_num" : 2, "battery_ok" : 1, "wind_avg_km_h" : 0.000, 
> "wind_dir_deg" : 180.000, "rain_in" : 19.460, "mic" : "CHECKSUM"}\n', 
> '{"time" : "2020-10-08
> Oct  8 16:50:05 weewx weewx[688] DEBUG user.sdr: packet={'windSpeed': 0.0, 
> *'windDir': 
> 180.0,* 'rain_total': 19.46, 'outTempBatteryStatus': 1, 'dateTime': 
> 1602190202, 'usUnits': 1}
> Oct  8 16:50:05 weewx weewx[688] DEBUG user.sdr: packet={'windSpeed': 0.0, 
> *'windDir': 
> 180.0,* 'rain_total': 19.46, 'outTempBatteryStatus': 1, 'dateTime': 
> 1602190202, 'usUnits': 1}
> Oct  8 16:50:05 weewx weewx[688] DEBUG user.sdr: packet={'windSpeed': 0.0, 
> *'windDir': 
> 180.0, *'rain_total': 19.46, 'outTempBatteryStatus': 1, 'dateTime': 
> 1602190202, 'usUnits': 1}
>
> Relevant WeeWx config file info which shows the sensor mappings:
>
> [SDR]
>     # This section is for the software-defined radio driver.
>     
>     # The driver to use
>     driver = user.sdr
>     log_unknown_sensors = True
>     log_unmapped_sensors = True
>     path = /usr/local/bin/
>     cmd = rtl_433 -M utc -F json
>     [[sensor_map]]
>         outHumidity = humidity.0D5C.Acurite5n1PacketV2
>         outTemp = temperature.0D5C.Acurite5n1PacketV2
>         windSpeed = wind_speed.0D5C.Acurite5n1PacketV2
>         *windDir = wind_dir.0D5C.Acurite5n1PacketV2*
>         rain_total = rain_total.0D5C.Acurite5n1PacketV2
>         outTempBatteryStatus = battery.0D5C.Acurite5n1PacketV2
>
> Any ideas as to why WeeWx refuses to properly parse this properly in the 
> loop packets?
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" 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-user/bf0791d1-353c-4653-a46e-3da9f047a730n%40googlegroups.com.

Reply via email to