* 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
* remove velbus fan and light platforms
these platforms should not be there since they can be created with template components based on switch platform
* use latest version of python-velbus which supports auto-discovery of modules
* fix linting errors
* fix linting errors
* fix linting errors
* address review comments from @MartinHjelmare
* update based on automatic feedback
* fix linting errors
* update dependency
* syntax corrections
* fix lint warning
* split out common functionality in VelbusEntity
use sync methods for loading platforms
support unique_ids so that entities are registred in entity registry
* fix linting errors
* fix linting errors
* fix linting errors
* integrate review comments (common functionality in VelbusEntity class)
* rename DOMAIN import to VELBUS_DOMAIN
* revert change created by requirements script
* regen
* Initial commit for deCONZ switch support
* Fix hound comment
* Fix martins comment; platforms shouldn't depend on another platform
* Fix existing tests
* New tests
* Clean up unnecessary methods
* Bump requirement to v43
* Added device state attributes to light
* Add context
* Add context to switch/light services
* Test set_state API
* Lint
* Fix tests
* Do not include context yet in comparison
* Do not pass in loop
* Fix Z-Wave tests
* Add websocket test without user
* Add spider power plug component
* rounding down the numbers
* ability to throttle the API
* updated to the lastest api
* resolved an issue within the API
Switches by default use the payload_on and payload_off configuration parameters to specify both the payload the switch should send for a state but also what will be returned for the current state - which isnt always the same
As a toggle switch might always send an ON or TOGGLE to toggle the switch, but still receive an ON or an OFF for the state topic - This change allows for splitting them apart
## Description:
More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).
## Checklist:
- [ ] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* support for tuya platform
* support tuya platform
* lint fix
* change dependency
* add tuya platform support
* remove tuya platform except switch. fix code as required
* fix the code as review required
* fix as required
* fix a mistake
* Add HomematicIP Cloud to config flow
* Inititial trial for config_flow
* Integrations text files
* Load and write config_flow and init homematicip_cloud
* Split into dedicated files
* Ceanup of text messages
* Working config_flow
* Move imports inside a function
* Enable laoding even no accesspoints are defined
* Revert unnecassary changes in CONFIG_SCHEMA
* Better error handling
* fix flask8
* Migration to async for token generation
* A few fixes
* Simplify config_flow
* Bump version to 9.6 with renamed package
* Requirements file
* First fixes after review
* Implement async_step_import
* Cleanup for Config Flow
* First tests for homematicip_cloud setup
* Remove config_flow tests
* Really remove all things
* Fix comment
* Update picture
* Add support for async_setup_entry to switch and climate platform
* Update path of the config_flow picture
* Refactoring for better tesability
* Further tests implemented
* Move 3th party lib inside function
* Fix lint
* Update requirments_test_all.txt file
* UPdate of requirments_test_all.txt did not work
* Furder cleanup in websocket connection
* Remove a test for the hap
* Revert "Remove a test for the hap"
This reverts commit 968d58cba1.
* First tests implemented for config_flow
* Fix lint
* Rework of client registration process
* Implemented tests for config_flow 100% coverage
* Cleanup
* Cleanup comments and code
* Try to fix import problem
* Add homematicip to the test env requirements
* 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
* Initial version of wirelesstags platform support.
* Pinned wirelesstagpy, generated requirements_all.
* Fixed temperature units in imperial units systems, make binary events more tags specific.
* Lowercased tag name during entity_id generation.
* Fixed: tag_id template for tag_binary_events, support of light sensor for homebridge.
* Minor style cleanup.
* Removed state, define_name, icon. Reworked async arm/disarm update. Removed static attrs. Introduced available property. Custom events contains components name now. Cleaned dedundant items from schema definition.
* Removed comment and beep duration from attributes. Minor cleanup of documentation comment.
* Ignoring Wemo switches linked in iOS app.
* Reworked passing data from platform to components using signals.
* Starting to add attributes
* All attributes added to programs
* Basic zone attributes in place
* Added advanced properties for zones
* We shouldn't calculate the MAC with every entity
* Small fixes
* Basic framework for push in play
* I THINK IT'S WORKING
* Some state cleanup
* Restart
* Restart part 2
* Added stub for service schema
* Update
* Added services
* Small service description update
* Lint
* Updated CODEOWNERS
* Moving to async methods
* Fixed coverage test
* Lint
* Removed unnecessary hass reference
* Lint
* Lint
* Round 1 of Owner-requested changes
* Round 2 of Owner-requested changes
* Round 3 of Owner-requested changes
* Round 4 (final for now) of Owner-requested changes
* Hound
* Updated package requirements
* Lint
* Collaborator-requested changes
* Collaborator-requested changes
* More small tweaks
* One more small tweak
* Bumping Travis and Coveralls
* Added the Hydrawise component.
* Fixed lint errors.
* Multiple changes due to review comments addressed.
* Simplified boolean test. Passes pylint.
* Need hydrawiser package version 0.1.1.
* Added a docstring to the device_class method.
* Addressed all review comments from MartinHjelmare.
* Changed keys to single quote. Removed unnecessary duplicate method.
* Removed unused imports.
* Changed state to lowercase snakecase.
* Changes & fixes from review comments.
* Simplify conditionals.
* Send white_value on service call.
* Remove extra blank line
* Further simplification of conditionals
* Requested changes
* Do not call getRgb if not needed
* Update log message
* make device_discovered synchronous
* small fixes from code review
* use dispatcher to update sensor state
* update switch state based on response from the device
* interpolate entity_id into dispatcher signal
* cleanup lint
* change coroutine to callback
* Added option to invert aREST pin switch logic for active low relays
* Fixed line lengths
* Changed naming and set optional invert default value.
* Fixed line length
* Removed default from get
* Make mysensors component async
* Use async dispatcher and discovery.
* Run I/O in executor.
* Make mysensors actuator methods async.
* Upgrade pymysensors to 0.13.0.
* Use async serial gateway.
* Use async TCP gateway.
* Use async mqtt gateway.
* Start gateway before hass start event
* Make sure gateway is started after discovery of persistent devices
and after corresponding platforms have been loaded.
* Don't wait to start gateway until after hass start.
* Bump pymysensors to 0.14.0
* Starting to add attributes
* All attributes added to programs
* Basic zone attributes in place
* Added advanced properties for zones
* Working to move common logic into component + dispatcher
* We shouldn't calculate the MAC with every entity
* Small fixes
* Small adjustments
* Owner-requested changes
* Restart
* Restart part 2
* Added ID attribute to each switch
* Collaborator-requested changes
* Add support for shutter contact and motion detector device
* Add support for power switch devices
* Add support for light switch device
* Cleanup binary_switch and light platform
* Update comment
* Setup all-linking service
* Remove extra line
* Remove linefeed and tab escape chars
* Add services delete_all_link, load_all_link_database and print_all_link_database
* Check if reload is set
* Confirm entity is InsteonPLMEntity before attempting to load or print ALDB
* Debug load and print ALDB
* Debug print aldb
* Debug print_aldb
* Get entity via platform
* Track Insteon entities in component
* Store entity list in hass.data
* Add entity to hass.data
* Add ref to hass in InsteonPLMEntity
* Pass hass correctly to InsteonPLMBinarySensor
* Fix reference to ALDBStatus.PARTIAL
* Print ALDB record as string
* Get ALDB record from memory address
* Reformat ALDB log output
* Add print_im_aldb service
* Remove reference to self in print_aldb_to_log
* Remove reference to self in print_aldb_to_log
* Fix spelling issue with load_all_link_database service
* Bump insteonplm to 0.9.1
* Changes from code review
* Code review changes
* Fix syntax error
* Correct reference to cv.boolean and update requirements
* Update requirements
* Fix flake8 errors
* Reload as boolean test
* Remove hass from entity init
* Converts RainMachine to hub model (part 2)
* Small style adjustments for consistency
* Moving MAC calculation to one-time call in component
* Removing unneeded attribute
* Bumping Travis
* Lint
According to my observations, the "switch_energy" value displayed by Pyfritzhome is the sum of Wh over the last week since measurement.
As a result, the correct divisor for representing output as kWh would be 1000 instead of 10000.
* Add support for controlling homekit lights and switches
This adds support for controlling lights and switches that expose a HomeKit
control interface, avoiding the requirement to implement protocol-specific
components.
* Comment out the homekit requirement
This needs to build native code, so leave it commented for now
* Review updates
* Make HomeKit auto-discovery optional
Add an "enable" argument to the discovery component and add a list of
optional devices types (currently just HomeKit) to discover
* Further review comments
* Update requirements_all.txt
* Fix houndci complaints
* Further review updates
* Final review fixup
* Lint fixups
* Fix discovery tests
* Further review updates
* Add support for Eufy bulbs and switches
Add support for driving bulbs and switches from the Eufy range.
* Fix hound checks
* Satisfy pylint
* Handle review comments
* Review updates and test fixes
* PyLint is a bit too aggressive
* Added the ability to switch Tahoma Garage door relay.
Those are special switches that can only be pushed.
Their state is always OFF, they react to the turn_on action, perform it, but stay OFF
* fixing indents and so on
* CI fix
* Added switch component to Amcrest IP Camera.
* Fixes to new switch component after review
* Removed redundant branching, as well as requirement declaration.
* Changes to requirements after rerunning generation script
* Minor changes