[ | Date | | | 2025-02-27 23:57 -0500 | ] |
[ | Mod. | | | 2025-02-28 07:49 -0500 | ] |
In 2024, I replaced my existing outdoor temperature and humidity sensors, which were simple DHT22s:
The old sensors, even though they are specified as low-accuracy, were enough for my needs, but the setup I used them with was a bit unreliable; occasional restarts were needed (perhaps a few a month).
The replacement is an Ikea Vindstyrka, which measures volatile organic compounds (VOC) and small particles (PM 2.5), in addition to temperature and humidity, and connects via Zigbee.
The Vindstyrka has proved very reliable; in a six-month period, it has remained constantly available, not requiring manual intervention once.
Sadly, the new sensor only measures temperatures down to -10 °C, making my displays misleading during the few weeks of the year when Montreal gets colder than that.
So I adapted my display-side code as follows, to just display “cold” whenever the temperature is at or below the lowest measurable point:
- send_message sprintf "\x80%2d~C ", $temp;
+ my $temp_msg = sprintf "\x80%2d~C ", $temp;
+ $temp_msg = "\x80COLD " if $temp == -10;
+
+ send_message $temp_msg;
Action shot:
Quick links: