OK. got the Sonoff stuff going OEM. Now for the next step. I’m looking for two major features. (1) FOSS and (2) local without dependencies. Complexity is another factor as I’d rather the component count be in hardware rather than software. It’d also be nice if it was possible to get into customization and modification without needing a major development environment. VSCode and PlatformIO is about the limit for development.
The structure of the forest needs to be kept in mind as the entire ecosystem has to mesh and work together. At the device level there is the firmware. That can be OEM for purpose built devices or it can be ESPeasy, ESPurna, Tasmota or whatever. These may be stand alone but most systems depend upon a message broker often handling MQTT. Then there’s the decision and computation section to gather status and sensor information and send out control messages. Node Red shines big on that. Finally, there’s the User Interface. It can get complicated.
9 Home Automation Open-Source Platforms for Your projects provides an insight into just how many options are out there and gives you an idea of why a decision can be difficult. 6 open source home automation tools by Jason Baker — “Build a smarter home with these open source software solutions.” cites a few more packages and a few more issues.
OpenHab vs Home Assistant vs Domoticz – What fits you best? by David C hits another point. ” in this post we will focus on the three biggest communities. A big community translates into more ideas and more people sharing their knowledge with you.”
Home Assistant seems to be a mover and shaker right now. It is a Python 3 app and the developer has started the move to asyncio as in Python 3.4. It includes an MQTT broker. It’s UI is web based so there is no need for a special app. There are some leads to its use with micropython but that needs more research about what it’d take to get an ESP8266 device as a client with micropython rather than the more common prebuilt FOSS firmware.
When comparing these web based interfaces with ‘big’ apps such as Node-Red or the Jupyter Notebook, the impression is that a good web UI is a major Javascript development effort and the Internet of Things people have their focus elsewhere. That means the application sector is still feeling its way and getting standards and methods ironed out.