* area conversions
* start work on tests
* add number device class
* update unit conversions to utilise distance constants
* add area unit
* update test unit system
* update device condition and trigger
* update statistic unit converters
* further tests work WIP
* update test unit system
* add missing string translations
* fix websocket tests
* add deprecated notice
* add more missing strings and missing initialisation of unit system
* adjust icon and remove strings from scrape and random
* Fix acre to meters conversion
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Tidy up valid units
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* fix ordering of area
* update order alphabetically
* fix broken test
* update test_init
* Update homeassistant/const.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* remove deprecated unit and fix alphabetical order
* change deprecation and add tests, change to millimeter conversion for inches
* fix order
* re-order defs alphabetically
* add measurement as well
* update icons
* fix up Deprecation of area square meters
* Update core integrations to UnitOfArea
* update test recorder tests
* unit system tests in alphabetical
* update snapshot
* rebuild
* revert alphabetization of functions
* other revert of alphabetical order
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Add diagnostics per device to Home Connect
* Include programs at device diagnostics
* Applied suggestions from epenet
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Applied more suggestions from epenet
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Test naming consistency
Co-authored-by: abmantis <amfcalt@gmail.com>
* Add return type to `_generate_entry_diagnostics`
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: abmantis <amfcalt@gmail.com>
* Add price descriptor attribute to price sensors
* Adding price descriptor sensor
* Use correct number of sensors in spike sensor tests
* Add tests for normalize_descriptor
* Removing debug message
* Removing price_descriptor attribute from the current sensor
* Refactoring everything to use the new API
* Use SiteStatus object, fix some typnig issues
* fixing test
* Adding predicted price to attributes
* Fix advanced price in forecast
* Testing advanced forecasts
* WIP: Adding advanced forecast sensor. need to add attributes, and tests
* Add advanced price attributes
* Adding forecasts to the advanced price sensor
* Appending forecasts corectly
* Appending forecasts correctly. Again
* Removing sensor for the moment. Will do in another PR
* Fix failing test that had the wrong sign
* Adding test to improve coverage on config_flow test
* Bumping amberelectric dependency to version 2
* Remove advanced code from helpers
* Use f-strings
* Bumping to version 2.0.1
* Bumping amberelectric to version 2.0.2
* Bumping amberelectric to version 2.0.2
* Bumping verion amberelectric.py to 2.0.3. Using correct enums
* Bumping amberelectric.py version to 2.0.4
* Bump version to 2.0.5
* Fix formatting
* fixing mocks to include interval_length
* Bumping to 2.0.6
* Bumping to 2.0.7
* Bumping to 2.0.8
* Bumping to 2.0.9
* Bumping version 2.0.12
* Modernize fitbit entity names
* Use placeholder with tracker device name
* Make names sentence case
* Apply name simplifications from PR feedback
* Remove translations that are duplicate of device class
* Update homeassistant/components/fitbit/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add a test for tracker distance and update snapshots
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Handle sentence triggers and registered intents in Assist LLM API
* Remove from LLM
* Check sentence triggers and local intents first
* Fix type
* Fix type again
* Use pipeline language
* Fix cloud test
* Clean up and fix translation key
* Refactor async_recognize
* Improve type hints in fritz config flow
* Improve coverage
* Apply suggestions from code review
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
---------
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* reach maximum recursion depth exceeded in tests
* second background task
* Update homeassistant/components/husqvarna_automower/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/husqvarna_automower/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* test
* modify test
* tests
* use correct exception
* reset mock
* use recursion_limit
* remove unneeded ticks
* test TimeoutException
* set lower recursionlimit
* remove not that important comment and move the other
* test that we connect and listen successfully
* Simulate hass shutting down
* skip testing against the recursion limit
* Update homeassistant/components/husqvarna_automower/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* mock
* Remove comment
* Revert "mock"
This reverts commit e8ddaea3d7.
* Move patch to decorator
* Make execution of patched methods predictable
* Parametrize test, make mocked start_listening block
* Apply suggestions from code review
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
* removing extra blank space
* Adding EcobeeAuxCutoverThreshold
First pass.
* minor reorg and changes; testing local check-in
* Adding entity, setting device class and name
* Bumping max value slightly to hopefully accomodate celsius, setting numberMode=box
* fixing the entity name for aux cutover threshold
* Combined async_add_entities
* Using a list comprehension
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fixing stuff with listcomprehension
* exchanging call to list.append() to extend with list comprehension
* Updating the class name and the entity name to match the device UI.
Removing abbreviations from entity names
* Fixing tests to match new entity names
* respecting 88 column limit
* Formatting
* Adding test coverage for update/set compressorMinTemp values
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Enable setting a port override during manual config entry setup.
The feature will be undocumented as it's quite a specialized use case generally used for testing purposes.
Simplify config flow for suez water. Counter_id can now be automatically be fetched by the integration.
The value is provided only in the source code of suez website and therefore not easily accessible to user not familiar with devlopment.
Still possible to explicitly set the value for user with multiple value or value defined elsewhere.
* Migrate from entry unique id to emoncms unique id
* Use a placeholder for the documentation URL
* Use async_set_unique_id in config_flow
* use _abort_if_unique_id_configured in config_flow
* Avoid single-use variable
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Add async_migrate_entry
* Remove commented code
* Downgrade version if user add server without uuid
* Improve code quality
* Move code migrating HA to emoncms uuid to init
* Fit doc url in less than 88 chars
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Improve code quality
* Only update unique_id with async_update_entry
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Make emoncms_client compulsory to get_feed_list
* Improve readability with unique id functions
* Rmv test to give more sense to _migrate_unique_id
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Add Beolink custom services
Add support for media player grouping via beolink
Give media player entity name
* Fix progress not being set to None as Beolink listener
Revert naming changes
* Update API
simplify Beolink attributes
* Improve beolink custom services
* Fix Beolink expandable source check
Add unexpand return value
Set entity name on initialization
* Handle entity naming as intended
* Fix "null" Beolink self friendly name
* Add regex service input validation
Add all_discovered to beolink_expand service
Improve beolink_expand response
* Add service icons
* Fix merge
Remove unnecessary assignment
* Remove invalid typing
Update response typing for updated API
* Revert to old typed response dict method
Remove mypy ignore line
Fix jid possibly used before assignment
* Re add debugging logging
* Fix coroutine
Fix formatting
* Remove unnecessary update control
* Make tests pass
Fix remote leader media position bug
Improve remote leader BangOlufsenSource comparison
* Fix naming and add callback decorators
* Move regex service check to variable
Suppress KeyError
Update tests
* Re-add hass running check
* Improve comments, naming and type hinting
* Remove old temporary fix
* Convert logged warning to raised exception for invalid media_player
Simplify code using walrus operator
* Fix test for invalid media_player grouping
* Improve method naming
* Improve _beolink_sources explanation
* Improve _beolink_sources explanation
* Fix tests
* Remove service responses
Fix and add tests
* Change service to action where applicable
* Show playback progress for listeners
* Fix testing
* Remove useless initialization
* Fix allstandby name
* Fix various casts with assertions
Fix comment placement
Fix group leader group_members rebase error
Replace entity_id method call with attribute
* Add syrupy snapshots for Beolink tests, checking entity states
Use test JIDs 3 and 4 instead of 2 and 3 to avoid invalid attributes in testing
* Add sections for fields using Beolink JIDs directly
* Fix typo
* FIx rebase mistake
* Sort actions alphabetically
* Add NASweb integration
* Fix DeviceInfo import
* Remove commented out code
* Change class name for uniquness
* Drop CoordinatorEntity inheritance
* Rename class Output to more descriptive: RelaySwitch
* Update required webio-api version
* Implement on-the-fly addition/removal of entities
* Set coordinator name matching device name
* Set entities with too old status as unavailable
* Drop Optional in favor of modern typing
* Fix spelling of a variable
* Rename commons to more fitting name: helper
* Remove redundant code
* Let unload fail when there is no coordinator
* Fix bad docstring
* Rename cord to coordinator for clarity
* Remove default value for pop and let it raise exception
* Drop workaround and use get_url from helper.network
* Use webhook to send data from device
* Deinitialize coordinator when no longer needed
* Use Python formattable string
* Use dataclass to store integration data in hass.data
* Raise ConfigEntryNotReady when appropriate
* Refactor NASwebData class
* Move RelaySwitch to switch.py
* Fix ConfigFlow tests
* Create issues when entry fails to load
* Respond when correctly received status update
* Depend on webhook instead of http
* Create issue when status is not received during entry set up
* Make issue_id unique across integration entries
* Remove unnecessary initializations
* Inherit CoordinatorEntity to avoid code duplication
* Optimize property access via assignment in __init__
* Use preexisting mechanism to fill schema with user input
* Fix translation strings
* Handle unavailable or unreachable internal url
* Implement custom coordinator for push driven data updates
* Move module-specific constants to respective modules
* Fix requirements_all.txt
* Fix CODEOWNERS file
* Raise ConfigEntryError instead of issue creation
* Fix entity registry import
* Use HassKey as key in hass.data
* Use typed ConfigEntry
* Store runtime data in config entry
* Rewrite to be more Pythonic
* Move add/remove of switch entities to switch.py
* Skip unnecessary check
* Remove unnecessary type hints
* Remove unnecessary nonlocal
* Use a more descriptive docstring
* Add docstrings to NASwebCoordinator
* Fix formatting
* Use correct return type
* Fix tests to align with changed code
* Remove commented code
* Use serial number as config entry id
* Catch AbortFlow exception
* Update tests to check ConfigEntry Unique ID
* Remove unnecessary form abort
* Fix bug in nest setup when the old key format does not exist
* Further simplify the entry.data check
* Update homeassistant/components/nest/api.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add new frame helper to clarify options available
* Adjust
* Improve
* Use report_usage in core
* Add tests
* Use is/is not
Co-authored-by: J. Nick Koston <nick@koston.org>
* Use enum.auto()
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Replace Supervisor resolution API calls with aiohasupervisor
* Use consistent types to avoid uuid issues
* Fix mocking in http test
* Changes from feedback
* Put hass first
* Fix typo
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>