Richard from the Break It Yourself YouTube channel could never remember to start the car ahead of time if it was super hot or cold outside. Sick of suffering through a less-than-comfortable start to his journeys, he decided to hack Home Assistant using Raspberry Pi to start the car automatically.
Disclaimer: this will not work with non-fancy cars, like mine. Break It Yourself Richard’s car key has a function that lets you press a button three times, holding it down for three seconds on the third press, and the car will start. My car key does not have that feature so you will still find me on my driveway, kettle of warmed water in hand, scuttling about trying to de-ice my windows. It keeps me humble.
- Raspberry Pi Zero W running Home Assistant
- Push pull solenoid
- Relay module
- ESP32 development board running ESPHome, a Home Assistant extension
- Bits of wood and some light carpentry skills
How does it work?
The Pi Zero runs Home Assistant and talks to the ESP32 board wirelessly. The ESP32 board activates the hardware components which physically press the button on the car key. ‘Remote Start’ and ‘Multi-Relay’ are the ESPHome software add-ons you need to make this happen. ChatGPT wrote the code the ESP32 board uses to get the push pull solenoid to perform just the right sequence of pushes on the car key button.
Raspberry Pi Zero scrapes data from Home Assistant to find out the date, the time, and the outside temperature. ESPHome then decides whether it is a work day, and whether the time is close to a regular journey time. It determines whether the outside temperature is so high or low that the car needs to be started to cool it down or warm it up before the driver gets in.
A 50°F (10°C) temperature at 5.30am on a work day morning would trigger the system to warm the car up before Richard’s journey to work. No need for him to wake up at an horrendous hour to check the weather and start the car ahead of time. Now he can jump straight in and be toasty warm.