* 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>
* Add matter during onboarding
* test_zeroconf_not_onboarded_running
* test_zeroconf_not_onboarded_installed
* test_zeroconf_not_onboarded_not_installed
* test_zeroconf_discovery_not_onboarded_not_supervisor
* Clean up
* Add udp address
* Test zeroconf udp info too
* test_addon_installed_failures_zeroconf
* test_addon_running_failures_zeroconf
* test_addon_not_installed_failures_zeroconf
* Clean up stale changes
* Set unique id for discovery step
* Fix tests for background flow
* Fix flow running in background
* Test already discovered zeroconf
* Mock unload entry
* bump python-matter-server to version 5.3.0
* Add all node related websocket services
* remove open_commissioning_window service
as it wasnt working anyways
* use device id instead of node id
* tests
* add decorator to get node
* add some tests for invalid device id
* add test for unknown node
* add explicit exception
* adjust test
* move exceptions
* remove the additional config entry check for now
to be picked up in follow up pR
* 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>
* Only get Matter device info if device is an actual Matter device
* Return None if matter device does not exist
* lint
* fix test
* adjust google assistant test
* Add helper method to get matter device info
* Cleanup async
* Guard
* get node from device id instead of node id
* Fix test
---------
Co-authored-by: Paulus Schoutsen <balloob@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
* Refactor discovery of entities to support composed and bridged devices
* Bump library version to 3.1.0
* move discovery schemas to platforms
* optimize a tiny bit
* simplify even more
* fixed bug in light platform
* fix color control logic
* fix some issues
* Update homeassistant/components/matter/discovery.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* fix some tests
* fix light test
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* 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>
* bae entity unique id on Operational Instance Name standard
* Update homeassistant/components/matter/entity.py
Co-authored-by: Stefan Agner <stefan@agner.ch>
* also adjust unique id for devices
* final adjustment
* remove assert on server_info
* move device info to init
* fabric_id_hex
* use DeviceInfo instead of dict
* fix test
Co-authored-by: Stefan Agner <stefan@agner.ch>
* Set title for Matter integration to integration name
* Update homeassistant/components/matter/config_flow.py
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Update title in tests
* one more title fix
Co-authored-by: Franck Nijhof <git@frenck.dev>
* 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>