* {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...)
* New Transmission component and interaction
First commit for New Transmission component and interaction
* Fix commit
* Fix commit
* Fix + Switch checkin
Fix according to failed build and request, first checkin for Turtle Mode Switch in Transmission, still have to figure it out why it's not working.
* Bugfixing
* Fix commit
Multiple fix
* Fix
* fix for missing config
* Update on requirements_all.txt
* Fix in requirements_all.txt
* Fix
* Fix for build
* fix
* Fix
* Fix (again)
* Fix
* Fix indentation
* Fix indentation
* Fix Throttle
* Update .coveragerc
* Fix import and coveragerc
* Starting work on ecoal boiler controller iface.
* Sending some values/states to controller.
* Basic status parsing, and simple settings.
* Platform configuration.
* Temp sensors seems be working.
* Switch from separate h/m/s to datetime.
* Vocabulary updates.
* secondary_central_heating_pump -> central_heating_pump2
* Pumps as switches.
* Optional enabling pumps via config.
* requests==2.20.1 added to REQUIREMENTS.
* Optional enabling temp sensors from configuration yaml.
* autopep8, black, pylint.
* flake8.
* pydocstyle
* All style checkers again.
* requests==2.20.1 required by homeassistant.components.sensor.ecoal_boiler.
* Verify / set switches in update().
Code cleanup.
* script/lint + travis issues.
* Cleanup, imperative mood.
* pylint, travis.
* Updated .coveragerc.
* Using configuration consts from homeassistant.const
* typo.
* Replace global ECOAL_CONTR with hass.data[DATA_ECOAL_BOILER].
Remove requests from REQUIREMENTS.
* Killed .update()/reread_update() in Entities __init__()s.
Removed debug/comments.
* Removed debug/comments.
* script/lint fixes.
* script/gen_requirements_all.py run.
* Travis fixes.
* Configuration now validated.
* Split controller code to separate package.
* Replace in module docs with link to https://home-assistant.io .
* Correct component module path in .coveragerc.
More vals from const.py.
Use dict[key] for required config keys.
Check if credentials are correct during component setup.
Renamed add_devices to add_entities.
* Sensor/switch depends on ecoal_boiler component.
EcoalSwitch inherits from SwitchDevice.
Killed same as default should_poll().
Remove not neede schedule_update_ha_state() calls from turn_on/off.
* lint fixes.
* Move sensors/switches configuration to component setup.
* Lint fixes.
* Invalidating ecoal iface cache instead of force read in turn_on/off().
* Fail component setup before adding any platform entities.
Kill NOTE.
* Disallow setting entity names from config file, use code defined default names.
* Rework configuration file to use monitored_conditions like in rainmachine component.
* Killed pylint exception.
Log error when connection to controller fails.
* A few fixes.
* Linted.
* Preparing for transition to config flow
Added multiple gateway support
Reworked parameter flow to platforms to enable multiple controllers
Breaking change to config, now a list of gateways is expected instead of a single config
* Updated coveragerc
Added new location of fibaro component
* Fixes based on code review and extended logging
Addressed issues raised by code review
Added extended debug logging to get better reports from users if the device type mapping is not perfect
* Changhes based on code review
Changes to how configuration is read and schemas
Fix to device type mapping logic
* simplified reading config
* oops
oops
* grr
grr
* change based on code review
* changes based on code review
changes based on code review
* added components and requirement
* change config to allow the definition of multiple switches without redefining the gateway
* dont assume false state
fix default value
* added exclude to coveragerc
* sorted imports
* review fixes
* review fixes
* bugfix
review fixes
* review fix
* Improve Lutron RadioRA2 support, adding switch and scene support.
- Update the version of pylutron to 0.2 which has various bug fixes.
- Switch to pylutron's per-device subscribe
- Add switch support, and configure any non-dimmable output as a switch.
- Add scene support, using any configured keypad button with a corresponding LED as a scene.
* Fixes for comments in pull request home-assistant/home-assistant#18330
* More fixes for comments in pull request #18330
* Remove unused imports
* Cleanup in docstrings for Lutron scene support.
* Implement async_configure() method for ZHA entities.
Allow attribute reporting configuration to be stored as dict of zha
entity.
* Update ZHA platform to use new attribute reporting configuration.
* Use const declaration instead of magic numbers.
* Add support for manufacturer_id in ZCL attribute reporting configuration.
* Refactor async_configure() method.
Rename attribute reporting dict to zcl_reporting_config.
* WeMo - Various fixes and improvements
Various fixes & improvements to the WeMo components, including:
-- Fixes to rediscovery
-- New reset filter service for the WeMo Humidifier
-- Switched the remainder of the WeMo components to async IO
-- Removed any remaining IO in entity properties and moved them to the polling/subscription update process
* WeMo - Fix pywemo version and remove test code from WeMo fan component
* WeMo Humidifier - Add services.yaml entry for reset filter life service
* WeMo - Update binary_sensor component to use asyncio
* WeMo - Add available property to binary_sensor component
* WeMo - Fixed line length issue
* WeMo - Fix issue with discovering the same device multiple times
* WeMo - Fix for the fix for discovering devices multiple times
* WeMo - Fix long lines
* WeMo - Fixes from code review
* WeMo - Breaking Change - entity_ids is now required on wemo_set_humidity
* WeMo - Code review fixes
* WeMo - Code review fixes
* WeMo - Code review fixes
* move component to a package
* move TelldusLiveEntry to separate file
* refactor
* move entities from a shared container
* using the dispatch helper instead for communication between component and platforms
* updated covereagerc and codeowners
* suggestions from MartinHjelmare
* don't make update async
* "Strip is good!"
* Initial hlk-sw16 relay switch support
* remove entity_id and validate relay id's
* Bump hlk-sw16 library version and cleanup component
* refactor hlk-sw16 switch platform loading
* Use voluptuous to coerce relay id to string
* remove force_update for SW16Switch
* Move to callback based hlk-sw16 relay state changes
* fix hlk-sw16 default port and cleanup some unused variables
* Refactor to allow registration of multiple HLK-SW16 device
* Store protocol in instance variable instead of class variable
* remove is_connected
* flake8 style fix
* Move reconnect logic into HLK-SW16 client library
* Cleanup and improve logging
* Load hlk-sw16 platform entities at same time per device
* scope SIGNAL_AVAILABILITY to device_id
* Fixes for connection resume
* move device_client out of switches loop
* Add timeout for commands and keep alive
* remove unused variables
* Added lightwave components for switches and lights.
* Address warnings raised by Hound
* Correcting lint messages and major typo. This time tested before commit.
* Trying to fix author
* Minor lint changes
* Attempt to correct other lint error.
* Another lint attempt.
* More lint issues.
* Last two lint errors! Hurrah.
* Changes after review from fabaff.
* Moved device dependent code to PyPi.
* Replaced DEPENDENCIES with REQUIREMENTS
* Updated following code review from Martin Hjelmare.
* Added lightwave to requirements_all.txt
* Omit lightwave from tests.
* Updated requirements_all.txt
* Refactored how lightwave lights and switches load.
* Removed imports that were no longer required.
* Add guard for no discovery_info.
* Make it a guard clause and save indentation. Rename LRFxxx to LWRFxxx.
* Sorted imports to match style guidelines.
* Correct return value.
* Update requirements_all.txt
* Catch case where we have no lights or switches configured.
* Improve configuration validation.
* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
* Added Fibaro omcponents
Added cover, light, sensor and switch components
* Improvements based on code review
Improvements based on code review
* Fixes based on code review
Fixes based on code review
* Changes to light behavior based on code review
Changes to light behavior based on code review
* Internal changes
Changed how brightness is represented internally.
It should have no impact on functionality.
* Initial stuff
* More work in place
* Starting with tests
* Device registry in place
* Hound
* Linting
* Member comments (including extracting device registry)
* Member comments (plus I forgot cleanup!)
* Hound
* More Hound
* Removed old import
* Adding config entry test to coverage
* Updated strings
* Adds support for Lupusec alarm control panel
* fixed various mostly cosmetic issues
* fixed generic type of binary sensors
* fixed some formatting; removed scan interval completely -> defaults now to 2 secs
* removed unused data caches; added check if binary sensor class exists
* cosmetics
* generic type fix
* small fix
* small fixes
* guard clause added
* small fixes
* Add additional property to HomeKitSwitch to show whether the Homekit outlet is in use or not
* Fix issues from review - Remove unused property, simplify and rename the device_state_attributes method
* Add device_registry support for sensor and switch domains
* Add device_registry support for light
* Add device registry to binary_sensor, climate, cover
* Add device registry to zwave fan
* Fix test for config entry loading
* lint
* revert erroneous modification
* Revert device_registry.py change
* First commit
* Feature complete?
* Add dependency
* Move setting poe mode logic to library
* Use guard clauses
* Bump requirement to 2
* Simplify saving switches with poe off
* Store and use poe mode
* Fix indentation
* Fix flake8
* Configuration future proofing
* Bump dependency to v3
* Add first test
* Proper use of defaults with config flow (thanks helto)
* Appease hound
* Make sure there can't be duplicate entries of combination host+site
* More tests
* More tests
* 98% coverage of controller
* Fix hound comments
* Config flow step init not necessary
* Use async_current_entries to check if host and site for controller is used
* Remove storing/restoring poe off devices to slim PR
* First batch of switch tests
* More switch tests.
* Small improvements and clean up
* Make tests pass
Don't name device in device registry
* Dont process clients that belong to non-UniFi POE switches
* Allow selection of site from a list in config flow
* Fix double blank lines in method
* Update codeowners
* Initial commit
* Sockets have been moved to separate component
* Sockets have been moved to separate component
* Fix const PLATFORM_SCHEMA
* Fix unique id
* Fix async_create_task
* Fix PLATFORM_SCHEMA
* Fix typo
* Remove pylint disable
Add `unique_id` to all rachio entities
Add platform discovery to rachio component
Move config options from switch.rachio platform to the rachio component
* switch.zha: Schedule state update.
if turning switch On or Off operation was successful, then schedule
state update
* switch.zha: Update debug logging.
* Migrating out the zoneminder platform (and camera.zoneminder) to a new library
* Clean up the global variable ZM usage
* Modify camera.zoneminder to use the new Monitor class implementation
* Refactor camera.zoneminder after latest refactor in zm-py
* Implementing changes to switch.zoneminder to use zm-py native methods
* Complete migrating over sensor.zoneminder to the zm-py library
* Tweaking ZoneMinder components from code review
* Linting fixes for the zoneminder components
* Directly assign value when turning on/off in switch.zoneminder
* Added support for multiple tag managers. Fixed typo for signal strength.
* Corrected broken merge.
* Fixed flake8/pylint error.
* Improved docstring.
* Allow only_cache parameter in zha.safe_read()
* Use cache_only for binary_sensor.zha initial update.
* Use cache_only for fan.zha initial update.
* Use cache_only for sensor.zha initial update.
* Use cache_only for switch.zha initial update.
* Use cache_only for light.zha initial update.
* Refactor cached only read in zha platform.
* Add zha.configure_reporting() method.
Binds a cluster and configures reporting for the specified attribute.
* git add homeassistant/components/binary_sensor/zha.py
* Refactor sensor.zha to use new 'configure_reporting() method.
* Zha configure reporting - switch (#1)
* use configure_reporting for zha switch
* lint fixes
* Rename variables/classes to properly reflect the content
* Allow device registry to optionally store config entries
* Connections and identifiers are now sets with tupels
* Make config entries mandatory
* Fix duplicate keys in test
* Rename device to device_info
* Entity platform should only create device entries if config_entry_id exists
* Fix Soundtouch tests
* Revert soundtouch to use self.device
* Fix baloobs comments
* Correct type in test
* First draft
* Generate device id
* No obscure registry
* Dont store config_entry_id in device
* Storage
* Small mistake on rebase
* Do storage more like entity registry
* Improve device identification
* Add tests
* Remove deconz device support from PR
* Fix hound comments, voff!
* Fix comments and clean up
* Fix proper indentation
* Fix pydoc issues
* Fix mochad component to not use self.device
* Fix mochad light platform to not use self.device
* Fix TankUtilitySensor to not use self.device
* Fix Soundtouch to not use self.device
* Fix Plex to not use self.device
* Fix Emby to not use self.device
* Fix Heatmiser to not use self.device
* Fix Wemo lights to not use self.device
* Fix Lifx to not use self.device
* Fix Radiotherm to not use self.device
* Fix Juicenet to not use self.device
* Fix Qwikswitch to not use self.device
* Fix Xiaomi miio to not use self.device
* Fix Nest to not use self.device
* Fix Tellduslive to not use self.device
* Fix Knx to not use self.device
* Clean up a small mistake in soundtouch
* Fix comment from Ballob
* Fix bad indentation
* Fix indentatin
* Lint
* Remove unused variable
* Lint
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10
* Add host to config options
* Add username and password to config for hub connectivity
* Add username and password to config for hub
* Convert port to int if host is defined
* Add KeypadLinc
* Update config schema to require either port or host
* Solidify Hub and PLM configuration to ensure proper settings
* Update hub schema
* Bump insteonplm version
* Fix pylint and flake issues
* Bump insteonplm to 0.12.1
* Merge insteon_plm and insteon_local to insteon
* Rename insteon_plm to insteon
* Bump insteonplm to 0.12.2
* Flake8 cleanup
* Update .coveragerc for insteon_plm, insteon_local and insteon changes
* Add persistent notification
* Fix reference to insteon_plm
* Fix indentation
* Shorten message and fix grammer
* Add comment to remove in release 0.90
* Hound fix