Delete notification_types_node when there are no supported notification types#25
Delete notification_types_node when there are no supported notification types#25monikasoni wants to merge 2 commits intoSiliconLabs:mainfrom
Conversation
| = attribute_store_get_first_child_by_type( | ||
| ep_node, | ||
| ATTRIBUTE(SUPPORTED_NOTIFICATION_TYPES)); | ||
| // Delete notification_types_node when there are no supported notification types. |
There was a problem hiding this comment.
just curious, wouldnt it be possible to avoid creation of node instead of remove it ?
There was a problem hiding this comment.
Node is created away ahead in the inclusion process. I am not sure if it is feasible to avoid creation.
There was a problem hiding this comment.
The issue was more that the variable length bitmask was not processed correctly, and therefore the supported type was not populated correctly.
It was fixed in 1.5.0.
Note that this solution does not feel right, you are "removing the device functionality" by erasing the supported types... and there is still a risk that this SUPPORTED_NOTIFICATION_TYPES attribute get re-spawned at each system restart by zwave_command_class_notification_on_version_attribute_update()
I'd suggest to close this PR.
|
Please rebase on main to make sure it's building |
Change
When the notification frame of the command class contains more than two bit masks, the SUPPORTED_NOTIFICATION_TYPES node stays undefined. Consequently, the ZPC (Z-Wave Protocol Controller) makes repeated attempts to retrieve the supported notification type from the device. This continuous loop causes the device to remain in an "Online interviewing" state for an extended period.
zwave frame
71 08 03 00 00 40
attribute store
(350) Supported Notification Types ........................ <undefined> (<>)
Logs
2023-Nov-28 13:25:19.410614 [attribute_resolver] Attribute ID 83 needs a Get
2023-Nov-28 13:25:19.411275 [attribute_resolver] Retransmitting Get command for Attribute ID 83 (attempt 4 out of 5)
2023-Nov-28 13:25:22.265804 [zwave_command_handler_callbacks] Dispatching incoming command (encapsulation 3) from NodeID 5:0 - [ 71 08 03 00 00 40 ]
2023-Nov-28 13:25:22.266390 [zwave_command_class_notification] Supported notification types Bit Masks length is wrong
2023-Nov-28 13:25:30.952589 [attribute_resolver] Attribute ID 83 needs a Get
2023-Nov-28 13:25:30.953289 [attribute_resolver] Retransmitting Get command for Attribute ID 83 (attempt 5 out of 5)
2023-Nov-28 13:25:33.824015 [zwave_command_handler_callbacks] Dispatching incoming command (encapsulation 3) from NodeID 5:0 - [ 71 08 03 00 00 40 ]
2023-Nov-28 13:25:33.824700 [zwave_command_class_notification] Supported notification types Bit Masks length is wrong
Checklist