My Community Dashboard

  • Fredrik Fornstad
    Fredrik Fornstad replied to a discussion, Domoticz 2021.1

    Yes a new version of Domoticz have been released upstsream. This time I think there are no major changes on the build requirements, so I think it should be a fairly easy process. I expect it needs a couple of extra patches but nothing major. And as always, I like to wait a couple of weeks to see that it does not have any major hickups...

    But even if it is easy put together the new Domoticz package there is something I want to sort out first:
    Many people, including myself, have a z-wave network connected to the Domoticz server. Up until now it has been using libopenzwave as driver (which I also maintain for ClearOS) with a lot of built in functionality in Domoticz itself. But libopenzwave is a more or less abandonned project upstream and the Domoticz team (and others) have moved on to the very new open source initiative zwave-js which is a node-js based driver together with zwavejs2mqtt acting as a mqtt gateway inbetween.

    This creates a few things to consider:
    1. zwave-js and zwavejs2mqtt needs to be packaged for the ClearOS environment. But since they are based on node-js based they cannot just be compiled and released as if they would have been written in C or similar. They need the node-js environment too. I have a feeling that running these in a docker container would be the easiest thing, but then docker is needed... I myself have no expericence with Docker and I guess it will need to be tested for different scenarios including when the whole ClearOS machine is runnning in a container. Is it bad to run a docker system inside a docker container?
    2. Domoticz can not run libopenzwave and zwave-js in parallell, so any old user will need to do a "hard" switch if they want to use the new setup. General instructions are found on the Internet, but still I feel I need to make sure that an upgrade does not "kill a working system" for someone that just happen to receive the new Domoticz release in an auto-update.
    3. Zwave-js have recently also added a websocket interface, omitting the need for a mqtt gateway running. This is actually the recommended way to use it by the people that develop zwave-js if I understand it correctly. However, status right now is that Domoticz has not implemented support for that and have just fixed an autodiscovery MQTT implementation leading up to the release a few days ago. I would hate to see a switch by the Domoticz team to the websocket method if/when I just have implemented the mqtt way in ClearOS... (Do not want to bet on the wrong horse)
    4. Since this new setup means adding Docker (likely), zwave-js and zwavejs2mqtt into the equation, Therefore I also need to think about if the app-domoticz in ClearOS needs to be expanded with new functionality to run and manage the whole "domoticz environment".
    5. On the (very) positive side though is that zwave-js has a very active community and have managed in a very short time period to implement many more functions than what libopenzwave provides. Also, compared to libopenzwave that was built by reverse engineering the z-wave protocol, the zwave-js developers have had access to the now publicly available zwave specifications allowing them to build it in a proper way. From the reports that I have seen it seems to perform better than libopenzwave already today. I did take it for a test-spin a couple of weeks ago and it did work without problems for my small test system. However I did notice new behaviours compared to libopenzwave that I did not like for some sensors even if I am pretty sure zwave-js do it by the book and it is actually libopenzwave doing it wrong...

    So to sumarize: Yes you can expect a new release of Domoticz in ClearOS. I just need to think and play around with it a little bit first.

    /Fred