Connecting an Electric Kettle to Home Assistant
Tomasz of Mellow_Labs streamlined his tea breaks by connecting his electric kettle to Home Assistant.
We humans are deeply lazy animals. That’s a good survival strategy, as we can use our big ol’ brains to work smarter instead of harder and save a lot of calories along the way. That was critical for most of our history and we still maintain the instinct today, even though most of us have calories to spare. For example, walking over to the kitchen to put the kettle on takes like 30 seconds and that adds up when you do it a couple of times a day. So, Tomasz of Mellow_Labs made the process more efficient by spending countless hours connecting his electric kettle to Home Assistant.
Home Assistant is server software designed to control all the different systems and devices in a smart home. Unlike proprietary ecosystems, like those from Apple and Amazon, Home Assistant is open-source and it is possible to connect just about anything to one’s Home Assistant server. In this case, Tomasz already had Home Assistant running on a local server and wanted to bring his electric kettle into the fold. The idea was to give it the full “smart” treatment, letting Home Assistant collect data from the kettle and also to control the kettle.
Specifically, Tomasz wanted Home Assistant to know how much water was in the kettle, the temperature of that water, and the kettle’s power state. Water level sensors have lots of compromises, so Tomasz chose to monitor the kettle’s fullness using load cells placed in a 3D-printed base on which the kettle can rest. Those are essentially scales and calculating volume is a simple matter of measuring the weight. An ESP32 development board monitors the load cells through an amplifier and then reports the value to Home Assistant.
In return, Home Assistant can control power to the kettle by toggling a relay connected to the same dev board. As a safety feature, it won’t turn on power if the kettle is empty. Home Assistant can turn on power according to a simple schedule, or as the end result of more complex automations. It can, for instance, activate the kettle at sunset if the home’s thermostat reports an inside temperature below 68°F.
But there was one issue that Tomasz wasn’t able to overcome completely: sensing the water temperature. He didn’t want to modify the kettle itself to place a thermometer inside and found that sensors mounted outside were inaccurate. That forced him to abandon some temperature-based automations. However, the connected kettle is still very useful and sure to save Tomasz at least a minute or two each day.