Repository navigation
Replies: 2 comments
|
@csstup AFAIK there was another request around this some time ago, the problem is that this requires lot of work and from what I see plugins are used by really few people. Considering the few time I have in last period for all my OSS projects I prefer to focus on bugs and features that could be useful to most users so I keep this open but I will not work on this now I'm sorry |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment



Uh oh!
There was an error while loading. Please reload this page.
I’d like to see some kind of generic plugin/extension mechanism for Z-Wave JS UI.
The main use case I have right now is a custom routing/topology report that uses existing Z-Wave JS data like LWR/NLWR, neighbor information, RSSI, etc. I’ve been prototyping it against the existing Socket.IO API, and it works well, but there doesn’t seem to be a clean way to install something like this without either modifying/forking Z-Wave JS UI or running it as a separate external page.
What I’m thinking is something fairly simple:
Z-Wave JS UI could scan a persistent plugin directory at startup (or via a reload action), and plugins could register a page/menu entry and use a documented subset of the existing UI/API functionality.
For example, a plugin could potentially register:
I’m not suggesting arbitrary deep access into Z-Wave JS UI internals. It would probably be better to expose a small/stable plugin API so plugins don’t depend on internal Vue/Pinia implementation details.
Something along the lines of:
The first use case I’d build with it is a route/topology page showing things like:
For Home Assistant add-on users, the important part would be that plugins live in persistent storage outside of the container image so they survive upgrades. For Docker users, the existing persistent store volume seems like a natural place for this too.
I could also see HACS or another installer being used to distribute plugins later, but I think the useful first step would just be having a supported local plugin directory and a basic extension API.
I searched open/closed issues and discussions and didn’t find an existing request for a generic UI plugin system, but if there’s already something similar planned, I’d be interested in that direction too.
All reactions