RTL-SDR setup help

250 views
Skip to first unread message

N0ZO

unread,
Feb 10, 2019, 11:09:04 PM2/10/19
to weewx-user
So I've wanted to use SDR to capture the data of the ObserverIP that I have. I have the WS-1400-IP which is a rebranded HP-1000 by Fine Offset.
It took me forever to actually get where my Pi3B could read the data from the SDR. But now I finally got that working when I setup weewx by the setup.py method.

Now I have hit a block that I'm not sure I can figure out, especially since I'm not finding anything of a fix on the internet.

Running sudo PYTHONPATH=bin python bin/user/sdr.py --cmd="rtl_433 -M utc -F json -G -p 66 -f 915000000"

gives me this:

 out: ['{"time" : "2019-02-11 03:44:32", "model" : "Fine Offset WH24", "id" : 140, "temperature_C" : 12.600, "humidity" : 80, "wind_dir_deg" : 111, "wind_speed_ms" : 0.280, "gust_speed_ms" : 1.120, "rainfall_mm" : 1150.800, "uv" : 1, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"}\n', '{"time" : "2019-02-11 03:44:33", "model" : "Fine Offset Electronics, WH25", "id" : 104, "temperature_C" : 20.000, "humidity" : 57, "pressure_hPa" : 1004.100, "battery" : "OK", "mic" : "CHECKSUM"}\n']
parsed: {'temperature.104.FOWH25Packet': 20.0, 'battery.104.FOWH25Packet': 0, 'dateTime': 1549856673, 'humidity.104.FOWH25Packet': 57.0, 'pressure.104.FOWH25Packet': 1004.1, 'usUnits': 16}
out: ['{"time" : "2019-02-11 03:44:48", "model" : "Fine Offset WH24", "id" : 140, "temperature_C" : 12.600, "humidity" : 80, "wind_dir_deg" : 109, "wind_speed_ms" : 0.980, "gust_speed_ms" : 1.120, "rainfall_mm" : 1150.800, "uv" : 1, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"}\n']

Under parsed I get that I can now enter the temperature.104.FOWH25Packet under the  [[Sensor_map]] under SDR. I also understand that my indoor device is the Fine Offset WH25, and the outdoor is the Fine Offset WH24. But part of what I can't figure out is this:
It gave me the detail I needed for the Sensor_Map when it parsed the WH25, but it didn't do that for WH24. I think my questions may be linked in a way since it didn't parse that out. 

Now, when I run weewx instead of the sdr.py, I get this:

Feb 10 21:50:27 raspberrypi weewx[2692]: sdr: MainThread: parse_json: unknown model Fine Offset WH24
Feb 10 21:50:27 raspberrypi weewx[2692]: sdr: MainThread: punt unrecognized line '{"time" : "2019-02-11 03:50:24", "model" : "Fine Offset WH24", "id" : 140, "temperature_C" : 12.600, "humidity" : 81, "wind_dir_deg" : 152, "wind_speed_ms" : 0.840, "gust_speed_ms" : 1.120, "rainfall_mm" : 1150.800, "uv" : 1, "uvi" : 0, "light_lux" : 0.000, "battery" : "OK", "mic" : "CRC"}#012'
Weewx is generating without error, and even has the inside temperature on the page it generated in public_html

I can provide actual logs if needed, but I'm thinking it's some issue that I'm not seeing either with rtl_433 or something I missed in a setting with weewx.

Also, I'm not sure if it matters or not, but I ran this line under SDR so that it captured data:

cmd= rtl_433 -M utc -F json -G -p 66 -f 915000000



tor...@torrin.org

unread,
Feb 10, 2019, 11:26:18 PM2/10/19
to weewx-user
You're running protocol 66 and the WH24 is 78.  Try this:


rtl_433 -M utc -F json  -p 78 -f 915000000

(you don't need -G here, since you don't want all protocols turned on)  Also, please post your entire weewx.conf, especially the SDR section.

N0ZO

unread,
Feb 11, 2019, 6:24:06 AM2/11/19
to weewx-user
Is -p not for the ppm offset error?
I think -R is the one needed to select 78 for the device type. I tried switching it around both ways, and still get the exact same error.
weewx.conf

tor...@torrin.org

unread,
Feb 11, 2019, 8:38:02 AM2/11/19
to weewx-user
Heh, yup, that is what I get for trying to do this from memory.  I do not see the WH24 mapped in your confrig, and perhaps the error in the log is you have logging turned on for unknown protocols.  Try this in your SDR section:

