WeeWX ver 4.0.0b12 and weewx-sdr --- driver not loading

72 views
Skip to first unread message

rich T

unread,
Feb 23, 2020, 4:25:08 PM2/23/20
to weewx-user
If I run the driver directly, using the following command "sudo PYTHONPATH=bin python3 bin/user/sdr.py", I can capture the packets.

parsed: {'dateTime': 1582492107, 'usUnits': 1, 'protocol.0C37.Acurite5n1PacketV2': None, 'model.0C37.Acurite5n1PacketV2': 'Acurite-5n1', 'channel.0C37.Acurite5n1PacketV2': 'C', 'sequence_num.0C37.Acurite5n1PacketV2': 1, 'battery.0C37.Acurite5n1PacketV2': 1, 'mod.0C37.Acurite5n1PacketV2': None, 'freq.0C37.Acurite5n1PacketV2': None, 'rssi.0C37.Acurite5n1PacketV2': None, 'snr.0C37.Acurite5n1PacketV2': None, 'noise.0C37.Acurite5n1PacketV2': None, 'msg_type.0C37.Acurite5n1PacketV2': 56, 'wind_speed.0C37.Acurite5n1PacketV2': 2.656, 'temperature.0C37.Acurite5n1PacketV2': 49.6, 'humidity.0C37.Acurite5n1PacketV2': 20.0}
parsed: {'dateTime': 1582492107, 'usUnits': 1, 'protocol.0C37.Acurite5n1PacketV2': None, 'model.0C37.Acurite5n1PacketV2': 'Acurite-5n1', 'channel.0C37.Acurite5n1PacketV2': 'C', 'sequence_num.0C37.Acurite5n1PacketV2': 2, 'battery.0C37.Acurite5n1PacketV2': 1, 'mod.0C37.Acurite5n1PacketV2': None, 'freq.0C37.Acurite5n1PacketV2': None, 'rssi.0C37.Acurite5n1PacketV2': None, 'snr.0C37.Acurite5n1PacketV2': None, 'noise.0C37.Acurite5n1PacketV2': None, 'msg_type.0C37.Acurite5n1PacketV2': 56, 'wind_speed.0C37.Acurite5n1PacketV2': 2.656, 'temperature.0C37.Acurite5n1PacketV2': 49.6, 'humidity.0C37.Acurite5n1PacketV2': 20.0}

If I start weewx, I get the following error:

