* Add support for entity name in GeoJSON
Previously GeoJSON names were just the config entry ID. This is not very user friendly. Particularly so when there are many config entries and many, many entities from those same many config entries.
* Update GeoJSON tests to support entity names
* Add Huum integration
* Use DeviceInfo instead of name property for huum climate
* Simplify entry setup for huum climate entry
* Don’t take status as attribute for huum climate init
* Remove unused import
* Set unique id as entity id in huum init
* Remove unused import for huum climate
* Use entry ID as unique ID for device entity
* Remove extra newline in huum climate
* Upgrade pyhuum to 0.7.4
This version no longer users Pydantic
* Parameterize error huum tests
* Update all requirements after pyhuum upgrade
* Use Huum specific naming for ConfigFlow
* Use constants for username and password in huum config flow
* Use constants for temperature units
* Fix typing and pylint issues
* Update pyhuum to 0.7.5
* Use correct enums for data entry flow in Huum tests
* Remove test for non-thrown CannotConnect in huum flow tests
* Refactor failure config test to also test a successful flow after failure
* Fix ruff-format issues
* Move _status outside of __init__ and type it
* Type temperature argument for _turn_on in huum climate
* Use constants for auth in huum config flow test
* Refactor validate_into into a inline call in huum config flow
* Refactor current and target temperature to be able to return None values
* Remove unused huum exceptions
* Flip if-statment in async_step_user flow setup to simplify code
* Change current and target temperature to be more future proof
* Log exception instead of error
* Use custom pyhuum exceptions
* Add checks for duplicate entries
* Use min temp if no target temp has been fetched yet when heating huum
* Fix tests so that mock config entry also include username and password
* Fix ruff styling issues
I don’t know why it keeps doing this. I run `ruff` locally, and then it does not complain, but CI must be doing something else here.
* Remove unneded setting of unique id
* Update requirements
* Refactor temperature setting to support settings target temparature properly
* Backport code from #86386
* Add tests
* Remove local dev change
* Implement device class validation based on unit
* Swap sensor and externalsensor classes (based on importance)
* Use translations for external sensor entities
* Re-add meter identifier as sensor for external devices
* Add migration for Gas identifier
* Rename HomeWizardExternalIdentifierSensorEntity class
* Fix all existing tests
* Reimplement tests for extenal devices with smapshots
* Remove non-used 'None' type in unit
* Add migration test
* Clean up parameterize
* Add test to fix last coverage issue
* Fix non-frozen mypy issue
* Set device name via added EntityDescription field
* Remove device key translations for external sensors,
* Bring back translation keys
* Set device unique_id as serial number
* Remove meter identifier sensor
* Simplify external device initialization
* Adjust tests
* Remove unused gas_meter_id migration
* Remove external_devices redaction
* Remove old gas meter id sensor after migration
* Add last_reset to trigger based template sensors
* Add last_reset to state based template sensors
* CI check fixes
* Add pytests
* Add test cases for last_reset datetime parsing
* Add test for static last_reset value
* Fix ruff-format
* Fix matter light color modes
* Make onoff light fixture only onoff
* Make dimmable light only a dimmable light
* Make color temp light fixture only a color temp light
* Add invert option to switch_as_x
* Store invert flag in entity options
* Add options flow
* Update strings
* Add tests
* Address review comment
* Update homeassistant/components/switch_as_x/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Address review comments
* Inline get_suggested which was only used once in tests
* Address review comments
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add sensor for exposing Summation Received from Metering cluster
* Ruff format
* Test updates for new sensor
* Update test_sensor.py to support summation_received
* Correct report_count for smart meterning and some pylint warning fixes
* Add bangolufsen integration
* add untested files to .coveragerc
* Simplify integration to media_player platform
* Remove missing files from .coveragerc
* Add beolink_set_relative_volume custom service
Tweaks
* Remove custom services
Remove grouping as it was dependent on custom services
* Update API to 3.2.1.150.0
Reduce and optimize code with feedback from joostlek
Tweaks
* Updated testing
* Remove unused options schema
* Fix bugfix setting wrong state
* Fix wrong initial state
* Bump API
* Fix Beosound Level not reconnecting properly
* Remove unused constant
* Fix wrong variable checked to determine source
* Update integration with feedback from emontnemery
* Update integration with feedback from emontnemery
* Remove unused code
* Move API client into dataclass
Fix not all config_flow exceptions caught
Tweaks
* Add Bang & Olufsen brand
* Revert "Add Bang & Olufsen brand"
This reverts commit 57b2722078.
* Remove volume options from setup
Simplify device checks
rename integration to bang_olufsen
update tests to pass
Update API
* Remove _device from base
Add _device to websocket
* Move SW version device update to websocket
Sort websocket variables
* Add WebSocket connection test
* Remove unused constants
* Remove confirmation form
Make discovered devices get added to Home Assistant immediately
Fix device not being available on mdns discovery
Change config flow aborts to forms with error
* Update tests for new config_flow
Add missing api_exception test
* Restrict manual and discovered IP addresses to IPv4
* Re-add confirmation step for zeroconf discovery
Improve error messages
Move exception mapping dict to module level
* Enable remote control WebSocket listener
* Update tests
* Update device config for SETUP_RETRY and use CONF_HOST on startup
* Make entry state checks use a constant
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update tests
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Randomize thread network names
* Use PAN ID as network name suffix
* Apply suggestions from code review
Co-authored-by: Stefan Agner <stefan@agner.ch>
* Update tests
* Format code
* Change format of network name again
---------
Co-authored-by: Stefan Agner <stefan@agner.ch>
* Improve tests of script trace
* Update tests after rebase
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Apply suggestions from code review
* Adjust
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Mark home_plus_control a virtual integration using Netatmo
* Apply code review suggestion
Co-authored-by: Robert Resch <robert@resch.dev>
---------
Co-authored-by: Robert Resch <robert@resch.dev>
* add sensor platform
* transl. of distance already covered by dev.class
* add untested files to .coveragerc
* add missing state translations
* remove translation key for distance sensor
* proximity entity do not use HA number system
* fix
* extend tests
* make const final to be usable as key for TypedDict
* remove proximity from .coveragerc
* replace typeddict by simple dict definition
* make black happy
* rework to create proximity sensor for each tracked entity and always recalculate all entites
* apply review comments
* move direction of travel calc out of the loop
* make direction of travel an enum sensor
* remove unique_id from sensors
* don't set distance=0 when in monitored zone
* set None when direction is unknown
* keep distance 0 in case arrived for legacy entity
* exclude from nearest when in ignored zone
* keep distance=0 when arrived
* use description name for entity name
* remove uneeded typing
* uses consistent variable name
* fix debug messages
* use entity_id as loop var
* rename device_state to tracked_entity_state
* correct MRO for sensor entity classes
* Group sensor calculate attributes
* Use entity helpers
* Fix sensor tests
* Test change of uom
* Add tests and fix UoM issue
* Fix test
* Fix state class
* repair and logs
* delete issues
* pass through hass
* Update descriotion text to be more descriptive
* Comments
* Add pr to comment
* fix if in updating
* Fix test valid units
* Fix strings
* Fix issues