* zha integration: Add danfoss specific clusters and attributes; add thermostat.pi_heating_demand and thermostat_ui.keypad_lockout
* zha integration: fix Danfoss thermostat viewing direction not working because of use of bitmap8 instead of enum8
* ZHA Integration: add missing ThermostatChannelSensor
* ZHA integration: format using black
* zha integration: fix flake8 issues
* ZHA danfoss: Add MinHeatSetpointLimit, MaxHeatSetpointLimit, add reporting and read config for danfoss and keypad_lockout.
* ZHA danfoss: fix mypy complaining about type of _attr_entity_category
* ZHA danfoss: ruff fix
* fix tests
* pylint: disable-next=hass-invalid-inheritance
* fix pylint tests
* refactoring
* remove scheduled setpoint
* remove scheduled setpoint in manufacturer specific
* refactor
* fix tests
* change cluster ids
* remove custom clusters
* code quality
* match clusters in manufacturerspecific on quirk class
* fix comment
* fix match on quirk in manufacturerspecific.py
* correctly extend cluster handlers in manufacturerspecific.py and remove workaround for illegal use of attribute updated signals in climate.py
* fix style
* allow non-danfoss thermostats to work in manufacturerspecific.py
* correct order of init of parent and subclasses in manufacturerspecific.py
* improve entity names
* fix pylint
* explicitly state changing size of tuple
* ignore tuple size change error
* really ignore error
* initial
* fix tests
* match on specific name and quirk name
* don't restructure file as it is out of scope
* move back
* remove unnecessary change
* fix tests
* fix tests
* remove code duplication
* reduce code duplication
* empty line
* remove unused variable
* end file on newline
* comply with recent PRs
* correctly initialize all attributes
* comply with recent PRs
* make class variables private
* forgot one reference
* swap 2 lines for consistency
* reorder 2 lines
* fix tests
* align with recent PR
* store cluster handlers in only one place
* edit tests
* use correct device for quirk id
* change quirk id
* fix tests
* even if there is a quirk id, it doesn't have to have a specific cluster handler
* add tests
* use quirk id for manufacturer specific cluster handlers
* use quirk_ids instead of quirks_classes
* rename quirk_id
* rename quirk_id
* forgot to rename here
* rename id
* add tests
* fix tests
* fix tests
* use quirk ids from zha_quirks
* use quirk id from zha_quirks
* wrong translation
* sync changes with ZCL branch
* sync
* style
* merge error
* move bitmapSensor
* merge error
* merge error
* watch the capitals
* fix entity categories
* more decapitalization
* translate BitmapSensor
* translate all enums
* translate all enums
* don't convert camelcase to snakecase
* don't change enums at all
* remove comments
* fix bitmaps and add enum for algorithm scale factor
* improve readability if bitmapsensor
* fix capitals
* better setpoint response time
* feedback
* lowercase every enum to adhere to the translation_key standard
* remove enum state translations and use enums from quirks
* correctly capitalize OrientationEnum
* bump zha dependencies; this will have to be done in a separate PR, but this aids review
* accidentally removed enum
* tests
* comment
* Migrate reporting and ZCL attribute config out of `__init__`
* hvac.py shouldn't be changed in this pull request
* change wording comment
* I forgot I changed the size of the tuple.
---------
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
* Add reconfigure flow
* Improve config flow
* Check if it is the same printer
* Improve description
* Add tests
* Improve strings
* Add missing reconfigure_successful string
* Improve test names and comments
* Format
* Mock unload entry
* Use add_suggested_values_to_schema()
* Do not abort when another device's IP has been used
* Remove unnecessary code
* Suggested changes
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* Fix consider-using-tuple pylint warnings in component tests
* Apply su
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
---------
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* Move runtime_data deletion after unload.
Doing this before unload means we can't use, eg. the coordinator, during teardown.
* Re-order config entry on unload
* Add test
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Improve incomfort binary_sensor, add is_burning, is_pumping and is_tapping
* Update test snapshot
* Use helper for fault code label name
* Update tests
* Remove extra state attribute
* Make default Fault `none` to supprt localization
* Update snapshot
* Fix statistic_during_period wrongly prioritizing ST statistics over LT
* comment
* start of a test
* more testcases
* fix sts insertion range
* update from review
* remove unneeded comments
* update logic
* min/mean/max testing
* migrate to 1.1
* bump to 1.1.1
* fix newlines docstring
* cleanup entity_description fns
* strict generics
* restructure import
* tweaks to generics
* tweaks to generics
* removed exceptions
* move initialization, websocket clean shutdown
* get rid of duplicate entry addign
* bump lmcloud
* re-add calendar, auto on/off switches
* use asdict for diagnostics
* change number generator
* use name as entry title
* also migrate title
* don't migrate title
* remove generics for now
* satisfy mypy
* add s
* adapt
* migrate entry.runtime_data
* remove auto/onoff
* add issue on wrong gw firmware
* silence mypy
* remove breaks in ha version
* parametrize issue test
* Update update.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* regen snapshots
* mapping steam level
* remove commented code
* fix typo
* coderabbitai availability tweak
* remove microsecond moving
* additonal schedule for coverage
* be more specific on date offset
* keep mappings the same
* config_entry imports sharpened
* remove unneccessary testcase, clenup date moving
* remove superfluous calendar testcase from diag
* guard against future version downgrade
* use new entry for downgrade test
* switch to lmcloud 1.1.11
* revert runtimedata
* revert runtimedata
* version to helper
* conistent Generator
* generator from typing_extensions
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add code_format to template locks
* Replace code_format with code_format_template
* Add test case for template eval to None
* Apply suggestion to not call super()
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add more negative tests
* Handle template render errors
* Better error message
* Add custom test lock config for code format
* Add type hints from upstream
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Change qBittorrent lib to qbittorrentapi
* Fix tests
* Convert qbittorrent service to new lib
* Add missing translation key
* Catch APIConnectionError in service call
* Replace type ignore by Any typing
* Remove last type: ignore
* Use lib type for torrent_filter
* Change import format
* Fix remaining Any type
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Make sure all mock_device_registry are used with usefixtuers
* Make sure to use name with fixtures and rename functions to start with fixture_
* Streamline config_entry_setup
* Type all *_payload
* Mark @pytest.mark.usefixtures("mock_default_requests")
* Clean up unnecessary newlines after docstring
* Add reconfigure step for google_travel_time
* Do not allow to change name
* Duplicate tests for reconfigure
* Use link for description in strings.json
* Try except else
* Extend existing config flow tests
* add previous track intent
* add stop and clear playlist
* Remove clear_playlist and stop
* Remove clear_playlist and stop
* Use extra constraints
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>