* Set has_entity_name if device_name is set
* revert unneeded formatting change
* Add image platform
* Follow up comment
* Don't set `has_entity_name` without device name
* Only set has_entity_name if a valid name is set
* Follow device_class name and add tests
* Follow up comments add extra tests
* Move to helper - Log a warning
* fix test
* Allow to assign None as name explictly
* Refactor
* Log info messages when device name is not set
* Revert scene schema change - no device link
* Always set has_entity_name with device mapping
* Always set `_attr_has_entity_name`
* Cleanup
* Avoid using name in Subaru migrations
* Add feedback
* Update tests/components/subaru/test_sensor.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update tests/components/subaru/test_sensor.py
Co-authored-by: G-Two <7310260+G-Two@users.noreply.github.com>
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: G-Two <7310260+G-Two@users.noreply.github.com>
* Create an issue if push updates fail
* Improve strings
* Delete the issue when reloading configuration entry
* Change MAX_PUSH_UPDATE_FAILURES to 5
* Improve issue strings
* Add test
* Use for
* Update homeassistant/components/shelly/strings.json
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* Simplify deleting the issue
---------
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* Fully unload wemo config entity
* Test reloading the config entry
* Encapsulate data with dataclasses
* Fix missing test coverage
* Replace if with assert for options that are always set
* Move WemoData/WemoConfigEntryData to models.py
* Use _ to indicate unused argument
* Test that the entry and entity work after reloading
* Nit: Slight test reordering
* Reset the correct mock (get_state)
* from .const import DOMAIN
* Nit: _async_wemo_data -> async_wemo_data; not module private
* 2023.7.16
- Fix bug with values defaulting to "n/a" in stead of None
* 2023.7.16
- Set device class and state classes on entities
* 2023.7.16
- Set StateClass and DeviceClass directly on the entitiy
* 2023.7.16
- Fix black and ruff issues
* 2023.7.17
- Update logic catering for the 'n/a' response on an API failure
- Add testcase
* - Fix bug in formatting
* 2023.7.17
- Refacotr to consider the "n/a" response returned from the Python lib
on an error or faliure
- Remove setting of StateClass and DeviceClass as requested
- Add "n/a" test case
* 2023.7.17
- Remove unused imports
* 2023.7.18
- Apply review requested changes
* - Additional review change resolved
* Add State and Device class attributes
* Allow matching custom quirks when self.quirk_classes might not contain the full class path but only the module and the class.
* Add test for matching custom quirk classes.
* Improve handling of unrecoverable storage corruption
fixes#96574
If something in storage gets corrupted core can boot loop
or if its integration specific, the integration will fail to
start.
We now complainly loudly in the log, move away the corrupt data
and start fresh to allow startup to proceed so the user can
get to the UI and restore from backup without having to attach
a console (or otherwise login to the OS and manually modify files).
* test for corruption
* ensure OSError is still fatal
* one more case
* create an issue for corrupt storage
* fix key
* persist
* feedback
* feedback
* better to give the full path
* tweaks
* grammar
* add time
* feedback
* adjust
* try to get issue_domain from storage key
* coverage
* tweak wording some more
* 2023.7.16
- Fix bug with values defaulting to "n/a" in stead of None
* 2023.7.16
- Set device class and state classes on entities
* 2023.7.16
- Set StateClass and DeviceClass directly on the entitiy
* 2023.7.16
- Fix black and ruff issues
* 2023.7.17
- Update logic catering for the 'n/a' response on an API failure
- Add testcase
* - Fix bug in formatting
* 2023.7.17
- Refacotr to consider the "n/a" response returned from the Python lib
on an error or faliure
- Remove setting of StateClass and DeviceClass as requested
- Add "n/a" test case
* 2023.7.17
- Remove unused imports
* 2023.7.18
- Apply review requested changes
* - Additional review change resolved
* String review: rename 'life' to 'lifetime'
- The term life, such as in 'filter life' can be ambiguous.
- Renamed to 'lifetime', as quite a few integrations use the term 'lifetime' to express this concept
- Improves consistency and should be easier to understand.
* HomeKit: adapt test case to reflect string change
* Fix test case failure caused by string rename: first step
* Alexa temperature adjustment handle multiple setpoint
In "auto" mode with many thermostats, the thermostats expose both an
upper and lower setpoint representing a range of temperatures. When a
temperature delta is sent from Alexa (e.g. "lower by 2 degrees), we need
to handle the case where the temperature property is not set, but
instead the upper and lower setpoint properties are set. In this case,
we adjust those properties via service call instead of the singular
value.
* Updating tests to fix coverage
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* revert
* cannot be inside pytest.raises
* one more
* Update homeassistant/helpers/service.py
* Airvisual Pro Outside Station Support
* pr feedback
* formatting, language
* Update homeassistant/components/airvisual_pro/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fix assertion on airvisual test
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Migrate google assistant to has entity name
* Fix tests
* Add device name
* Update homeassistant/components/google_assistant/button.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Ensure async_get_system_info does not fail if supervisor is unavailable
fixes#96470
* fix i/o in the event loop
* fix tests
* handle some more failure cases
* more I/O here
* coverage
* coverage
* Update homeassistant/helpers/system_info.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* remove supervisor detection fallback
* Update tests/helpers/test_system_info.py
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>