Agreed. I'll add to that a healthy application of the Principle of Least Astonishment. If you have a light, there should be an obvious light switch nearby that turns the light on and off, and does so even if your home automation system is offline for whatever reason.
"Smart" devices should, wherever possible, function as dumb devices if for whatever reason they can't be smart. There are a whole lot of devices that simply become bricks.
"An escalator can never break: it can only become stairs. You should never see an Escalator Temporarily Out Of Order sign, just Escalator Temporarily Stairs. Sorry for the convenience."
Very true— I would definitely imagine that escalator brakes are a thing that fail closed in the absence of power, but clearly there are failure modes (probably a rare confluence of multiple concurrent failures) where this kind of thing can happen, such as that incident in Rome in 2018:
I've never understood the desire to control systems by speaking to them in code words. Speaking monopolizes a shared channel, requires diverting your conversation, and is really slow.
For practically anything that involves using code words to tell the computer what to do there are better input methods, like physical switches, or purely automated.
This is slightly off-topic, but in your opinion what are some of the reasons people prefer to use voice input with code words over the other options ?
Physical switches rely on light as a handshaking method.
When the light is off, the switch is invisible and you have to guess at where it is, or where you need to be walking (hitting your shins on things, or stepping on lego)
Using a non-light based interface means it works just as well when the light is on and off, vs being a broken experience for half of the usecases
1. Hands are dirty/unavailable (like other mentioned cooking)
2. The physical controls are physically across the room
3. The physical controls can't be located easily (lost remote, dark room)
Another point, the cognitive load of speaking a command is different than pecking through menus on a phone or finding the right button on the remote/device. It may be easier to just speak out load depending on your state if mind.
If you're interested in getting more quickly and WANT to write software, you can have the Raspberry Pi control most televisions over HDMI-CEC using libcec [0], and then you just need the voice recognition stuff mentioned above (Rhasspy [1]).
I had to do something similar (minus voice controls) to keep my existing remote's volume controls working with an analog volume device [2].
"Smart" devices should, wherever possible, function as dumb devices if for whatever reason they can't be smart. There are a whole lot of devices that simply become bricks.