This morning I was setting up a ‘new’ Lenovo Smart Clock related to bedtime routines (blog post coming up later). The setup went well and no problems until…
I asked Lenovo to sync my existing smart home devices and 217 devices were found as expected. Of course most of these are just entities rather than whole devices, but anyways all good so far. Lenovo then displayed ‘lights off’ and volume control symbols on the screen. I was curios and tried the ‘lights off’ symbol and then all the hell broke lose 🙂
Lenovo decided that the ‘lights off’ symbol would actually be ‘turn on/off everything’ and sent toggle command to ALL of my devices resulting in a smart home chaos: all lights went on, TVs turned on, water pump turned on at the summer home, ventilation machine decided to go into fireplace mode, 3D printer turned on, garage air dryer went off (was in on state), air purifier went on and flashed the lights, robot vacuum started cleaning the house and last but not least the car outside started flashing lights and honking the horn.. oh the chaos!
Took me some time to turn everything off and check the correct states of the devices. Luckily no heating was messed up and cover entities were not opened (e.g. garage door).
Well, this was something unexpected and of course there are some lessons that could be learned from this incident. Entities that are not required to be controlled through voice (e.g. horn of the car) should be excluded from the Google Assistant! That can easily to be done from Home Assistant configuration by adding exposing flag to false for specific devices and/or types of devices. I already have some of the devices excluded from the list, like Sonos since I’m using native integration from Google Home to Sonos, but never thought I should be more careful with other devices.
This incident could most probably be easily reproducible by just saying ‘Hey Google, turn on the home’, but I don’t want to start the chaos again 🙂