Commit Graph

174 Commits (2f2cdedddd3e01a8a12d64afacebda65915aba25)

Author SHA1 Message Date
Marcel van der Veldt f999266c9a
Add additional service to set advanced Hue scene options (#63035) 2022-01-04 21:39:08 -08:00
Marcel van der Veldt 055fb99938
Hue allow per-device availability override (#63025)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-12-30 20:46:52 -08:00
Marcel van der Veldt 497bfc1c8f
Normalize Hue colortemp if value outside of bounds (#62998) 2021-12-29 15:13:52 +01:00
Marcel van der Veldt c5bdf858a8
Fix short flash effect in Hue integration (#62988) 2021-12-29 14:21:38 +01:00
Christian Manivong 772428e70f
Round Hue transition to steps of 100ms (#62619)
* Adding round() to transition before firing turn_on, turn_off #62608
2021-12-23 15:08:24 +01:00
Marcel van der Veldt eb37668036
Fix Hue button events (#62669) 2021-12-23 14:24:37 +01:00
Ville Skyttä c5e6489475
Use DeviceAutomationType in tests/components/[h-l]* (#62441) 2021-12-20 22:18:53 +01:00
Ville Skyttä 5bf67cac66
Use RegistryEntryDisabler (#60436) 2021-12-15 23:25:40 +02:00
Marcel van der Veldt 01c8e5f49d
Fix turn_off with transition for grouped Hue lights (#61728)
* fix turn_off with transition for grouped hue lights

* add test
2021-12-14 11:24:37 -08:00
Marcel van der Veldt 438d19f72b
Fix Flash effect for Hue lights (#61733) 2021-12-13 16:27:58 -08:00
Marcel van der Veldt 4ad90b33c9
Fix Hue transition calculation (#61581) 2021-12-12 14:11:41 -08:00
Marcel van der Veldt 0abfc90870
Fix typo in Hue device triggers - use enum value (#61498) 2021-12-11 17:12:33 +01:00
Marcel van der Veldt 0d36b07d10
Small fix for device triggers and events on Hue integration (#61462) 2021-12-10 15:11:34 -08:00
Marcel van der Veldt 7c7df5bb51
Change check for existence of options flow (#61147)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-12-07 12:50:34 -08:00
Marcel van der Veldt 9e6e9774d1
Remove colon from default entity name in Hue integration (#61118) 2021-12-06 15:17:17 -08:00
Marcel van der Veldt bd8bba9e3f
Fix migration of entities of Hue integration (#61095)
* fix device name in log

* Fix Hue migration for all id versions

* fix tests

* typo

* change to bit more universal approach

* fix test again

* formatting
2021-12-06 08:24:59 -08:00
Marcel van der Veldt b98bc64604
Disable options flow for Hue V2 bridges (#61045) 2021-12-05 09:47:44 -08:00
Marcel van der Veldt 5d0cf4cb95
Fix tests for Hue integration (#60683)
* fix tests

make sure the migration code is not called in all other tests

* only patch v2 check where needed
2021-12-01 14:53:30 +01:00
Marcel van der Veldt 19b4cc7119
Hue handle device update (#60612) 2021-11-30 10:14:51 -08:00
epenet d75785d701
Use dataclass properties in hue discovery (#60598)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 16:36:35 +01:00
epenet 22bdd38583
Use SsdpServiceInfo for SOURCE_SSDP tests (part 4) (#60339)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-25 17:13:52 -06:00
epenet 31b033ac25
Update ZeroconfServiceInfo in tests (g-m) (#60217)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-23 09:42:38 -06:00
Erik Montnemery 49a27e12ad
Add support to entity registry for overriding device_class (#59985) 2021-11-22 08:38:06 -08:00
Marcel van der Veldt 4820acb897
Fix for deviceless entities in Hue integration (#59820) 2021-11-20 14:45:51 -08:00
epenet df3f3321f2
Use ZeroconfServiceInfo in hue (#59980)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-20 14:39:14 -08:00
Marcel van der Veldt e1e6925097
Refactor of Hue integration with full V2 support (#58996)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-11-16 11:59:17 -08:00
Paulus Schoutsen 4fe4e65e3e
Add entity category to Hue (#58011) 2021-10-19 12:29:43 +02:00
Christian Manivong 16b7375e60
Provide device_id in hue_event (#56982)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-10-13 20:20:38 +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
Paulus Schoutsen 32212651fe
Add zeroconf discovery to Hue (#55358)
* Add zeroconf discovery to Hue

* Add coverage for already exists case

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-12 20:00:51 -07:00
J. Nick Koston e6e8d7eded
Convert color temperature to visible color in lights (#55219) 2021-08-25 21:56:36 +02:00
Paulus Schoutsen 9fc96818df
Guard for unparsable date time (#55108) 2021-08-23 23:56:47 -07:00
Paulus Schoutsen 90cf94bb30
Bump Hue and only fire events for button presses (#53781)
* Bump Hue and only fire events for button presses

* Fix tests
2021-07-30 14:14:58 -07:00
Ville Skyttä 470f2dd73f
Upgrade pyupgrade to 2.21.2, apply its changes (#52987) 2021-07-19 10:46:09 +02:00
Paulus Schoutsen ee2c950716
Merge system options into pref properties (#51347)
* Make system options future proof

* Update tests

* Add types
2021-06-01 22:34:31 +02:00
Paulus Schoutsen 2976bbbbdd
Store Hue bridge in hass.data before setting up platforms (#50703)
* Store bridge in hass.data before setting up platforms

* Self
2021-05-20 09:08:23 +02:00
Paulus Schoutsen f762d3c748
Fire time changed event in Hue tests (#50783) 2021-05-17 22:03:47 +02:00
Paulus Schoutsen 56774a9f63
Hue: unique ID for groups + remote events (#50748) 2021-05-17 08:07:25 -07:00
Paulus Schoutsen 646af533f0
Add support for Hue push updates (#50591) 2021-05-14 13:39:57 -07:00
Franck Nijhof c68b259bd3
Cleanup of unused connection_class logic (#49865)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-04-29 23:12:58 +02:00
Ville Skyttä 153d6e891e
Use config_entries.SOURCE_* constants (#49631) 2021-04-25 11:27:40 +02:00
Paulus Schoutsen 28347e19c5
Fix Hue service being removed on entry reload (#48663) 2021-04-13 09:31:23 -07:00
J. Nick Koston 3f2ca16ad7
Index config entries by id (#48199) 2021-03-21 21:44:29 -07:00
Franck Nijhof 10535018cc
Improve HomeKit discovered Hue config flow (#47729) 2021-03-10 11:20:51 -08:00
Paulus Schoutsen 3ad4c26f98
Allow SSDP discovery modern Hue hubs (#47725) 2021-03-10 19:21:51 +01:00
Erik Montnemery 87e7cebd36
Update tests c-h to use registry async_get (#47652) 2021-03-09 14:31:17 +01:00
Franck Nijhof cc99fd5e32
Fix Hue scene overriding Hue default transition times (#47454) 2021-03-05 09:43:26 -08: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 7ab2d91bf0
Add suggested area to hue (#47056) 2021-02-26 10:35:09 -06:00
J. Nick Koston 6af67c9558
Ensure hue options show the defaults when the config options have not yet been saved (#47067) 2021-02-25 21:58:35 -08:00
Keith Lamprecht fcc14933d0
Add transitiontime to hue scene service (#45785) 2021-02-03 15:42:52 +01: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
Paulus Schoutsen b3be708db6
Add default config if not there (#43321)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-11-25 15:10:04 +01:00
Paulus Schoutsen 5dac3883b0
Stub light profiles (#42232) 2020-10-23 16:28:21 +02:00
Paulus Schoutsen 45345ddc05
Improve handling of ignored entries (#42148) 2020-10-21 10:49:09 +02:00
Philip Allgaier dde6305549
Cleanup unused loggers (components N-Z + tests) (#41982) 2020-10-16 21:24:08 -05:00
fnurgel 366006e0aa
Multiple Hue activate scene (#41353) 2020-10-11 21:01:49 +02:00
Franck Nijhof 8e4710a2a9
Remove deprecated Hue configuration (#39800) 2020-09-08 15:52:04 +02:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
Paulus Schoutsen 67b18aef5b
Fix Hue homekit discovery (#37694)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-07-10 09:37:36 -07:00
Franck Nijhof 235298a1b2
Add Hue manual bridge config flow + options flow (#37268)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-02 14:12:24 +02:00
Paulus Schoutsen 2af984917e
Use asynctest-mock in most places (#35109)
* Use asynctest-mock in most places

* Fix broken patch in pilight
2020-05-03 11:27:19 -07:00
Paulus Schoutsen ec47216388
Use built-in test helpers on 3.8 (#34901) 2020-04-30 13:29:50 -07:00
Paulus Schoutsen 454c5d824a
Attempt to fix CI (#34800) 2020-04-28 10:31:22 -07:00
Paulus Schoutsen 6fa29d6e2e
Fix Hue brightness values over 127 off by one (#34190) 2020-04-14 13:31:38 +02:00
Paulus Schoutsen ba8ae17487
Fix hue ct (#33791) 2020-04-08 11:31:41 +02:00
Franck Nijhof 528c7f4871
Removal of extraneous parenthesis in tests (#33670)
* Removal of extraneous parenthesis

* Process review suggestions

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-05 03:50:30 +02:00
Franck Nijhof 03dd92d51b
Use set literals in tests (#33669) 2020-04-05 02:20:09 +02:00
Paulus Schoutsen 0a3ec6fea1
Correct Hue mireds for lights (#33597) 2020-04-04 14:29:03 -07:00
Eugenio Panadero 71aaf2d809
Add device triggers for Hue remotes (#33476)
* Store device_registry entry id in HueEvent

so it can be retrieved with that key when using device triggers

* Add device_trigger for hue_event from hue remotes

* supporting Hue dimmer switch & Hue Tap
* State mapping and strings are copied from deCONZ

* refactor mock_bridge for hue tests

and also share `setup_bridge_for_sensors`
for test_sensor_base and test_device_trigger.

* Add tests for device triggers with hue remotes

* Remove some triggers
2020-04-01 11:42:22 -07:00
Eugenio Panadero f5cbc9d208
Fire events for hue remote buttons pressed (#33277)
* Add remote platform to hue integration

supporting ZGPSwitch, ZLLSwitch and ZLLRotary switches.

* Ported from custom component Hue-remotes-HASS from @robmarkcole

* Add options flow for hue, to toggle handling of sensors and remotes

* Sensors are enabled by default, and remotes are disabled,
  to not generate any breaking change for existent users.
  Also, when linking a new bridge these defaults are used,
  so unless going explicitly to the Options menu,
  the old behavior is preserved.
* SensorManager stores the enabled platforms and ignores everything else.
* Bridge is created with flags for `add_sensors` and `add_remotes`,
  and uses them to forward entry setup to only the enabled platforms.
* Update listener removes disabled kinds of devices when options are changed,
  so device list is in sync with options, and disabled kinds disappear from HA,
  leaving the enable/disable entity option for individual devices.

* Fix hue bridge mock with new parameters

* Revert changes in hue bridge mock

* Remove OptionsFlow and platform flags

* Extract `GenericHueDevice` from `GenericHueSensor`

to use it as base class for all hue devices, including those without any entity,
like remotes without battery.

* Add `HueBattery` sensor for battery powered remotes

and generate entities for TYPE_ZLL_ROTARY and TYPE_ZLL_SWITCH remotes.

* Remove remote platform

* Add HueEvent class to fire events for button presses

* Use `sensor.lastupdated` string to control state changes
* Event data includes:
  - "id", as pretty name of the remote
  - "unique_id" of the remote device
  - "event", with the raw code of the pressed button
    ('buttonevent' or 'rotaryevent' property)
  - "last_updated", with the bridge timestamp for the button press
* Register ZGP_SWITCH, ZLL_SWITCH, ZLL_ROTARY remotes

* fix removal

* Exclude W0611

* Extract GenericHueDevice to its own module

and solve import tree, also fixing lint in CI

* Store registered events to do not repeat device reg

* Minor cleaning

* Add tests for hue_event and battery entities for hue remotes
2020-03-31 10:27:30 -07:00
Eugenio Panadero 977f1a6916
Fix hue tests that have uncaught exceptions (#33443) 2020-03-31 10:17:09 -05:00
Paulus Schoutsen e71c7e1f5e Fix hue test 2020-02-20 08:11:27 -08:00
Victor Guimarães 93a844b1d5
Hue Group features based on the bulbs in it (#31897)
* Computes the features of a hue group as the union of the features of the bulbs in the group

* Moved create item to a function

* Added test for hue group features
2020-02-17 10:22:34 -08:00
Paulus Schoutsen 81b159f424
Disable Hue groups for new setups (#31713) 2020-02-11 08:50:07 -08:00
Paulus Schoutsen 989dd32258
Hue to retry if hub errors out (#31616)
* Respect semaphore

* Add retries when connection reset

* Also catch OSError from aiohttp when authenticating
2020-02-08 13:20:37 -08:00
Paulus Schoutsen 0d474e1183
Update the update coordinator API to make it easier to use (#31471)
* Update the update coordinator API to make it easier to use

* failed_last_update -> last_update_success
2020-02-06 09:29:29 -08:00
Paulus Schoutsen 481ea0aa5b
Check for known Hue vulnerability (#31494) 2020-02-05 13:57:17 -08:00
Paulus Schoutsen 166d770ddd
Update Hue data fetching (#31338)
* Refactor Hue Lights to use DataCoordinator

* Redo how Hue updates data

* Address comments

* Inherit from Entity and remove pylint disable

* Add tests for debounce
2020-01-31 14:47:40 -08:00
Christian Clauss df7d2b3aeb
Fix typos found by codespell (#31243)
* Fix typos found by codespell

* Fix typos found by codespell

* codespell: Furture  ==> Future

* Update test_config_flow.py

* Update __init__.py

* Spellcheck: successfull  ==> successful

* Codespell: unsuccesful  ==> unsuccessful

* Codespell: cant  ==> can't

* Codespell: firware ==> firmware

* Codespell: mimick  ==> mimic
2020-01-31 08:33:00 -08:00
Franck Nijhof 4571cf01e2 Update Hue existing config entry with discovery data (#31087)
* Update Hue existing config entry with discovery data

* Updated method documentation comments

* Update implementation to match latest dev

* Use named argument for clarity
2020-01-24 09:07:53 -08:00
Paulus Schoutsen 9f20185cee
Fix hue accepting filename (#30924) 2020-01-17 15:38:38 -08:00
Paulus Schoutsen 7da84dca76
Reinstate and deprecate filename option for hue config (#30846) 2020-01-16 11:28:35 -08:00
Martin Hjelmare 030a399b09 Make hue config flow tests more robust (#30678)
* Make hue config flow tests robust

* Fix io on setup

* Update last tests
2020-01-11 20:00:49 -08:00
Paulus Schoutsen 9aa02e35a7
Entity Component to no longer generate automatic groups (#23789) 2020-01-07 17:30:53 +01:00
Ville Skyttä 5216477353
Be consistent with Home Assistant and Hass.io spelling (#30500)
* Be consistent with Home Assistant spelling

* Be consistent with Hass.io spelling
2020-01-05 14:09:17 +02:00
Ville Skyttä d236a19139
Include all SSDP data in discovery info (#28197)
* Include all SSDP data in discovery info

* Use UPnP device description as discovery info, inject some SSDP attrs

* Clean up attribute names

* Adapt existing SSDP flows to changed attribute names

* Prefix all SSDP UPnP attribute name constants with ATTR_UPNP, tweak a bit
2019-12-19 19:28:03 +02:00
Paulus Schoutsen 9c7caaa142
Add option to ignore flows (#30008) 2019-12-18 07:41:01 +01:00
Paulus Schoutsen 58b5833d64
Convert Hue to use unique ID (#30000)
* Convert Hue to use unique ID

* Fix normalization

* Store/restore unique ID

* Fix tests
2019-12-16 19:45:09 +01:00
Paulus Schoutsen d851cb6f9e
Add unique ID to config entries (#29806)
* Add unique ID to config entries

* Unload existing entries with same unique ID if flow with unique ID is
finished

* Remove unused exception

* Fix typing

* silence pylint

* Fix tests

* Add unique ID to Hue

* Address typing comment

* Tweaks to comments

* lint
2019-12-16 12:27:43 +01:00
Bas Nijholt c7cf1b820c Sort imports according to PEP8 for hue (#29757) 2019-12-09 13:25:04 +01:00
Bram Kragten d91dd68b31 Limit parallel requests to Philips Hue (#29189)
* Limit parallel requests to Philips Hue

* Fix tests

* Remove loop

* Update homeassistant/components/hue/bridge.py

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>
2019-12-01 13:24:16 -08:00
Franck Nijhof d5efd0b352 Fix Espalexa being detected as Hue Bridge (#29237) 2019-11-30 21:28:42 -08:00
Bram Kragten 549e8cf2c5 Hue: Create new config flow when auth is lost (#28204)
* Hue: Create new config flow when auth is lost

* Fix tests

* Fix tests

* Comments

* Lint
2019-10-28 08:45:08 -07:00
Bram Kragten b75639d9d1 Remove lamps and groups from ha when removed from Hue (#26881)
* Remove light when removed from hue

* add remove_config_entry_id

* Review + bump aiohue

* lint

* Add tests
2019-09-25 14:00:18 -07:00
Robert Svensson a2589f56e1 Add system options to config entries (#25926)
* Add system options to config entries

* For feedback

* Follow most of balloobs comments

* Fix balloobs comments

* Improvements

* Fix second round of Balloobs comments

* Fix third round

* Add system options to mock config entry

* Fix integration tests

* Fix the last failing tests

* Fix disabled string

* Fix failing disabled_by tests

* New tests

* Config entry WS API tests

* Fix comments
2019-08-17 21:34:11 -07:00
Paulus Schoutsen 57ef721d5d
Hue tweak registered device type + discovery exception (#25977)
* Include location name in create user

* Guard against no host in context

* Fix tests and typing
2019-08-16 16:19:00 -07:00
Paulus Schoutsen 4de97abc3a Black 2019-07-31 12:25:30 -07:00
Paulus Schoutsen 0dc0706eb2
Add more HomeKit models for discovery (#24391)
* Add more HomeKit models for discovery

* Discover Tradfri with HomeKit

* Add Wemo device info

* Allow full match for HomeKit model

* Fix tests
2019-06-07 22:59:51 -07:00