Commit Graph

59 Commits (7b8bbc37dff711478c1ef1cb2d175d747e45e2ce)

Author SHA1 Message Date
epenet fb5cc13061
Adjust yeelight ssdp_listener tests (#61065) 2021-12-05 17:51:45 -08:00
J. Nick Koston 10e669e69e
Fix yeelight name changing to ip address if discovery fails (#60967) 2021-12-04 08:41:58 +01:00
J. Nick Koston 4b8a8dda8d
Fix yeelight discovery (#60783)
Regressed in #60640
2021-12-01 15:13:59 -05:00
epenet 73a4dba2ae
Use dataclass properties in yeelight discovery (#60640)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 22:28:19 -10:00
J. Nick Koston 67684d68ff
Fix slow yeelight discovery test (#60346) 2021-11-25 11:39:37 -06:00
epenet 2468724378
Use SsdpServiceInfo for ssdp tests (part 2) (#60322)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-25 09:45:35 -06:00
J. Nick Koston 881d35ab17
Split up yeelight code into multiple files (#59990) 2021-11-23 11:56:07 -06:00
epenet 9f74ad06d6
Update ZeroconfServiceInfo in tests (t-z) (#60221)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-23 11:28:50 -06:00
epenet 560546f65e
Use dataclass for DhcpServiceInfo (#60136)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-23 13:35:53 +01:00
epenet 8b26b69366
Use ServiceInfo in yeelight (#60127)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-22 08:15:14 -06:00
starkillerOG 2b7bcd6aeb
Yeelight disable polling (#59885)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-11-19 09:02:07 -06:00
J. Nick Koston faecc90b38
Workaround brightness transition delay from off in older yeelight models (#58774) 2021-10-31 16:11:07 +01:00
J. Nick Koston 4653d0b079
Retry yeelight setup later if first update fails (#58446) 2021-10-27 10:09:45 +02:00
J. Nick Koston c3c0a52929
Fix overriding the yeelight model if it is not known (#56967) 2021-10-26 21:04:19 +02:00
J. Nick Koston 147febb18a
Prevent yeelight discovery from overloading the bulb (#57820) 2021-10-17 20:30:43 -07:00
J. Nick Koston fb5d117df4
Always send color/temp when switching from an effect in yeelight (#57745) 2021-10-15 09:37:23 -07:00
J. Nick Koston 427f2a085b
Reconnect and retry yeelight commands after previous wifi drop out (#57741) 2021-10-15 09:37:13 -07:00
J. Nick Koston 58362404ea
Simplify yeelight setup to improve reliability (#57500) 2021-10-11 20:30:23 -07:00
J. Nick Koston a58085639e
Restore yeelight workaround for failing to update state after on/off (#57400) 2021-10-10 00:01:45 -07: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
J. Nick Koston eba7cad33f
Fix yeelight connection when bulb stops responding to SSDP (#57138) 2021-10-05 13:41:56 -07:00
J. Nick Koston 1aeab65f56
Fix yeelight state when controlled outside of Home Assistant (#56964) 2021-10-03 00:08:31 -07:00
João Pedro Hickmann 4513a46248
Add zeroconf support for yeelight (#56758) 2021-09-28 20:53:43 -05:00
J. Nick Koston 52410ff0d7
Ensure yeelight can be unloaded when device is offline (#56464) 2021-09-26 09:54:43 -07:00
J. Nick Koston 9e2a29dc37
Improve yeelight stability by moving timeout handling to upstream library (#56432) 2021-09-20 12:32:01 -05:00
J. Nick Koston bad6b2f7f5
Standardize yeelight exception handling (#56362) 2021-09-17 22:25:19 -07:00
Steven Looman 73260c5b88
Move parts of ssdp to async_upnp_client (#55540)
* Move parts of ssdp to async_upnp_client

* Fix test for environments with multiple sources

* Fix sonos tests

* More fixes/changes

* More fixes

* Use async_upnp_client==0.21.0

* Pylint/test fixes

* More changes after review

* Fix tests

* Improve testing

* Fix mypy

* Fix yamaha_musiccast tests?

* Changes after review

* Pylint

* Reduce calls to combined_headers

* Update to async_upnp_client==0.21.1

* Update to async_upnp_client==0.21.2

* use as_dict

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-11 13:38:16 -10:00
Erik Montnemery 7dbe8070f7
Mock out network.util.async_get_source_ip in tests (#55592) 2021-09-02 20:44:50 +02:00
J. Nick Koston 10fa63775d
Ensure yeelights resync state if they are busy on first connect (#55333) 2021-08-27 12:43:53 -05:00
J. Nick Koston c3972b22fd
Fix yeelight brightness when nightlight switch is disabled (#55278) 2021-08-26 15:18:36 -05:00
J. Nick Koston ae1d2926cf
Fix some yeelights showing wrong state after on/off (#55279) 2021-08-26 13:25:26 -05:00
J. Nick Koston 089dfad78a
Ensure yeelight model is set in the config entry (#55281)
* Ensure yeelight model is set in the config entry

- If the model was not set in the config entry the light could
  be sent commands it could not handle

* update tests

* fix test
2021-08-26 13:02:59 -05:00
J. Nick Koston e6e8d7eded
Convert color temperature to visible color in lights (#55219) 2021-08-25 21:56:36 +02:00
J. Nick Koston b71f2689d7
Make yeelight aware of the network integration (#54854) 2021-08-20 19:09:22 -05:00
J. Nick Koston 3cb7227040
Normalize the display name of yeelight devices (#54883)
Co-authored-by: Teemu R. <tpr@iki.fi>
2021-08-20 14:32:48 -07:00
J. Nick Koston 8103d9ae3c
Add missing id to yeelights that were setup manually (#54855) 2021-08-19 08:46:14 -05:00
J. Nick Koston e7a0604a40
Make yeelight discovery async (#54711) 2021-08-18 09:36:13 -07:00
J. Nick Koston 4ae6435a64
Avoid increasing yeelight rate limit when the state is already set (#54410) 2021-08-10 15:17:49 -07:00
starkillerOG a23da30c29
Yeelight local push updates (#51160)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-09 13:33:34 -05:00
Erik Montnemery dad7a597ae
Add color_mode support to yeelight light (#51973)
* Add color_mode support to yeelight light

* Satisfy pylint

* Address review comment

* Improve test coverage

* Improve test coverage
2021-06-25 17:37:15 +02:00
Daniel Rheinbay 3c452f8c9b
Refactor yeelight integration to use only flows (#51255)
* Refactor light.py to use only flows.py, eliminating transitions.py

* Reformat yeelight source code using black
2021-06-01 09:04:49 +02:00
Ville Skyttä 19d25cd901
Change config entry state to an enum (#49654)
* Change config entry state to an enum

* Allow but deprecate EntryState str equality comparison

* Test fixes

* Rename to ConfigEntryState

* Remove str comparability backcompat

* Update new occurrences of strs cropped up during review
2021-05-20 19:19:20 +02:00
Paulus Schoutsen aef24a807e
Yeelight: Do not log errors when cannot connect (#50592) 2021-05-13 22:33:18 -07:00
J. Nick Koston c037ebb27c
Add discovery to yeelight (#50385) 2021-05-11 19:55:50 -05:00
Erik Montnemery 5f2326fb57
Add support for light color modes (#47720)
* Add support for light color modes

* Update tests

* Update comments

* Fix bugs, add tests

* Suppress lint errors

* Don't suppress brightness when state is ambiguous

* Improve reproduce_state + add tests

* Add comment

* Change COLOR_MODE_* constants, rename COLOR_MODE_DIMMER to COLOR_MODE_BRIGHTNESS

* Fix tests

* Tweaks
2021-03-16 12:51:39 +01: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
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
tkdrob add0d9d3eb
Use core constants for yeelight (#46552) 2021-02-16 09:00:09 -05:00
Paulus Schoutsen 9e07910ab0
Mark entities as unavailable when they are removed but are still registered (#45528)
* Mark entities as unavailable when they are removed but are still registered

* Add sync_entity_lifecycle to collection helper

* Remove debug print

* Lint

* Fix tests

* Fix tests

* Update zha

* Update zone

* Fix tests

* Update hyperion

* Update rfxtrx

* Fix tests

* Pass force_remove=True from integrations

Co-authored-by: Erik <erik@montnemery.com>
2021-02-08 10:45:46 +01:00
Franck Nijhof 65cf2fcb6f
Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00