default response for ZCL

Hi,

I’m currently trying to develop a ZCL time cluster server on python for a ConnectPort X2 and I was wondering what has to be done concerning the default response command.

For now, I receive the “read attributes command” from a HA thermostat and I reply with an “read attributes response command” with the attributes set as they were asked for. However, if don’t see a change in the thermostat. After parsing the ZCL documentation, I found out about the default response command.

So what’s with this command? Am I supposed to respond a “default response command” to the thermostat after receiving a “read attributes command” and after that issue a “read attributes response command” and expect a “default response command” ?? I don’t get it, and the documentation isn’t helping right now. Can anyone give me a hand on this??

Marion

(Here is ANOTHER ENGINEER"S response. I didn’t write this; only relay it for you.

  • Lynn)

The default response command is only sent when there isn’t another response to a command specified, and it has not been disabled in the ZCL header. Also, the default response command is sent in response to a command in an error case. The last thing to note is that the default response command is never sent in response to a default response (or there could be an infinite loop of messages).

Here are some examples:

A -> B: read attributes (disable default response bit doesn’t matter) B -> A: read attributes response (disable default response bit == True) (transaction is completed)

A -> B: read attributes (disable default response bit doesn’t matter) B -> A: read attributes response (disable default response bit == False) A -> B: default response with status SUCCESS (transaction is completed)

A -> B: read attributes (disable default response bit doesn’t matter) (There is an error: the message is malformed, the cluster is not support on B, or some other error) B -> A: default response with a non-SUCCESS status (transaction is completed)

A -> B: read attributes (disable default response bit doesn’t matter) B -> A: read attributes response (disable default response bit == True or False) (There is an error: the message is malformed, the cluster is not support on A, or some other error) A -> B: default response with a non-SUCCESS status (transaction is completed)

A -> B: read attributes (disable default response bit doesn’t matter) B -> A: read attributes response (disable default response bit == False) A -> B: default response with status SUCCESS (There is an error: the message is malformed, the cluster is not support on B, or some other error) (No default response is sent in response to a default response) (transaction is completed)