Commit Graph

384 Commits (e1394d720fc60dbea43dd68d2dfe78a7acb143c5)

Author SHA1 Message Date
TheJulianJES f740312247
Fix some typos in ZHA comments (#84881)
* Fix copy paste errors

* Fix "setup/set up" usage

* Fix typo

* Fix comment

* Fix copy paste errors

* Remove space at end of comment

* Remove double word

* Fix copy paste errors

* Fix typos

* Apply review suggestion

* Upper-case zha (to ZHA) everywhere

* Review: fix "over rules"

* Review: most/more
2023-01-02 00:20:59 -05:00
Maciej Bieniek a8f09b4063
Round illuminance value in ZHA integration (#84500) 2022-12-23 13:24:15 +01:00
Erik Montnemery a6217ca9b9
Improve error message when an automation fails to validate (#83977) 2022-12-21 23:20:50 +01:00
Erik Montnemery 774ebc760c
Ignore certain device trigger validation errors (#83972) 2022-12-14 16:41:11 +01:00
puddly 7f96fbb035
Bump ZHA dependencies (#82999) 2022-11-30 20:56:07 +01:00
Erik Montnemery b7652c78ee
Add options flow to enable multiprotocol support on sky connect (#82525) 2022-11-29 16:34:55 -05:00
Marc Mueller 63d519c1a8
Spelling updates (#82867) 2022-11-28 16:51:43 +01:00
Erik Montnemery be7e76f302
Migrate ZHA when enabling multi-PAN support on HA Yellow (#82213)
* Migrate ZHA when enabling multi-PAN support on HA Yellow

* Refactor BaseZhaFlow.async_step_maybe_confirm_ezsp_restore

* Change data passed to ZHA to initiate migration

* Catch errors during ZHA migration

* Fix ZhaMigrationHelper.async_prepare_yellow_migration return value

* Improve test coverage

* Improve test coverage

* Fix spelling

* Rename some none HA yellow specifics

* Rename again

* Increase number of migration retries + refactor

* Suppress OperationNotAllowed when reloading

* Adjust tests
2022-11-22 11:17:23 +01:00
puddly dfed57ed4d
Bump ZHA dependencies (#82509)
* Bump ZHA dependencies

* Use the corrected `TypeValue` keyword argument name in unit tests
2022-11-21 19:39:34 -05:00
Erik Montnemery bb64b39d0e
Minor refactor of zha config flow (#82200)
* Minor refactor of zha config flow

* Move ZhaRadioManager to a separate module
2022-11-16 17:13:23 +01:00
David F. Mulcahey ebffe0f33b
Fix ZHA configuration APIs (#81874)
* Fix ZHA configuration loading and saving issues

* add tests
2022-11-13 08:30:16 -05:00
puddly 74357bef15
Use a unique ID for the Yellow ZHA hardware discovery (#81523)
* Set unique ID for hardware discovery

* Use the provided `name` for discovered hardware
2022-11-07 11:28:28 -05:00
David F. Mulcahey d1fd141e8c
Bump ZHA quirks and associated changes (#81587) 2022-11-07 12:28:59 +01:00
David F. Mulcahey 83c6a7e18b
Fix invalid min and max color temp in bad ZHA light devices (#81604)
* Fix ZHA default color temps

* update test
2022-11-05 08:40:28 -04:00
puddly b8edc86500
Handle sending ZCL commands with empty bitmap options (#81051)
Handle sending commands with empty bitmaps
2022-10-26 21:29:48 -04:00
Julian Löhr 6795627734
Add ZHA StartUpColorTemperature configuration entity (#80853)
* Add ZHA start up color temperature entity

* Use device reported min max values

* Add color number test

* Fix code style
2022-10-23 18:46:47 -04:00
TheJulianJES b4a203c3c7
Add friendly name to ZHA identify button (#80446) 2022-10-16 19:57:24 -04:00
David F. Mulcahey d75e449c52
Add ability to convert ZCL schemas to vol schemas to ZHA (#79908)
* try serializing cluster command schemas

* use min and max value from zigpy type

* different type assignments

* initial command execution changes

* cleanup

* cleanup and typing

* typing

* typing

* add tests

* mypy

* handle raw values too

* check for None responses

* make backwards compatible

* update yaml for svc change
2022-10-14 08:15:10 -04:00
David F. Mulcahey 20d71a869e
Add friendly entity names for ZHA sensors (#80035)
* Add friendly entity names for ZHA sensors

* lowercase 2nd word
2022-10-10 15:40:42 -04:00
TheJulianJES 3126762707
Add friendly name to ZHA config entities (#79926)
* Add friendly name to ZHA config entities

* Follow HA capitalization conventions

* Change from "Start-up level" to "Start-up current level"

* Remove siren select friendly names (temporarily)

* Change tests to expect new entity ids

* Re-add siren select friendly names

* Change siren tests to expect new entity ids
2022-10-09 09:11:42 -04:00
puddly 2dab9073fe
ZHA radio migration: reset the old adapter (#79663) 2022-10-06 14:02:24 -04:00
David F. Mulcahey 2ed48a9b28
Add configuration entities and device actions for Inovelli Blue Series switch to ZHA (#79106)
* Add Inovelli configutation entities to ZHA

* add device actions

* fix attribute name collision

* add device action tests

* disable remote protection per Inovelli request

* expect_reply to false

* update test for expect_reply change

* inovelli feedback

* translation keys and strings

* clean up numbers

* prevent double events

* remove individual LED defaults per inovelli

* redundant check

* update test
2022-09-28 14:22:39 -04:00
epenet 0d696b84b2
Cleanup root component imports in tests (#78893) 2022-09-21 06:57:41 -10:00
epenet 4f31f28e67
Cleanup SourceType in tests (#78809) 2022-09-20 10:50:07 -04:00
epenet 25b1dfb53a
Cleanup EntityCategory in tests (#78808) 2022-09-20 10:49:44 -04:00
epenet 7bc2712142
Adjust root-import in tests (#78761)
* Adjust root-import in tests

* Adjust diagnostics

* Adjust button

* Adjust select

* Adjust device_tracker

* Adjust camera

* Adjust humidifier

* Adjust media_source

* Adjust update

* Adjust siren

* Adjust number

* Adjust alarm_control_panel

* Adjust notify

* Adjust sensor

* Adjust switch

* Revert anthemav

* Don't adjust demo humidifier
2022-09-19 15:22:23 +02:00
epenet e9f55f4e54
Apply hass-relative-import to tests (s-z) (#78733) 2022-09-19 09:51:31 +02:00
David F. Mulcahey 9d47160e68
Fix sengled bulbs in ZHA (#78315)
* Fix sengled bulbs in ZHA

* fix tests

* update discovery data
2022-09-12 15:37:11 -04:00
puddly f19af72895
Bump ZHA dependencies (#78201) 2022-09-10 13:56:01 -04:00
puddly 4076f8b94e
Fix ZHA lighting initial hue/saturation attribute read (#77727)
* Handle the case of `current_hue` being `None`

* WIP unit tests
2022-09-07 11:10:24 -04:00
puddly 73e26b71b1
Migrate ZHA lighting to use newer zigpy ZCL request syntax (#77676)
* Migrate unit test to use more command definition constants

* Use keyword argument syntax for sending ZCL requests

* Ensure all ZHA unit tests pass
2022-09-01 15:32:32 -04:00
puddly f8fc90bc07
Add ZHA config flow single instance checks for zeroconf and hardware (#77612) 2022-08-31 12:41:41 -04:00
puddly 4b24370549
ZHA Yellow config flow fixes (#77603) 2022-08-31 11:21:37 -04:00
puddly f78b39bdbf
ZHA backup/restore config flow (#77044) 2022-08-30 12:40:16 -04:00
puddly 2e8d598795
Allow ZHA startup to fail instead of raising `ConfigEntryNotReady` (#77417)
* Retry startup within ZHA instead of raising `ConfigEntryNotReady`

* Add unit tests

* Disable pylint warning for intentional broad except
2022-08-29 11:42:01 -04:00
Erik Montnemery 6d49362573
Revert rename of confirm step in zha config flow (#77010)
* Revert rename of confirm step in zha config flow

* Update tests
2022-08-19 09:33:57 +02:00
Erik Montnemery bb74730e96
Add support for USB dongles to the hardware integration (#76795)
* Add support for USB dongles to the hardware integration

* Update hardware integrations

* Adjust tests

* Add USB discovery for SkyConnect 1.0

* Improve test coverage

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Fix frozen dataclass shizzle

* Adjust test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-08-18 21:52:12 +02:00
Erik Montnemery 21ebd1f612
Simplify ZHA config entry title (#76991) 2022-08-18 10:58:44 -04:00
Erik Montnemery 88a5b90489
Minor improvement of zha test (#76993) 2022-08-18 16:52:41 +02:00
David F. Mulcahey 3937ac2ca3
Track code coverage for ZHA sensor entities (#76617)
* Track code coverage for ZHA sensor entities

* remove correct entry
2022-08-11 21:13:27 -04:00
puddly 8e2f0497ce
ZHA network backup and restore API (#75791)
* Implement WS API endpoints for zigpy backups

* Implement backup restoration

* Display error messages caused by invalid backup JSON

* Indicate to the frontend when a backup is incomplete

* Perform a coordinator backup before HA performs a backup

* Fix `backup.async_post_backup` docstring

* Rename `data` to `backup` in restore command

* Add unit tests for new websocket APIs

* Unit test backup platform

* Move code to overwrite EZSP EUI64 into ZHA

* Include the radio type in the network settings API response
2022-07-28 11:24:31 -04:00
TheJulianJES 129b42cd23
Fix ZHA light brightness jumping around during transitions (#74849)
* Moved color commands to a new ``async_handle_color_commands`` method

* Fixed tests

* Fix brightness jumping around during transitions

* Add config option to disable "Enhanced brightness slider during light transition"
2022-07-26 20:03:17 -04:00
TheJulianJES b8ae883f18
Set min transition time for Sengled lights in ZHA groups (#75644)
* Set min transition time for Sengled lights in ZHA groups

* Change test to expect correct min transition time for group with Sengled light

* Fix turn_off with transition 0 for Sengled lights
2022-07-25 08:13:01 -04:00
TheJulianJES 975378ba44
Add ZHA config option for "enhanced light transition from an off-state" (#75151)
* Add ZHA config option for "enhanced light transition from an off-state"

* Default option to disabled

* Always disable "enhanced light transition" for ZHA LightGroups

* Rename _enhanced_light_transition to _zha_config_enhanced_light_transition

* Remove LightGroup check, as config option always disables for groups

* Remove duplicated line

* Remove duplicated line

* Move ZHA config transition line below other config line

* Renamed comments of renamed variable in tests
color_provided_while_off -> new_color_provided_while_off

* Enable "enhanced light transitions" for testing
2022-07-21 19:46:16 -04:00
David F. Mulcahey 04c6b9c519
ZHA light entity cleanup (#75573)
* use base class attributes

* initial hue and saturation support

* spec is 65536 not 65535

* fixes

* enhanced current hue

* fix comparison

* clean up

* fix channel test

* oops

* report enhanced current hue
2022-07-21 17:54:50 -04:00
David F. Mulcahey 6f5e4ca503
Fix ZHA light turn on issues (#75220)
* rename variable

* default transition is for color commands not level

* no extra command for groups

* don't transition color change when light off -> on

* clean up

* update condition

* fix condition again...

* simplify

* simplify

* missed one

* rename

* simplify

* rename

* tests

* color_provided_while_off with no changes

* fix missing flag clear

* more tests for transition scenarios

* add to comment

* fix comment

* don't transition when force on is set

* stale comment

* dont transition when colors don't change

* remove extra line

* remove debug print :)

* fix colors

* restore color to 65535 until investigated
2022-07-18 10:20:49 -04:00
puddly 2986a2f01b
Identify the active ZHA coordinator device in API responses (#74739)
* Remove deprecated zigpy properties

* Create a `ZHADevice.is_active_coordinator` property

* Add `@puddly` to the ZHA code owners

* Create a `ZHAGateway.coordinator_ieee` shortcut property
2022-07-11 14:19:30 -04:00
David F. Mulcahey 6f28e4bfee
Migrate ZHA to new entity naming standard (#74846) 2022-07-10 13:17:59 -07:00
David F. Mulcahey edaafadde0
Remove ZHA device storage (#74837)
* Remove ZHA device storage

* remove storage file if it exists
2022-07-10 13:46:22 -04:00
Alexei Chetroi 240a83239a
Correctly handle device triggers for missing ZHA devices (#74894) 2022-07-10 13:35:45 -04:00
Franck Nijhof a6244eea28
Search/replace RESULT_TYPE_* by FlowResultType enum (#74656) 2022-07-07 21:28:18 +02:00
David F. Mulcahey 269fa14721
Fix bad conditional in ZHA logbook (#74277)
* Fix bad conditional in ZHA logbook

* change syntax
2022-06-30 23:59:35 +03:00
David F. Mulcahey 8bcccb17f9
Fix ZHA events for logbook (#74245) 2022-06-30 10:03:39 -07:00
Arne Mauer fa678d0408
New sensors and manufacturer cluster to support IKEA STARKVIND (with Quirk) (#73450)
* Add Particulate Matter 2.5 of ZCL concentration clusters to ZHA component

* Fixed black and flake8 test

* New sensors and manufacturer cluster to support IKEA STARKVIND (with quirk)

* Isort and codespell fixes

* Instead using the fan cluster, i've created a Ikea air purifier cluster/channel that supports all sensors and fan modes

* update sensors to support the new ikea_airpurifier channel

* Fix black, flake8, isort

* Mylint/mypy fixes + Use a TypedDict for REPORT_CONFIG in zha #73629

* Last fix for test_fan.py

* fix fan test

Co-authored-by: David F. Mulcahey <david.mulcahey@me.com>
2022-06-29 11:44:40 -04:00
J. Nick Koston 4bc5d7bfed
Speed up zha tests (#73627) 2022-06-17 11:41:10 -05:00
Erik Montnemery e3b6c7a66f
Add Home Assistant Yellow integration (#73272)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-06-13 23:25:11 -07:00
David F. Mulcahey a5dc7c5f28
Add logbook describe event support to ZHA (#73077) 2022-06-07 06:49:40 -10:00
Erik Montnemery 5ca82b2d33
Migrate zha light to color_mode (#70970)
* Migrate zha light to color_mode

* Fix restoring color mode

* Correct set operations

* Derive color mode from group members

* Add color mode to color channel

* use Zigpy color mode enum

Co-authored-by: David Mulcahey <david.mulcahey@me.com>
2022-05-27 15:38:22 +02:00
rforro db815a7504
ZHA Add entities for Lidl water valve quirk (#72307)
* init

* added timer number entity

* added write attribute button entity

* fixed missed errors

* minor changes & fixed failing test

* removed icon

* unit and icons
2022-05-24 19:56:03 -04:00
rforro 0c2f22d478
Add configurable zha switch entity (#71784)
* add configurable zha switch entity

* final zha configurable switch

* fix codecov

* replaced errorneous cluster with local quirk

* test fix

* minor changes
2022-05-24 19:43:35 -04:00
David F. Mulcahey 57c94c0350
Add additional configuration entities for ZHA lights (#70597)
* Add more configuration entities for ZHA lights

* fix typing circular imports

* enhance filter in entity factory

* fix read attribute chunking

* add test

* add exception test
2022-05-16 13:04:32 -04:00
Fairesoimeme 1d63c2069e
Add ZiGate device on automatic integration USB and ZEROCONF (#68577)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-05-08 18:27:09 -05:00
David F. Mulcahey 1eb5316d89
Remove unnecessary update_before_add from ZHA (#71010)
* Additional streamlining for ZHA entity init

* fix tests
2022-04-28 20:57:26 +02:00
David F. Mulcahey 27a5851ee2
Fix flaky ZHA tests (#70956) 2022-04-27 14:52:32 -10:00
David F. Mulcahey 361119d5c1
Improve ZHA startup performance (#70111)
* Remove semaphores and background mains init

* additional logging

* correct cache usage and update tests
2022-04-27 08:24:26 -07:00
epenet 8745401af5
Use climate enums in zha (#70754) 2022-04-26 10:09:13 +02:00
David F. Mulcahey 9b8d217b0e
Implement support for start_up_on_off in ZHA (#70110)
* Implement support for start_up_on_off

fix discovery issues

remove cover change

* add tests
2022-04-24 12:50:06 -04:00
glcos 8a73381b56
ZHA ElectricalMeasurement cluster add Frequency and Power Factor (#59417)
* Add files via upload

* Add Frequency and PF

* Add Frequency and PF

Add Frequency and PF

* Add Frequency and PF

Add Frequency and PF

* Add Frequency and PF

Add Frequency and PF

* Add Frequency and PF

Add Frequency and PF

* Update homeassistant/const.py

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

* Update homeassistant/components/zha/sensor.py

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

* Update homeassistant/const.py

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

* Fix rebase

* rebase cleanup

* fix stale doc string

* missed this again

* isort

* update tests

* update discovery test data

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: David Mulcahey <david.mulcahey@me.com>
2022-04-24 12:42:52 -04:00
Erik Montnemery 5e50a8abd5
Mark device triggers from hidden or auxiliary entities as secondary (#70335)
* Mark device triggers from hidden or auxiliary entities as secondary

* Update tests
2022-04-21 08:01:32 +02:00
Erik Montnemery 64381acbaf
Mark device actions from hidden or auxiliary entities as secondary (#70278) 2022-04-20 10:48:46 -07:00
David F. Mulcahey 5f37f58673
Add diagnostics support for ZHA (#69756) 2022-04-11 22:35:29 -07:00
puddly fab1f29a29
Move new `zha_event` command parameters into a `params` key to ensure backwards compatibility (#69631) 2022-04-07 15:33:14 -07:00
puddly 0f6296e4b5
Bump zigpy to 0.44.1 and zha-quirks to 0.0.69 (#68921)
* Make unit tests pass

* Flip response type check to not rely on it being a list
https://github.com/zigpy/zigpy/pull/716#issuecomment-1025236190

* Bump zigpy and quirks versions to ZCLR8 releases

* Fix renamed zigpy cluster attributes

* Handle the default response for ZLL `get_group_identifiers`

* Add more error context to `stage failed` errors

* Fix unit test returning lists as ZCL request responses

* Always load quirks when testing ZHA

* Bump zha-quirks to 0.0.69
2022-03-31 11:26:27 -04:00
J. Nick Koston 723dcbafca
Complete fan speed transition from #59781 (#67743) 2022-03-09 10:38:12 +01:00
rforro cbdfff25ca
Presets for single ZONNSMART TRV (#67157)
* Presets for single ZONNSMART TRV

* added zonnsmart climate tests

* black8 fix
2022-02-24 08:48:15 -05:00
Joshua Roys 9134e5c844
Get discovered zeroconf IPv6 addresses (#65462) 2022-02-11 16:46:17 -06:00
epenet 8234625d30
Use Domain not Platform on test service calls (#65508)
* Adjust atag

* adjust broadlink

* Adjust onewire

* Adjust plex

* Adjust renault

* Adjust tasmota

* Adjust zha

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-03 14:16:35 +01:00
rforro 4e376181f5
Expose entity device temperature from cluster in ZHA (#64189)
* expose device temperature sensor in frontend

* fixes after runnig test

* specified device temp channel

* add dev temp int test device aqara water

* black fix
2022-01-23 09:37:01 -05:00
David F. Mulcahey 6a685f0315
Add select entities to ZHA (#62718) 2022-01-04 13:40:29 +01:00
Alexei Chetroi b54f2c9487
Don't throw when a Zigbee device has an unknown ZCL cluster (#62964)
* Fix channel name for clusters with None ep_attribute

* Correctly generate entity name based on channel names
2021-12-28 21:04:11 -05:00
David F. Mulcahey 0062676f61
Add lqi and rssi sensors back to ZHA (#62716)
* update device list

* Only 1 identify button per device

* Add LQI and RSSI sensors to ZHA

* refactor entity creation filter

* update device list and update discover test

* fix reference

* code reduction

* walrus

* parens

* simplify
2021-12-24 16:48:02 -05:00
David F. Mulcahey 41531b528e
Add identify buttons to ZHA devices (#61495)
* Identify buttons

* clean up and add test

* use Platform

* update device list

* Only 1 identify button per device

* cleanup press until the need arises for the branch

* make imports relative
2021-12-23 17:52:42 -05:00
Ville Skyttä ea58432721
Use DeviceAutomationType in tests/components/[s-z]* (#62450) 2021-12-21 11:56:00 +01:00
David F. Mulcahey 94324cebea
Update HVAC action handling in ZHA climate devices (#61460)
* Update HVAC action handling in ZHA climate devices

* fix class name

* align with class name changes

* get the correct sensor entity for state assertions
2021-12-12 12:11:37 -05:00
Alexei Chetroi 997809c6c4
Refactor ZHA entity matching process (#60063)
* Group multi-matches by channels

* Group multi-matched by explicit groups

* Registryless AnalogInput and PowerConfiguration

* Refactor single cluster sensor registry

* Refactor single cluster cover and lock registry

* Refactor single cluster binary_sensor registry

* Pylint
2021-12-12 07:52:49 -05:00
David F. Mulcahey abbde8f128
Clean up state class and device class usage in ZHA (#61049)
* Clean up sensor and device class usage in ZHA

* additional cleanup

* Use EntityCategory
2021-12-11 11:51:24 -05:00
David F. Mulcahey a17031630f
Use Platform enum in ZHA (#61016) 2021-12-11 11:06:39 -05:00
David F. Mulcahey 5fd4c37427
Fix missing test assertion in ZHA siren test (#61009) 2021-12-04 13:50:55 -05:00
David F. Mulcahey 02b5449648
Add support for siren entities in ZHA (#60920) 2021-12-03 19:23:57 +01:00
epenet f292691b7b
Use SsdpServiceInfo for ssdp tests (part 3) (#60334)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-25 11:46:20 -06:00
epenet 3bf12fcd29
Use UsbServiceInfo and ZeroconfServiceInfo in zha (#60266)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-24 07:50:45 -06:00
Robin Dupont 4598353315
Add apparent_power for ZHA ElectricalMeasurement (#59857)
* Add apparent_power for ZHA ElectricalMeasurement

* Add apparent_power to REPORT_CONFIG

* update device list with apparent_power attribute

* update test decorators for apparent_power

* remove comments

* Add test for apparent_power in test_sensor
2021-11-18 19:43:08 -05:00
Piotr Majkrzak 80f1e8770a
Add Water Content Measurement clusters (#59300)
* Add Water Content Measurement clusters

* Fix typo

* Add device test

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2021-11-08 13:13:35 -05:00
David F. Mulcahey dd1154ad08
Bump ZHA quirks version to 0.0.63 (#58478) 2021-10-26 20:22:18 +02:00
Paulus Schoutsen a4d9019ffc
Refactor persistent notification to no longer route all data via a service (#57157)
* Convert persistent notification tests to async

* Create/dismiss persistent notifications in exposed functions, not service calls

* Fix notify persistent_notification

* Remove setting up persistent_notification

* Drop more setups

* Empty methods

* Undeprecate sync methods because too big task

* Fix setup clearing notifications

* Fix a bunch of tests

* Fix more tests

* Uno mas

* Test persistent notification events

* Clean up stale comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-10-07 12:58:00 +02:00
Alexei Chetroi 723596076d
Add ZHA HVAC Action sensor (#57021)
* WIP

* Refactor multi-entity matching

Eliminate the notion on primary channel.

* Cleanup climate tests

* Refactor multi-entity match

Remove the "primary channel" in multiple entity matches

* Cleanup

* Add HVAC Action sensor

* Add a "stop_on_match" option for multi entities matches

Nominally working HVAC state sensors

* Add id_suffix for HVAC action sensor

* Fix Zen HVAC action sensor

* Pylint
2021-10-04 12:57:58 -04:00
Alexei Chetroi d0827a9129
ZHA support for additional entities on ElectricalMeasurement ZCL cluster (#56909)
* Add electrical measurement type state attribute.

* Add active_power_max attribute

* Skip unsupported attributes on entity update

* Fix tests

* Create sensor only if the main attribute is supported

* Refactor ElectricalMeasurement sensor to use attr specific divisor and multiplier

* Multiple entities for electrical measurement cluster

* Update discovery tests

* Sensor clean up

* update tests

* Pylint
2021-10-02 21:57:49 -04:00
Alexei Chetroi dbba2c4afe
Add "Summation Delivered" Sensor for SmartEnergy metering ZHA channel (#56666) 2021-09-29 09:35:20 -07:00
Alexei Chetroi a5d405700c
ZHA channel ZCL attributes initialization (#56476)
* Add dict of attributes to initialize

* Refactor get_attributes() method

Read 5 attributes at the time.

* Add ZCL_INIT_ATTRS attribute to base Zigbee channel

* Update tests and general clusters

* Update channels to use ZCL_INIT_ATTRS

* Update channels to use ZCL_INIT_ATTRS

* Fix tests

* Refactor async_initialize() to be a retryable request

* Maky pylint happy again
2021-09-22 11:34:30 -04:00
Alexei Chetroi 5b0e00a74b
Refactor ZHA HVAC thermostat channel (#56238)
* Refactor HVAC channel to use zigpy cached attributes

* Allow named attributes in ZHA test attribute reports

* Let attribute write to update cache

* WIP Update tests

* Cleanup
2021-09-17 15:17:34 -04:00
Alexei Chetroi c6888e4faf
Refactor ZHA tests (#55844)
* Replace ZHA tests FakeDevice

* Refactor ZHA tests to use zigpy devices and endpoints

* Use common consts for zigpy device mocks

Use the same dict key names for device signature mocks as zha quirks.

* Use const for test device list

* Update tests/components/zha/common.py
2021-09-06 19:00:06 -04:00
puddly 6895081595
Use `async_update_entry` in config unit test instead of modifying `data` (#55855) 2021-09-06 16:57:59 -04:00
J. Nick Koston eba9b61011
Fix exception during rediscovery of ignored zha config entries (#55859)
Fixes #55709
2021-09-06 13:35:24 -07:00
puddly e671ad41ec
Replace zigpy-cc with zigpy-znp (#55828)
* Replace zigpy-cc with zigpy-znp in a ZHA config migration

* Fix failing unit tests
2021-09-06 09:50:54 -04:00
Witold Sowa 8565821394
ZHA: Added support for ZigBee Simple Sensor device and Binary Input c… (#55819)
* ZHA: Added support for ZigBee Simple Sensor device and Binary Input cluster

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2021-09-06 01:41:57 -04:00
Alexei Chetroi aa6cb84b27
Optimize ZHA ZCL attribute reporting configuration (#55796)
* Refactor ZCL attribute reporting configuration

Configure up to 3 attributes in a single request.

* Use constant for attribute reporting configuration

* Update tests

* Cleanup

* Remove irrelevant for this PR section
2021-09-05 17:45:08 -04:00
J. Nick Koston d59ea5329e
Abort zha usb discovery if deconz is setup (#55245)
* Abort zha usb discovery if deconz is setup

* Update tests/components/zha/test_config_flow.py

* add deconz domain const

* Update homeassistant/components/zha/config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2021-08-26 10:00:32 -04:00
J. Nick Koston d4fa625a7f
Defer zha auto configure probe until after clicking configure (#55239) 2021-08-26 09:59:41 -04:00
Alexei Chetroi 289734c748
Update ZHA config entry radio detection (#55128) 2021-08-24 15:25:31 -05:00
Alexei Chetroi 2927dcd809
Use a debouncer when updating ZHA group state (#53263) 2021-08-24 10:09:36 -07:00
J. Nick Koston ce0a42a407
Fix updating device path from discovery in zha (#55124) 2021-08-23 22:36:24 -05:00
J. Nick Koston c609236a63
Move get_serial_by_id and human_readable_device_name to usb (#54968) 2021-08-21 07:24:21 -05:00
J. Nick Koston 8796eaec81
Add support for USB discovery to ZHA (#54935)
* Add USB discovery support to ZHA

* dry

* dry

* Update homeassistant/components/zha/config_flow.py

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

* black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 20:42:23 -05:00
J. Nick Koston 4bde4504ec
Add api to device_automation to return all matching devices (#53361) 2021-08-10 14:21:34 -05:00
Alexei Chetroi 505dd500cb
Bump up ZHA dependencies (#53472)
* Bump up ZHA dependencies

* Fix ZHA WS API tests
2021-07-25 22:09:40 -04:00
Alexei Chetroi c9ae141eab
Mark ZHA Light methods as a callbacks (#53170)
* ZHA Light.set_level is safe to run in the loop

* Fix tests.
2021-07-20 09:33:45 +03:00
Ville Skyttä 470f2dd73f
Upgrade pyupgrade to 2.21.2, apply its changes (#52987) 2021-07-19 10:46:09 +02:00
puddly 987c7a289a
Update ZHA to support zigpy 0.34.0 device initialization (#52610)
* Handle `None` node descriptors

* Skip loading uninitialized devices

* Fix unit test incorrectly handling unset cluster `ep_attribute`

* Revert filtering devices by status during startup
2021-07-13 19:31:17 +02:00
Alexei Chetroi 8e846164a4
Bump up ZHA dependencies (#52374)
* Bump up ZHA dependencies

* Fix broken tests

* Update tests/components/zha/common.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-01 14:05:55 -04:00
puddly c404a196c2
Allow creating ZHA groups with specific IDs (#50781) 2021-06-27 15:21:15 -04:00
Ville Skyttä 7d03b02192
Spelling fixes (#51642) 2021-06-11 13:35:03 +02:00
astronaut ceadb0cba0
Add gui config option consider device unavailable (#51218)
* Add gui config option consider device unavailable

* Update tests
2021-05-29 19:13:09 -04:00
Alexei Chetroi 345873f94f
Don't bind all clusters unconditionally (#49793) 2021-04-27 20:25:34 -04:00
David F. Mulcahey a644c2e8ba
Add alarm control panel support to ZHA (#49080)
* start implementation of IAS ACE

* starting alarm control panel

* enums

* use new enums from zigpy

* fix import

* write state

* fix registries after rebase

* remove extra line

* cleanup

* fix deprecation warning

* updates to catch up with codebase evolution

* minor updates

* cleanup

* implement more ias ace functionality

* cleanup

* make config helper work for supplied section

* connect to configuration

* use ha async_create_task

* add some tests

* remove unused restore method

* update tests

* add tests from panel POV

* dynamically include alarm control panel config

* fix import

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2021-04-27 10:58:59 -04:00
David F. Mulcahey b91d2be00b
Better ZHA device reconfiguration (#49672)
* initial take

* cleanup

* fix mock for configure_reporting
2021-04-27 10:04:22 -04:00
Alexei Chetroi 4a6bb96a0f
Stop fast polling of a Zigbee device after a check-in command (#49685)
* Stop fast polling after a check-in

* Update tests
2021-04-25 21:15:04 -04:00
Ville Skyttä 153d6e891e
Use config_entries.SOURCE_* constants (#49631) 2021-04-25 11:27:40 +02:00
Alexei Chetroi 6204765835
Implement Ignore list for poll control configuration on Ikea devices (#48667)
Co-authored-by: Hmmbob <33529490+hmmbob@users.noreply.github.com>
2021-04-04 21:21:47 -07:00
David F. Mulcahey 4dc885dcc3
Add discovery for Tube's Zigbee coordinators to ZHA (#48420)
* add discovery for tube zigbee gateways

* update discovery

* add test

* another test

* develop translations

* review comments
2021-03-30 11:13:26 -04:00
Jesse Campbell 67791fa4df
ZHA lock code services and events (#47208)
* ZHA lock code services and events

* ZHA Locks: A few more services, use the library functions

* Catch exception when command id is not in command list

* Add tests for lock code services

* Add tests for enable/disable

* Better document code slot ID shifting

* Simplify cluster commands
2021-03-27 15:23:40 -04:00
Franck Nijhof ad13a9295e
Merge multiple context managers in tests (#48146) 2021-03-27 09:17:15 +01:00
Martin Hjelmare 9f07ca069d
Fix zha manual flow test (#48317) 2021-03-25 09:19:32 -04:00
xonestonex 9739707f62
Preset support for MOES thermostat valves (#48178) 2021-03-21 18:03:23 -04:00
Abílio Costa d49a436573
Delay ZHA group updates to ensure all members are updated first (#46861)
* Delay ZHA group updates to ensure all members are updated first

After turning off a group, when the first device reports "off", the
other devices may still be "on". If HA processes the group state update
quickly enough, the group will see that some devices are on, so the
state of the group will revert back to "on", and then "off" when the
remaining devices all report "off". That would cause the UI toggle to go
back and forward quickly, and automations that trigger with "state: on"
to fire when the user turns the group off.

This PR fixes that by delaying the group state update, giving time for
all the devices to report their states first.

* Fix zha group tests

* Reorder sleeping.

* Update tests/components/zha/common.py

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2021-03-16 17:38:16 -04:00
David F. Mulcahey 673ebe2911
Guard extra call in ZHA lights (#47832)
* add flag to prevent sending an on command

* fix condition

* add constant for default transition

* make groups work with new force on flag

* reorder light entity creation

* rearrange logic

* update test

* remove failed attempt at group light flag

* fix flag
2021-03-16 10:02:26 -04:00
Erik Montnemery b3fecb1c95
Update tests t-z to use async_get() instead of async_get_registry() (#47655) 2021-03-09 14:25:03 +01:00
tkdrob 3baeed3684
Clean up constants (#47323) 2021-03-05 19:08:04 +01:00
Quentame 198ecb0945
Uniformize platform setup (#47101)
* A platform is not a component

* Fix dynalite

* SUPPORTED_PLATFORMS --> PLATFORMS

* In tests

* In tests 2

* Fix SmartThings

* Fix ZHA test

* Fix Z-Wave

* Revert Z-Wave

* Use PLATFORMS const in ambient_station

* Fix ihc comment
2021-03-02 21:43:59 +01:00
Ville Skyttä dc880118a4
Lint suppression cleanups (#47248)
* Unused pylint suppression cleanups

* Remove outdated pylint bug references

* Add flake8-noqa config and note to run it every now and then

* Add codes to noqa's

* Unused noqa cleanups
2021-03-02 09:02:04 +01:00
J. Nick Koston 71586b7661
Cleanup inconsistencies in zha fan and make it a bit more dry (#46714)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-19 19:42:14 -10:00
J. Nick Koston b2df9aaaf1
Update zha to use new fan entity model (#45758)
* Update zha to use new fan entity model

* fixes

* tweaks for zha

* pylint

* augment test cover
2021-02-17 13:03:11 -05:00
Franck Nijhof 67392338da
Activate manual ZHA config flow when no comports detected (#46077) 2021-02-05 17:23:47 -05:00
Ville Skyttä 2fb3be50ab
Make DeviceRegistry.async_get_device connections arg optional (#44897)
* Make async_get_device connections Optional, default None

* Remove unnecessary async_get_device connections arg usages

Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.
2021-01-07 13:49:45 +01:00
Franck Nijhof 65cf2fcb6f
Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
Shulyaka 0b8529a472
Add zha AnalogOutput cluster support (#44092)
* Initial commit
* black
* isort
* Commit suggestion from code review
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>

* pylint
* removed entity cache for present_value
* fix discovery
* move write_attributes to channel
* write_attributes fix
* write_attributes yet another fix
* update_before_add=False
* mains powered test device
* removed test_restore_state
* flake8
* removed async_configure_channel_specific
* don't know what this patch does, removing
* test for async_update
* removed node_descriptor
* fix unit_of_measurement
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2020-12-14 15:32:45 -05:00
Alexei Chetroi 6253054fd4
Bump up dependencies on pyserial and pyserial-asyncio (#44089) 2020-12-10 20:41:31 +01:00
David F. Mulcahey 70133f2096
Fix ZHA switch group test (#44021) 2020-12-07 11:43:35 -05:00
Alexei Chetroi a1720fdd2b
Cleanup ZHA fan channel (#43973)
* Use zigpy cached values for ZHA Fan speed

* Disable update_before_add for ZHA fans

* Refresh state of the group

* Fix group tests
2020-12-05 18:24:49 -05:00
Alexei Chetroi 40e5634db3
Add ZHA Coordinator to LightLink cluster groups (#43959)
* Add coordinator to LighLink cluster groups

* Make pylint happy
2020-12-05 11:20:10 -05:00
Alexei Chetroi 032d569cd1
Add Analog cluster for Lumi plugs (#43817) 2020-12-01 14:34:07 -05:00