#I'll see if I can contribute some (

1 messages · Page 1 of 1 (latest)

unborn flame
#

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

grave grove
#

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

minor lion
#

Feel like including the node id in the integration somewhere would be good

#

Alongside the firmware version

grave grove
#

even as a entity in diagnostics? Just somewhere to link the device to the ID

unborn flame
#

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

civic horizon
#

does the websocket already provide the apis and this is mostly UI work? or also need to add apis for things like list nodes?

minor lion
#

Mostly UI work

unborn flame
grave grove
civic horizon
#

is the websocket api documented?

unborn flame
#

so this is just creating a basic UI

minor lion
#

Not really but it's easy to read

grave grove
#

Could even structure it like the OBTR web UI

minor lion
#

It took me 15 minutes to figure it out

unborn flame
civic horizon
#

i'd be surprised if ChatGPT couldn't put together a super basic outline (given a documented api)

unborn flame
#

Yeah, I have seen it do so multiple times

civic horizon
#

but i could try to build a read only UI or something like that

#

and start there

unborn flame
#

All help is welcome! Maybe we should start by creating/completing the list of requirements and then work out how we could get there

civic horizon
#

if you build it with React, i'd be much more helpful 🙂

unborn flame
#

I think everything is open - as long as its typescript, I will know my way around. The framework is just the additional sauce

grave grove
#

For sure, a very interesting idea. And would make debugging for the end user a ton easier

civic horizon
#

are there existing typescript models for the matter data?

unborn flame
#

No, but there are python models as dataclass

minor lion
#

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

civic horizon
#

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?

grave grove
#

iirc, nope

civic horizon
#

i guess it could check the HA api to cross reference HA entities with matter nodes or something - or is that not useful?

grave grove
#

oh it would be useful. but would just have to do the work on implement it

grave grove
civic horizon
#

maybe i have to decode the attributes to get the device info into plaintext - i don't see it obviously available

grave grove
#

why do you think no other vendor has done anything similar

unborn flame
civic horizon
grave grove
#

Might take a peek and see how it looks

unborn flame
#

Nice work! I will try to give it a shot later today or this weekend for sure