* Adds AdGuard Home integration
* 👕 Addresses linting warnings
* 🚑 Fixes typehint in async_setup_entry
* 👕 Take advantage of Python's coalescing operators
* 👕 Use adguard instance from outer scope directly in service calls
* 👕 Use more sensible scan_interval default for sensors
* 👕 Adds specific files to .coveragerc
* ☔ Added tests and small changes to improve coverage
* 🔨 Import adguardhome dependencies at the top
* 🚑 Converted service handlers to be async
* 🔥 Removed init step from config flow
* Bumped to version 2.0
* Updated requirements
* Updated requirements and coveragerc
* Removed long lines, changes to coveragerc and requirements
* Fixed under-indented lines
* Fixed invalid syntax
* Updated .coveragerc to include repetier/__init__.py and sensor.py
* Module update
* Rebased to latest dev
* Blank lines fix
* Add missing manifest.json
* Update requirements
* Bumped component to new API module style
* Removed whitespaces and line feeds
* Added missing newline
* Added missing heated chamber sensor
* Fixed wrong indentation
* Various fixes
* Various build fixes
* Clean up
* Load platform only once
* Sort imports
* Add printer api
* Clean up
* Build out sensor classes
* Clarify temperature sensor variable names
* Move constants
* Clean up name
* Run script/gen_requirements_all.py
* Working code, missing auto add of new sensors
* Updated code to return proper device_class and timestamp
* Removed unnessecary code
* Renamed elapsed and remaining sensors
* Dynamically adding sensors as they become available
* Rebased .coveragerc due to conflicts
* Code changes and cleanup
* Removed whitespace and code simplification
* v1 of Azure Event Hub History component
* updates to EH
* small fix
* small updates and changed requirements_all
* new version of Event Hub component
* redid config to just ask names
* small edit
* latest version of EH component
* updated codeowners
* codeowner fix
* typo in domain
* updates based on reviews.
* using built-in jsonencoder for DT
* delete unused import
* Solax inverter direct API
* Linter compliance
* lint++
* move api communication to external lib
* lint++
* requirements
* Revert "requirements"
This reverts commit 82a6c0c095.
* potentially?
* Addressing review comments
* Also update CODEOWNERS
* Only update sensor state if data has changed
* Added support for MCP23017 I2C GPIO extender.
* Updated .coveragerc to exclude mcp23017 component from tests.
* Generated CODEOWNERS for mcp23017 usign script.
* Removed .svn folder that had been accidentally uploaded.
* Added link to www.home-assistant.io docs in manifest.json
* Fixed logic error in switch platform.
* Cleaned up code and removed unnecessary should_poll() function.
* Limited the options for pull mode to UP and DOWN
* Fixed line too long in binary sensor.
* Fixed line too long on switch.py
* Changed to setup_platform.
* Reorder constants
* Added new component meteoalarm
* Update sensor.py
* Update manifest.json
* Update manifest.json
* Update manifest.json
* Added file CODEOWNERS
* Modified some code, thanks @amelchio
* removed Throttle because is not being used anymore
* Update _attributes ad _state
* some cleanup
* Update sensor.py
Change sensor to binarysensor
* Rename sensor.py to binary_sensor.py
rename the file
* Update binary_sensor.py
Removed BinarySensorDevice from class
* Update binary_sensor.py
Made a mistake with BinarySensorDevice
* Update binary_sensor.py
clean up white spaces
* Update binary_sensor.py
Fix BinarySensorDevice
* Update binary_sensor.py
cleanup the import libs
* modified __init__
* fix
* final fix, thanks @amelchio
* forgot to change the sensor.py
* correct some typo in text
* fix typos
* fix another typo
* fix typo
* Updated to the current version of dev
* Added the component to .coveragerc
* Added __init__.py and manifest.json
* Changed the manifest to comply the json format
* Changes in for complete the PEP8 Code
* Fixed the api call to use PyPI package
* Fixed API correrct call
* Fixes for complete the requirements
* Added dependencies in manifest.json
* Changed the __init__.py to complete PEP8
* Simplified the __init__.py
* Runned codeowner script
* executed gen_requirements_all.py
* Direct call for dicts and unit changed to minutes
* Fixed the optional dict call, sorry, my bad, I did not that
* Deleted unused vars
* Changed optional parameter to required
* Remove blank first line
* ptvsd debugger component.
* Add test case
* ptvsd as test dependency
* Fix for 3.5
* Fixed bootstrap test
* Use dict direct lookup.
* Don't need to load dependencies.
* Get the test working.
* 3.5 fix
* Set mock return value
* Put tests back, but skip them
* Change log level
* Added component named switcher_kis switcher water heater integration.
* Fixed conflicts.
* Updated requirements.
* Added manifest.json file and updated CODEOWNERS.
* Fixed requirements_all.txt.
* Better component tests.
* Removed unnecessary parameter from fixture function.
* Removed tests section from mypy.ini.
* Remove unused ENTITY_ID_FORMAT.
* Stop udp bridge when failed to setup the component.
* Replace DISCOVERY_ constants prefix with DATA_.
* Various change requests.
* Fixed constant name change remifications.
* Added explicit name to fixture.
* Various change requests.
* More various change requests.
* Added EventType for homeassistant.core.Event.
* Switched from event driven data distribution to dispatcher type plus clean-ups.
* Removed name and icon keys from the component configuration.
* Various change requests.
* Various change reqeusts and clean-ups.
* Removed unnecessary DEPENDENCIES constant from swith platform.
* Replaced configuration data guard with assert.
* Removed unused constants.
* Removed confusing type casting for mypy sake.
* Refactor property device_name to name.
* Removed None guard effecting mypy only.
* Removed unnecessary function from switch entity.
* Removed None guard in use by mypy only.
* Removed unused constant.
* Removed unnecessary context manager.
* Stopped messing around with mypy.ini.
* Referring to typing.TYPE_CHECKING for non-runtime imports.
* Added test requierment correctyly.
* Replaced queue.get() with queue.get_nowait() to avoid backing up intervals requests.
* Revert changes in mypy.ini.
* Changed attributes content to device properties instead of entity properties.
* Fixed typo in constant name.
* Remove unnecessary async keyword from callable.
* Waiting for tasks on event loop to end.
* Added callback decorator to callable.
* Adding Genius Hub
* Added Genius hub
* Correct hound errors
* Correct hound errors.
* Correct tox errors.
* Fix travis errors
* Correct sensor names
* Correct travis errors
* Correct hound errors
* Follow up from code review by Martin Hjelmare
* More changes from code review.
* Attempt to resolve conflicts in requirements_all
* de-lint for the houndci-bot
* better logging message, and small tidy-up
* minor refactor and de-lint
* domain name should be the same as the component name
* use self where appropriate
* minor de-lint
* add entities as a single call
* de-lint
* all read-only attrs almost done
* refactor - near the end
* change state/,ode mapping
* override temp from curr_temp
* all read-only properties working
* working now
* ready for PR, but need to remove logging
* de-lint
* de-linted, ready for merge
* de-linted, ready for merge 2
* didn't like import in climate/__init__
* improve footprint logic
* add manifest.json
* add manifest.json 2
* correct a regression
* fix regression with device.is_on()
* use latest client library
* update to latest client library, 3.3.6
* delint and shoudl be OK to go
* Added basic Supla (https://www.supla.org) support (covers)
* PySupla upgrade, minor spelling corrections and .coveragerc update
* Linter errors cleanup
* More linter cleanups.
* Documentation link removal and import sorting
* Docstring formatting
* PR suggestions
* Styling and linting
* PySupla version update
* Removal of ALLOW_EXTRA in SERVER_CONFIG
* Return False on failed connection validation, function order cleanup
* Component manifest
* Missing return None and different way of setting unique_id
* CODEOWNERS update
* CircleCI nudge
* Start with Stiebel Eltron heatpump
* STE HP
* Add read of operating mode
* Add read-write operation mode
* Further extract ModBus access
* Separation of platform and API
* Last changes
* Use modbus hub
* Update module doc with config
* Clean up platform code
* Cleanup and update to dev2 of pystiebeleltron
* Remove slave configuration
* Add translation of states
* Make name parameter optional
* Consolidate platform
* Correct .coveragerc after conflict
* Prepare component for sensor platform
* Fix issues found in review
* Remove custom states and map to existing HA states
* Force update, when values are modified
* Update CODEOWNERS and requirements_all.txt
* Fix .coveragerc file
* Exclude stiebel_eltron components in .coveragerc
* Break out to module level constant
* Rename constant
* Removed REQ and DEP constant.
* Logi Circle now uses OAuth2 for authentication, added config flow.
* Service calls now dispatched to camera entities via signalled events
* Update from PR review
* Add unit tests for config flow
* Updated CODEOWNERS
* Reverted change to .coveragerc
* Improved test coverage of config flow
* Work on PR comments
* Work on PR comments
* Update imports
* Work on schema validation
* Fix package
* Add bomradarcam to .coveragerc
* Improve error message for location
* Delinting
* Correct module name in .coveragerc
* Add manifest.json
* Update requirements_all.txt
* Merge bomradarcam into existing bom integration
* Added MyLink component
* Updated requirements.txt
* Fix lint issues
* Removed ‘Scene’ functionality
* Removed state restoration, as state is no longer tracked
* Add component manifest
* Remove documentation links in Docstring
* Removed redundant try/except block
* Removed default dict
* Removed features already implemented in default CoverDevice
* Removed attributes for tracking state
* Simplified loading of covers
No options exist other than reversal, so just check reversal status directly and update if needed
* Reimplemented is_closed property
* Import ENTITY_ID_FORMAT from base component
* Removed misc unused vars
* Update module docstrings to one line
* Removed too many blank lines, giving one back :)
* Return none on TimeoutError
* Added component to .coveragerc
* Rebrand Cisco Spark notify to be Cisco Webex Teams
* Remove property from class
* Switch to use html for api
* Update notify.py
* Rename CONF_ROOMID to CONF_ROOM_ID
* updated
* Fix lint errors
* Update notify.py
* Update notify.py
* Also validate room ID
* Update notify.py
* Update .coveragerc
* Update notify.py
## Description:
Denon HEOS media player.
**Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#8848
## Example entry for `configuration.yaml` (if applicable):
```yaml
heos:
host: HEOS-1
```
## Checklist:
- [X] The code change is tested and works locally.
- [X] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [X] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [X] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io)
If the code communicates with devices, web services, or third-party tools:
- [X] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]).
- [X] New dependencies are only imported inside functions that use them ([example][ex-import]).
- [X] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [X] New files were added to `.coveragerc`.
If the code does not interact with devices:
- [ ] Tests have been added to verify that the new code works.
[ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
Co-authored-by: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com>
* Split out mopar into a component and sensor platform
* Add the mopar switch platform
* Add the mopar lock platform
* Clean up and bump version
* Update per review
* Re-add service to trigger horn
* Clean up again
* Don't call async from sync context
* Lint
* Implement changes from review
* Lint
* A little more clean up
* The Great Migration
* removed outdated tests
* Upgraded enturclient to v0.2.0
- client has gone async
- configurable if non boarding departures should be omitted from result
- configurable how many departures should be shown
- more clear which attributes are included and when
* reduced nesting and clearing of attributes
* Removed test data
* ensure attribution and stop id in attributes
* docstring fixes
* fix rebase errors
went a bit too fast on continue on one of the conflicts..
* fix test requirements comment from gen
## Description:
Add support for AC-models that follows the Tfiac protocol. Built together with @mellado.
**Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#8910
## Example entry for `configuration.yaml` (if applicable):
```yaml
climate:
platform: tfiac
host: 192.168.10.26
```
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [x] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io)
If the code communicates with devices, web services, or third-party tools:
- [x] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]).
- [x] New dependencies are only imported inside functions that use them ([example][ex-import]).
- [x] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [x] New files were added to `.coveragerc`.
[ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
Co-authored-by: Robbie Trencheny <me@robbiet.us>
* Initial draft
* Add tests for init
Fix hound comments
* Add tests for device
Change parameter handling to make device easier to test
* Remove superfluous functionality per Martins request
* Fix hound comments
* Embedded platforms
* Fix device import
* Config flow retry
* Options default values will be set automatically to options in config entry before component can be used
* Clean up init
Add populate options
Fix small issues in config flow
Add tests covering init
* Improve device tests
* Add config flow tests
* Fix hound comments
* Rebase miss
* Initial tests for binary sensors
* Clean up
More binary sensor tests
* Hound comments
* Add camera tests
* Fix initial state of sensors
* Bump dependency to v17
* Fix pylint and flake8
* Fix comments
* Fire events with websocket messages.
* Added tests to validate
* Fixed api_streams sensor to use new sensor
* Delete from coverageac as now works.
* Removed websocket request event.
* Use dispatcher instead of events.
* Moved sensor to under websocket_api
* Changes as per code review
* Fixed tests.
* Modified test
* Patch
* Moved climate components with tests into platform dirs.
* Updated tests from climate component.
* Moved binary_sensor components with tests into platform dirs.
* Updated tests from binary_sensor component.
* Moved calendar components with tests into platform dirs.
* Updated tests from calendar component.
* Moved camera components with tests into platform dirs.
* Updated tests from camera component.
* Moved cover components with tests into platform dirs.
* Updated tests from cover component.
* Moved device_tracker components with tests into platform dirs.
* Updated tests from device_tracker component.
* Moved fan components with tests into platform dirs.
* Updated tests from fan component.
* Moved geo_location components with tests into platform dirs.
* Updated tests from geo_location component.
* Moved image_processing components with tests into platform dirs.
* Updated tests from image_processing component.
* Moved light components with tests into platform dirs.
* Updated tests from light component.
* Moved lock components with tests into platform dirs.
* Moved media_player components with tests into platform dirs.
* Updated tests from media_player component.
* Moved scene components with tests into platform dirs.
* Moved sensor components with tests into platform dirs.
* Updated tests from sensor component.
* Moved switch components with tests into platform dirs.
* Updated tests from sensor component.
* Moved vacuum components with tests into platform dirs.
* Updated tests from vacuum component.
* Moved weather components with tests into platform dirs.
* Fixed __init__.py files
* Fixes for stuff moved as part of this branch.
* Fix stuff needed to merge with balloob's branch.
* Formatting issues.
* Missing __init__.py files.
* Fix-ups
* Fixup
* Regenerated requirements.
* Linting errors fixed.
* Fixed more broken tests.
* Missing init files.
* Fix broken tests.
* More broken tests
* There seems to be a thread race condition.
I suspect the logger stuff is running in another thread, which means waiting until the aio loop is done is missing the log messages.
Used sleep instead because that allows the logger thread to run. I think the api_streams sensor might not be thread safe.
* Disabled tests, will remove sensor in #22147
* Updated coverage and codeowners.
* Consolidate
* Fix tests
* Update imports
* Fix import
* Use importlib because integration and package share name
* Fix more tests
* Update .coveragerc and CODEOWNERS
* Working on adding androidtv functionality to firetv component
* 'should_poll' must return True
* Change 'properties' to 'device_properties'
* Also mention 'Android TV' in services.yaml
* Use GitHub for 'androidtv' requirement
* Add 'androidtv==0.0.10' to requirements, remove 'firetv==1.0.9'
* Add 'GET_PROPERTIES' adb command option; use pypi for REQUIREMENTS
* Rename integration from 'firetv' to 'androidtv'
* Change default name to 'Android TV'
* Rename integration from 'firetv' to 'androidtv'
* Change firetv to androidtv in .coveragerc
* Change firetv to androidtv in requirements_all.txt
* Remove 'DEFAULT_APPS'
Nanoleaf component now supports both nanoleaf lights, Aurora and Canvas
Changed the dependency to pynanoleaf, nanoleaf does not seem to be
maintained anymore
* Move cisco me to new layout
* Add docstring
* Move items out of init method and pass the controller instance to the scanner in get_scanner
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Fix build error
* Cleanup based on comments.