I have a few old Leviton 4-zone controllers
They currently have basic support in zwave-js of assigning targets to groups
so pressing the rockers turns things on and off.
But the rockers also have LEDs that my old Vera1 was able to control to reflect the
state of assigned target. There is currently no support for that in zwave-js.
I’d like to give it a shot and add the support for it (I have some time and decades of systems software engineering experience). Unless this is a quick fix for maintainers
I have found implementations in other products that all indicate that it’s the matter of sending the following Manufacturer Proprietary command (0x91):
[“91”, “00”, “1D”, “0D”, “01”, “FF”, X, “00”, “00”, “0A”]
where X is the bitmap of colors for each of the 4 rockers:
MSB RRRRGGGG LSB
43214321 corresponding button number
So RG bits for each button represent what color it supposed to be:
0=off, 1=green, 2=red, 3=orange
Furthermore, it looks like zwave-js already has support for sending Manufacturer Proprietary CC:
using sendData API.
So it looks like it’s just a matter of creating new Service, perhaps
zwave_js.set_leviton_controller_led that would take X value and invoke zwave-js sendData with the constructed data buffer per above.
I also saw zwave_js.invoke_cc_api but it looks like you can only send values of 1, 2 or 4 bytes?
I guess I’m looking for a bit of guidance here to tell me if I’m completely off or otherwise point me in the right direction on how to get started implementing this.
Thank you