* Bump ring-doorbell to 0.9.0
* Convert ring integration to async ring-doorbell api
* Use mock auth fixture class to get token_updater
* Fix typo in fixture name
* Bump yalexs to 8.2.0
changelog: https://github.com/bdraco/yalexs/compare/v8.1.4...v8.2.0
* bump to 8.3.1
* bump
* one more bump to ensure we do not hit the ratelimit/shutdown cleanly
* empty commit to restart ci since close/open did not work in flight
* Initial SMLIGHT integration
Signed-off-by: Tim Lunn <tl@smlight.tech>
* Generated content
Signed-off-by: Tim Lunn <tl@smlight.tech>
* Cleanup LOGGING
* Use runtime data
* Call super first
* coordinator instance attributes
* Move coordinatorEntity and attr to base class
* cleanup sensors
* update strings to use sentence case
* Improve reauth flow on incorrect credentials
* Use fixture for config_flow tests and test to completion
* Split uptime hndling into a new uptime sensor entity
* Drop server side events and internet callback
will bring this back with binary sensor Platform
* consolidate coordinator setup
* entity always include connections
* get_hostname tweak
* Add tests for init, coordinator and sensor
* Use custom type SmConfigEntry
* update sensor snapshot
* Drop reauth flow for later PR
* Use _async_setup for initial setup
* drop internet to be set later
* sensor fixes
* config flow re
* typing fixes
* Bump pysmlight dependency to 0.0.12
* dont trigger invalid auth message when first loading auth step
* Merge uptime sensors back into main sensor class
* clarify uptime handling
* Apply suggestions from code review
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* address review comments
* pass host as parameter to the dataCoordinator
* drop uptime sensors for a later PR
* update sensor test snapshot
* move coordinator unique_id to _async_setup
* fix CI
* Apply suggestions from code review
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* drop invalid_auth test tag
* use snapshot_platform, update fixtures
* Finish all tests with abort or create entry
* drop coordinator tests and remove hostname support
* add test for update failure on connection error
* use freezer for update_failed test
* fix pysmlight imports
---------
Signed-off-by: Tim Lunn <tl@smlight.tech>
Co-authored-by: Tim Lunn <tim@feathertop.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add support for Fujitsu HVAC devices
* Add the entity code to .coveragerc
* Only include code that can fail in the try/except block
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove empty keys from manifest
* Remove VERSION as it's already the default
* Remve the get_devices function and use asyncio.gather to parallelize dev updates
* Move initial step to a function
* Let KeyError bubble up. If we are passed an invalid mode it's probably worth raising an exception.
* Await the gather
* Use the async version of the refresh_auth call
* Use the serial number as unique id
* Use HA constant for precision
* Use dev instead of self._dev
* Move to property decorated methods
* Remove bidict dependency
* Setup one config entry for our api credentials instead of per device
* Remove bidict from requirements
* Signout and remove our api object on unload
* Use app credentials from ayla_iot_unofficial
* Use entry_id as a key to store our API object
* Delete unused code
* Create reverse mappings from forward mapping instead of hardcoding them
* Clean up the property methods
* Only import part of config_entries we are using
* Implement suggested changes
* Fix tests to use new API consts
* Add support for reauth
* Use a coordinator instead of doing per-entity refresh
* Auto is equivalent to HEAT_COOL not AUTO
* Add ON and OFF to list of supported features
* Use the mock_setup_entry fixture for the reauth tests
* Parametrize testing of config flow exceptions
* Only wrap fallable code in try/except
* Add tests for coordinator
* Use self.coordinator_context instead of self._dev.device_serial_number
* Move timeout to ayla_iot_unofficial
* Add description for is_europe field
* Bump version of ayla-iot-unofficial
* Remove turn_on/turn_off warning
* Move coordinator creating to __init__
* Add the type of coordinator to the CoordiatorEntity
* Update docstring for FujitsuHVACDevice constructor
* Fix missed self._dev to dev
* Abort instead of showing the form again with an error when usernames are different
* Remove useless argument
* Fix tests
* Implement some suggestions
* Use a device property the maps to the coordinator data
* Fix api sign out when unloading the entry
* Address comments
* Fix device lookup
* Move API sign in to coordinator setup
* Get rid of FujitsuHVACConfigData
* Fix async_setup_entry signature
* Fix mock_ayla_api
* Cleanup common errors
* Add test to check that re adding the same account fails
* Also patch new_ayla_api in __init__.py
* Create a fixture to generate test devices
* Add a setup_integration function that does the setup for a mock config entry
* Rework unit tests for the coordinator
* Fix typos
* Use hass session
* Rework reauth config flow to only modify password
* Update name to be more use-friendly
* Fix wrong type for entry in async_unload_entry
* Let TimeoutError bubble up as teh base class handles it
* Make the mock ayla api return some devices by default
* Move test to test_climate.py
* Move tests to test_init.py
* Remove reauth flow
* Remove useless mock setup
* Make our mock devices look real
* Fix tests
* Rename fujitsu_hvac to fujitsu_fglair and rename the integration to FGLair
* Add the Fujitsu brand
* Add a helper function to generate an entity_id from a device
* Use entity_id to remove hardcoded entity ids
* Add a test to increase code coverage
---------
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joostlek <joostlek@outlook.com>