Feb 23 15:58:35 raspberrypi systemd[1]: Starting LSB: weewx weather system...
Feb 23 15:58:36 raspberrypi weewx[1591] INFO __main__: Initializing weewx version 4.0.0b12
Feb 23 15:58:36 raspberrypi weewx[1591] INFO __main__: Using Python 3.7.3 (default, Dec 20 2019, 18:57:59) #012[GCC 8.3.0]
Feb 23 15:58:36 raspberrypi weewx[1591] INFO __main__: Platform Linux-4.19.97-v7+-armv7l-with-debian-10.3
Feb 23 15:58:36 raspberrypi weewx[1591] INFO __main__: Locale is 'en_US.UTF-8'
Feb 23 15:58:36 raspberrypi weewx[1591] INFO __main__: PID file is /var/run/weewx.pid
Feb 23 15:58:36 raspberrypi weewx[1595] INFO __main__: Using configuration file /home/weewx/weewx.conf
Feb 23 15:58:36 raspberrypi weewx[1595] DEBUG __main__: Initializing engine
Feb 23 15:58:36 raspberrypi weewx[1595] INFO weewx.engine: Loading station type SDR (user.sdr)
Feb 23 15:58:36 raspberrypi weewx[1580]: Starting weewx weather system: weewx.
Feb 23 15:58:36 raspberrypi systemd[1]: Started LSB: weewx weather system.
Feb 23 15:58:36 raspberrypi weewx[1595] INFO user.sdr: driver version is 0.77
Feb 23 15:58:36 raspberrypi weewx[1595] INFO user.sdr: sensor map is {'windDir': 'wind_dir.0C37.Acurite5n1PacketV2', 'windSpeed': 'wind_speed.0C37.Acurite5n1PacketV2', 'outTemp': 'temperature.0C37.Acurite5n1PacketV2', 'outHumidity': 'humidity.0C37.Acurite5n1PacketV2', 'rain_total': 'rain_total.0C37.Acurite5n1PacketV2'}
Feb 23 15:58:36 raspberrypi weewx[1595] INFO user.sdr: deltas is {'rain': 'rain_total', 'strikes': 'strikes_total'}
Feb 23 15:58:36 raspberrypi weewx[1595] INFO user.sdr: startup process 'rtl_433 -M utc -F json'
Feb 23 15:58:36 raspberrypi weewx[1595] ERROR weewx.engine: Import of driver failed: failed to start process 'rtl_433 -M utc -F json': [Errno 2] No such file or directory: 'rtl_433': 'rtl_433' (<class 'weewx.WeeWxIOError'>)
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****  Traceback (most recent call last):
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****    File "/home/weewx/bin/user/sdr.py", line 198, in startup
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****      stderr=subprocess.PIPE)
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****    File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****      restore_signals, start_new_session)
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****    File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****      raise child_exception_type(errno_num, err_msg, err_filename)
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****  FileNotFoundError: [Errno 2] No such file or directory: 'rtl_433': 'rtl_433'
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     **** 
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****  During handling of the above exception, another exception occurred:
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     **** 
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****  Traceback (most recent call last):
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****    File "/home/weewx/bin/weewx/engine.py", line 103, in setupStation
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****      self.console = loader_function(config_dict, self)
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****    File "/home/weewx/bin/user/sdr.py", line 147, in loader
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****      return SDRDriver(**config_dict[DRIVER_NAME])
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****    File "/home/weewx/bin/user/sdr.py", line 2667, in __init__
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****      self._mgr.startup(cmd, path, ld_library_path)
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****    File "/home/weewx/bin/user/sdr.py", line 207, in startup
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****      (cmd, e))
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL weewx.engine:     ****  weewx.WeeWxIOError: failed to start process 'rtl_433 -M utc -F json': [Errno 2] No such file or directory: 'rtl_433': 'rtl_433'
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL __main__: Unable to load driver: failed to start process 'rtl_433 -M utc -F json': [Errno 2] No such file or directory: 'rtl_433': 'rtl_433'
Feb 23 15:58:36 raspberrypi weewx[1595] CRITICAL __main__:     ****  Exiting...

Weewx.conf Snippet:

##############################################################################
[SDR]
    # This section is for the software-defined radio driver.
   
    # The driver to use
    driver = user.sdr
    cmd = rtl_433 -M utc -F json
   
    [[sensor_map]]
        windDir = wind_dir.0C37.Acurite5n1PacketV2
        windSpeed = wind_speed.0C37.Acurite5n1PacketV2
        outTemp = temperature.0C37.Acurite5n1PacketV2
        outHumidity = humidity.0C37.Acurite5n1PacketV2
        rain_total = rain_total.0C37.Acurite5n1PacketV2
        #inTemp = temperature.24A4.AcuriteTowerPacket
        #inHumidity = humidity.24A4.AcuriteTowerPacket
##############################################################################

RTL_443 Path: /home/pi/rtl_433

vince

unread,
Feb 23, 2020, 6:00:29 PM2/23/20
to weewx-user
On Sunday, February 23, 2020 at 1:25:08 PM UTC-8, rich T wrote:
RTL_443 Path: /home/pi/rtl_433


I'm guessing you don't have the rtl_433 binary in a place in weewx's $PATH, but I can't find reference for where to copy it to.

rich T

unread,
Feb 23, 2020, 6:48:11 PM2/23/20
to weewx-user
Thanks Vince...added "path = /usr/local/bin/" to the config.
Reply all
Reply to author
Forward
0 new messages