An Artificially Intelligent Home

Explorations in Home Automation

View the Project on GitHub

Monitoring Room Temperatures using ESPHome

September 20, 2022

We replaced the HVAC system in August so I need to be able to fine-tune for even heat distribution this winter (then for cooling next summer). I’m using ESPHome which is a very nice way to create simple, very cheap, wifi-connected sensors for HASS. For instance, a Particle Photon is about $20 and one can get ESP devices with GPIO pins (e.g., the D1 mini for about $3 each). I built a set of room temperature monitoring gadgets using D1 minis and DS18B20 temperature sensors to evaluate the performance of our HVAC system throughout the home. The nice waterproof DS18B20 sensors on 6’ cables are about $2-3 each. You’d be tempted, though, to just solder one of the tiny (and even cheaper) IC form factor DS18B20 sensors to the ESP board. This would be very elegant (no wires, etc.) but you’d be measuring the heat coming off of the ESP board rather than the ambient room temperature, so go for the ones on cables. Below you can see a grafana dashboard showing the temps in 8 rooms and a shaded outside location. The relatively flat green line is the temperature reading of the thermostat) and outside temperature is the red line. The sensors report every ~60s and I’m graphing the time simple moving average (built-in HASS filter) with a 10min window.

(fast forward 2 months - a very satisfying graph)

I am using these things to tune the HVAC system for winter. It is great to be able to see the results of fiddling with dampers rather than making changes and then asking humans to tell you if the temperature in a particular room is “better.” Yesterday (12/24, see graph) at about 11am I adjusted the dampler to reduce airflow to a bedroom that was running hot (the yellow line) relative to the other rooms and to the thermostat setting (green line). It had immediate effect! You can see the room had been running about 5 degrees (sometimes more) hotter than the thermostat setting until the change, after which it joins the other rooms in oscillating within 2-3 degrees around the thermostat temperature. (unlike the graph above, the red line here is a bedroom - I’m not showing outside temperature in this graph)