Commit Graph

137 Commits (3cda93d00113219dc506138c612075ac1c869e61)

Author SHA1 Message Date
Joost Lekkerkerker f90ed9e9db
Remove expected lingering test fixture from Matter (#127713) 2024-10-06 16:00:40 +02:00
Joost Lekkerkerker 07704b8511
Add more fixtures to the matter fixture (#126761)
* Add more fixtures to the matter fixture

* Add Valve
2024-10-04 09:24:06 +02:00
Stefan Agner abf3da2fa1
Set default Matter fabric label (#127252) 2024-10-03 12:36:24 +02:00
Joost Lekkerkerker 6e12726b11
Use Parametrizing in Matter tests (#126759)
* Overhaul matter tests

* Overhaul

* Remove matter_client where obsolete

* Move snapshots to the top

* Use usefixtures

* Add Valve
2024-09-26 19:40:20 +02:00
Ludovic BOUÉ 6d1e5886ec
Add Valve platform to Matter integration (#123311)
* Create water_valve.py

* Update water_valve.py

ValveEntity

* Update water_valve.py

ValveDeviceClass

* Update water_valve.py

* Update water_valve.py

OperationalStatus

* Update water_valve.py

* Update water_valve.py

Commands

* Update water_valve.py

Platform.VALVE

* Update water_valve.py

* Update water_valve.py

operational_status

* Update water_valve.py

current_valve_position

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

attributes

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Open command

* Match Valve entity methods

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* ruff-format

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

Attributes.CurrentLevel

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

async_set_valve_position

* Update water_valve.py

* Update water_valve.py

Bitmaps

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update homeassistant/components/matter/water_valve.py

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>

* Update homeassistant/components/matter/water_valve.py

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update discovery.py to add WaterValve

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update discovery.py

* Update discovery.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Rename water_valve.py to valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Create test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Create valve.json

* Update air-purifier.json

* Revert "Update air-purifier.json"

This reverts commit b68dce0ccc81bc6fb1db36191de1c296ce54cac3.

* Update valve.json

* Update valve.json

* Update valve.json

* Update test_valve.py

* Update valve.json

* Update test_valve.py

* Update valve.json

* Update valve.json

* Update valve.json

* Update test_valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* add tests

* cleanup

* Clean up variable

* Format

* add tests for state updates

* adjust

* add tests for position

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-25 20:19:10 +02:00
Joost Lekkerkerker 662a704165
Use snake case in matter fixture nodes (#126743) 2024-09-25 15:29:17 +02:00
Joost Lekkerkerker 6e4e5ba8c5
Make Matter snapshot logic a shared function (#126744) 2024-09-25 15:12:48 +02:00
Marcel van der Veldt 18766905f4
Don't crash entire Matter integration setup when one node is failing (#126491)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-25 12:45:24 +02:00
Joost Lekkerkerker 31d722f1ef
Introduce snapshot testing to matter (#126693)
* Introduce snapshot testing to matter

* Introduce snapshot testing to matter
2024-09-25 09:46:32 +02:00
jvmahon 5e2955845a
Add button platform to Matter integration (#123665)
* Add files via upload

* add test

* add discovery schemas for operational state commands

* tests

* add filter resets

* add filter reset buttons

* Apply suggestions from code review

* tweak test

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 22:07:29 +02:00
Ludovic BOUÉ b370893e58
Add support for OperationalState Attribute from Matter OperationalState cluster (#125627) 2024-09-24 21:30:30 +02:00
Marcel van der Veldt 5e7d5c6312
Prevent KeyError when Matter device has invalid value for ModeSelect (#126672) 2024-09-24 19:36:09 +02:00
Marcel van der Veldt ffa76dfd24
Add discovery schemas for Matter Smoke and CO Alarm Cluster (#126622)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-24 18:23:45 +02:00
Ludovic BOUÉ 31a1ad8409
Add Pressure and Altitude discovery schemas for Matter Eve Weather device (#125690)
* Update number.py to add EveWeatherAltitude attribute

* Update sensor.py to add EveCluster Pressure Attribute

* Update strings.json

* Create eve-weather-sensor.json

* Update test_sensor.py

* Update eve-weather-sensor.json

* Update test_sensor.py

Pressure
AttributeId: 319422484 (0x00130a0014) - Value type: float32

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update manifest.json

Bump to python-matter-server==6.5.0

* Update requirements_all.txt

Bump requirements to python-matter-server 6.5.0

* Update requirements_test_all.txt

Bump requirements to python-matter-server 6.5.0

* Update test_sensor.py

* Update test_sensor.py

* Update sensor.py

* Update sensor.py

* Update test_sensor.py

* Update sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* fix test fixture

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update manifest.json

* fix tests

* Update test_sensor.py

* add device class

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-09-24 17:59:58 +02:00
Ludovic BOUÉ 741b025751
Add EveCluster ValvePosition Attribute (#125809) 2024-09-24 16:33:19 +02:00
Mike Degatano 7517948900
Replace more addon management with aiohasupervisor (#126236)
* Replace start_addon with library call

* restart_addon to library and error issues in tests

* stop_addon to library

* uninstall_addon to library

* Add output typing

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-09-24 15:47:29 +02:00
Joost Lekkerkerker adcdb7a900
Map unknown air quality to None in Matter (#126639)
Map unknown to None in Matter
2024-09-24 15:30:01 +02:00
Joost Lekkerkerker d3889cab9e
Make Matter select entity values translatable (#126608)
* Make Matter select entity values lowercase

* Make Matter select entity values lowercase
2024-09-24 13:40:38 +02:00
G Johansson 93aade6e8e
Change lock state to an enum (#126379)
* Add new LockState enum for lock states

* Add rest

* Fix insteon tests

* Fix mqtt tests

* Fix tesla_fleet

* Revert back ST_STATE_LOCKED

* Add back constant
2024-09-24 12:30:50 +02:00
Marcel van der Veldt f2092ef083
Prevent KeyError in Matter select entity (#126605) 2024-09-24 12:02:01 +02:00
Marcel van der Veldt ef94fcf873
Fix duplicate power sensors for Matter 1.3 powerplugs (#126269)
* Prevent duplicate power sensors in Matter sensor platform

* adjust test as well
2024-09-20 12:05:19 +02:00
Marcel van der Veldt d90caf3e86
Remove default transition in Matter light platform (#126220)
* Remove default transition in Matter light platform

* adjust test
2024-09-18 21:23:05 +02:00
Mike Degatano 97d0d91d2c
Use aiohasupervisor for addon info calls (#125926)
* Use aiohasupervisor for addon info calls

* Fix issue/repair tests in supervisor

* Fixes from feedback
2024-09-17 23:22:35 +02:00
Ludovic BOUÉ e08a94fe1c
Add Matter tests for BatVoltage attribute from PowerSource cluster (#125645)
* Add BatVoltage Attribute from PowerSource Cluster

* Update sensor.py

Remove comment

* Update homeassistant/components/matter/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fixture for a Eve Door & Window node

Fixture for a Eve Door & Window node to check BatVoltage attribute from PowerSource cluster

* Test battery voltage sensor

* Update test_sensor.py

* ruff-format

* Update test_sensor.py

* Update test_sensor.py

battery_voltage attribute test

* Update test_sensor.py

* Update test_sensor.py

* Update tests/components/matter/test_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update test_sensor.py

* Adjust values

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-16 14:16:03 +02:00
Marcel van der Veldt c53c2d7e64
Add model ID to Matter DeviceInfo (#125341)
* Add model ID to Matter DeviceInfo

* convert to string

* Test device registry

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-07 11:57:57 -04:00
Marcel van der Veldt cbd884d54a
Add discovery schemas for Matter 1.3 power/energy sensors (#125403)
* Add missing discovery schemas for (Matter 1.3) Power/Energy measurements

* Prevent discovery of custom cluster if 1.3 cluster present

* add tests

* Use f-strings

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-07 07:55:08 +02:00
Jan Bouwhuis fd57931cc9
Cleanup redundant fixtures on matter integration for addon tests (#124445) 2024-08-23 16:27:14 +02:00
Stefan Agner be255613de
Add additional tests for Matter update entity (#122575)
* Add additional tests for Matter update entity

Extend test coverage for Matter update entity. This includes tests for
error handling and state store/restore.

* Improve test descriptions

* Add restore test only (using mock_restore_cache_with_extra_data)

* Fix test_update_state_save_and_restore test

* Use homeassistant constants

* Use update component constants

* Use freezer to skip time for device update check

We check device updates every 12h currently. Use the freezer to skip
time.

Still add a test which uses the service call to make sure this works
too.
2024-08-20 12:10:25 +02:00
Stefan Agner f1029596d2
Drop Matter Microwave Oven Mode select entity (#123294) 2024-08-07 16:45:46 +02:00
Marcel van der Veldt 8a4206da99
Matter handle FeatureMap update (#122544) 2024-07-31 20:37:57 +02:00
Marcel van der Veldt 0189a05297
Extend Matter select entity (#122513) 2024-07-31 20:36:43 +02:00
Marcel van der Veldt 85aca4f095
Fix default turn_on without explicit preset or percentage in Matter Fan platform (#122591) 2024-07-29 12:03:40 +02:00
Marcel van der Veldt d7c713d18d
Fix typo in Matter lock platform (#122536) 2024-07-24 20:12:51 +02:00
Stefan Agner 07b2a7537b
Add Matter update entities for devices with OTA requestor (#120304)
* 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>
2024-07-23 15:25:02 +02:00
Marcel van der Veldt 632dec614a
Fix several issues with the Matter Generic Switch Cluster (#122191) 2024-07-23 10:10:32 +02:00
Marcel van der Veldt 3d3bc1cab1
Revert "Add mac address as connection for matter device (#121257)" (#122133) 2024-07-18 17:38:30 +02:00
Björn Ebbinghaus 2723ab3b27
Add mac address as connection for matter device (#121257) 2024-07-16 00:54:16 +02:00
Marcel van der Veldt 42003ae5ac
Matter lock state follow-up (#121669) 2024-07-10 11:20:26 +02:00
jvmahon d5135d4956
Add support for the Select platform in Matter (#119769)
* 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>
2024-07-04 18:29:10 +02:00
Marcel van der Veldt 24f6e6e885
Fix locking/unlocking transition state in Matter lock platform (#121099) 2024-07-04 09:20:55 +02:00
Marcel van der Veldt 52627b9aed
Handle mains power for Matter appliances (#121023) 2024-07-02 21:02:29 +02:00
Marc Mueller 921430d497
Import Generator from collections.abc (3) (#120916) 2024-07-01 12:09:11 +02:00
Stefan Agner 44aad2b821
Improve Matter Server version incompatibility handling (#120416)
* 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
2024-06-26 11:43:51 +02:00
Ludovic BOUÉ 2ad5b1c3a6
Add Matter discovery schemas for BooleanState sensors (#117870)
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>
2024-06-21 18:57:18 +02:00
Marcel van der Veldt 4110f4f393
Fix Matter entity names (#120038) 2024-06-21 16:42:22 +02:00
jvmahon 12f812d6da
Add number platform to Matter integration (#119770)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-06-21 15:53:50 +02:00
Paul Bottein 7a3a57c78e
Add open state support to matter lock (#119682) 2024-06-15 11:24:33 +02:00
epenet fbaba3753b
Fix root-import pylint warning in components (#119294)
* Fix root-import pylint warning in components

* Adjust

* Adjust
2024-06-10 15:14:49 +02:00
Sid 721b2c2ca8
Enable Ruff PT012 (#113957) 2024-06-08 17:59:08 +02:00
Marc Mueller 33ed4fd862
Import Generator from typing_extensions (3) (#118990) 2024-06-06 17:28:59 +02:00