On Thursday, January 3, 2019 at 1:06:53 AM UTC-5, Charlie Thompson wrote:
>
> OK..here is what I get from the command you suggested below:
>
> pi@raspberrypi:/etc/weewx $ sudo PYTHONPATH=/usr/share/weewx python
> /usr/share/weewx/user/sdr.py --cmd="rtl_433 -M -UTC -F json -G"
> out: ['{"time" : "2019-01-03 00:01:50", "model" : "Acurite 5n1 sensor",
> "sensor_id" : 3431, "channel" : "A", "sequence_num" : 0, "battery" : "OK",
> "message_type" : 49, "wind_speed_mph" : 0.000, "wind_dir_deg" : 337.500,
> "rain_inch" : 3.210}\n', '{"time" : "2019-01-03 00:01:50", "model" :
> "Acurite 5n1 sensor", "sensor_id" : 3431, "channel" : "A", "sequence_num" :
> 1, "battery" : "OK", "message_type" : 49, "wind_speed_mph" : 0.000,
> "wind_dir_deg" : 337.500, "rain_inch" : 3.210}\n', '{"time" : "2019-01-03
> 00:01:50", "model" : "Acurite 5n1 sensor", "sensor_id" : 3431, "channel" :
> "A", "sequence_num" : 2, "battery" : "OK", "message_type" : 49,
> "wind_speed_mph" : 0.000, "wind_dir_deg" : 337.500, "rain_inch" : 3.210}\n']
> parsed: {'rain_counter.0D67.Acurite5n1Packet': None,
> 'status.0D67.Acurite5n1Packet': None, 'dateTime': 1546473710,
> 'channel.0D67.Acurite5n1Packet': u'A', 'battery.0D67.Acurite5n1Packet': 0,
> 'wind_dir.0D67.Acurite5n1Packet': 337.5,
> 'wind_speed.0D67.Acurite5n1Packet': 0.0, 'usUnits': 1}
>
there is the problem. your version of rtl_433 is reporting 'rain_inch',
but weewx-sdr 0.49 is expecting 'rain_counter_raw'. so you get nothing.
what version of rtl_433 are you running? what version of weewx-sdr are you
running?
is 'rain_inch' a counter or a delta? if it is a counter, you could try
modifying sdr.py from this:
if msg_type == 49: # 0x31
pkt['wind_speed'] = Packet.get_float(obj, 'wind_speed_mph')
pkt['wind_dir'] = Packet.get_float(obj, 'wind_dir_deg')
pkt['rain_counter'] = Packet.get_int(obj, 'raincounter_raw')
elif msg_type == 56: # 0x38
pkt['wind_speed'] = Packet.get_float(obj, 'wind_speed_mph')
pkt['temperature'] = Packet.get_float(obj, 'temperature_F')
pkt['humidity'] = Packet.get_float(obj, 'humidity')
# put some units on the rain total - each tip is 0.01 inch
if 'rain_counter' in pkt and pkt['rain_counter'] is not None:
pkt['rain_total'] = pkt['rain_counter'] * 0.01 # inch
to this:
if msg_type == 49: # 0x31
pkt['wind_speed'] = Packet.get_float(obj, 'wind_speed_mph')
pkt['wind_dir'] = Packet.get_float(obj, 'wind_dir_deg')
pkt['rain_counter'] = Packet.get_int(obj, 'rain_inch')
elif msg_type == 56: # 0x38
pkt['wind_speed'] = Packet.get_float(obj, 'wind_speed_mph')
pkt['temperature'] = Packet.get_float(obj, 'temperature_F')
pkt['humidity'] = Packet.get_float(obj, 'humidity')
# put some units on the rain total - each tip is 0.01 inch
if 'rain_counter' in pkt and pkt['rain_counter'] is not None:
pkt['rain_total'] = pkt['rain_counter']
trying to make weewx-sdr match every variation in output from every
incremental version of rtl_433 is whack-a-mole.
m
--
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].
For more options, visit https://groups.google.com/d/optout.