* Add Matter update entities for devices with OTA requestor
Matter devices which support the OTA requestor cluster can receive
updates from a OTA provider. The Home Assistant Python Matter Server
implements such an OTA provider now.
Add update entities for devices which support the OTA requestor cluster
and check for available updates. Allow the user to update the firmware.
The update progress will be read directly from the devices' OTA
requestor cluster.
* Update homeassistant/components/matter/update.py
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
* Bump python-matter-server to 6.3.0
This includes models and commands required for device firmware updates.
* Fix tests by including the new bluetooth_enabled field
* Add update entity tests
* Fix update entity test
* Update entity picture docstring
* Add note about reasons for progress state change update
* Enable polling for update entities by default
Matter entities don't enable polling any longer. Enable polling for
update entities by default.
* Add comment about why Update entities are polled
---------
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
* Indicate database migration in /api/core/state response
* Change API response according to review comment
* Adjust API response
* Update test
* Add test
Matter entities don't implement async_update, they get their update
from the Matter subscriptions through the WebSocket from the Matter
Server. This change disables polling for all Matter Entities by
default.
* Use external temp for current temp depends on the sensor state
* Add SensorMode enum
* Add tests for Broadlink climate
* Check is the sensor included in the data
* Use IntEnum as parent of SensorMode
* Use SensorMode enum value for sensor test data
* Parametrizing tests
* Readd accidentally removed assert
* Use local sensor variable
Co-authored-by: Robert Resch <robert@resch.dev>
* Refactor test_climate. Check call_counts.
* Add parameter types
Co-authored-by: Robert Resch <robert@resch.dev>
* Update homeassistant/components/broadlink/climate.py
---------
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add device info to Russound RIO
* Set device info name to Russound model
* Add device class to Russound media player
* Move device info to constructor
* Use connections instead of identifiers for russound
* Add via_device attr to Russound
* Reinstate russound identifiers
* Move has entity name attr