In my last post, I mentioned "Home Assistant" as a way to work with the two Tasmoto converted Plugs. So what is Home Assistant? It's a client-server solution to Home Automation. Here is my Home page of my Home Assistant web-client. It's still under development.
The backend of the system is a server that does the work of maintaining the current state of all your home automation do-dads. It can also perform various background tasks or "automations" as Home Assistant calls them. The server is a Linux based system such as a Raspberry Pi or one of the standard distros. I have Home Assistant or HA for short running on a Raspberry Pi 4 with 2GB of memory connected directly to my network via ethernet cable. Once installed, you can basically forget the server -- just place it somewhere out of the way and let it do its thing.
You configure HA via the web-client. There are lots of videos on how to do this and how to add most of the home automation devices you will want to control. Here is a good starting video. There are two specific extensions that make life easier with Home Assistant: MQTT and SAMBA.
Adding MQTT Broker to Home Assistant provides that target broker for all the devices that communicate via MQTT like Tasmoto Plug -- and I now have two! You can see Plug1 and Plug2 in the upper right of my Home Page above. By clicking on the switch image on the page, Home Automation will send the appropriate MQTT command to Tasmoto to turn the light ON (of OFF as the case may be).
The second extension I added was SAMBA. SAMBA provides a way to talk to the Windows file system. Once SAMBA is configured, I can then connect to the Raspberry Pi's file system and can manipulate the configuration of Home Assistant using Window's Visual Studio Code editor. VS Code is not supported on the Raspberry Pi -- yet. Additionally, I can back up all of the files used by HA by copying the configuration directory.
The configuration of Home Assistant is maintained in files that contain YAML encoded data. YAML files have a specific structure that is implemented via meaningful indentation and special characters. By using Visual Studio Code to edit the configuration files, VS Code will ensure the format is maintained by warning you when you wander off course. This extremely handy as you are often called on to edit the configuration files. Home Assistant has some improvement to do in this area but has improved greatly in the last few years where many parts of the configuration as altered via the web-client.
With a little configuration magic on my router to route a given port to the Home Automation server, I can access the server via an app on my phone. -- but this an option not a requirement.
Now I can see my home "world" through something I can control -- even if the internet is down! No need of a cloud.