* 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
* chore: Refactor BSBLanUpdateCoordinator to improve code readability and maintainability
* feat: Add BSBLan integration models
This commit adds the models for the BSB-Lan integration. It includes a dataclass for the BSBLanCoordinatorData, which stores the state and sensor information.
* refactor: Update BSBLANClimate class to use DataUpdateCoordinator without specifying the State type
* chore: Remove unused Sensor import in BSBLan models
* feat: Refactor BSBLanEntity to use CoordinatorEntity
The BSBLanEntity class has been refactored to inherit from the CoordinatorEntity class, which provides better integration with the update coordinator. This change improves code readability and maintainability.
* refactor: Remove unused config_entry variable in BSBLanUpdateCoordinator
* refactor: Update BSBLANClimate class to use DataUpdateCoordinator
Refactor the BSBLANClimate class to use the Coordinator of the entity
* refactor: Update tests to use the new structure
* fix coverage
it should be the same as before
* refactor: moved dataclass BSBLanCoordinatorData
* use the data class inside init
* refactor: Remove unused config_entry variable in BSBLanUpdateCoordinator
* refactor: use BSBLanData from init
* remove entry data from diagnostics
* fix: add random interval back
* refactor: Simplify coordinator_data assignment in async_get_config_entry_diagnostics
* revert back to original except dataclass import
* revert: Add MAC address back to device info in BSBLanEntity
* Add returning activity state
* update tests
* update tests
* set can return to returning state
* update MQTT tests
* update mqtt back to docked
* fix up other tests that I broke again
* re-add mower_can_dock
* Close database connection before stopping the executor
related issue #117004
* Close database connection before waiting for database executor to finish
related issue #117004
* fix test
* fix
* drop unused arg
* Revert "drop unused arg"
This reverts commit 8a9fe6a24a.
* docstring
* comment
* Add proper media_player typing to tests
* Add proper typing to init tests
* Add proper typing to config_flow tests
* Fix order of parameters of tests
* Add more typing
Reorder parameters
* Fix shelly available check when device is not initialized
available needs to check for device.initialized or if the device
is sleepy as calls to status will raise NotInitialized which results
in many unretrieved exceptions while writing state
fixes
```
2024-08-18 09:33:03.757 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
self.async_update_listeners()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
update_callback()
File "/config/custom_components/shelly/entity.py", line 374, in _update_callback
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
self.__async_calculate_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 293, in state
if (is_on := self.is_on) is None:
^^^^^^^^^^
File "/config/custom_components/shelly/binary_sensor.py", line 331, in is_on
return bool(self.attribute_value)
^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/shelly/entity.py", line 545, in attribute_value
self._last_value = self.sub_status
^^^^^^^^^^^^^^^
File "/config/custom_components/shelly/entity.py", line 534, in sub_status
return self.status[self.entity_description.sub_key]
^^^^^^^^^^^
File "/config/custom_components/shelly/entity.py", line 364, in status
return cast(dict, self.coordinator.device.status[self.key])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aioshelly/rpc_device/device.py", line 390, in status
raise NotInitialized
aioshelly.exceptions.NotInitialized
```
* tweak
* cover
* fix
* cover
* fixes
* Use setup_test_component_platform in Climate tests
* Rename mock integration helper
* Change name to register_test_integration
* Change name in tests
* Fix ruff format
* Opt in to install Mosquitto broker add-on in MQTT config flow
* rephrase
* Tests with supervisor and running add-on
* Complete tests for success flows
* Also set up entry in success flow
* Use realistic names for addon and broker
* Finetuning and fail test cases
* Spelling
* Improve translation strings
* Update addon docstr
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Raise AddonError if add-on does not start
* Only show the option to use the add-on
* Simplify flow, rework and cleanup
* Revert unrelated cleanup, process suggestion
* Move ADDON_SLUG const to addon module
* Move fixture to component level
* Move back supervisor fixture
* Move addon_setup_time_fixture and superfixe to config flow model tests
* Refactor hassio fixture
* Rename helpers as they are no fixtures, remove fixture from their names
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Adding a error condition and a fix for missing lightning epoch values
* adding parentheses around the lambda
* Updating PR
* removed the dumb test
* Updated tests to support good stuff
* Updated snapshots
* Refactoring: exchange POWER_VOLT_AMPERE_REACTIVE with UnitOfReactivePower
* updated iotawatt and mysensors from VOLT_AMPERE_REACTIVE to UnitOfReactivePower.VOLT_AMPERE_REACTIVE
* deprecation period for POWER_VOLT_AMPERE_REACTIVE changed to one year.
* POWER_VOLT_AMPERE_REACTIVE changed to UnitOfReactivePower in blebox integration
* Update homeassistant/const.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* add test case
* add test case
* add test case
* add test case
* add test case
* add test case
* remove commented code
* test only fan platform
* add test case
* remove fan mock
* blebox: extend shutterbox tilt support
* feat: add test for new open/close tilt code in blebox covers
* blebox: resign from using future compat branch for cover open/close tilt
* Update homeassistant/components/blebox/cover.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* blebox: revert changes to BLEBOX_TO_HASS_COVER_STATES
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>