Open slvrscoobie opened 4 years ago
parsed: {'humidity.10.FOWH24Packet': 97.0, 'uv_index.10.FOWH24Packet': 0.0, 'light.10.FOWH24Packet': 2418.0, 'dateTime': 1575317711, 'rain_total.10.FOWH24Packet': 1790.1, 'temperature.10.FOWH24Packet': 0.5, 'wind_gust.10.FOWH24Packet': 1.12, 'battery.10.FOWH24Packet': 0, 'wind_dir.10.FOWH24Packet': 293.0, 'usUnits': 17, 'wind_speed.10.FOWH24Packet': 0.7} out:[u'{"time" : "2019-12-02 20:15:25", "model" : "AmbientWeather-WH31E", "id" : 161, "channel" : 3, "battery" : "OK", "temperature_C" : 5.200, "humidity" : 57, "data" : "7f00000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n', u'{"time" : "2019-12-02 20:15:27", "model" : "Fine Offset WH24", "id" : 10, "battery" : "OK", "temperature_C" : 0.500, "humidity" : 97, "wind_dir_deg" : 342, "wind_speed_ms" : 0.420, "gust_speed_ms" : 1.120, "rainfall_mm" : 1790.100, "uv" : 22, "uvi" : 0, "light_lux" : 2464.000, "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n', u'{"time" : "2019-12-02 20:15:30", "model" : "AmbientWeather-WH31E", "id" : 211, "channel" : 1, "battery" : "OK", "temperature_C" : 1.000, "humidity" : 95, "data" : "ce00000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n', u'{"time" : "2019-12-02 20:15:30", "model" : "AmbientWeather-WH31E", "id" : 211, "channel" : 1, "battery" : "OK", "temperature_C" : 1.000, "humidity" : 95, "data" : "ce00000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n'] parsed: {'channel.161.AmbientWH31EPacket': 3, 'snr.161.AmbientWH31EPacket': 0.0, 'battery.161.AmbientWH31EPacket': 0, 'dateTime': 1575317725, 'temperature.161.AmbientWH31EPacket': 5.2, 'humidity.161.AmbientWH31EPacket': 57.0, 'noise.161.AmbientWH31EPacket': 0.0, 'rssi.161.AmbientWH31EPacket': 0, 'usUnits': 17} parsed: {'humidity.10.FOWH24Packet': 97.0, 'uv_index.10.FOWH24Packet': 0.0, 'light.10.FOWH24Packet': 2464.0, 'dateTime': 1575317727, 'rain_total.10.FOWH24Packet': 1790.1, 'temperature.10.FOWH24Packet': 0.5, 'wind_gust.10.FOWH24Packet': 1.12, 'battery.10.FOWH24Packet': 0, 'wind_dir.10.FOWH24Packet': 342.0, 'usUnits': 17, 'wind_speed.10.FOWH24Packet': 0.42} parsed: {'channel.211.AmbientWH31EPacket': 1, 'snr.211.AmbientWH31EPacket': 0.0, 'noise.211.AmbientWH31EPacket': 0.0, 'dateTime': 1575317730, 'rssi.211.AmbientWH31EPacket': 0, 'battery.211.AmbientWH31EPacket': 0, 'temperature.211.AmbientWH31EPacket': 1.0, 'humidity.211.AmbientWH31EPacket': 95.0, 'usUnits': 17} parsed: {'channel.211.AmbientWH31EPacket': 1, 'snr.211.AmbientWH31EPacket': 0.0, 'noise.211.AmbientWH31EPacket': 0.0, 'dateTime': 1575317730, 'rssi.211.AmbientWH31EPacket': 0, 'battery.211.AmbientWH31EPacket': 0, 'temperature.211.AmbientWH31EPacket': 1.0, 'humidity.211.AmbientWH31EPacket': 95.0, 'usUnits': 17} out:[u'{"time" : "2019-12-02 20:15:43", "model" : "Fine Offset WH65B", "id" : 10, "battery" : "OK", "temperature_C" : 0.500, "humidity" : 97, "wind_dir_deg" : 16, "wind_speed_ms" : 0.446, "gust_speed_ms" : 1.020, "rainfall_mm" : 1515.618, "uv" : 21, "uvi" : 0, "light_lux" : 2418.000, "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n'] parsed: {'rain_total.10.FOWH65BPacket': 1515.618, 'uv.10.FOWH65BPacket': 21.0, 'wind_dir.10.FOWH65BPacket': 16.0, 'uv_index.10.FOWH65BPacket': 0.0, 'light.10.FOWH65BPacket': 2418.0, 'battery.10.FOWH65BPacket': 0, 'wind_gust.10.FOWH65BPacket': 1.02, 'temperature.10.FOWH65BPacket': 0.5, 'dateTime': 1575317743, 'humidity.10.FOWH65BPacket': 97.0, 'usUnits': 17, 'wind_speed.10.FOWH65BPacket': 0.446} out:[u'{"time" : "2019-12-02 20:15:57", "model" : "AmbientWeather-WH31E", "id" : 160, "channel" : 7, "battery" : "OK", "temperature_C" : 20.200, "humidity" : 45, "data" : "4d00000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n', u'{"time" : "2019-12-02 20:15:57", "model" : "AmbientWeather-WH31E", "id" : 160, "channel" : 7, "battery" : "OK", "temperature_C" : 20.200, "humidity" : 45, "data" : "4d00000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n', u'{"time" : "2019-12-02 20:15:59", "model" : "Fine Offset WH24", "id" : 10, "battery" : "OK", "temperature_C" : 0.500, "humidity" : 97, "wind_dir_deg" : 76, "wind_speed_ms" : 1.820, "gust_speed_ms" : 2.240, "rainfall_mm" : 1790.100, "uv" : 21, "uvi" : 0, "light_lux" : 2418.000, "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n', u'{"time" : "2019-12-02 20:16:00", "model" : "AmbientWeather-WH31E", "id" : 116, "channel" : 2, "battery" : "OK", "temperature_C" : 5.300, "humidity" : 80, "data" : "0000000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n', u'{"time" : "2019-12-02 20:16:00", "model" : "AmbientWeather-WH31E", "id" : 116, "channel" : 2, "battery" : "OK", "temperature_C" : 5.300, "humidity" : 80, "data" : "0000000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n'] parsed: {'battery.160.AmbientWH31EPacket': 0, 'rssi.160.AmbientWH31EPacket': 0, 'humidity.160.AmbientWH31EPacket': 45.0, 'temperature.160.AmbientWH31EPacket': 20.2, 'channel.160.AmbientWH31EPacket': 7, 'snr.160.AmbientWH31EPacket': 0.0, 'noise.160.AmbientWH31EPacket': 0.0, 'dateTime': 1575317757, 'usUnits': 17} parsed: {'battery.160.AmbientWH31EPacket': 0, 'rssi.160.AmbientWH31EPacket': 0, 'humidity.160.AmbientWH31EPacket': 45.0, 'temperature.160.AmbientWH31EPacket': 20.2, 'channel.160.AmbientWH31EPacket': 7, 'snr.160.AmbientWH31EPacket': 0.0, 'noise.160.AmbientWH31EPacket': 0.0, 'dateTime': 1575317757, 'usUnits': 17} parsed: {'humidity.10.FOWH24Packet': 97.0, 'uv_index.10.FOWH24Packet': 0.0, 'light.10.FOWH24Packet': 2418.0, 'dateTime': 1575317759, 'rain_total.10.FOWH24Packet': 1790.1, 'temperature.10.FOWH24Packet': 0.5, 'wind_gust.10.FOWH24Packet': 2.24, 'battery.10.FOWH24Packet': 0, 'wind_dir.10.FOWH24Packet': 76.0, 'usUnits': 17, 'wind_speed.10.FOWH24Packet': 1.82} parsed: {'snr.116.AmbientWH31EPacket': 0.0, 'noise.116.AmbientWH31EPacket': 0.0, 'battery.116.AmbientWH31EPacket': 0, 'rssi.116.AmbientWH31EPacket': 0, 'dateTime': 1575317760, 'humidity.116.AmbientWH31EPacket': 80.0, 'usUnits': 17, 'channel.116.AmbientWH31EPacket': 2, 'temperature.116.AmbientWH31EPacket': 5.3} parsed: {'snr.116.AmbientWH31EPacket': 0.0, 'noise.116.AmbientWH31EPacket': 0.0, 'battery.116.AmbientWH31EPacket': 0, 'rssi.116.AmbientWH31EPacket': 0, 'dateTime': 1575317760, 'humidity.116.AmbientWH31EPacket': 80.0, 'usUnits': 17, 'channel.116.AmbientWH31EPacket': 2, 'temperature.116.AmbientWH31EPacket': 5.3} out:[u'{"time" : "2019-12-02 20:16:06", "model" : "AmbientWeather-WH31E", "id" : 40, "channel" : 4, "battery" : "OK", "temperature_C" : 2.900, "humidity" : 81, "data" : "5d00000000", "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n'] parsed: {'snr.40.AmbientWH31EPacket': 0.0, 'noise.40.AmbientWH31EPacket': 0.0, 'channel.40.AmbientWH31EPacket': 4, 'dateTime': 1575317766, 'temperature.40.AmbientWH31EPacket': 2.9, 'humidity.40.AmbientWH31EPacket': 81.0, 'battery.40.AmbientWH31EPacket': 0, 'rssi.40.AmbientWH31EPacket': 0, 'usUnits': 17} out:[u'{"time" : "2019-12-02 20:16:15", "model" : "Fine Offset WH24", "id" : 10, "battery" : "OK", "temperature_C" : 0.500, "humidity" : 97, "wind_dir_deg" : 48, "wind_speed_ms" : 1.540, "gust_speed_ms" : 2.240, "rainfall_mm" : 1790.100, "uv" : 21, "uvi" : 0, "light_lux" : 2464.000, "mic" : "CRC", "mod" : "ASK", "freq" : 0.000, "rssi" : 0.000, "snr" : 0.000, "noise" : 0.000}\n'] parsed: {'humidity.10.FOWH24Packet': 97.0, 'uv_index.10.FOWH24Packet': 0.0, 'light.10.FOWH24Packet': 2464.0, 'dateTime': 1575317775, 'rain_total.10.FOWH24Packet': 1790.1, 'temperature.10.FOWH24Packet': 0.5, 'wind_gust.10.FOWH24Packet': 2.24, 'battery.10.FOWH24Packet': 0, 'wind_dir.10.FOWH24Packet': 48.0, 'usUnits': 17, 'wind_speed.10.FOWH24Packet': 1.54}
Please capture a few samples (rtl_433 -S all
) and upload here as zip.
g014_914975M_1000k.cu8.zip I saved a couple. I saw it decode as both WH65 and WH24 a few times before I cancelled. Thanks!!!!
Added some more files with json data here so you know what you're looking at (if you didnt already)
sudo rtl_433 -f 914979000 -S all rtl_433 version unknown 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 "/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"...
Consider using "-M newmodel" to transition to new model keys. This will become the default someday.
A table of changes and discussion is at https://github.com/merbanan/rtl_433/pull/986.
Registered 112 out of 141 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-104 108-116 119 121 124-128 131-141 ] rtl_433: warning: 104 "Wireless M-Bus, Mode C&T, 100kbps (-f 868950000 -s 1200000)" does not support CSV output usb_claim_interface error -6 Detached kernel driver Found Rafael Micro R820T tuner Exact sample rate is: 1000000.026491 Hz [R82XX] PLL not locked! Sample rate set to 1000000 S/s. Tuner gain set to Auto. Tuned to 914.979MHz. Saving signal to file g001_914.979M_1000k.cu8 (86290 samples, 262144 bytes) Saving signal to file g002_914.979M_1000k.cu8 (86287 samples, 262144 bytes)
time : 2019-12-12 16:38:31 model : Fine Offset WH65B ID : 10 Battery : OK Temperature: -1.0 C Humidity : 59 % Wind direction: 287 Wind speed: 0.0 m/s Gust speed: 0.0 m/s Rainfall : 1572.3 mm UV : 3 UVI : 0 Light : 0.0 lux Integrity : CRC Saving signal to file g003_914.979M_1000k.cu8 (44844 samples, 131072 bytes) Saving signal to file g004_914.979M_1000k.cu8 (86280 samples, 262144 bytes) Saving signal to file g005_914.979M_1000k.cu8 (86336 samples, 262144 bytes) Saving signal to file g006_914.979M_1000k.cu8 (61316 samples, 131072 bytes)
time : 2019-12-12 16:38:47 model : Fine Offset WH24 ID : 10 Battery : OK Temperature: -1.0 C Humidity : 58 % Wind direction: 287 Wind speed: 0.0 m/s Gust speed: 0.0 m/s Rainfall : 1857.0 mm UV : 2 UVI : 0 Light : 0.0 lux Integrity : CRC Saving signal to file g007_914.979M_1000k.cu8 (44833 samples, 131072 bytes) Saving signal to file g008_914.979M_1000k.cu8 (48631 samples, 131072 bytes) *** Saving signal to file g009_914.979M_1000k.cu8 (49786 samples, 131072 bytes)
time : 2019-12-12 16:38:52 model : AmbientWeather-WH31E id : 94 Channel : 8 Battery : OK Temperature: -17.1 C Humidity : 62 % Extra Data: 0900000000 Integrity : CRC Saving signal to file g010_914.979M_1000k.cu8 (208385 samples, 524288 bytes) Saving signal to file g011_914.979M_1000k.cu8 (78740 samples, 262144 bytes) *** Saving signal to file g012_914.979M_1000k.cu8 (35298 samples, 131072 bytes)
time : 2019-12-12 16:39:03 model : Fine Offset WH24 ID : 10 Battery : OK Temperature: -1.0 C Humidity : 58 % Wind direction: 287 Wind speed: 0.0 m/s Gust speed: 0.0 m/s Rainfall : 1857.0 mm UV : 3 UVI : 0 Light : 0.0 lux Integrity : CRC Saving signal to file g013_914.979M_1000k.cu8 (44822 samples, 131072 bytes) Saving signal to file g014_914.979M_1000k.cu8 (86351 samples, 262144 bytes) Saving signal to file g015_914.979M_1000k.cu8 (49814 samples, 131072 bytes) Saving signal to file g016_914.979M_1000k.cu8 (44316 samples, 131072 bytes) *** Saving signal to file g017_914.979M_1000k.cu8 (44841 samples, 131072 bytes)
time : 2019-12-12 16:39:28 model : AmbientWeather-WH31E id : 160 Channel : 7 Battery : OK Temperature: 20.3 C Humidity : 55 % Extra Data: bc00000000 Integrity : CRC
time : 2019-12-12 16:39:28 model : AmbientWeather-WH31E id : 160 Channel : 7 Battery : OK Temperature: 20.3 C Humidity : 55 % Extra Data: bc00000000 Integrity : CRC Saving signal to file g018_914.979M_1000k.cu8 (86227 samples, 262144 bytes) Saving signal to file g019_914.979M_1000k.cu8 (86288 samples, 262144 bytes) *** Saving signal to file g020_914.979M_1000k.cu8 (86285 samples, 262144 bytes)
time : 2019-12-12 16:39:34 model : AmbientWeather-WH31E id : 116 Channel : 2 Battery : OK Temperature: 7.0 C Humidity : 82 % Extra Data: f400000000 Integrity : CRC
time : 2019-12-12 16:39:34 model : AmbientWeather-WH31E id : 116 Channel : 2 Battery : OK Temperature: 7.0 C Humidity : 82 % Extra Data: f400000000 Integrity : CRC Saving signal to file g021_914.979M_1000k.cu8 (86220 samples, 262144 bytes) Saving signal to file g022_914.979M_1000k.cu8 (44835 samples, 131072 bytes) Saving signal to file g023_914.979M_1000k.cu8 (49800 samples, 131072 bytes) Saving signal to file g024_914.979M_1000k.cu8 (49778 samples, 131072 bytes) Saving signal to file g025_914.979M_1000k.cu8 (86279 samples, 262144 bytes) Saving signal to file g026_914.979M_1000k.cu8 (35297 samples, 131072 bytes) Saving signal to file g027_914.979M_1000k.cu8 (161262 samples, 393216 bytes) Saving signal to file g028_914.979M_1000k.cu8 (47269 samples, 131072 bytes)
time : 2019-12-12 16:39:51 model : Fine Offset WH65B ID : 10 Battery : OK Temperature: -1.1 C Humidity : 60 % Wind direction: 287 Wind speed: 0.0 m/s Gust speed: 0.0 m/s Rainfall : 1572.3 mm UV : 3 UVI : 0 Light : 0.0 lux Integrity : CRC Saving signal to file g029_914.979M_1000k.cu8 (44835 samples, 131072 bytes) Saving signal to file g030_914.979M_1000k.cu8 (86347 samples, 262144 bytes) *** Saving signal to file g031_914.979M_1000k.cu8 (41274 samples, 131072 bytes) pulse_FSK_detect(): Maximum number of pulses reached!
time : 2019-12-12 16:40:00 model : AmbientWeather-WH31E id : 94 Channel : 8 Battery : OK Temperature: -17.1 C Humidity : 61 % Extra Data: db00000000 Integrity : CRC *** Saving signal to file g032_914.979M_1000k.cu8 (89134 samples, 262144 bytes)
time : 2019-12-12 16:40:07 model : Fine Offset WH24 ID : 10 Battery : OK Temperature: -1.1 C Humidity : 61 % Wind direction: 287 Wind speed: 0.0 m/s Gust speed: 0.0 m/s Rainfall : 1857.0 mm UV : 3 UVI : 0 Light : 0.0 lux Integrity : CRC Saving signal to file g033_914.979M_1000k.cu8 (44833 samples, 131072 bytes) Saving signal to file g034_914.979M_1000k.cu8 (86353 samples, 262144 bytes) g001_914.979M_1000k_12_12_19.zip
Just did a side-by-side with 19.08-157 and 18.12-207 Very obvious difference, it seems like almost every other packet is decoded as WH24. (19 also seems inconsistent with decoding it in general, it will sometimes miss the packet entirely while 18 picks it up.
(output from two different pi's running concurrently)
root@weatherpi2:~# rtl_433 -M utc -F json -R 78 -f 915m -d0 rtl_433 version 19.08-157-g4cab9ff branch master at 202001271734 inputs file rtl_tcp RTL-SDR Found Rafael Micro R820T tuner
{"time" : "2020-02-02 00:58:46", "model" : "Fine Offset WH24", "id" : 128, "battery" : "OK", "temperature_C" : 8.800, "humidity" : 53, "wind_dir_deg" : 281, "wind_speed_ms" : 13.860, "gust_speed_ms" : 19.040, "rainfall_mm" : 846.900, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "mic" : "CRC"} {"time" : "2020-02-02 00:59:02", "model" : "Fine Offset WH65B", "id" : 128, "battery" : "OK", "temperature_C" : 8.800, "humidity" : 52, "wind_dir_deg" : 258, "wind_speed_ms" : 7.395, "gust_speed_ms" : 8.670, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "mic" : "CRC"} {"time" : "2020-02-02 00:59:34", "model" : "Fine Offset WH24", "id" : 128, "battery" : "OK", "temperature_C" : 8.800, "humidity" : 52, "wind_dir_deg" : 275, "wind_speed_ms" : 15.540, "gust_speed_ms" : 19.040, "rainfall_mm" : 846.900, "uv" : 1, "uvi" : 0, "light_lux" : 0.000, "mic" : "CRC"} {"time" : "2020-02-02 00:59:50", "model" : "Fine Offset WH65B", "id" : 128, "battery" : "OK", "temperature_C" : 8.800, "humidity" : 52, "wind_dir_deg" : 269, "wind_speed_ms" : 7.459, "gust_speed_ms" : 8.670, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "mic" : "CRC
root@weatherpi:~# rtl_433 -M utc -F json -R 78 -f 915m -d0 rtl_433 version 18.12-207-g82d0f55 branch master at 201905061642 inputs file rtl_tcp RTL-SDR Found Rafael Micro R820T tuner
{"time" : "2020-02-02 00:58:46", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 8.800, "humidity" : 53, "wind_dir_deg" : 281, "wind_speed_ms" : 6.311, "gust_speed_ms" : 8.670, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 00:59:02", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 8.800, "humidity" : 52, "wind_dir_deg" : 258, "wind_speed_ms" : 7.395, "gust_speed_ms" : 8.670, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 00:59:18", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 8.800, "humidity" : 52, "wind_dir_deg" : 273, "wind_speed_ms" : 5.865, "gust_speed_ms" : 8.160, "rainfall_mm" : 717.042, "uv" : 1, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 00:59:34", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 8.800, "humidity" : 52, "wind_dir_deg" : 275, "wind_speed_ms" : 7.076, "gust_speed_ms" : 8.670, "rainfall_mm" : 717.042, "uv" : 1, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 00:59:50", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 8.800, "humidity" : 52, "wind_dir_deg" : 269, "wind_speed_ms" : 7.459, "gust_speed_ms" : 8.670, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"}
one more quick test, built 18.12-207 on weatherpi2 (the pi that had 19 above), just to eliminate any hardware differences. Works as expected, picks up 100% of packets and decodes as WH65B
root@weatherpi2:~# rtl_433 -M utc -F json -R 78 -f 915m -d0 rtl_433 version 18.12-207-g82d0f55 branch master at 201905061642 inputs file rtl_tcp RTL-SDR {"time" : "2020-02-02 01:08:38", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 8.200, "humidity" : 57, "wind_dir_deg" : 275, "wind_speed_ms" : 7.012, "gust_speed_ms" : 7.650, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 01:08:54", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 8.000, "humidity" : 58, "wind_dir_deg" : 274, "wind_speed_ms" : 7.076, "gust_speed_ms" : 7.650, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 01:09:10", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 7.900, "humidity" : 58, "wind_dir_deg" : 277, "wind_speed_ms" : 7.076, "gust_speed_ms" : 7.650, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 01:09:26", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 7.800, "humidity" : 57, "wind_dir_deg" : 282, "wind_speed_ms" : 6.885, "gust_speed_ms" : 7.650, "rainfall_mm" : 717.042, "uv" : 2, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"} {"time" : "2020-02-02 01:09:42", "model" : "Fine Offset WH65B", "id" : 128, "temperature_C" : 7.700, "humidity" : 57, "wind_dir_deg" : 257, "wind_speed_ms" : 6.375, "gust_speed_ms" : 7.140, "rainfall_mm" : 717.042, "uv" : 1, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"}
Did you try -Y classic
?
Just tried classic, it no longer shows WH24 model, but it still drops packets. 3 captures, all 3 missed at least one if not multiple packets. Maybe just luck of the draw, but it is fairly consistent at dropping the second packet. not every time but most. (the pi is about 10 feet away from the station, and v18 never drops a 16 second interval)
root@weatherpi2:~/rtl_433/build/src# ./rtl_433 -Y classic -M utc -F json -R 78 -f 915m -d0 rtl_433 version 19.08-184-g401008d branch master at 202002021734 inputs file rtl_tcp RTL-SDR {"time" : "2020-02-02 17:14:15", {"time" : "2020-02-02 17:14:31", -MISSING DATA HERE- {"time" : "2020-02-02 17:15:03", {"time" : "2020-02-02 17:15:19", -MISSING DATA HERE- -MISSING DATA HERE- {"time" : "2020-02-02 17:16:07",
root@weatherpi2:~/rtl_433/build/src# ./rtl_433 -Y classic -M utc -F json -f 915m -d0 rtl_433 version 19.08-184-g401008d branch master at 202002021734 inputs file rtl_tcp RTL-SDR {"time" : "2020-02-02 17:16:23", -MISSING DATA HERE- {"time" : "2020-02-02 17:16:55", {"time" : "2020-02-02 17:17:11", {"time" : "2020-02-02 17:17:27", {"time" : "2020-02-02 17:17:43", {"time" : "2020-02-02 17:17:59",
root@weatherpi2:~/rtl_433/build/src# ./rtl_433 -Y classic -M utc -F json -f 915m -d0 rtl_433 version 19.08-184-g401008d branch master at 202002021734 inputs file rtl_tcp RTL-SDR {"time" : "2020-02-02 17:18:15", -MISSING DATA HERE- {"time" : "2020-02-02 17:18:47", {"time" : "2020-02-02 17:19:03", {"time" : "2020-02-02 17:19:19", "
Just for the fun of it, forced the detection code to default to WH65B and it works consistently without dropping. So something isn't quite happy in that.
// Classification heuristics if (bitbuffer->bits_per_row[0] - bit_offset - sizeof(b) * 8 < 8) if (bit_offset < 61) model = MODEL_WH65B; // nominal 3 bits postamble else model = MODEL_WH65B;
Good find. If you happen to record samples where the classification would fail we can maybe look into improving it. Otherwise we could perhaps offer an override. Best case though would be an improved understanding what fails or could fail and then make it more robust overall.
So what should I do - you're saying built 18.12-207 works perfectly? how would I get that build if I only have the WH65
That's a custom change (made locally and then rebuild the program). We still don't know why the WH65 sometimes looks like a WH24. Usually the WH65B sends the same data with a slightly longer preamble and postamble. That might be missing or not picked up in some transmissions.
do my recordings above offer any insights? how could I build the other version, or set in the override? Im also having to use frequencies far 'off' from what I would expect, such as 914.69mhz in stead of 915m...
In your last zip of samples the g033_914.979M_1000k.cu8
decodes as WH24 (using -Y minmax
, the default for -f 914.979M
) but when using -Y classic
it shows as WH65B as expected.
I guess using -Y classic
will "just work", but we might need to explore why the demod from minmax is different.
Ill try it once I get my signal back, it worked a bit this AM but now Im having trouble with it finding the WH65 at all
Can you try CubicSDR, Gqrx, or SDRangel to visualize the live spectrum and find the signal there?
ive tried but Im not exactly sure how to use them, in the sense that I see blips, but when I center the freq on them it does no better at picking up
exactly centering isn't the best option, you likely only want to get near the signal, say 50k off.
hey all I'm also a new owner of a weather station and also experience that the W65B is detected as being a WH24 for about a third of the time.
I'm running the RTL_433 in Home Assistant (using https://github.com/pbkhrv/rtl_433-hass-addons/tree/main/rtl_433) and I am quite new in using the whole rtl library. What is now the easiest way to get this fixed?
[edit] The device is sending on 868Mhz. I tried the classic setting but unfortunately then the amount of messages I see in the logging decreases significantly (once every 3 minutes or so).
@wauswaus use -S known and get some signals that are decoded correctly and some that are decoded incorrectly. That way we can debug the issue in a proper way.
@zuckschwerdt I think we need a command line option like the no-wh5. Does that sound like a good solution. The heuristics can only go so far. We should remove it and then add the command line option.
Well I tuned my frequency a bit and tried again the classic pulse_detect setting and she purrs like a kitten :) I have made logs with the pulse_detect set to auto and there all the received messages where decoded as coming from a WH64 while it is a WH65B. I also made logs with the pulse detect set to classic and there it all goes fine.
If you need me to provide more logs, please let me know.
good logs with classic pulse detect.zip WH65 decoded as WH24 using auto pulse detect.zip
How do you do the classic vs auto pulse detect?
I have a .conf file. In this file there is the following:
# as command line option:
# [-Y auto | classic | minmax] FSK pulse detector mode.
pulse_detect auto
There you can set the values "classic" or "auto" (no clue what minmax does). Via command line you would use the -Y option.
It appears that my config wont run in classic mode anymore. Running the latest version (rtl_433 version 21.05). Config file has: sample_rate 1024k pulse_detect classic
in the log it says "New defaults active, use "-Y classic -s 250k" for the old defaults!" when I use sample_rate 250k it still comes up with "New defaults active, use "-Y classic -s 250k" for the old defaults!"
Result is that it reduces the number of good decodes considerably .
What todo?
"New defaults" is triggered when you set a frequency (-f
) above 800M. Order is important, you can return to -Y classic
if you have that option later (in the conf or on the command line). Ignore the message then.
@slvrscoobie Where are we on this issue? Is it still valid with today's git master?
Ive left it on -Classic for a while and do have random decodes as the other device, but on -classic its been better, probably about 75-85% decoded as the correct device. If you're willing to investigate, I can update and send more data
TBH I am ticket gardening; I don't remotely have time to dig into your issue. A report from fresh code is useful; I don't expect anyone to want to debug about old code. And, the new code might fix your issue - I have no idea, but there's a lot of progress over time. Better yet is if you could dig in, fix and send a PR.
I am having this problem too, with the same hardware, and the latest version of rtl_433.
Oddly, whenever I record the data with -S all
then replay it with -r
, it decodes correctly 100% of the time, even when the same packet decoded incorrectly before.
command:
sudo /usr/local/bin/rtl_433 -f 915000000 -Fkv -R 78 -A -S unknown >> wstation.log 2>&1
output (from wstation.log):
*** Saving signal to file g199_915M_1000k.cu8 (42780 samples, 131072 bytes)
Detected FSK package 2024-05-24 14:08:41
Analyzing pulses...
Total count: 157, width: 12.00 ms (12000 S)
Pulse width distribution:
[ 0] count: 1, width: 0 us [0;0] ( 0 S)
[ 1] count: 1, width: 3 us [3;3] ( 3 S)
[ 2] count: 3, width: 4 us [4;4] ( 4 S)
[ 3] count: 54, width: 1 us [1;1] ( 1 S)
[ 4] count: 38, width: 57 us [48;69] ( 57 S)
[ 5] count: 10, width: 26 us [21;31] ( 26 S)
[ 6] count: 10, width: 36 us [33;42] ( 36 S)
[ 7] count: 6, width: 9 us [8;11] ( 9 S)
[ 8] count: 5, width: 5 us [5;5] ( 5 S)
[ 9] count: 5, width: 15 us [14;17] ( 15 S)
[10] count: 3, width: 79 us [73;83] ( 79 S)
[11] count: 7, width: 2 us [2;2] ( 2 S)
[12] count: 5, width: 164 us [143;175] ( 164 S)
[13] count: 4, width: 225 us [220;232] ( 225 S)
[14] count: 3, width: 118 us [115;124] ( 118 S)
[15] count: 2, width: 7 us [7;7] ( 7 S)
Gap width distribution:
[ 0] count: 12, width: 2 us [2;2] ( 2 S)
[ 1] count: 39, width: 57 us [46;70] ( 57 S)
[ 2] count: 9, width: 9 us [9;11] ( 9 S)
[ 3] count: 5, width: 5 us [5;6] ( 5 S)
[ 4] count: 28, width: 1 us [1;1] ( 1 S)
[ 5] count: 8, width: 38 us [35;43] ( 38 S)
[ 6] count: 8, width: 19 us [17;22] ( 19 S)
[ 7] count: 9, width: 193 us [164;231] ( 193 S)
[ 8] count: 9, width: 116 us [94;137] ( 116 S)
[ 9] count: 4, width: 81 us [76;91] ( 81 S)
[10] count: 4, width: 29 us [28;30] ( 29 S)
[11] count: 7, width: 13 us [13;14] ( 13 S)
[12] count: 1, width: 350 us [350;350] ( 350 S)
[13] count: 7, width: 4 us [4;4] ( 4 S)
[14] count: 5, width: 7 us [7;7] ( 7 S)
Pulse period distribution:
[ 0] count: 2, width: 2 us [2;2] ( 2 S)
[ 1] count: 12, width: 5 us [5;6] ( 5 S)
[ 2] count: 6, width: 3 us [3;3] ( 3 S)
[ 3] count: 29, width: 110 us [92;130] ( 110 S)
[ 4] count: 14, width: 11 us [10;13] ( 11 S)
[ 5] count: 13, width: 27 us [22;32] ( 27 S)
[ 6] count: 14, width: 39 us [33;49] ( 39 S)
[ 7] count: 20, width: 74 us [60;87] ( 74 S)
[ 8] count: 12, width: 216 us [181;271] ( 216 S)
[ 9] count: 8, width: 166 us [144;175] ( 166 S)
[10] count: 4, width: 318 us [289;347] ( 318 S)
[11] count: 10, width: 17 us [15;20] ( 17 S)
[12] count: 1, width: 465 us [465;465] ( 465 S)
[13] count: 5, width: 7 us [7;8] ( 7 S)
[14] count: 4, width: 57 us [52;59] ( 57 S)
Pulse timing distribution:
[ 0] count: 1, width: 0 us [0;0] ( 0 S)
[ 1] count: 3, width: 3 us [3;3] ( 3 S)
[ 2] count: 10, width: 4 us [4;4] ( 4 S)
[ 3] count: 82, width: 1 us [1;1] ( 1 S)
[ 4] count: 77, width: 57 us [46;70] ( 57 S)
[ 5] count: 16, width: 26 us [21;31] ( 26 S)
[ 6] count: 18, width: 37 us [33;43] ( 37 S)
[ 7] count: 15, width: 9 us [8;11] ( 9 S)
[ 8] count: 10, width: 5 us [5;6] ( 5 S)
[ 9] count: 14, width: 14 us [13;17] ( 14 S)
[10] count: 9, width: 84 us [73;99] ( 84 S)
[11] count: 19, width: 2 us [2;2] ( 2 S)
[12] count: 12, width: 168 us [137;196] ( 168 S)
[13] count: 7, width: 226 us [219;232] ( 226 S)
[14] count: 9, width: 119 us [115;129] ( 119 S)
[15] count: 7, width: 7 us [7;7] ( 7 S)
Level estimates [high, low]: 15898, 427
RSSI: -0.1 dB SNR: 15.7 dB Noise: -15.8 dB
Frequency offsets [F1, F2]: -2856, 611 (-43.6 kHz, +9.3 kHz)
Guessing modulation: No clue...
(then a few different signals, up to g205)
(all seen as either OOK or FSK with 1-2 pulses)
(probably noise, or maybe a bad decode between this and the last?)
(finally...)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time : 2024-05-24 14:08:57
model : Fineoffset-WH24
ID : 195
Battery : 1
Temperature: 25.6 C
Humidity : 74 %
Wind direction: 191
Wind speed: 1.4 m/s
Gust speed: 2.2 m/s
Rainfall : 4472.1 mm
UV : 2314
UVI : 5
Light : 78647.0 lux
Integrity : CRC
Replay command:
/usr/local/bin/rtl_433 -R78 -r g200_915M_1000k.cu8 -vvvv -Fkv
Output (stderr):
rtl_433 version 23.11-121-g86abae05 branch master at 202405232359 inputs file rtl_tcp RTL-SDR
[Protocols] Registered 1 out of 257 device decoding protocols
[Input] Test mode active. Reading samples from file: g200_915M_1000k.cu8
[Input] Input format "CU8 IQ (2ch uint8)"
[Baseband] low pass filter for 1000000 Hz at cutoff 100000 Hz, 10.0 us
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time : @0.037105s
model : Fineoffset-WH65B ID : 195
Battery : 1 Temperature: 25.6 C Humidity : 74 % Wind direction: 207 Wind speed: 0.7 m/s
Gust speed: 1.0 m/s Rainfall : 3786.4 mm UV : 2301 UVI : 5 Light : 78430.0 lux
Integrity : CRC
Pulse data: 61 pulses
[ 0] Pulse: 0, Gap: 58, Period: 58
[ 1] Pulse: 57, Gap: 57, Period: 114
[ 2] Pulse: 58, Gap: 59, Period: 117
[ 3] Pulse: 59, Gap: 57, Period: 116
[ 4] Pulse: 57, Gap: 60, Period: 117
[ 5] Pulse: 56, Gap: 59, Period: 115
[ 6] Pulse: 58, Gap: 58, Period: 116
[ 7] Pulse: 59, Gap: 58, Period: 117
[ 8] Pulse: 55, Gap: 58, Period: 113
[ 9] Pulse: 59, Gap: 59, Period: 118
[ 10] Pulse: 56, Gap: 59, Period: 115
[ 11] Pulse: 58, Gap: 59, Period: 117
[ 12] Pulse: 56, Gap: 59, Period: 115
[ 13] Pulse: 58, Gap: 58, Period: 116
[ 14] Pulse: 57, Gap: 61, Period: 118
[ 15] Pulse: 55, Gap: 58, Period: 113
[ 16] Pulse: 58, Gap: 59, Period: 117
[ 17] Pulse: 58, Gap: 58, Period: 116
[ 18] Pulse: 57, Gap: 58, Period: 115
[ 19] Pulse: 60, Gap: 57, Period: 117
[ 20] Pulse: 57, Gap: 58, Period: 115
[ 21] Pulse: 59, Gap: 59, Period: 118
[ 22] Pulse: 54, Gap: 175, Period: 229
[ 23] Pulse: 58, Gap: 59, Period: 117
[ 24] Pulse: 114, Gap: 60, Period: 174
[ 25] Pulse: 173, Gap: 57, Period: 230
[ 26] Pulse: 59, Gap: 58, Period: 117
[ 27] Pulse: 58, Gap: 231, Period: 289
[ 28] Pulse: 61, Gap: 113, Period: 174
[ 29] Pulse: 60, Gap: 116, Period: 176
[ 30] Pulse: 114, Gap: 233, Period: 347
[ 31] Pulse: 232, Gap: 114, Period: 346
[ 32] Pulse: 232, Gap: 348, Period: 580
[ 33] Pulse: 57, Gap: 61, Period: 118
[ 34] Pulse: 55, Gap: 117, Period: 172
[ 35] Pulse: 58, Gap: 290, Period: 348
[ 36] Pulse: 59, Gap: 113, Period: 172
[ 37] Pulse: 59, Gap: 59, Period: 118
[ 38] Pulse: 57, Gap: 292, Period: 349
[ 39] Pulse: 55, Gap: 59, Period: 114
[ 40] Pulse: 116, Gap: 349, Period: 465
[ 41] Pulse: 56, Gap: 175, Period: 231
[ 42] Pulse: 174, Gap: 58, Period: 232
[ 43] Pulse: 57, Gap: 174, Period: 231
[ 44] Pulse: 174, Gap: 60, Period: 234
[ 45] Pulse: 116, Gap: 231, Period: 347
[ 46] Pulse: 56, Gap: 174, Period: 230
[ 47] Pulse: 350, Gap: 56, Period: 406
[ 48] Pulse: 59, Gap: 231, Period: 290
[ 49] Pulse: 60, Gap: 57, Period: 117
[ 50] Pulse: 347, Gap: 56, Period: 403
[ 51] Pulse: 232, Gap: 61, Period: 293
[ 52] Pulse: 56, Gap: 58, Period: 114
[ 53] Pulse: 117, Gap: 233, Period: 350
[ 54] Pulse: 55, Gap: 59, Period: 114
[ 55] Pulse: 58, Gap: 115, Period: 173
[ 56] Pulse: 292, Gap: 338, Period: 630
[ 57] Pulse: 57, Gap: 213, Period: 270
[ 58] Pulse: 31, Gap: 100, Period: 131
[ 59] Pulse: 43, Gap: 59, Period: 102
[ 60] Pulse: 21, Gap: 0, Period: 21
[Input] Test mode file issued 1 packets
I have not played with frequency or -r / -s options yet. I am considering just forking rtl_433 and fixing the value to always be WH65b as I do not have a WH24 to decode.
I have attached the log "wstation.log" as well as cu8 files from 198 to 209 inclusive.
This is strange, both protocols have the same timing and message checksum, but the WH24 has a first byte (model code) of 24
and none of the Ambient Weather type share that code. No Ambient Weather message should start with 24
and the decoders check that.
Do you see both decodes at the same time? Or do they alternate in some way? Are you sure this is not some neighbours device?
Is there a chance to record a sample file?
For a log: run the decoders verbose to also get the raw data they receive with -vv
Hi! Im having trouble with my weewx, and found that it might be partly due to the parsing not working correctly. I have a WS2902a Array that for almost a year has been decoded as a WH65Packet. Today I changed the batteries in the array as I was have trouble connecting to it (but only it) and in watching the tail log I saw this : Dec 2 15:05:54 raspberrypi weewx[2556]: sdr: MainThread: lines=[u'{"time" : "2019-12-02 20:05:51", "model" : "Fine Offset WH65B", "id" : 10, "battery" : "OK", "temperature_C" : 0.500, "humidity" : 97, "wind_dir_deg" : 262, "wind_speed_ms" : 0.255, "gust_speed_ms" : 0.510, "rainfall_mm" : 1515.618, "uv" : 22, "uvi" : 0, "light_lux" : 2464.000, "mic" : "CRC"}\n'] Dec 2 15:06:07 raspberrypi weewx[2556]: sdr: MainThread: lines=[] Dec 2 15:06:10 raspberrypi weewx[2556]: sdr: MainThread: lines=[u'{"time" : "2019-12-02 20:06:07", "model" : "Fine Offset WH24", "id" : 10, "battery" : "OK", "temperature_C" : 0.500, "humidity" : 97, "wind_dir_deg" : 302, "wind_speed_ms" : 1.260, "gust_speed_ms" : 2.240, "rainfall_mm" : 1790.100, "uv" : 22, "uvi" : 0, "light_lux" : 2464.000, "mic" : "CRC"}\n'] Dec 2 15:06:10 raspberrypi weewx[2556]: sdr: MainThread: packet={'UV': 0.0, 'outHumidity': 97.0, 'light': 2464.0, 'outTempBatteryStatus': 0, 'dateTime': 1575317167, 'windDir': 302.0, 'outTemp': 0.5, 'windSpeed': 1.26, 'rain_total': 1790.1, 'usUnits': 17} so Ive been watching and it seems to bounce between the two, at random. Im happy to have it registering, but now theres a new problem lol and since i cant register two im trying to figure out why its flip-flopping