* 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>
* 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>
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>
* Matter sensors for air quality measurements
Add sensors for CO2, PM1, PM2.5, PM10 and TVOC
* Add initial tests for matter air quality sensor
* Remove VOC data as requires unit extraction from cluster
* 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
* Support for sensors from custom clusters in Matter
* lint
* no need to write state twice
* Add test for eve energy plug
* Update homeassistant/components/matter/entity.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* adjust comment
* debounce extra poll timer
* use async_call_later helper
* Update homeassistant/components/matter/entity.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* wip extend test
* Update test_sensor.py
* fix state class for sensors
* trigger (fake) event callback on all subscribers
* Update eve-energy-plug.json
* add test for additionally polled value
* adjust delay to 3 seconds
* Adjust subscribe_events to always use kwargs
* Update tests/components/matter/common.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update test_sensor.py
* remove redundant code
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add Matter Climate support
* update set target temp and update callback
* remove print
* remove optional property
* Adjust the code to improve readability.
* add thermostat test
* Remove irrelevant cases in setting the target temperature.
* add temp range support
* update hvac action
* support adjust low high setpoint..
* support set hvac mode
* address some review feedback
* move some methods around
* dont discover climate in switch platform
* set some default values
* fix some of the tests
* fix some typos
* Update thermostat.json
* Update homeassistant/components/matter/climate.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/matter/climate.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* support heat_cool in hvac_modes
* address some review feedback
* handle hvac mode param in set temp service
* check hvac modes by featuremap
* add comment to thermostat feature class
* make ruff happy..
* use enum to enhance readability.
* use builtin feature bitmap
* fix target temp range and address some feedback
* use instance attribute instead of class attr
* make ruff happy...
* address feedback about single case
* add init docstring
* more test
* fix typo in tests
* make ruff happy
* fix hvac modes test
* test case for update callback
* remove optional check
* more tests
* more tests
* update all attributes in the update callback
* Update climate.py
* fix missing test
---------
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Adds base code for matter lock
* Adds basic matter door lock support
* Adds matter lock fixture
* Adds tests for matter lock
* Addresses feedback
* Added logic to handle inter states of matter lock
* Addesses feedback
* Bump python-matter-server to 3.0.0
Include all fixes for the changed api schema of the library
* fix test fixtures
* remove invalid data from fixtures
* fix some of the tests
* fix binary sensor bug
* fix sensor bug
* fix switch test
* fix tests
* adjust bugs and typos
* Adds tests for each matter light type and fixes small issue with color temperature lights not being detected properly
* Removes commented out code
* Changed matter light tests to pytest.mark.parametrize to reduce duplicate code
* Added the correct attributes to ColorTemperatureLight and ExtendedColorLight and added CurrentY to codespell ignore word list
* Added enums for matter color modes
* Added support for reading color and color temperature settings from matter api
* Added away of getting the ColorControl featureMap while the get_cluster(ColorControl) function is fixed
* Initial working implementation of color and color temperature
* Full supports for lights with both hs and xy
* Added checks to make sure color features are supported before making matter call
* Changed how color mode is figured out
* Moved the logic that gets the brightness to its own function
* Adds matter light tests for hass triggered events
* Adds full test coverage for matter all types of matter lights
* Adds full test coverage for matter all types of matter lights
* Moved light convertion logic to util.py
* Reorderd codespell ignore list and removed unused code
* Adds brightness state test
* adjust device registry
* ignore test unique id
* update test
* ditch uniqueid + prefix serial
* adjust test
* add tests
* fix switch test
* prefix all identifiers
* Update homeassistant/components/matter/adapter.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* no underscore in id
* fix test
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add matter base (#79372)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
* Add matter server add-on flow (#82698)
* Add matter server add-on flow
* Fix stale error argument
* Clean docstrings
* Use localhost as default address
* Add matter websocket api foundation (#82848)
* Add matter config entry add-on management (#82865)
* Use matter refactored server/client library (#83003)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump python-matter-server to 1.0.6 (#83059)
* Extend matter websocket api (#82948)
* Extend matter websocket api
* Finish docstring
* Fix pin type
* Adjust api after new client
* Adjust api to frontend for now
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>