I'm currently running Weewx 4.9.1 and using WeeWX-MQTTSubscribe to capture data from 2 separate RTL SDR's. One of the RTL-SDR devices is listening on 433.92 and is picking up weather data from a couple nearby weather stations. One of the weather stations I'm listening to has a bad wind sensor, so I do not want the wind data from that station, the other station has good wind data so I do want that data. These two stations are from the same manufacturer and fall under the same device decoding protocol (
[40] Acurite 592TXR Temp/Humidity, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas).
The other RTL-SDR is listening on 915.00 in order to pick up pressure data from another sensor.
When using
`rtl_433 -F json -M utc -R 40 | mosquitto_pub -t weather/radio -h localhost -l`
I receive all packets from both stations and pass that to the WeeWX-MQTTSubscribe driver where I have set up the various fields and map them to weewx. For example, the wind data:
[[topics]]
unit_system = US
[[[weather/radio]]]
... snip ...
[[[[wind_avg_km_h]]]]
name = windSpeed
[[[[wind_dir_deg]]]]
name = windDir
... snip ...
since both stations emit, for example, 'wind_avg_km_h', I don't have a way to filter out one of them (the bad one) so I end up getting some garbage data in the mix with good data.
My question is this: since these two stations are the same 'device decoding protocol' (40) is there a way to differentiate between the json data coming from the one vs the other? The both have different [[[[id]]]] fields, the one I want has an ID of 3522 and the one I don't want wind data from is ID 2849.
Essentially I want to keep data from both devices but exclude just the wind data from one of them.
Thanks much for any help you all can provide.
Bryan