Due to the removal of the Desktop programming interface;
I have been thinking about this issue for some time now. I also have tried Domoticz. All systems have their pros and cons. But the way you can program them is fixed. Homey has only flows, Domoticz has other kind of programming. But switching to another platform cannot be done without reprogramming it all.
Therefore I have decided to start an Open Source project that should overcome this. This project will be an (ASP.NET Core) application (running on Linux/Mac/Windows) where you can add (virtual) devices, program in many ways (flows, javascript node-red etc. and call http(s) request to activate devices.
With this application you can easily switch between Homey, Domotics and other platforms. The only thing you need to do is:
On the new app:
- create (virtual) devices
- create flows or whatever way you want to program the logics
- call http when device should change (like light on)
On Homey/Domoticz
- add devices (Hue lights etc)
- on device changes call http request to new app
- handle requests from new app (e.g. light on)
This way, you are less dependent on the hardware and/or driver app (Homey/Domoticz)
If you switch, you only have to create the devices, program http requests on changes you are interested in and act on http request. But further no logics.
The advantage is not only that you are less dependent on the choise of hardware, but you can also add more interfaces (node-red, or whatever), combine hardware platforms.
Also, no dependency on the API of the platform you use
Today I will start with this project.
The (asp.net core) app should contain at least the following:
- ability to create device types (light, light with color, weather station etc.)
- device (type) has input (status) tags and output (for handling incomming http requests and outgoing http requests)
- ability to create programs/flows (the logic)
- swagger OpenAPI
- backup/restore / import/export
A lot still needs to sink in and will probably be defined along the way. But in the future I don’t want to get stuck with one type of device, just because I need to program everything again if I want to change.
Also, I want to use both, Homey and Domoticz as a hardware/plugin layer, but all combines in one programming/flow interface.