[SDR]
    # This section is for the software-defined radio driver.

    # The driver to use
    driver = user.sdr
    path = /usr/local/bin
    cmd = rtl_433 -q -M utc -F json -p 39.741 -R 78 -f 914980000
    [[sensor_map]]
        outTemp = temperature.140.FOWH24Packet
        outHumidity = humidity.140.FOWH24Packet
        windDir = wind_dir.140.FOWH24Packet
        windSpeed = wind_speed.140.FOWH24Packet
        windGust = wind_gust.140.FOWH24Packet
        rain_total = rain_total.140.FOWH24Packet
        UV = uv_index.140.FOWH24Packet
        radiation = light.140.FOWH24Packet
        outTempBatteryStatus = battery.140.FOWH24Packet
        inTemp = temperature.104.FOWH25Packet
        inHumidity = humidity.104.FOWH25Packet
        pressure = pressure.104.FOWH25Packet
        inTempBatteryStatus = battery.104.FOWH25Packet
    [[deltas]]
        rain = rain_total

mwall

unread,
Feb 11, 2019, 8:51:37 AM2/11/19
to weewx-user


On Monday, February 11, 2019 at 8:38:02 AM UTC-5, torrin wrote:
Heh, yup, that is what I get for trying to do this from memory.  I do not see the WH24 mapped in your confrig, and perhaps the error in the log is you have logging turned on for unknown protocols. 

FO24 was not in the list of recognized packets.  it is now as of weewx-sdr v0.55

 
    [[deltas]]
        rain = rain_total


there is no need to specify a [[deltas]] section.  rain and lightning strikes are already in the default [[deltas]] definition.

m

N0ZO

unread,
May 24, 2019, 3:56:15 PM5/24/19
to weewx-user
I've got two new sensors that I want to add to weewx.
It looks identical to the WH25 but rtl_sdr recognizes it as a WH32B. 



{"time" : "2019-05-24 19:44:17", "model" : "Fine Offset Electronics, WH25", "id" : 104, "temperature_C" : 24.400, "humidity" : 51, "pressure_hPa" : 994.600, "battery" : "OK", "mic" : "CHECKSUM"}
{"time" : "2019-05-24 19:46:03", "model" : "Fineoffset-WH32B", "id" : 121, "temperature_C" : 23.000, "humidity" : 53, "pressure_hPa" : 997.900, "battery" : "OK", "mic" : "CHECKSUM"}


Would the layout for the SDR sensor map just be:  humidity.121.FOWH32Packet.

I've also got the PM2.5 air quality sensor, which is working great with my ObserverIP. But I'd like weewx to capture that data as well. Is this something someone else would need to do to capture the data to make the driver work for it, or would I be able to capture data and pass it on to get it added?

Some info on it: 
 Honeywell HPM Series Particle Sensor.
Model on the bottom says WH42B.

N0ZO

unread,
May 24, 2019, 6:11:42 PM5/24/19
to weewx-user
I just remembered I need it to run through the SDR with weewx to get the sensor map name, i'll do that shortly
Message has been deleted

Richard Horobin

unread,
Jun 23, 2019, 2:22:02 AM6/23/19
to weewx-user
Dear Team,
This seems relevant to me, as I'm also trying to use RTL_433 to intercept radio messages from my Acurite 5n1, as I didn't want to buy their Bridge.  Now I'm trying to configure weewx.conf so that it will take or receive data via RTL_433 and then pass it to WOW in UK. 

Needless to say, I can't make it work yet, due to both my failure to understand what's going on and then probably having the wrong parameters.  
Right now, I can't understand if USER.SDR is a separate file or not.
Secondly, I will search for how to create the [[sensor map]].  I assume I need one, but I don't know.

HARDWARE
Acurite 5n1, transmitting on 433.920MHz
RTL-433 receiving, attached to
Mac mini, macos 10.14.5

SOFTWARE
Python 2.7.16
Homebrew
weewx 3.9.1

weewx.conf

mwall

unread,
Jun 23, 2019, 3:25:49 AM6/23/19
to weewx-user


On Sunday, June 23, 2019 at 2:22:02 AM UTC-4, Richard Horobin wrote:
Dear Team,
This seems relevant to me, as I'm also trying to use RTL_433 to intercept radio messages from my Acurite 5n1, as I didn't want to buy their Bridge.  Now I'm trying to configure weewx.conf so that it will take or receive data via RTL_433 and then pass it to WOW in UK. 

Needless to say, I can't make it work yet, due to both my failure to understand what's going on and then probably having the wrong parameters.  

you should start a new thread.  the problem described in this thread was resolved - the FO24 packets were added to sdr.py some time ago, and the current weewx-sdr version is 0.64

please see the weewx-sdr readme for details about how to see which sensors your sdr is detecting, and how to map those to weewx observation names.

or take a look at the step-by-step guide in the weewx wiki:


Reply all
Reply to author
Forward
0 new messages