I have a couple of Smartwings TDBU shades with zwave controlled motors that I currently have joined to zwave-js and home assistant due to a lack of a compatible hubitat driver.
Two questions, one more generic about the zwave spec for the Window Covering command class the other more specific to possible creating a custom device driver.
Smartwings support has been pretty responsive, so trying to determine if this behavior is a bug or expected behavior with the CC. The shades report updates to both the Window Covering and Multilevel switch command classes. However, when changing the position of the shade, updates to the position value only get sent to the multilevel switch CC and are not reported to the WindowCovering CC.
Is the expected zwave behavior that position changes should be sent as updates to the Window Covering command class?
I'd like to consider potentially dipping my toes into things and attempt to create a custom driver for the device. Given the TDBU nature (which I believe is implemented as multichannel), it's slightly more complex of a driver. My expectation is it would need to be done with parent/child device drivers.
Can someone point me in the direction of other zwave device driver examples, ones built to control shades and ones that are built to support multichannel devices via parent/child device relationship? Maybe a terrible idea, but I feel like perhaps I'm capable enough to figure out how to combine the two so that they could work with these shades.
(Or even better if someone wants a zwave challenge.. and wants to write up a driver on their own, that would also be great!)
After spending an hour or 2 looking through the docs and other samples of zwave drivers, it's definitely not happening. Way too complex for my limited capabilities.
So fingers crossed for an official driver at some point!
Just posting this here, in case someone else encounters this topic via a search. I was able to cobble together a working driver for these shades. Clearly spoke too quickly about not being able to do it.
Code is definitely a tad messy, but I've moved 5 of my TDBU shades over and everything does seem to be working.
Sorry for the tag, but thanks to @jtp10181 for both his zen16 driver and his zwave library which I heavily copied and adapted for use. Definitely would not have been able to do it without your code contributions to the community.
The other note, the WindowCoverV1 command class I believe is newly supported as of 2.4.0, but isn't documented yet. I was able seemingly send these commands to the device, but got no response back. I know it should work and get some data back based on joining it to a zwave-js network, so not sure if it's me or hubitat (probably me). Just ended up using the multilevel switch command class as that worked without issue.
I should probably open a thread, we'll see if I get around to it.
Yeah that would have probably gotten me slightly closer.. Would still have needed to add in all the multi-channel + child stuff that the shades required.