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.

Reply via email to