Ways to run a 2nd add-on for zwave-js-ui?

I want to add a second z-wave controller away from my main house controller (for Long Range).

The Home Assistant Z-Wave integration supports multiple “hubs” so that doesn’t seem like much of a problem. But I need another instance of zwave-js-ui to manage the controller.

One option is to run zwave-js-ui in Docker on it’s own server (e.g. Raspberry Pi) and then add a hub with a url like: ws://my-remote-zwave-js-server.local:3000. I’m not sure how concerned to be about that security-wise.

Here’s my add-on question:

I’m considering using a serial-over-ethernet Z-wave controller (like the TubesZB kit), so I don’t really need another machine to run zwave-js-ui. I don’t think there’s way to run a 2nd copy of an add-on, but is there any reason the second copy couldn’t be run as a local add-on?

For example, could I bring in the zwave-js-ui add-on code as a local add-on and modify the slug in the add-on’s config.yaml to make the supervisor start the container with a different hostname?

Or are there other things that would need to be changed to allow the add-on to run? That is, something to make the add-on seem unique to the supervisor as a different add-on?

Thanks,

1 Like

That’s the typical solution and likely the best choice.

I have not seen anyone try to add a second AddOn instance for ZWaveJS-UI, but here are a couple of thoughts:

  • This has been done for ZigBee2MQTT AddOn (See here), but not sure at all this can be done for ZWaveJSUI.
  • There is actually an “Edge” respository for ZwaveJSUI. It may be possible to have the “stable” version AddON as well as the (Bleeding) “Edge” version of the AddON, but not sure if there will still be any naming collisions.

I don’t see why this approach wouldn’t work. The only downside is you are now responsible for updating it, and Z-wave JS UI updates are pretty frequent. This may help Tutorial: Making your first add-on | Home Assistant Developer Docs