Page 1 of 1

Understanding RazBerry "Dimmer Endpoint" virtual devices

Posted: 29 Oct 2018 22:00
by willimur
In my z-wave network, my RaZberry seems to advertise that it has 16 "Dimmer Endpoint" instances. I can see it if I use my SmartThings controller UI...
IMG_126FAD8B99E3-1.jpeg
IMG_126FAD8B99E3-1.jpeg (68.6 KiB) Viewed 4408 times
...as well as if I look at the "Expert Commands" tab of the Z-way-server Expert UI configuration screen.

But if I try to access any of these instances, it appears they do not respond to any API calls. If I try to execute something apparently simple like calling SwitchBinary.Get() I get an error: "Error: Method not implemented devices[15].instances[0].commandClasses[37].Get()"

I'm just trying to understand what these 16 instances are, and how they are meant to enable a developer/experimenter to expand the RazBerry's functionality. Looking around, I have a feeling that these are defined in the z-way-server/config/Defaults.xml file under the <Channels> section.

A few questions:
  • Does anyone use this functionality? Is it commonly used in the downloadable/installable "Apps" as ways to expose their functionality to the rest of the z-wave network?
  • If I wanted to expose a sensor reading that my Raspberry Pi captured (e.g. via an attached sensor) would I create some custom user module in z-way-server/automation/userModules and somehow "bind" to the appropriate device[#].instance[#].commandClass[#].Get API endpoint? If so, are there any examples of how to do that?
Or am I just completely misinterpreting how this stuff works?

Re: Understanding RazBerry "Dimmer Endpoint" virtual devices

Posted: 02 Nov 2018 13:02
by brianaker
What device does your SmartThings hub discover your Raspberry Pi?

The quick answer to your question is "go look up multi-instance and multi-association". When I get a chance I will write up a longer reply.

Re: Understanding RazBerry "Dimmer Endpoint" virtual devices

Posted: 05 Nov 2018 00:54
by PoltoS
RaZberry indeed to have multiple channels and SwitchMultilevel and SwitchBinary on them. This is for support if old devices.

But you can use this to export data to SmartThings: use
devices[15].instances[0].commandClasses[37].data.level=... to set it and SmartThings can request those values.

devices[15].instances[0].commandClasses[37].Get() is not working because it is strange for the controller to request itself ;)