I have been having a play with the RTL-SDR stuff and have got it working with a FOWH3080 clone. When testing I found I could also read the data from another Acurite Tower Sensor I have so have included that into my sensor map.
What I have noticed is the the low battery detection logic for the Tower Sensor in sdr.py doesn't work, it always displays data for a low battery.
I tested the sensor with a low battery (~2.5V) and confirmed that I got a low icon on the console and that with a good battery (~3.5V) the icon goes away.
Testing sdr.py from the command line shows that rtl_433 is giving the correct results for a low and good battery but the parsed output is always a 1.
Can anyone point me in the right direction to fix this please.
Gary
-------------------------
Low battery - Vbat~2.5V
pi@GazPiB1:~ $ sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/sdr.py --cmd="rtl_433 -q -U -F json -R 40"
out: ['{
"time" : "2018-07-21 01:53:56",
"model" : "Acurite tower sensor",
"id" : 13009,
"sensor_id" : 13009,
"channel" : "A",
"temperature_C" : 15.000,
"humidity" : 16,
"battery_low" : 1
}\n'
parsed: {
'temperature.32D1.AcuriteTowerPacket': 15.0,
'dateTime': 1532138036,
'status.32D1.AcuriteTowerPacket': None,
'humidity.32D1.AcuriteTowerPacket': 16.0,
'battery.32D1.AcuriteTowerPacket': 1,
'channel.32D1.AcuriteTowerPacket': 'A',
'usUnits': 16
}
----------------------------------------
Good battery - Vbat~3.5V
pi@GazPiB1:~ $ sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/sdr.py --cmd="rtl_433 -q -U -F json -R 40"
out: ['{
"time" : "2018-07-21 01:52:24",
"model" : "Acurite tower sensor",
"id" : 13009,
"sensor_id" : 13009,
"channel" : "A",
"temperature_C" : 15.600,
"humidity" : 16,
"battery_low" : 0
}\n'
parsed: {
'temperature.32D1.AcuriteTowerPacket': 15.6,
'dateTime': 1532137944,
'status.32D1.AcuriteTowerPacket': None,
'humidity.32D1.AcuriteTowerPacket': 16.0,
'battery.32D1.AcuriteTowerPacket': 1,
'channel.32D1.AcuriteTowerPacket': 'A',
'usUnits': 16
}
---------------------------------------