-
-
Notifications
You must be signed in to change notification settings - Fork 911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MULTI_CMD_CLASS class is not advertized by OZW when it responds to a node info request #1137
Comments
The NI response is done by the Controller and not directly by OZW. As Sigma did not release the SerialAPI Spec (the protocol to talk to the controller), we don't know how to update the controller with advertised CC's. This needs some reverse engineering to figure out. |
I could log some serial exchange with the controller. The info about supported classes is not provided to the controller when it receives a request from a node: the controller answers autonomously without communication on the serial port. This info is provided by the stack on startup at some point (upon request from the controller perhaps). Here are 2 logs excerpts where the stack advertizes the command classes 5e 73 86 72 55 56 23 5f 61 22 98 8f 85 59 5a. I included some surrounding frames for some context. We can see that the corresponding frame is preceded by the same long one coming from the controller, but it can be seen elsewhere without the response of the stack about the command classes, so I don't know if the stack really replies to it. 281051942 R 06 01 25 01 02 06 08 1d ff e3 f9 ff ff 7f 00 3c 00 00 00 00 00 08 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 7e 281325631 R 06 01 04 01 56 01 ad |
I've just noticed in the frame 281052033 that the sequence 02 02 07 corresponds to the basic, generic and specific devices classes of the controller, so I guess this frame is part of the exchange of information when the stack first connects to the controller. The first excerpt is from the "startup" of the stack, and the second some minutes after. |
after further investigation, something tells me the applicative frame 03 03 02 07 0f 5e 73 86 72 55 56 23 5f 61 22 98 8f 85 59 5a is composed of the command 03, a flag 03, the generic device type 02, the specific device type 07, the length of the rest of the info 0f, and the rest of the info. |
This capture is from the RF side right? That doesn't help. As we don't know the Serial API command to set it. So at minimum we need Serial API captures of the i utilization of the controller. |
I think the above is a serial capture. You're saying command 03, which is
so locking at your frame
Added a Danfoss and this is what happens: Is there a way to get all OZW supported command classes? |
Easy to implement then. Great news. |
@Fishwaldo what do you think about this? Just add some command classes to that list or implement something like CommandClasses::getSupportedCommandClasses() and add all commandClasses that are registered? |
I'll be able to look at this next week. |
But we can't add "all" commandclasses, as most don't respond to a "set" function. (Controlling versus controlled) |
When a device is included into the network it may send a node info request to the controller. The response is used to determine if the controller supports MULTI_CMD_CLASS so that the device can report its statuses in one frame only (very useful to prolong the life of battery-operated devices).
OWZ does respond to the request but advertizes no command class. It should advertize at least MULTI_CMD_CLASS.
This is a follow-up of this post: https://groups.google.com/d/msg/openzwave/NzszXcHE_bM/y9-bYsGhCQAJ
The text was updated successfully, but these errors were encountered: