* 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
* 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.
* Update fan.zha platform.
switch from asyncio to async def()
catch DeliveryError exceptions
keep previous state, if reading 'fan_mode' attribute fails
* fan.zha: Use None for unknown state.
if we fail to read 'fan_mode' attribute, use None for state
* 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
* exposing internal state and fixed onoff state
* fixed styling
* revert file mode changes
* removed self type hints
* better unit test and changed the way to return attributes
* made wolfie happy
## 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**
* 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
* Device support for the Xiaomi Air Humidifier.
* Requirements updated.
* "continuation line under-indented for visual indent" fixed.
* Make hound happy.
* Inadvertently added light.xiaomi_miio component removed from PR.
* Service descriptions added.
* One of the pylint errors fixed.
* Redundancy removed.
* pylint: disable=no-self-use added. The method signature is important here.
* Pylint fixed.
* Use a unique data key per domain.
* Review incorporated.
* Map of available attributes added.
* Pylint fixed.
Attribute "volume" added.
* Don't use the support flag bit mask as model identifier.
Determine support features and attributes at the constructor.
Use starred expressions at dicts instead of copies.
* Blank line removed.
* Use Async / await syntax.
* Make hound happy.
* Xiaomi Air Humidifier CA support added.
* Duplicate method removed.
* Air Purifier V3 support added.
* Don't abuse the system property supported_features anymore.
* python-miio version bumped.
* Clean-up.
* Additional supported features refactoring completed.
* Additional supported features renamed properly.
* Unique id added.
* Device unavailable handling improved.
* Refactoring.
* Missed const updated.
* Incomplete Air Humidifier CA support fixed.
* Review incorporated
* The Air Humidifier CA supports the operation mode "auto" - the standard version doesn't
* Attributes are part of the common set already
* Revert "Attributes are part of the common set already"
This reverts commit 40b443eba0.
* Comment added
* Service description of the set_dry_{on,off} service added
* Typo fixed
* Merge from current dev
* Update for Sensor approach
* Update reference to state classes
* Reference stateKey correctly
* Reference stateKey
* Change deviceInfo to a dict
* Pass state to properties method
* Add state info to device_state_attributes
* Update entity name to include state name
* Update for on() off() vs light_on/off
* Flag newnames option
* Update configuration schema
* Update configuration schema
* Spell False correctly
* Rename state to statekey
* Rename statekey to stateKey
* Call new device with stateKey and newname
* Simplify use of newnames
* Add workdir to save devices
* Fix newnames config setup
* Propogate OnOffSensor to VariableSensor change
* Upgrade insteonplm version to 0.8.0
* Pass address rather than device object to platform
* Set inteon_plm data variable to PLM
* Consistant use of conn and plm
* Consistant use of conn and plm
* Proper reference to device and address
* Fixed platform setup issues
* Correct issue with missing _supported_features attr
* Properly reference self._state vs self.state
* Bump insteonplm version to 0.8.1
* Remove subplatform and map based on state name
* Correct refrence to State
* Correct reference to device.states
* Bump insteonplm to 0.8.2
* Fix format errors
* Fix format issues
* Fix trailing whitespace
* Correct format issues
* Fix format issues
* Fix format issues
* Fixed format issues
* Fixed format issues
* Move imports inside classes
* Simplify import of modules
* Correct reference to OnOffSwitch_OutletTop and bottom
* Remove unnessary references
* Fix format issues
* Code review adjustments
* Fix format issue
* Use new nameing format for groups that are not group 0x01
* Remove newname feature
* Fix binary_sensor type to default to None
* Fix device_class property to return the sensor type correctly.
* rename _device and _state to avoid conflicts with Entity
* Format long lines
* Pylint clean up
* Insteon_PLM
* lint cleanup
* Check device_override has address
* 3.4 lint clean up
* Changes per code review
* Change discovered from a list of dict to a dict
* Correct common_attributes usage
* Change discovered from a list of dict to a dict
* Add debugging message to confirm platform setup
* Debug messages
* Debug messages
* Debug async_added_to_hass
* Debug async_added_to_hass async_add_job
* Debug async_added_to_hass
* Debug devices not loading in hass
* Debug new entities not being added to hass
* Debug adding devices to hass
* Revert "3.4 lint clean up"
This reverts commit 0d8fb992b1.
* 3.4 lint clean up
* Revert "Debug adding devices to hass"
This reverts commit ec306773d4.
* Revert "Debug new entities not being added to hass"
This reverts commit 55fb724d06.
* Revert "Debug devices not loading in hass"
This reverts commit 07814b4f14.
* Revert "Debug async_added_to_hass"
This reverts commit 4963a255d8.
* Revert "Debug async_added_to_hass async_add_job"
This reverts commit 22cadff91f.
* Revert "Debug async_added_to_hass"
This reverts commit 12c5651fe4.
* Pylint clean up
* pylint cleanup
* Clean up naming
* Enhance config schema. Fix logging issue
* Reapply changes after squash
* Upgrade pylint to 1.8.1
* Fix no-else-return
* Fix bad-whitespace
* Fix too-many-nested-blocks
* Fix raising-format-tuple
See https://github.com/PyCQA/pylint/blob/master/doc/whatsnew/1.8.rst
* Fix len-as-condition
* Fix logging-not-lazy
Not sure about that TEMP_CELSIUS though, but internally it's probably just like if you concatenated any other (variable) string
* Fix stop-iteration-return
* Fix useless-super-delegation
* Fix trailing-comma-tuple
Both of these seem to simply be bugs:
* Nest: The value of self._humidity never seems to be used anywhere
* Dovado: The called API method seems to expect a "normal" number
* Fix redefined-argument-from-local
* Fix consider-using-enumerate
* Fix wrong-import-order
* Fix arguments-differ
* Fix missed no-else-return
* Fix no-member and related
* Fix signatures-differ
* Revert "Upgrade pylint to 1.8.1"
This reverts commit af78aa00f125a7d34add97b9d50c14db48412211.
* Fix arguments-differ
* except for device_tracker
* Cleanup
* Fix test using positional argument
* Fix line too long
I forgot to run flake8 - shame on me... 🙃
* Fix bad-option-value for 1.6.5
* Fix arguments-differ for device_tracker
* Upgrade pylint to 1.8.2
* 👕 Fix missed no-member
* Entity#unique_id defaults to None
* Initial commit entity registry
* Clean up unique_id property
* Lint
* Add tests to entity component
* Lint
* Restore some unique ids
* Spelling
* Remove use of IP address for unique ID
* Add tests
* Add tests
* Fix tests
* Add some docs
* Add one more test
* Fix new test…