Replies: 2 comments 5 replies
-
I think it's best to start with a bit of background info: The SerialAPI protocol that Z-Wave uses to communicate with host controllers borrows 4 control characters from the ASCII control codes:
In the context of control codes, Over the past almost two decades, the state machine that drives the Z-Wave protocol's serial communication has been put through a lot, by a lot of different clients. Like any piece of software, it had bugs and design oversights that resulted in deadlocks or unexpected transmissions - I think it's fair to say the vast majority of those have been ironed out by now. Nobody's going as far as saying it's perfect, but these days when you receive a You're seeing |
Beta Was this translation helpful? Give feedback.
-
@hanskroner Not exactly what I was describing above, but I found a couple of CANs in the wild:
The communication worked before, but for some reason the controller did not respond to anything for about 10 seconds here. The initial commands are retried because the response timeout has elapsed. |
Beta Was this translation helpful? Give feedback.
-
@hanskroner and one more...
Regarding CAN frames, I find this in the specs:
zwave-js currently does this, but I've found it to be problematic from time to time. I'll need to see if I can scoop up some logs where it happens, but I've seen several occasions where we've tried to SendData, received a CAN, then retransmitted the data frame after a delay, only to be greeted by two replies from the controller and/or node. Is there anything else that needs to be done?
Beta Was this translation helpful? Give feedback.
All reactions