Hey Patrick, FYI, I have been working on a HomeKit bridge for Ezlo where I too abstracted out the concept of individual hubs and perhaps some of it may be of interest or even direct use to Multi-System Reactor. In particular, I have implemented an interface to Ezlo hubs that discovers and proxies ezlo hubs over secure websockets. The API will discover all ezlo hubs on the local network and establish a “local” connection to each, using either “live-credentials” from the MIOS portal, or static credentials in a local configuration file, and provides an API used by my homebridge-ezlo plugin to expose ezlo devices as HomeKit accessories. As a result, it too is extremely responsive and fast - accessory changes are instantaneous.
If you look at the diagram below, the “Ezlo API” side of the diagram could also be used to power an Ezlo Controller for MultiSystem Reactor. For my purposes, I needed something that could run in a homebridge nodejs instance so I wrote it in typescript because I haven’t implemented much javascript in the past and felt that the type-safety would help. My plan is to publish it all to GitHub when it is ready but I need a bit more time on the Homebridge side of the equation.
There is also Rene’s ezlo-bridge that might be an easier fit but I thought I would toss it out anyway.
What language are you using for the ReactorMS Controllers and ReactorMS back-end? Any thoughts/interest?