Same here. My gold standard for this is hardware that comes with the open source Tasmota firmware (or which can be flashed to Tasmota). All 75 light switches in our new house run Tasmota firmware and to me it's the perfect combination of simple, flexible and yet deeply powerful. Devices can be controlled via MQTT, web requests, webUI console or serial and not only does it avoid any cloud dependency, Tasmota devices aren't even dependent on having a router to coordinate locally with each other! They can be set so that if they don't see a wifi router, they'll form an ad hoc mesh network.
To me, this is the ultimate in reliability because even if the internet connection is offline, even if the Home Assistant Raspberry Pi crashes, even if the wifi router crashes - as long as there's power, the lights will still always communicate and work together in their device groups. When we built the house I just ordered cheap ($15) wifi light switches from Amazon, flashed them with Tasmota, configured their device groups, labeled where they went, and gave them to the general contractor's electrician, who knew nothing about home automation. So we didn't pay anything extra for special installation, design or programming - in fact we got a $5 per switch discount because they didn't need to supply the dumb switches.
The only slightly tricky part was convincing the very old-school electrician he didn't need to run traveler wires for all the three, four and five way switches. Even after I explained it to him, he didn't quite believe me that they would work so he could test them with just his temporary construction power in an unfinished house with no internet, wifi or controller hardware. I just told him to start by installing the fixtures and switches for a hallway and he was amazed when switches along the hallway controlled fixtures they weren't connected to - including sharing dimming memory and the behavior of the micro-LED strip on each light indicating brightness and status!
Yeah, it's actually amazing I was able to buy 75 little computers with their own buttons, LEDs, wifi and internally hosted HTML pages for $15 each delivered overnight.
But yeah, building a custom house. It's definitely not for the faint of heart. Having done it now, I like to advise "If you're someone with the resources to build your own custom home, you'll find the experience transforms you... into someone who no longer has the resources to even build a garden shed." :-)
To be fair, we knew this going in and only did it because we happened to have access to a deeply experienced general contractor who'd built high-end custom homes for several friends of ours over the past 15 years. And he has his own dedicated crew, most of who have worked only with him for much of that time. Although he wasn't the cheapest (nor the most expensive), he had an extremely impressive, personally verifiable track record. That's very rare to find, and without it, we probably wouldn't have even considered doing a custom home. And he did complete the project nearly on time and nearly on budget - and COVID happened during the build. Everyone else we know who was building a home during COVID ended up at least a year late and >40% over budget - so, even though technically a little late/over budget, the guy delivered at a near-miraculous level given the circumstances.
Tasmota runs on hundreds of different devices including switches, plugs, buttons, power strips, sensors, IR & RF gateways, etc. Tasmota homepage: https://tasmota.github.io/docs/. There are over 2800 devices listed in this user maintained repository: https://templates.blakadder.com/.
Three years ago when I was choosing devices I initially ordered a Kasa switch to try but after a little research quickly realized I didn't want any cloud-locked proprietary devices installed in my home's walls. So, I sent the Kasa switch back unopened and chose this dimmer switch on Amazon because it could be flashed with Tasmota firmware: https://www.amazon.com/TASMOTA-Martin-Jerry-ESP8266-Assistan... (now $20 each in a three pack). https://templates.blakadder.com/martin_jerry_MJ-SD01.html. Ultimately, almost all these devices are commodity components based on standard reference designs. Various off-shore manufacturers will put these in their own different plastic designs with slightly differing button, light and other features. Kasa just happens to only offer their flavor locked to their proprietary app, cloud and services. Even if they are benign today, that can always change without notice and they won't be in business forever.
As you'll see on the user repository, Tasmota supports all this different hardware by grouping them into type classifications and then within each type using a configuration string. The MJ-SD01 switches I bought are Type 73 which is a PWM Dimmer. The configuration string is listed on the page I linked and specifies which pins are used for input, output and what they're connected to (buttons, LEDs, dimmer, etc) because this is something various manufacturers often do differently. Everything needed to make generic Tasmota work on any device listed in the repository is in the config string on its repository page. Just copy and paste that string into the device's Tasmota Config web page and the buttons, lights and loads will be mapped to the correct pins.
These Martin Jerry switches now come with Tasmota firmware pre-installed but they did not three years ago, so we had to open them and temporarily solder three wires to the board to upload the firmware using a USB-Serial adapter. I used it as an opportunity to give my middle-schooler some practical soldering experience. This was a one-time requirement because once installed, Tasmota firmware then can update itself via wifi. Fortunately, lots of devices come with Tasmota pre-installed now. Here's a partial list: https://templates.blakadder.com/preflashed.html but you can just search Amazon, eBay and AliExpress for "Tasmota" to find others.
I chose this particular switch because it fit the modern style of the house we were building, has three primary buttons (plus a tiny reset button just under the rocker) and unobtrusive LED indicators. Today there are many other similar switches available with different looks and features and I might choose differently now. Under Tasmota the three buttons and LEDs have sensible defaults but can optionally be assigned to any functions you'd like on the device, on other devices or to anything else under Home Assistant control via press, long press and double press. One thing to keep in mind about these (and similar) switch devices is that the "front-end" of the button controls and LED display are entirely separate from the "back-end" of controlling the attached AC power load such as a light fixture. By default the buttons are mapped to control the device's own load just like a normal 'dumb' switch, but this can easily be customized. I have some switches whose front buttons control loads connected to other switches but not the load connected to that switch. And I have some switches that don't have any AC fixture connected to the output. I use those to do things like control low voltage landscape lights connected through a Tasmota wall power plug in a panel outside the house. I suggest keeping it simple when you start by sticking to the defaults, just be aware that you can later do all kinds of creative and unexpected things because Tasmota is so flexible.
Sir, take it from a random person on the internet, you're more than kind. Thank you so much for the details and bits of your own experience to make it relatable.
Even though I have many Kasa switches I do want the option 3 that was raised earlier. Again, many thanks.
If they're the older Kasa bulbs/switches (before they got all Matter), they have a dead simple local, MAC-addressed TCP packet protocol. I've implemented basic ON/OFF commands in ESPHome C++ code, but there's also a command line tool: https://github.com/python-kasa/python-kasa?tab=readme-ov-fil... There's a list at the bottom of supported devices.
Last used the command-line utility with a PowerShell script to make the lights in the playroom do a rainbow-random color dance party for the kiddos. Was nice to crank out a working automation in 2 minutes.
I have a bunch of Kasa devices. I got them before Tasmota was really on the scene, because they are configurable and controllable without Internet access. The protocol could be better, but it does work. I've heard that TP-Link may have changed the protocol since then (at least on some devices), so YMMV.
Same here. My gold standard for this is hardware that comes with the open source Tasmota firmware (or which can be flashed to Tasmota). All 75 light switches in our new house run Tasmota firmware and to me it's the perfect combination of simple, flexible and yet deeply powerful. Devices can be controlled via MQTT, web requests, webUI console or serial and not only does it avoid any cloud dependency, Tasmota devices aren't even dependent on having a router to coordinate locally with each other! They can be set so that if they don't see a wifi router, they'll form an ad hoc mesh network.
To me, this is the ultimate in reliability because even if the internet connection is offline, even if the Home Assistant Raspberry Pi crashes, even if the wifi router crashes - as long as there's power, the lights will still always communicate and work together in their device groups. When we built the house I just ordered cheap ($15) wifi light switches from Amazon, flashed them with Tasmota, configured their device groups, labeled where they went, and gave them to the general contractor's electrician, who knew nothing about home automation. So we didn't pay anything extra for special installation, design or programming - in fact we got a $5 per switch discount because they didn't need to supply the dumb switches.
The only slightly tricky part was convincing the very old-school electrician he didn't need to run traveler wires for all the three, four and five way switches. Even after I explained it to him, he didn't quite believe me that they would work so he could test them with just his temporary construction power in an unfinished house with no internet, wifi or controller hardware. I just told him to start by installing the fixtures and switches for a hallway and he was amazed when switches along the hallway controlled fixtures they weren't connected to - including sharing dimming memory and the behavior of the micro-LED strip on each light indicating brightness and status!