In my underfloor heating project, using Node-RED, I have to have one sensing thermometer per room/zone, seems to be 8 in total, so therefore it would be nice with a wireless battery sourced device with good resolution and frequent updates.
During the test phase I used a Z-way device but the resolution was pretty bad. Another device mentioned is the Ruuvi tag but since it's a bluetooth device the transmitting range could be better.
After some googling I went for 433 MHz devices.
After some googling I went for 433 MHz devices.
Thermometer
For some years ago I used a Tellstick for home automation and also had some ESIC WT450(WT) thermometers. They where still working so how to receive their data sent over 433 MHz ?
RTL-SDR
Another project have been receiving AIS data with a RTL-SDR so after some search I found an amazing package, rtl_433, decoding over 150 device protocols including my WT.
In the beginning of the tests I had some problem receiving data from the sensors due to that I used an antenna from the mentioned Tellstik device. When I built my own dipol antenna, check picture, it worked much better.
I built the dipol from a cut SMA coaxial cable and 2 wires from a ordinary 230 VAC cable. Please note that the length should be changed from 49 cm to 16,5 cm. I soldered the connections, instead of the choc block, and used heat shrink tubing to isolate.
Installing
Installing on Raspberry Pi(RPi), with OS Bullseye, it's easy since there is a ready package
sudo apt install rtl-433
For other versions check the help or compile the latest version yourself.
Just a note that the "cmake" command line should be "cmake ../".
Test
Test
Start with just checking the command help
rtl_433 -h
and then check your environment with
sudo rtl_433
Probably you will discover that also your neighbors have 433 devices.
Checking the device list, in the help command, I saw that my WT device had id "33". So with the command
sudo rtl_433 -R 33
I filtered out everything except my own device.
For other command use just check the fantastic documentation.
Node-RED
The application for the underfloor heating project is using Node-Red(NR) so the first idea I got was to use the "exec" node, executing "sudo rtl_433 -R 33 -F json" and then use the output to retrieve the temperature.
But I found the "node-red-contrib-rtl_433" node which have a nice interface and will output the temperature as
"msg.payload.temperature_C"
Wrap up
Sensor resolution
The resolution for my WT devices where good enough but the accuracy could be better. I used a referens thermometer and then applied an offset to the measured value.
Compact install
sudo apt install librtlsdr-dev cmake
wget https://github.com/merbanan/rtl_433/archive/refs/heads/master.zip
unzip master.zip && mv rtl_433-master rtl_433
mkdir build
cd build
cmake -DENABLE_SOAPYSDR=OFF ../
make
sudo make install
No comments:
Post a Comment
Feel free to leave a comment ! ... but due to a lot of spam comments I have to moderate them. Will reply ASAP !