* Tibber, Add stats and sensors for homes with real time meter
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
* Tibber stats
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
* Monthly peak hour
* Add Moehlenhoff Alpha2 underfloor heating system integration
* isort changes
* flake8 changes
* Do not exclude config_flow.py
* pylint changes
* Add config_flow test
* correct requirements_test_all.txt
* more tests
* Update test description
* Test connection and catch TimeoutError in async_setup_entry
* Add version to manifest file
* Remove version from manifest file
* Replace tests.async_mock.patch by unittest.mock.patch
* Update moehlenhoff-alpha2 to version 1.0.1
* Update requirements for moehlenhoff-alpha2 1.0.1
* Update moehlenhoff-alpha2 to 1.0.2
* Use async_setup_platforms
* Use async_unload_platforms
* Separate connection and devices for each entry_id
* Use async_track_time_interval to schedule updates
* Check if input is valid before checking uniqueness
* Move Exception handling to validate_input
* Catch aiohttp.client_exceptions.ClientConnectorError
* Remove translation files
* Mock TimeoutError
* Fix data update
* Replace current callback implementation with ha dispatcher
* Return False in should_poll
* Remove unused argument
* Remove CONNECTION_CLASS
* Use _async_current_entries
* Call async_schedule_update_ha_state after data update
* Remove unneeded async_setup
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Remove unneeded async_setup_platform
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Set Schema attribute host required
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Remove unused Exception class
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Update manifest.json
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* pylint constructor return type None
* Replace properties by class variables
* use pass instead of return
* Remove unused sync update method
* remove property hvac_action
* remove pass
* rework exception handling
* Update homeassistant/components/moehlenhoff_alpha2/config_flow.py
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Correct indentation
* catch Exception in validate_input
* Replace HomeAssistantType with HomeAssistant
* Update to moehlenhoff-alpha2 1.0.3
* Allow to switch between heating and cooling mode
* Update moehlenhoff-alpha2 to version 1.0.4
* Update heatarea data after setting target temperature
* Support hvac_action
* Fix heatarea update with multiple bases
* Update data after setting preset mode
* Use custom preset modes like defined by device
* Fix config flow test
* Fix test_duplicate_error
* Rename property to extra_state_attributes
Rename property device_state_attributes to extra_state_attributes and
return lowercase keys in dict.
* Refactor using DataUpdateCoordinator
* Remove _attr_should_poll
* Raise HomeAssistantError on communication error
Catch HTTPError instead of broad except and reraise as HomeAssistantError
* Change DataUpdateCoordinator name to alpha2_base
* Refresh coordinator before setting data
* Raise ValueError on invalid heat area mode
* Rename heatarea to heat_area
* Set type annotation in class attribute
* Move coordinator to top
* Move exception handling to the coordinator
* Use heat_area_id directly
* Sore get_cooling() result into local var
* Add explanation of status attributes
and remove BLOCK_HC
* Fix pylint warnings
* from __future__ import annotations
* Use Platform Enum
* Move data handling to coordinator
* Remove property extra_state_attributes
* Add missing annotations
* Update moehlenhoff-alpha2 to version 1.1.2
* Rework tests based on the scaffold template
* Set also heat/cool/day/night temp with target temp
* Remove unneeded code from tests
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
* Move exception logging to helper
* Wrap subscription in lock
* Rewrite subscribe method to use new logging helper
* Mark entitites as unavailable sooner to avoid unnecessary polls
* Rename unclear method and update docstring
* Move lock to unsubscribe
* specify config type
* move coordinator outside try block
* rename gamename to game_name
* remove log in __init__
* Remove logging and minify update
* Add types to parameters
* Remove name from device
* Remove update listener
* Remove status icon
* Dont allow duplicate entries
* Use default translation string
* Remove online and port from coordinator
* Fix TOD component incorrectly determining the state between sunrise and sunset (#30199)
* TOD fix
* Comment added
* Review
* Review
* Review
* Update time after day fix workaround for compatibility with
current version.
Only apply fix when using times and not when using sun events.
Add unit test for behaviour.
Co-authored-by: Nikolay Vasilchuk <Anonym.tsk@gmail.com>
* Initial fivem integration setup
* Use licenseKey for unique ID
* Create FiveMServer class
* Create FiveMStatusBinarySensor
* Fix platform loading
* Create sensor platform
* Remove config flow tests
* Update manifest.json
* Use attr_ instead or properties in sensors.py
* Use entry_id as unique_id
* Move device info to _attr instead of property
* Register callback in FiveMEntity
* Create config flow tests
* Add loggin to fivem
* Use FiveM in config_flow
* Use update_coordinator instead of dispatcher
* Bump fivem-api to 0.1.2
* Remove leftovers
* More tests for config flow
* Add component files to .coveragerc
* Fix simple comments
* Add gamename check to config flow
* Use entity descriptions for sensors
* Move extra attributes to init
* Use [] instead of get() for server info
* Fix error in gamename test
* Add support for filter time left
* Fix test for fan platform
* Remove debug code
* Add unique id migration tool
* Convert to hours
* Fix tests
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add comment, check migration
* Refactor migration helper
* Refactor migration helper
* Move definition of new unique id
* Return after warning
* Add test for unique id migration
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* add gateway_id to the config flow context name.
* obfuscate gateway_id.
* replace const with homeassistant.const.
* Remove obfuscation of gateway_id.
* fix style.
* Add translatable title according to comments
* Update homeassistant/components/overkiz/strings.json
Co-authored-by: J. Nick Koston <nick@koston.org>
Fix legacy nest diangostics to return gracefully, rather than a TypError
by checking explicitiy for SDM in the config entry. Update diagnostics
to use the common nest test fixture, and extend with support for the
legacy nest config. Use the sdm test fixture in the existing legacy
tests so they all share the same config files.
* Fix loss of ability to control white channel in HomeKit on RGB&W lights
- Fix white channel missing from RGB/W lights
- Fix temp missing from RGB/CW lights
- Fixes#65529
* cover the missing case
* bright fix
* force brightness notify on color mode change as well
As shown in #64868, a number of newer models don't come wiht a macAddr
attributes, so for those fall back to the wireless address.
This could be hidden by the python-songpal library but for now this will
make it possible to have multiple modern songpal devices on the same
network.