Skip to content

Add new zwave_js WS command to parse DSK from QR code#87237

Merged
raman325 merged 3 commits into
home-assistant:devfrom
raman325:dsk
Feb 22, 2023
Merged

Add new zwave_js WS command to parse DSK from QR code#87237
raman325 merged 3 commits into
home-assistant:devfrom
raman325:dsk

Conversation

@raman325
Copy link
Copy Markdown
Contributor

@raman325 raman325 commented Feb 3, 2023

Proposed change

Updates the zwave_js integration to support features introduced in zwave-js 10.4.0 and zwave-js-server-python 0.45.0:

  • Adds try_parse_dsk_from_qr_code_string API command which allows users to scan a DSK QR code. This just adds support for more provisioning methods

To implement this in the frontend, we need to:

  • Add support for this command
  • run each QR code through this command before checking for length and that it starts with 90 and trying to parse QR code information from it, and if it returns something other than null, provision the node using S2 security and the dsk parameter option

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Black (black --fast homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
  • Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

@home-assistant
Copy link
Copy Markdown
Contributor

home-assistant Bot commented Feb 3, 2023

Hey there @home-assistant/z-wave, mind taking a look at this pull request 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 close Closes the issue.
  • @home-assistant rename Awesome new title Change the title of the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign zwave_js Removes the current integration label and assignees on the issue, add the integration domain after the command.

@raman325
Copy link
Copy Markdown
Contributor Author

raman325 commented Feb 3, 2023

there's an open question in #devs_zwave if we can do the same validation on the QR Code string as we do for the QRProvisioningInformation. Depending on the answer this PR may need to be adjusted

EDIT: Per @AlCalzone we do not need to do any upfront validation for the DSK check, we should just send it to the function which will do the validation for us.

@raman325 raman325 marked this pull request as draft February 3, 2023 03:45
@raman325 raman325 marked this pull request as ready for review February 3, 2023 16:18
@AlCalzone
Copy link
Copy Markdown
Contributor

yep, if the method doesn't return a DSK, the QR code is not a DSK-only QR and the existing logic applies.

Copy link
Copy Markdown
Member

@MartinHjelmare MartinHjelmare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should wait with merging here until there's a linked and approved frontend PR.

@MartinHjelmare MartinHjelmare marked this pull request as draft February 5, 2023 00:36
@raman325 raman325 marked this pull request as ready for review February 22, 2023 16:19
@raman325 raman325 merged commit 5683d21 into home-assistant:dev Feb 22, 2023
@raman325 raman325 deleted the dsk branch February 22, 2023 16:51
raman325 added a commit to raman325/home-assistant that referenced this pull request Feb 22, 2023
* dev: (60 commits)
  Update frontend to 20230222.0 (home-assistant#88615)
  Add controller support to `zwave_js/subscribe_firmware_update_status` (home-assistant#87348)
  Bump Freebox to 1.1.0 (home-assistant#88609)
  Always include platform in `config/entity_registry/list_for_display` (home-assistant#88601)
  Add dsk option to zwave_js/add_node WS command (home-assistant#87823)
  Update zwave_js FirmwareUploadView to support controller updates (home-assistant#87239)
  Add new zwave_js WS command to parse DSK from QR code (home-assistant#87237)
  Diagnostics report for Thread networks (home-assistant#88541)
  Set default for `hass_config_yaml` fixture to "" (home-assistant#88608)
  Bump reolink-aio to 0.5.0 (home-assistant#88594)
  Bump intents package version; hassil==1.0.5; home-assistant-intents==2023.2.22 (home-assistant#88605)
  Add Reolink update entity (home-assistant#87865)
  Fix cover template: optimistic mode is ignored (home-assistant#87925)
  Fix 500 error when getting calendar events (home-assistant#88276)
  Add clarifying comment about unit of elevation (home-assistant#88489)
  Add ZHA "consumer connected" binary sensor for Xiaomi EU plugs (home-assistant#88194)
  Bump Insteon dependencies (home-assistant#88514)
  Use load_json_object in ecobee (home-assistant#88584)
  Use load_json_object in html5 (home-assistant#88586)
  Improve type hint in homeassistant trigger (home-assistant#88596)
  ...
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants