Commit Graph
148 Commits
Author SHA1 Message Date
380974eed4 Remove hassio from ALLOWED_USED_COMPONENTS and move some functions to helper (#127228)
* Remove hassio from ALLOWED_USED_COMPONENTS

* Move HassioServiceInfo to helpers.service_info

* Deprecate moved functions

* Add note about deprecation

* Fix tests

* Implement suggestion

* Typo

* Update pyproject.toml

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-30 12:43:41 +01:00
Marcel van der VeldtandGitHub cbb8d76da7 Add support for vacuum cleaners to the Matter integration (#129420) 2024-10-29 16:17:40 +01:00
Mike DegatanoandGitHub 673f0224c9 Continue migration of methods from handler to aiohasupervisor (#129183) 2024-10-29 14:33:21 +01:00
Paul BotteinandGitHub bf840e8bfa Use device name for matter entities (#127798) 2024-10-29 10:54:25 +01:00
Mike DegatanoandGitHub ad55c9cc19 Remaining addon management to aiohasupervisor (#128484)
* Move set addon options to aiohasupervisor

* addon stats to aiohasupervisor and test fixes

* addon changelogs to aiohasupervisor

* Raise correct error for library in tests

* Cache client in instance property

* Use singleton method rather then HassIO instance method

* Mock supervisor client in more tests
2024-10-21 16:41:00 +02:00
Erik MontnemeryandGitHub e861cab727 Add update_percentage state attribute to update entity (#128877)
* Add update_percentage state attribute to update entity

* Update tests

* Update tests
2024-10-21 15:31:48 +02:00
epenetandGitHub 84b2c74057 Fail on unused ignore_translations fixture (#128422)
* Fail on unused ignore_translations fixture

* Cleanup melcloud

* Use pytest.fail

* Cleanup tplink

* Cleanup matter
2024-10-15 12:40:47 +02:00
epenetandGitHub f41494b7cc Ensure config_flow abort reasons have translations (#128140)
* Ensure config_flow abort reasons have translations

* Ignore fake_integration in application_credentials

* Mark gardena_bluetooth as needs fixing

* Mark google as needs fixing

* Mark google_assistant_sdk as needs fixing

* Mark homewizard as needs fixing

* Mark homeworks as needs fixing

* Mark honeywell as needs fixing

* Mark jewish_calendar as needs fixing

* Mark lg_netcast as needs fixing

* Mark lifx as needs fixing

* Mark lyric as needs fixing

* Mark madvr as needs fixing

* Mark matter as needs fixing

* Mark melcloud as needs fixing

* Mark motioneye as needs fixing

* Mark ollama as needs fixing

* Mark philips_js as needs fixing

* Mark spotify as needs fixing

* Mark srp_energy as needs fixing

* Mark subaru as needs fixing

* Mark tplink as needs fixing

* Mark yolink as needs fixing

* Mark youtube as needs fixing

* Fix incorrect comment
2024-10-14 16:39:10 +02:00
Mike DegatanoandGitHub a9aa5ad229 Use aiohasupervisor for store APIs (#126780)
* Use aiohasupervosor for store addon info

* Use aiohasupervisor install addon

* Use aiohasupervisor for store info API

* Fix onboarding test

* Changes from feedback

* Move get_supervisor_client out of constructor

* Mock supervisor_client in tests

* Make property private
2024-10-10 10:27:20 +02:00
G JohanssonandGitHub 666e8e133e Cover state is enum (#127144)
* Change light state to use enum

* Adjust cover tests

* Update cover

* Fix covers

* Some tests

* More tests

* Fix tests

* Fix
2024-10-08 18:39:04 +02:00
Joost LekkerkerkerandGitHub 00a037c786 Snapshot more platforms for Matter (#127541)
* Snapshot more platforms for Matter

* Fix

* Fix

* Fix

* Fix tests
2024-10-08 16:17:21 +02:00
Joost LekkerkerkerandGitHub f90ed9e9db Remove expected lingering test fixture from Matter (#127713) 2024-10-06 16:00:40 +02:00
Joost LekkerkerkerandGitHub 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 AgnerandGitHub abf3da2fa1 Set default Matter fabric label (#127252) 2024-10-03 12:36:24 +02:00
Joost LekkerkerkerandGitHub 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
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 LekkerkerkerandGitHub 662a704165 Use snake case in matter fixture nodes (#126743) 2024-09-25 15:29:17 +02:00
Joost LekkerkerkerandGitHub 6e4e5ba8c5 Make Matter snapshot logic a shared function (#126744) 2024-09-25 15:12:48 +02:00
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 LekkerkerkerandGitHub 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
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ÉandGitHub b370893e58 Add support for OperationalState Attribute from Matter OperationalState cluster (#125627) 2024-09-24 21:30:30 +02:00
Marcel van der VeldtandGitHub 5e7d5c6312 Prevent KeyError when Matter device has invalid value for ModeSelect (#126672) 2024-09-24 19:36:09 +02:00
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
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ÉandGitHub 741b025751 Add EveCluster ValvePosition Attribute (#125809) 2024-09-24 16:33:19 +02:00
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 LekkerkerkerandGitHub 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 LekkerkerkerandGitHub 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 JohanssonandGitHub 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 VeldtandGitHub f2092ef083 Prevent KeyError in Matter select entity (#126605) 2024-09-24 12:02:01 +02:00
Marcel van der VeldtandGitHub 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 VeldtandGitHub 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 DegatanoandGitHub 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
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
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
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 BouwhuisandGitHub fd57931cc9 Cleanup redundant fixtures on matter integration for addon tests (#124445) 2024-08-23 16:27:14 +02:00
Stefan AgnerandGitHub 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 AgnerandGitHub f1029596d2 Drop Matter Microwave Oven Mode select entity (#123294) 2024-08-07 16:45:46 +02:00
Marcel van der VeldtandGitHub 8a4206da99 Matter handle FeatureMap update (#122544) 2024-07-31 20:37:57 +02:00
Marcel van der VeldtandGitHub 0189a05297 Extend Matter select entity (#122513) 2024-07-31 20:36:43 +02:00
Marcel van der VeldtandGitHub 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 VeldtandGitHub d7c713d18d Fix typo in Matter lock platform (#122536) 2024-07-24 20:12:51 +02:00
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 VeldtandGitHub 632dec614a Fix several issues with the Matter Generic Switch Cluster (#122191) 2024-07-23 10:10:32 +02:00
Marcel van der VeldtandGitHub 3d3bc1cab1 Revert "Add mac address as connection for matter device (#121257)" (#122133) 2024-07-18 17:38:30 +02:00
Björn EbbinghausandGitHub 2723ab3b27 Add mac address as connection for matter device (#121257) 2024-07-16 00:54:16 +02:00
Marcel van der VeldtandGitHub 42003ae5ac Matter lock state follow-up (#121669) 2024-07-10 11:20:26 +02:00
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