* move service constants to const.py, move all custom xiaomi_miio services to xiaomi_miio domain
* update service names
* try to fix black error
* try black formatting again
* final black formatting attempt
* update service names to reflect platform
* fix typo
* Remove malformed pylint disable markers
* Remove some unused imports
* Remove some unneeded lint exclusions
* Remove more unneeded lint exclusions
* Add specific codes to all noqa's
* Add support for learning new commands
This update creates a generic service in the 'remote' component to enable remote control platforms to learn new commands.
* Update __init__.py with the proposed changes
- Add 'supported_features' property and a constant related to the 'learn_command' functionality.
- Redefine 'async_learn_command' function as a coroutine.
* Update __init__.py
* Fix assertion error
Adding the 'supported_features' attribute generated an assertion error on the 'Demo Remote' platform. This update fixes this.
* Fix duplicated 'hass' object
This update fixes a typo that occurred at the last update.
* Update requirements
Updated requirements
* Small bump for aioharmony
Small version bump increase for aioharmony
* Add attributes
Add firmware and config version attributes
* Add hold for button press on send_command
* Fix requirements file
For some reason aioharmony ended up in there as a duplicate. Fixed it.
* Revert rebase changes
Revert some changes that should have been reverted back as part of rebase.
* Updated based on review
Removed HOLD_SECS from platform schema (configuration)
Updated getting kwargs in async_send_command
Updated debug log to include delay_secs
* Update requirements
Updated requirements
* Add attributes
Add firmware and config version attributes
* Small bump for aioharmony
Small version bump increase for aioharmony
* Fix requirements file
For some reason aioharmony ended up in there as a duplicate. Fixed it.
* Fix for send command with named device
* Update requirements to get reconnect fix
* Set aioharmony version to 0.1.4
Version 0.1.4 has additional small fixes.
* Keep trying to connect on startup
Keep trying to connect to the HUB on startup
* Revert rebase changes
Revert some changes that should have been reverted back as part of rebase.
* PlatformNotReady if unable to connect on startup
Will call PlatformNotReady if unable to connect to Hub on startup
* Increase aioharmony requirement to 0.1.5
Increase aioharmony requirement to 0.1.5
* Register callbacks when entity added to HASS
Register the callbacks only once the entity has been added to HASS instead of during setup of platform.
* Removed debug log in __init__
Removed debug log in __init__
* Update requirements
Updated requirements
* Add attributes
Add firmware and config version attributes
* Small bump for aioharmony
Small version bump increase for aioharmony
* Order ATTR constants
* Add the service
Add service change_channel
* Fix requirements file
For some reason aioharmony ended up in there as a duplicate. Fixed it.
* Updates based on review
* Use aioharmony for async
Use aioharmony to interact with Harmony hub. Due to this following improvements:
-) Setting of available state for entity
-) Automatic config update if configuration changes (including updating file containing config)
-) Allow using of device name instead of number
-) When sending command with repeat, nothing else will be able to put a IR command in between
* Requirements updated
* Version update for fix
* Mainly cleanup
* Update requirements
Updated requirements
* Fixed lint issue
* Small bump for aioharmony
Small version bump increase for aioharmony
* Updated based on review
* Updates to Harmony for web sockets
Updates to harmony to use web sockets with async
* Lint
* Small fixes
* Fix send_command
Continued improvements:
-) Fixed send_command
-) Get HUB configuration during update in case it was not retrieved earlier (i.e. HUB unavailable)
* Further improvements
Completely removed dependency on __main__ for pyharmony, instead everything is now done from the HarmonyClient class.
Writing out Harmony configuration file as a JSON file.
Using same functionality to determine if activity provided is an ID or name for device, allowing send_command to receive a device ID or device name.
* Point requirements to updated pyharmony repo
Updated REQUIREMENTS to point to repository containing the updates for pyharmony.
* lint
lint
* Small fix for device and activity ID
Small fix in checking if provided device or activity ID is valid.
* Pin package version
* No I/O in event loop
* Point at HA fork with correct version bump
* Fix req
* 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
* Lazy discovery disabled: The Chuang Mi IR Remote Controller wants to be re-discovered every 5 minutes. As long as polling is disabled the device should be re-discovered in front of every command.
* Use a unique data key per domain.
* Named argument used and comment added.
* 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
* First version of remote xiaomi-miio
* added to coveragerc
* fixed pylint error
* misc fixes and input validation
* address syssi's requests except device and async_service_handler
* forgot to run linter
* implemented async_service_handler
* fixed delay == None, honor timeout given by user, pythonic compare of None
* Added some whitespace for readability, added error message to turn_on and turn_off, fixed services.yaml examples
* fixed pylint errors
* readd pass for readability
* fixed small stuff
* Use RemoteDevice, Make send_command non-async
* Ready code for next version of python-miio (Support for pronto hex codes)
* cast command_optional to int, better input validation, fixed index out of bounds error.
* revert code now in python-miio
* ready for python-miio 0.3.5
* Removed unneccary return statements
* require 0.3.5
* Rebase and update requirements_all.txt
* Lazy loading of service descriptions
* Fix tests
* Load YAML in executor
* Return a copy of available services to allow mutations
* Remove lint
* Add zha/services.yaml
* Only cache descriptions for known services
* Remove lint
* Remove description loading during service registration
* Remove description parameter from async_register
* Test async_get_all_descriptions
* Remove lint
* Fix typos from multi-edit
* Remove unused arguments
* Remove unused import os
* Remove unused import os, part 2
* Remove unneeded coroutine decorator
* Only use executor for loading files
* Cleanups suggested in review
* Increase test coverage
* Fix races in existing tests
* Clean up remote component
* Don't have device be required in send_command service and method.
* Don't have entity_id be required in the base service schema.
* Don't always add activity in the data dict for a service call.
* Update harmony remote platform according to new service schema.
* Remove not needed properties and attributes from the Kira remote
platform.
* Add send_command method to demo platform.
* Add tests and remove duplicate tests.
* Break out required argument as positional argument
* Lift Apple TV to pyatv 0.3.2
Update code to use basic new features.
* Support button presses in Apple TV
* Support device authentication
* Convert Apple TV to a component
A media_player platform and a remote platform will be loaded for each
manually configured or discovered device.
* Move device auth to apple_tv component
* Update requirements and coverage config
* Add scan support to apple_tv
* Use netdisco to automatically discover harmony hubs.
* Allow some settings in configuration.yml to override even on discovered hubs.
* Global is not required as no assignment on variable
* Use `set` instead of list for perf
* Store cache of discovered devices against `hass.data` rather than in global
* Handle case if the device cache is empty
* Fix indentation issue
* Added new commands and functionality to the harmony remote component.
-This includes the ability to optionally specify a number of times to repeat a specific command, such as pressing the volume button multiple times.
-Also added a new command that allows you to send multiple commands to the harmony at once, such as sending a set of channel numbers.
-Updated the unit tests for these changes.
* Fix flake8 coding violations
* Remove send_commands command and make send_command handle a single or list of commands
* Remove send_commands tests
* Update itach and kira remotes for new send_command structure. Fix pyharmony version in requirements_all.txt
* Fix incorrect variable name
* Fix a couple minor issues with remote tests
* Migrate remote to async
* add coro
* remove sync from init since only used in harmony
* import ATTR from remote
* remove unused sync stuff from tests