core/script
Teemu R 94be43e3e1 Add support for automatic discovery of TP-Link switches, bulbs and dimmers (#18091)
* {switch,light}.tplink: use deviceid as unique id, fetch name from the device during initialization

* raise PlatformNotReady when no device is available

* Use mac instead of deviceid

* remove name option as obsolete

* Add support for configuration flow / integration

Allows activating automatic discovery of supported devices from the configuration

* Fix linting, update requirements_all.txt

* start cleaning up tplink component based on feedback

* add device info, improve config handling

* Allow overriding detected devices via configuration file

* Update requirements.txt

* Remove debug logging

* make hound happy

* Avoid I/O during init and simplify the code, remove remains of leds_on

* Fix issues based on feedback, use consistent quotation marks for device info

* add async_setup_platform emiting a deprecation warning

* Avoid blocking the I/O, check for None on features

* handle some Martin's comments, schema-validation is still missing

* use async_create_task instead of async_add_job, let core validate the schema

* simplify configuration handling by storing the configuration data separately from initialized instances

* add default values to schema, make hound happy

* with defaults set by schema, simplify the checks. add async_unload_entry

* Use constant for data structure access

* REWORD add a short note about async_unload_entry

* handle feedback from Martin, config_data is checked against Noneness

* use pop to remove the domain on unload

* First steps to add tests for the new tplink component

* embed platforms under the component directory

* Fix tests by mocking the pyhs100 internals

* Fix linting

* Test against multiple instances of devices, tidy up

* (hopefully) final linting round

* Add pyHS100 to test requirements

* log always the warnings occured during an update to make them easy to see

* revert back the warning behavior (requirement for silver level in IQS)

* Unload only when an entry is being loaded and add tests for that

Thanks @MartinHjelmare for pointing this out!

* Fix linting

* Bump the upstream lib, fixes most prominently the HSV setting on bulbs

* Test unloading for all platforms, clear the data storage instead of popping it out, making it possible to reconfigure after removal without restarting hass first

* Use class variables instead of instance variables for bulb states, required for HS220

* Use new-style format string

* Fix indenting, uppercase the mock constant

* Run black on test_init, hopefully that will finally fix the weird formatting (pycharm, pylint and hound seems to have different opinions...)
2019-02-21 20:29:07 +01:00
..
bootstrap Consolidate frontend (#9915) 2017-10-24 19:36:27 -07:00
check_dirty Fail if dirty (#16839) 2018-09-25 20:47:51 +02:00
dev_docker tradfri: Improve color temp support detection (#7211) 2017-04-21 23:32:51 -07:00
dev_openzwave_docker Improve development workflow in docker (#5079) 2017-01-02 22:04:09 +01:00
gen_requirements_all.py Add support for automatic discovery of TP-Link switches, bulbs and dimmers (#18091) 2019-02-21 20:29:07 +01:00
inspect_schemas.py Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0 (#14557) 2018-08-24 10:28:43 +02:00
lazytox.py Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0 (#14557) 2018-08-24 10:28:43 +02:00
lint script/lint: Ensure there are files to test with pylint (#14363) 2018-05-10 12:47:04 +02:00
lint_docker Speeds up lint and test in docker by keeping the cache between invocations. (#5177) 2017-01-05 09:45:14 +01:00
monkeytype Add script to run monkeytype typing on test suite (#14440) 2018-06-21 15:06:05 +02:00
release Clean up build artifacts correctly 2019-01-20 17:31:09 -08:00
server Improve development workflow in docker (#5079) 2017-01-02 22:04:09 +01:00
setup Reorganize lint travis builds (#10670) 2017-11-19 17:39:24 -08:00
test Removing asyncio.coroutine syntax from HASS core (#12509) 2018-02-25 03:38:46 -08:00
test_docker Fix a bunch of typos (#9545) 2017-09-23 17:15:46 +02:00
translations_develop Config flow translations (#13066) 2018-03-11 12:04:34 -07:00
translations_download Update translations 2018-10-17 14:12:41 +02:00
translations_download_split.py Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0 (#14557) 2018-08-24 10:28:43 +02:00
translations_upload Fix for Lokalise backend misinterpretation of keys (#13986) 2018-04-18 15:58:47 -04:00
translations_upload_merge.py Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0 (#14557) 2018-08-24 10:28:43 +02:00
travis_deploy Support serving of backend translations (#12453) 2018-02-28 19:31:38 -08:00
update Improve development workflow in docker (#5079) 2017-01-02 22:04:09 +01:00
version_bump.py Use older syntax for version bump 2018-06-22 11:07:26 -04:00