* Support for encrypted devices
* Sensor should use bindkey if available
* Error message if encryption fails
* Let mypy know this is always set by now
* Towards supporting encryption in step_user
* Add tests for the 4 new happy paths
* Add test coverage for failure cases
* Add strings
* Bump to 0.5.1. Legacy MiBeacon does not use an authentication token, so harder to detect incorrect key
* Add _title() helper
* Fix test after rebase
* Update homeassistant/components/xiaomi_ble/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unused lines
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update switchbot to be local push
* fixes
* fixes
* fixes
* fixes
* adjust
* cover is not assumed anymore
* cleanups
* adjust
* adjust
* add missing cover
* import compat
* fixes
* uses lower
* uses lower
* bleak users upper case addresses
* fixes
* bump
* keep conf_mac and deprecated options for rollback
* reuse coordinator
* adjust
* move around
* move around
* move around
* move around
* refactor fixes
* compat with DataUpdateCoordinator
* fix available
* Update homeassistant/components/bluetooth/passive_update_processor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/bluetooth/passive_update_coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/bluetooth/update_coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Split bluetooth coordinator into PassiveBluetoothDataUpdateCoordinator and PassiveBluetoothProcessorCoordinator
The PassiveBluetoothDataUpdateCoordinator is now used to replace instances
of DataUpdateCoordinator where the data is coming from bluetooth
advertisements, and the integration may also mix in active updates
The PassiveBluetoothProcessorCoordinator is used for integrations that
want to process each bluetooth advertisement with multiple processors
which can be dispatched to individual platforms or areas or the integration
as it chooes
* change connections
* reduce code churn to reduce review overhead
* reduce code churn to reduce review overhead
* Update homeassistant/components/bluetooth/passive_update_coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* add basic test
* add basic test
* complete coverage
* Update homeassistant/components/switchbot/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/switchbot/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/switchbot/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/switchbot/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* lint
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add Govee BLE integration
* add missing files
* remove test file not needed yet
* fix
* add bbq sensors
* fixed lib
* bump again to fix the names
* fix discovery of the newer bbq devices
* fix the test to test the right thing
* verify no outstanding flows
* only accept entities that match the platform
* refactor
* refactor
* refactor
* Refactor PassiveBluetoothDataUpdateCoordinator to support multiple platforms
* cover
* Update for new model
* Update for new model
* Update tests/components/govee_ble/test_sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* purge dead code
* backmerge from integration
* Update docstring
* Update docstring
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Initial xiaomi_ble integration
* black
* Update homeassistant/components/xiaomi_ble/config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update homeassistant/components/xiaomi_ble/config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Apply suggestions from code review
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update tests/components/xiaomi_ble/test_config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update homeassistant/components/xiaomi_ble/sensor.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Update tests/components/xiaomi_ble/test_config_flow.py
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
* Remove debug code
* Need 'proper' MAC when running tests on linux
* Need to use proper MAC so validation passes
* Add tests for already_in_progress and already_configured
* copy test, add session fixture
* fix test
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
BLEDevice is now passed around instead of the address
internally to avoid bleak creating a new scanner each
time a client needs to resolve the address to os details