Skip to content

Commit 7237617

Browse files
committed
support latest rtl_433 hideki wind speeds
1 parent e332428 commit 7237617

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

bin/user/sdr.py

+18-4
Original file line numberDiff line numberDiff line change
@@ -1779,6 +1779,7 @@ class HidekiWindPacket(Packet):
17791779

17801780
# {"time" : "2017-01-16 04:38:39", "model" : "HIDEKI Wind sensor", "rc" : 0, "channel" : 4, "battery" : "OK", "temperature_C" : -4.400, "windstrength" : 2.897, "winddirection" : 292.500}
17811781
# {"time" : "2019-11-24 19:13:41", "model" : "HIDEKI Wind sensor", "rc" : 3, "channel" : 4, "battery" : "OK", "temperature_C" : 11.000, "wind_speed_mph" : 1.300, "gust_speed_mph" : 0.100, "wind_approach" : 1, "wind_direction" : 270.000, "mic" : "CRC"}
1782+
# {"time" : "2021-02-07 03:44:54", "model" : "Hideki-Wind", "id" : 8, "channel" : 4, "battery_ok" : 1, "temperature_C" : 15.200, "wind_avg_mi_h" : 2.600, "wind_max_mi_h" : 2.900, "wind_approach" : 1, "wind_dir_deg" : 337.500, "mic" : "CRC"}
17821783

17831784
# IDENTIFIER = "HIDEKI Wind sensor"
17841785
IDENTIFIER = "HIDEKI-Wind"
@@ -1808,18 +1809,30 @@ def parse_json(obj):
18081809
pkt['rolling_code'] = obj.get('rc')
18091810
pkt['channel'] = obj.get('channel')
18101811
pkt['temperature'] = Packet.get_float(obj, 'temperature_C')
1811-
if 'wind_speed_mph' in obj:
1812+
if 'wind_avg_mi_h' in obj:
1813+
v = Packet.get_float(obj, 'wind_avg_mi_h')
1814+
if v is not None:
1815+
v /= weewx.units.MILE_PER_KM
1816+
pkt['wind_speed'] = v
1817+
elif 'wind_speed_mph' in obj:
18121818
v = Packet.get_float(obj, 'wind_speed_mph')
18131819
if v is not None:
18141820
v /= weewx.units.MILE_PER_KM
18151821
pkt['wind_speed'] = v
18161822
else:
18171823
pkt['wind_speed'] = Packet.get_float(obj, 'windstrength')
1818-
if 'wind_direction' in obj:
1824+
if 'wind_dir_deg' in obj:
1825+
pkt['wind_dir'] = Packet.get_float(obj, 'wind_dir_deg')
1826+
elif 'wind_direction' in obj:
18191827
pkt['wind_dir'] = Packet.get_float(obj, 'wind_direction')
18201828
else:
18211829
pkt['wind_dir'] = Packet.get_float(obj, 'winddirection')
1822-
if 'gust_speed_mph' in obj:
1830+
if 'wind_max_mi_h' in obj:
1831+
v = Packet.get_float(obj, 'wind_max_mi_h')
1832+
if v is not None:
1833+
v /= weewx.units.MILE_PER_KM
1834+
pkt['wind_gust'] = v
1835+
elif 'gust_speed_mph' in obj:
18231836
v = Packet.get_float(obj, 'gust_speed_mph')
18241837
if v is not None:
18251838
v /= weewx.units.MILE_PER_KM
@@ -1840,7 +1853,8 @@ class HidekiRainPacket(Packet):
18401853

18411854
# {"time" : "2017-01-16 04:38:50", "model" : "HIDEKI Rain sensor", "rc" : 0, "channel" : 4, "battery" : "OK", "rain" : 2622.900}
18421855
# {"time" : "2019-11-24 19:13:52", "model" : "HIDEKI Rain sensor", "rc" : 0, "channel" : 4, "battery" : "OK", "rain_mm" : 274.400, "mic" : "CRC"}
1843-
1856+
# {"time" : "2021-02-07 03:45:10", "model" : "Hideki-Rain", "id" : 0, "channel" : 4, "battery_ok" : 1, "rain_mm" : 1382.500, "mic" : "CRC"}
1857+
18441858
# IDENTIFIER = "HIDEKI Rain sensor"
18451859
IDENTIFIER = "HIDEKI-Rain"
18461860

0 commit comments

Comments
 (0)