Problems with SDR driver failure to start process.

70 views
Skip to first unread message

weather list

unread,
Jun 11, 2020, 4:25:14 PM6/11/20
to weewx-user
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


Steve Kennedy

unread,
Aug 5, 2020, 6:23:29 AM8/5/20
to weewx-user
I'm having a similar problen with a RPI3 with buster (debian 10)

i have the logs
Reply all
Reply to author
Forward
0 new messages