David F. Mulcahey
41014d73be
Allow ZHA device creation for the Zigbee coordinator ( #31032 )
...
* allow zha device creation for coordinator
* don't let coordinator get removed
* fix truthy issue in logical device type
2020-01-21 06:07:47 -05:00
David F. Mulcahey
078ce24e5a
Add logical Zigbee device type to ZHA device info ( #30954 )
...
* add device type to device info
* capitalize
* use zigpy logical device type
2020-01-18 19:27:55 -05:00
Alexei Chetroi
58520aa733
Add battery voltage state attribute for ZHA devices ( #30901 )
...
* Add battery voltage state attribute for ZHA devices.
* Pylint.
2020-01-17 19:43:02 -05:00
David F. Mulcahey
31996120dd
add multistate back ( #30889 )
2020-01-17 13:06:10 -05:00
Bill Durr
4d6417295b
ZHA cover device support ( #30639 )
...
* ZHA cover device support
* flake8
* flake8, black
* isort
* pylint
* more test
* use zigpy provided functions
* black
* handle command errors, better state handling
* black
* more test
* lint
* Update ZHA cover tests coverage.
Co-authored-by: Alexei Chetroi <lexoid@gmail.com >
2020-01-11 22:42:14 -05:00
David F. Mulcahey
6c89b6c5a2
Add Zigbee group binding to ZHA ( #30433 )
...
* initial group binding work
* add group cluster binding
2020-01-04 16:58:51 -05:00
Ville Skyttä
fa4fa30461
Various string cleanups ( #30435 )
...
* Remove some unnecessary string concatenations
* Replace some simple str.formats with f-strings
* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
David F. Mulcahey
ef8eefc7a0
Remove ZHA establish device mappings function ( #30423 )
...
* remove establish_device_mappings
* inline init
2020-01-02 21:21:09 -05:00
Alexei Chetroi
a3061bda60
Make the rest of ZHA platforms to use ZHA class registry ( #30261 )
...
* Refactor ZHA component tests fixtures.
* Add tests for ZHA device discovery.
* Refactor ZHA registry MatchRule.
Allow callables as a matching criteria.
Allow sets for model & manufacturer.
* Minor ZHA class registry refactoring.
Less cluttered strict_matching registrations.
* Add entities only if there are any.
* Migrate rest of ZHA platforms to ZHA registry.
* Pylint fixes.
2019-12-31 11:09:58 -05:00
Alexei Chetroi
36585558a5
Refactor ZHA channel logging ( #30259 )
...
Add channel.id property -- id unique for this the device only.
2019-12-28 15:41:55 -05:00
Alexei Chetroi
83768be814
Refactor ZHA binary_sensor ( #30138 )
...
* Refactor ZHA binary_sensor.
Use ZHA entity class registry for channel specific implementations.
* Remove registries.BINARY_SENSOR_TYPES dict.
* Address PR comments.
2019-12-22 13:24:57 -05:00
Alexei Chetroi
8e3dfbd5c9
Refactor ZHA electrical measurement sensor. ( #30130 )
2019-12-21 17:15:50 -05:00
Alexei Chetroi
fb3bb8220b
Implement ZHA entity classes registry ( #30108 )
...
* ZHA Entity registry.
Match a zha_device and channels to a ZHA entity.
* Refactor ZHA sensor to use registry.
* Remove sensor_types registry.
* Fix ZHA device tracker battery remaining.
* Remove should_poll/force_update attributes.
* Fix binary_sensor regression.
* isort.
* Pylint.
* Don't access protected members.
* Address comments and fix spelling.
* Make pylint happy again.
2019-12-21 16:26:58 -05:00
Alexei Chetroi
315d0064fe
Fix zha circular import ( #29802 )
...
* Refactor zha.core.helpers.
* Make zha isort-able.
* Const import reorg.
* Keep DATA_ZHA config key on entry unload.
* Cleanup ZHA config flow.
* isort.
* Add test.
2019-12-10 00:00:04 -05:00
David F. Mulcahey
1222aa8c56
Add ZHA group API ( #29641 )
...
* add skeleton to retrieve zigbee groups
* get single group
* add a group
* return group members with group
* add comment
* fix group members
* add function to add device to group
* add group members
* add remove from group method
* add api to remove members from group
* add remove groups method
* clean up group add and remove
* fix remove group
* fix remove groups
* add api to get only groupable devices
* change var init
* add tests
* address review comment
2019-12-09 14:50:04 -05:00
Bas Nijholt
6cc75fc6f3
Sort imports according to PEP8 for components starting with "Z" ( #29784 )
...
* use isort to sort imports for components starting with 'z'
* add skip to end of zha/core/channels/__init__.py
* put 'pylint: disable=import-error' at the right place
* remove the import of config_flow in zha/__init__.py
According to @balloob it is no longer needed.
* revert previous commit
* isort:skip homeassistant/components/zha/__init__.py completely
2019-12-09 18:54:54 +01:00
springstan
1ee8057662
Move imports to top for zha ( #29555 )
...
* Move imports to top for zha
* Move back some imports, add annotation for disabling import-outside-toplevel
* Move import config_flow before import api
2019-12-06 16:12:46 -05:00
Ville Skyttä
99c7608fb4
Lint config cleanups ( #28864 )
...
* Remove bunch of unneeded lint exclusions
* Use symbolic names instead of identifiers in pylint disables
* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
Alexei Chetroi
4ba2bd232c
Command arguments for issue_zigbee_cluster_commands. ( #28885 )
2019-11-20 08:34:06 -05:00
Abílio Costa
e60ae77f1b
Add ZHA service to issue group commands ( #28823 )
...
* add service to ZHA to issue group commands
* fix args
2019-11-19 19:49:09 -05:00
Ville Skyttä
d88ca0f5cb
Lint exclusions ( #28655 )
...
* Remove malformed pylint disable markers
* Remove some unused imports
* Remove some unneeded lint exclusions
* Remove more unneeded lint exclusions
* Add specific codes to all noqa's
2019-11-16 10:22:07 +01:00
Alexei Chetroi
fe7c45b363
Move remaining of ZHA imports to top level. ( #28071 )
...
* Move ZHA import to top level.
* ZHA tests: move imports to top level.
2019-10-21 19:30:56 -04:00
Alexei Chetroi
a0c50f4794
Leverage zigpy for IEEE address conversions ( #27972 )
...
* Refactor EUI64 conversions.
* Update ZHA dependencies.
* Update tests.
2019-10-21 13:14:17 -04:00
Ville Skyttä
761d7f21e9
Upgrade pylint ( #27279 )
...
* Upgrade pylint to 2.4.2 and astroid to 2.3.1
https://pylint.readthedocs.io/en/latest/whatsnew/2.4.html
https://pylint.readthedocs.io/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-1
https://pylint.readthedocs.io/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-2
* unnecessary-comprehension fixes
* invalid-name fixes
* self-assigning-variable fixes
* Re-enable not-an-iterable
* used-before-assignment fix
* invalid-overridden-method fixes
* undefined-variable __class__ workarounds
https://github.com/PyCQA/pylint/issues/3090
* no-member false positive disabling
* Remove some no longer needed disables
* using-constant-test fix
* Disable import-outside-toplevel for now
* Disable some apparent no-value-for-parameter false positives
* invalid-overridden-method false positive disables
https://github.com/PyCQA/pylint/issues/3150
* Fix unintentional Entity.force_update override in AfterShipSensor
2019-10-07 08:17:39 -07:00
Franck Nijhof
d4a67e3a30
Update documentation link URL for integrations (part2) ( #27117 )
2019-10-02 09:34:07 -07:00
David F. Mulcahey
b1a9fa47ca
Add device action support for ZHA ( #26903 )
...
* start implementing device actions
* rename file
* cleanup and add tests
* fix docstrings
* sort imports
2019-09-27 09:57:47 -07:00
Franck Nijhof
b1118cb8ff
Removes unnecessary else/elif blocks ( #26884 )
2019-09-24 13:53:03 -07:00
David F. Mulcahey
18873d202d
Add device automation support to ZHA ( #26821 )
...
* beginning ZHA device automations
* add cube
* load triggers from zigpy devices
* cleanup
* add face_any for aqara cube
* add endpoint id to events
* add cluster id to events
* cleanup
* add device tilt
* add test
* fix copy paste error
* add event trigger test
* add test for no triggers for device
* add exception test
* better exception tests
2019-09-24 08:54:41 -07:00
Alexei Chetroi
9c0fbfd101
Bump up ZHA dependencies ( #26746 )
...
* Update ZHA to track zigpy changes.
* Update ZHA dependencies.
* Update tests.
* Make coverage happy again.
2019-09-23 13:35:27 -04:00
David F. Mulcahey
62adff23f9
ZHA siren and warning device support ( #26046 )
...
* add ias warning device support
* use channel only clusters for warning devices
* squawk service
* add warning device warning service
* update services.yaml
* remove debugging statement
* update required attr access
* fix constant
* add error logging to IASWD services
2019-09-20 15:11:24 -04:00
David F. Mulcahey
1cea3a6abc
osram cluster ( #26555 )
2019-09-10 13:44:41 -07:00
David F. Mulcahey
4f3a2c0443
fix events for smartthings acceleration cluster ( #26557 )
2019-09-10 13:14:22 -07:00
David F. Mulcahey
fec6706bf7
use newly added is_server for cluster reporting ( #26533 )
2019-09-09 09:21:34 -04:00
David F. Mulcahey
5237bd3fd1
fix cluster configuration ( #26494 )
2019-09-07 10:39:56 -04:00
Ville Skyttä
33e1b44b3a
Use PEP 526 type annotations, add some type hints ( #26464 )
...
* Add some more type hints to helpers.event
* Change most type comments to variable types
* Remove some superfluous type hints
2019-09-07 09:48:58 +03:00
Franck Nijhof
dae6895a95
Use literal string interpolation in integrations X-Z (f-strings) ( #26395 )
2019-09-03 21:15:31 +02:00
David F. Mulcahey
25961df548
Fix ZHA state restore by always restoring last seen on devices ( #26271 )
...
* fix state restore by always restoring last seen
* cleanup
2019-08-29 12:44:53 -07:00
presslab-us
8e5d272b5f
Support formatting and scaling with ZHA Metering cluster ( #26201 )
...
* Support formatting and scaling with Metering cluster
* fix lint
* run black formatter
2019-08-26 23:16:54 -04:00
David F. Mulcahey
fafd228418
Refactor ZHA device initialized logic ( #25796 )
...
* refactor device initialized
* better names and update tests
* clean up last seen logic
* logging consistency
2019-08-09 18:52:47 -04:00
Alexei Chetroi
c3c45f8198
Manufacturer specific channel for SmartThings. ( #25739 )
...
* Manufacturer specific channel for SmartThings.
* Lint.
2019-08-06 20:59:18 -04:00
Alexei Chetroi
152a9eb466
Use more decorators for ZHA Core registries. ( #25737 )
...
* Move ZIGBEE_CHANNEL_REGISTRY to ZHA core registries.
* Refactor more ZHA Core registries to use decorator.
* Cleanup.
* Use relative imports for component.
* Flake8.
* Make pylint happy again.
2019-08-06 20:01:14 -04:00
Sébastien RAMAGE
5b02555255
Add zigate support to zha ( #25552 )
...
* Add zigpy-zigate support
* update requirements
* fix
* update
* fix flake8
* update requirements
* fix
* update
* add test to make codecov happy
* fix flake8
* Try to add test
* add test
* remove unneeded test
* exclude registries.py from coverage
exclude homeassistant/components/zha/core/registries.py since untestable
* Fix merge: black formatting and flake8.
2019-08-05 18:05:07 -04:00
Alexei Chetroi
8dbac9176e
Refactor ZHA Zigbee channel registry. ( #25716 )
...
* Update test to catch regression.
* Refactor ZHA Core channels.
Use channel decorator for Zigbee channel registry.
* Update tests.
* Pylint
2019-08-05 15:40:29 -06:00
David F. Mulcahey
b073d87e08
stagger device init to avoid flooding network ( #25709 )
2019-08-05 10:14:19 -04:00
David F. Mulcahey
20b54c22f7
don't mark devices unavailable without ping try ( #25710 )
2019-08-05 09:50:48 -04:00
David F. Mulcahey
ac5fcff1cd
fix unique id in cluster channels ( #25707 )
2019-08-05 08:47:42 -04:00
Alexei Chetroi
f7cfe908f7
Refactor ZHA Zigbee Cluster report configuration ( #25589 )
...
* Move ZCL report configs to ZHA core channels.
* Refactor ZCL report configuratopm and cluster binding.
* Tests for ZHA channel configuration.
* Update tests.
* Remove INPUT_BIND_ONLY_CLUSTER ZHA core registry.
We always need bind a cluster, but not always need to configure
attribute reporting. No reporting is done on ZCL "client" clusters.
* Lint
* Black
2019-08-04 18:20:03 -04:00
Alexei Chetroi
0c561aec4f
isort ZHA imports. ( #25660 )
2019-08-02 10:37:21 -04:00
Alexei Chetroi
77e4ff94fd
ZHA code cleanup. ( #25644 )
...
* isort ZHA imports.
* Sort zha channel registry.
* Sort ZHA core registry.
* Sort ZHA core consts.
2019-08-02 06:05:23 -04:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00