matthewwall / weewx-sdr

weewx driver for software-defined radio
GNU General Public License v3.0
114 stars 74 forks source link

weewx-sdr hangs when rtl_433 in rtl_tcp mode and server is restarted #120

Open gleven opened 3 years ago

gleven commented 3 years ago

I have an issue with my setup. Currently, i have an rtl_tcp server on the roof , so it can pick up the signals from my acurite5n1. These are then pushed to my weewx-sdr rpi In my weewx-sdr section , i have the following

` [SDR]

This section is for the software-defined radio driver.

# The driver to use
driver = user.sdr
cmd = /usr/local/bin/rtl_433 -d rtl_tcp:192.168.1.28:1234 -M utc -F json
log_unknown_sensors = False
log_unmapped_sensors = False
[[sensor_map]]
    windDir = wind_dir.051F.Acurite5n1PacketV2..... `

The problem is when my rtl_tcp server on the roof is restarted. It seems the weewx-sdr loses the connection and terminates silently. The syslog just stops reporting any new messages from weewx and rtl_433 disappears from the process list Actually, if you try using rtl_433 (in rtl_tcp mode) and restart the rtl_tcp server, the client rtl_433 will terminate with the following

Async read stalled, exiting! WARNING: sync read failed. -1 rtl_tcp: Connection reset by peer shutdown: Transport endpoint is not connected

Is there a way for weewx to monitor this and trigger a reload of the driver or something like that?

kevinkey619 commented 2 years ago

Try the latest version. I just now installed the latest version and now it now the RTL process no longer hangs when I restart weewx. Prior to installing the latest version, I was having to physically unplug the receiver in order for the old process to automatically abort.