core icon indicating copy to clipboard operation
core copied to clipboard

Add Yale Access Bluetooth integration

Open bdraco opened this issue 2 years ago • 2 comments

Proposed change

Add Yale Access Bluetooth integration

Lib: https://github.com/bdraco/yalexs-ble/compare/v0.0.1...v1.1.2 Works with locks that have a Yale Access module: YRD216/YRL216, YRD226/YRL226, YRD256 https://shopyalehome.com/products/yale-access-ugrade-kit-for-assure-locks-with-wifi?variant=34110396006532

Future PRs:

  • [ ] Support for the door sensors
  • [ ] Support for the RSSI
  • [ ] August locks that use the same system are not listed at this time and will be added in a future PR. The primary goal was to get the Yale ones working first.
  • [ ] Get keys from cloud

Type of change

  • [ ] Dependency upgrade
  • [ ] Bugfix (non-breaking change which fixes an issue)
  • [x] 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: https://github.com/home-assistant/home-assistant.io/pull/23641

Checklist

  • [x] 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)
  • [x] 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.

The integration reached or maintains the following Integration Quality Scale:

  • [ ] No score or internal
  • [ ] 🥈 Silver
  • [ ] 🥇 Gold
  • [ ] 🏆 Platinum

To help with the load of incoming pull requests:

bdraco avatar Aug 04 '22 02:08 bdraco

One of the beta tests found that the older firmwares have a non-unique local name so we need to account for that. I'm going to need to add a get_unique_id from adv and conditionally watch for the unique local name or mac address based on the firmware version

bdraco avatar Aug 06 '22 03:08 bdraco

Lock and unlock responsiveness will get better after https://github.com/hbldh/bleak/pull/923

bdraco avatar Aug 08 '22 23:08 bdraco

Thanks

bdraco avatar Aug 10 '22 16:08 bdraco

Retest looks good

Will work on the other platforms and getting this hooked up to feed the keys from the cloud

bdraco avatar Aug 10 '22 20:08 bdraco

Will do a turn in the morning to address comments after 💤

bdraco avatar Aug 12 '22 09:08 bdraco