I think I mostly understand the WebThings spec and the IOT gateway code. I’ve installed a few devices and looked at my .mozilla-iot/data/zwave-adapter/ozwcache_0xf8fbee03.xml
(zwave cache of device xml descriptions.)
My question is why did the designers of WebThings (or is it the Gateway?) choose such limited options for each node? My nodes have many COMMAND_CLASS actions which are not exposed through the WebThings API. For instance, my switch can allow me to set it so the LED is on all the time, when the switch is on, or when the switch is off. It’s a nice feature. I’d like to be able to change it.
It seems like Gateway automatically discovers features from the Zwave device xml data, right? And then it maps it to a WebThing object.
Why not expose all the features? They are even self documented.
And if it is too complicated to show all that to a user, why not have an “Advanced Options” button which allows a user to activate it? Or expose them though the REST API so developers can activate them?
I’m sure the designers did this intentionally, but I don’t get it.
Thanks for any education.