core
core copied to clipboard
Z-Wave JS: User must be able to add/edit/remove entries from/to the SmartStart provisioning list
The problem
A controller providing control of the SmartStart functionality MUST: • Provide a method for the end user to view the Node Provisioning List entries with their network inclusion status (included/ not included or failed). • Provide a method for the end user to manually add and remove entries in the Node Provisioning List. • Provide a method for the end user to edit available settings for each entry in the Node Provisioning List. (e.g., Inclusion setting, Advanced joining) • Support S2 inclusion with authentication using the DSK PIN code.
If a user removes a node from the Node Provisioning List and the node is still included in the Z-Wave network, the controller MUST inform the end user that the node will stay in the network and requires to be excluded manually or reset to factory default in order to leave the Z-Wave Network.
A controller MUST inform the end user that S2 only (non-SmartStart) nodes present in the Provisioning List require to perform a classic inclusion to add them into the Z-Wave network.
Currently there's no such UI in Home Assistant.
Advanced joining = selecting which keys shall be granted (optional)
What version of Home Assistant Core has the issue?
core-2023.7.0.dev20230605
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
No response
Link to integration documentation on our website
No response
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
Hey there @home-assistant/z-wave, mind taking a look at this issue as it has been labeled with an integration (zwave_js) you are listed as a code owner for? Thanks!
Code owner commands
Code owners of zwave_js can trigger bot actions by commenting:
@home-assistant closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign zwave_jsRemoves the current integration label and assignees on the issue, add the integration domain after the command.
(message by CodeOwnersMention)
zwave_js documentation zwave_js source (message by IssueLinks)
We have the first bullet already I believe.
I couldn't find it earlier.
If you had at least one provisioned device there used to be a link to a list in the Z-Wave configuration panel.
The fourth bullet is also done, I believe. That's just normal S2 inclusion, right?
Why would there be non SmartStart devices in the provisoning list? That sounds useless.
Why would there be non SmartStart devices in the provisoning list? That sounds useless.
I don't think this makes sense, but we have already solved it I think? When you scan a QR code that belongs to a non-smartstart device, it instructs you to do a normal inclusion. At least I remember talking about this with Raman.
Yeah, I don't think we allow you to provision a non SmartStart device.
If you had at least one provisioned device there used to be a link to a list in the Z-Wave configuration panel.
still there it looks like:
- https://github.com/home-assistant/frontend/blob/dev/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts#L232-L241
- https://github.com/home-assistant/frontend/blob/dev/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts
I see in the second bullet that we have included and not included, I don't see anything about failed though. How do we know it failed?
for the second to last bullet, this is what we say when you remove a provisioning entry, is this sufficient?
"If you unprovision the device it will not be added to Home Assistant when it is powered on. If it is already added to Home Assistant, removing the provisioned device will not remove it from Home Assistant."
It would be straight forward to have specific text based on whether the device is included or not if that's a specific requirement
I don't see anything about failed though. How do we know it failed?
The tests seem to use this in situations where the driver considers a node dead. The tests didn't check this though, so maybe it's safe not to put the status there.
Kamino closed and cloned this issue to zwave-js/certification-backlog