Running RTL_433 manually outputs:

time      : 2020-06-11 14:09:10
model     : Ambient Weather F007TH Thermo-Hygrometer                       
  House Code: 175           Channel   : 1             Battery   : OK       
     Temperature: 89.3 F
Humidity  : 41 %         Integrity : CRC


Running  sudo PYTHONPATH=bin python bin/user/sdr.py the F007TH is not 
parsed:
out:[u'{"time" : "2020-06-11 18:16:14", "model" : "Ambient Weather F007TH 
Thermo-Hygrometer", "device" : 175, "channel" : 1, "battery" : "OK", 
"temperature_F" : 89.300, "humidity" : 41, "mic" : "CRC"}\n']

sdr.py has a parser for the AmbientF007TH:
class AmbientF007THPacket(Packet):
    # 2017-01-21 18:17:16 : Ambient Weather F007TH Thermo-Hygrometer
    # House Code: 80
    # Channel: 1
    # Temperature: 61.8
    # Humidity: 13 %

#    IDENTIFIER = "Ambient Weather F007TH Thermo-Hygrometer"
    IDENTIFIER = "Ambientweather-F007TH"
    PARSEINFO = {
        'House Code': ['house_code', None, lambda x: int(x)],
        'Channel': ['channel', None, lambda x: int(x)],
        'Temperature': [
            'temperature', re.compile('([\d.-]+) F'), lambda x: float(x)],
        'Humidity': ['humidity', re.compile('([\d.]+) %'), lambda x: 
float(x)]}

    @staticmethod
    def parse_text(ts, payload, lines):
        pkt = dict()
        pkt['dateTime'] = ts
        pkt['usUnits'] = weewx.METRIC
        pkt.update(Packet.parse_lines(lines, AmbientF007THPacket.PARSEINFO))
        house_code = pkt.pop('house_code', 0)
        channel = pkt.pop('channel', 0)
        sensor_id = "%s:%s" % (channel, house_code)
        pkt = Packet.add_identifiers(
            pkt, sensor_id, AmbientF007THPacket.__name__)
        return pkt

    # {"time" : "2017-01-21 13:01:30", "model" : "Ambient Weather F007TH 
Thermo-Hygrometer", "device" : 80, "channel" : 1, "temperature_F" : 61.800, 
"humidity" : 10}
    # as of 06feb2020:
    # {"time" : "2020-02-05 19:33:11", "model" : "Ambientweather-F007TH", 
"id" : 201, "channel" : 5, "battery_ok" : 1, "temperature_F" : 39.400, 
"humidity" : 60, "mic" : "CRC"}

    @staticmethod
    def parse_json(obj):
        pkt = dict()
        pkt['dateTime'] = Packet.parse_time(obj.get('time'))
        pkt['usUnits'] = weewx.US
        house_code = obj.get('device', 0)
        channel = obj.get('channel')
        pkt['temperature'] = Packet.get_float(obj, 'temperature_F')
        pkt['humidity'] = Packet.get_float(obj, 'humidity')
        sensor_id = "%s:%s" % (channel, house_code)
        pkt = Packet.add_identifiers(
            pkt, sensor_id, AmbientF007THPacket.__name__)
        return pkt

My sdr.conf section for SDR:
[SDR]
    # This section is for the software-defined radio driver.
   
    # The driver to use
    driver = user.sdr
#    path = /usr/local/bin/rtl_433
#    log_unknown_sensors = False
#    log_unmapped_sensors = True
    [[sensor_map]]
        extraTemp2 = temperature.*.AmbientF007THPacket            # pool 
temperature


When run under weeex-multi using:
sudo /etc/init.d/weewx start sdr

I find this in the log; I think this must be the problem but I have not 
been able to figure out how to fix it:
import of driver failed: failed to start process 'rtl_433 -M utc -F json': 
[Errno 2] No such file or directory (<class 'weewx.WeeWxIOError'>)
Jun 11 15:56:05 NUC2498 weewx-sdr[1653]: engine: Unable to load driver: 
failed to start process 'rtl_433 -M utc -F json': [Errno 2] No such file or 
directory


Debian 9
WeeWx 3.92
Intel NUC


-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/23987357-215e-4be5-be6e-293a6c2343e0o%40googlegroups.com.

Reply via email to