Previous good Data:
This is the raw data: {“time”: “2022-02-14 07:29:23”, “model”: “SwitchDoc Labs FT020T AIO”, “device”: 12, “id”: 127, “batterylow”: 0, “avewindspeed”: 2, “gustwindspeed”: 7, “winddirection”: 329, “cumulativerain”: 1044, “temperature”: 402, “humidity”: 79, “light”: 1396, “uv”: 0, “mic”: “CRC”, “mod”: “ASK”, “freq”: 433.99, “rssi”: -0.106, “snr”: 17.905, “noise”: -18.011}
Bad Data:
This is the raw data: {“time” : “2022-02-14 07:44:03”, “model” : “SwitchDoc Labs FT020T AIO”, “device” : 12, “id” : 126, “batterylow” : 0, “avewindspeed” : 494, “gustwindspeed” : 495, “winddirection” : 478, “cumulativerain” : 60927, “temperature” : 1727, “humidity” : 250, “light” : 50875, “uv” : 231, “mic” : “CRC”, “mod” : “ASK”, “freq” : 433.991, “rssi” : -0.117, “snr” : 18.931, “noise” : -19.048}
Next Good Data:
This is the raw data: {“time” : “2022-02-14 07:55:15”, “model” : “SwitchDoc Labs FT020T AIO”, “device” : 12, “id” : 127, “batterylow” : 0, “avewindspeed” : 7, “gustwindspeed” : 10, “winddirection” : 323, “cumulativerain” : 1044, “temperature” : 410, “humidity” : 76, “light” : 2827, “uv” : 1, “mic” : “CRC”, “mod” : “ASK”, “freq” : 433.990, “rssi” : -0.105, “snr” : 19.415, “noise” : -19.520
Next Bad Data:
This is the raw data: {“time” : “2022-02-14 08:29:23”, “model” : “SwitchDoc Labs FT020T AIO”, “device” : 12, “id” : 127, “batterylow” : 0, “avewindspeed” : 5, “gustwindspeed” : 10, “winddirection” : 332, “cumulativerain” : 1044, “temperature” : 425, “humidity” : 72, “light” : 4773, “uv” : 2, “mic” : “CRC”, “mod” : “ASK”, “freq” : 433.989, “rssi” : -0.124, “snr” : 18.676, “noise” : -18.800}
Looks like the serial number 127 is always right, while 126 is not. 127 is 01111111 in binary and 126 is 01111110 which makes me think that the whole data has been shifted by one bit during demodulation. But that doesn’t quite make sense either since the serial numbers are 8 bits and the top bit is 0 in both cases. The CRC should catch that but it doesn’t seem to do that. I checked and the CRC code is correct and will not send a JSON message if the WeatherRack2 message is corrupt.
Here is one of my messages from our test unit:
{“time” : “2022-02-26 11:38:30”, “model” : “SwitchDoc Labs FT020T AIO”, “device” : 12, “id” : 69, “batterylow” : 0, “avewindspeed” : 5, “gustwindspeed” : 7, “winddirection” : 294, “cumulativerain” : 54, “temperature” : 744, “humidity” : 54, “light” : 32718, “uv” : 17, “mic” : “CRC”, “mod” : “ASK”, “freq” : 433.976, “rssi” : -0.121, “snr” : 9.113, “noise” : -9.235}
That leads me to believe that the WeatherRack2 is generating a bad message (we don’t own that software and can’t modify it), which you are receiving correctly. Ignore IDs of 126 is my best advice.
Discussion on the RSSI, SNR and NOISE
RSSI: 0 Good, further negative is low signal.
Good Messages My RSSI: -0.121 Your RSSI: -0.105 (Your Bad Message is: -0.117) Seems comparable to mine.
SNR: SNR = RSSI – Noise Higher the better
Good Messages My SNR: 9.113 Your SNR: 19.415 (Your Bad Message: 18.676)
NOISE: 0 is bad. More negative is good
Good Message My NOISE: -9.235 Your NOISE: -19.50 (Bad Message is: -18)
This tells me that this is probably not a noise or bad reception problem. Your signal is better than mine and you have a lot less noise (not surprised about that – you should see the amount of RF generating equipment I have here in the lab).
So, that reinforces that the WeatherRack2 is sending bad data with a good CRC.