#I'll see if I can contribute some (
1 messages · Page 1 of 1 (latest)
anyone feel free to jump in with ideas/feedback.
Let's start by creating a card on the backlog board with the must-have requirements.
The way I see it this basic webinterface is run on the same webserver as now runs the websocket
and you can perform all actions the server can handle there
it is really easy with debugging and development but also for more advanced usecases
also it is more or less a requirement if we ever want to certify the matter server
So I was thinking of just creating a basic CRUD like application from some Vue or React template or whatever that calls the websocket commands
- List nodes
- Show node details
- Perform action on node(s) like (re)interview, delete, ping etc
- Perform commissioning (without bluetooth)
and that is just me thinking out loud
Honestly, the biggest (and what I’ve seen no vendor do) is link a device to a node ID. Which could help in additional debugging to what device is the problematic one
Feel like including the node id in the integration somewhere would be good
Alongside the firmware version
even as a entity in diagnostics? Just somewhere to link the device to the ID
My idea of the device list in this basic web UI would be to list all nodes in columns Node ID - Device manufacturer - Device Model - Custom Label
does the websocket already provide the apis and this is mostly UI work? or also need to add apis for things like list nodes?
Mostly UI work
All websocket commands are already there
Honestly, that is godsend of an idea.
is the websocket api documented?
so this is just creating a basic UI
Not really but it's easy to read
Could even structure it like the OBTR web UI
It took me 15 minutes to figure it out
Well, it is a bit documented but the reference implementation (being the client) is easy to follow
i'd be surprised if ChatGPT couldn't put together a super basic outline (given a documented api)
Yeah, I have seen it do so multiple times
All help is welcome! Maybe we should start by creating/completing the list of requirements and then work out how we could get there
if you build it with React, i'd be much more helpful 🙂
I think everything is open - as long as its typescript, I will know my way around. The framework is just the additional sauce
For sure, a very interesting idea. And would make debugging for the end user a ton easier
are there existing typescript models for the matter data?
No, but there are python models as dataclass
I guess the first step in this GUI is the node information but when I use client.get_nodes() it just returns none so I'll have to spend more time looking at it
i have a basic framework working - you connect to the ws, send a "start_listening" command and then it dumps all the nodes in response
and then it sends attribute updates as events
does the matter server have any data to identify nodes beyond the nodeid though?
iirc, nope
i guess it could check the HA api to cross reference HA entities with matter nodes or something - or is that not useful?
oh it would be useful. but would just have to do the work on implement it
but this here is the perfect thing you want
maybe i have to decode the attributes to get the device info into plaintext - i don't see it obviously available
why do you think no other vendor has done anything similar
nah, it should be completely standalone. Why not just use the data from the raw attributes. They are keyed by attributepath (endpointid/clusterid/attributeid)
fyi, I pushed a basic outline here: https://github.com/wozz/matter-server-ui - it is pretty rough still, but lists nodes/entities, events, serverinfo and can run a few commands like refresh nodes
Might take a peek and see how it looks
Nice work! I will try to give it a shot later today or this weekend for sure