* 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>
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.
* Prevent removal of complete bridge when removing a device from Matter
Currently, when a device is removed from Matter, the complete bridge is
being removed. This might not be the user intention. Bridged devices
themselves can't be deleted really, as they are still part of the
bridge.
Ideally, this should be fixed in the UI (remove the Delete button in
this case). But as a workaround, we can prevent the removal of the
complete bridge by disallowing to remove the bridged device itself.
This also improves deleting when the bridge is already removed from
the Server through some other means: In this case, we delete all devices
at once.
* Update homeassistant/components/matter/__init__.py
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Add support for ModeSelect Cluster
* Update discovery.py
* Add files via upload
* refactor part 1
* Update discovery.py
* add remaining mode discovery schemas
* add test
* type alias
---------
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
* Improve Matter Server version incompatibility handling
Improve the handling of Matter Server version. Noteably fix the issues
raised (add strings for the issue) and split the version check into
two cases: One if the server is too old and one if the server is too
new.
* Bump Python Matter Server library to 6.2.0b1
* Address review feedback
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>