Commit Graph

4576 Commits (ba7391528fa15a0323a9b2f47d98134e7d463bd9)

Author SHA1 Message Date
Robert Svensson b578a76efa
UniFi - Move some preloading of unavailable clients earlier in setup phase (#34599)
Improve readability of setting up switch platform
2020-04-23 21:29:38 +02:00
J. Nick Koston a7e8446454
Remember homekit aids for entities without a unique id (#34587)
* Remember homekit aids for entities without a unique id

* add backwards compat

* increase cover
2020-04-23 12:07:55 -05:00
jrester 4a5cf5cd2b
Powerwall sensor add is_active, round state attributes and change thresholding for charging status sensor (#34582)
* Change sensor values and thresholding

* Update tests
2020-04-23 10:00:38 -05:00
Robert Svensson c3689d7416
UniFi - Store controller in config_entry.entry_id (#34553)
* Store controller in config_entry.entry_id

* Clean up imports
2020-04-23 16:48:24 +02:00
Ziv 561b033ebb
Add coverage to qwikswitch (#33939) 2020-04-23 08:44:28 +02:00
Aaron Bach 4d292c2723
Add support for AirVisual Node/Pro units (#32815)
* Add support for AirVisual Node Pro units

* Fixed tests

* Updated dependencies

* Guard looks cleaner

* Limit options update to geography-based entries

* Docstring

* Use proper precision in display_temp

* Add availability for AirVisualNodeProSensor

* Updated translations

* Samba stuff in play

* Wrap up Samba

* Fix tests

* Remove unnecessary updates

* Normalize labels

* Bump requirements

* Don't include configuration.yaml support for this new functionality

* Fix tests

* Code review

* Code review

* Update coveragerc

* Code review
2020-04-23 01:41:14 +02:00
Erik Montnemery 4448eb94a1
Only subscribe when MQTT client is connected. (#34557) 2020-04-22 14:38:04 -07:00
Tom d6ab36bf8e
Set mqtt binary_sensor unavailable if expire_after specified (#34259)
* Set self._expired=True if expire_after specified

* Added test_expiration_on_discovery_and_discovery_update_of_binary_sensor to mqtt/test_binary_sensor.py

* Fixed flake8 error

* Fixed isort error
2020-04-22 23:29:49 +02:00
Quentame a8cd7203df
Bump python-synology to 0.7.0 (#34534) 2020-04-22 16:28:47 -05:00
Erik Montnemery 6631bbc6f5
Remove reconnect logic from MQTT client. (#34556) 2020-04-22 14:28:36 -07:00
Jeff McGehee dcf51e5a14
Fix Bayesian Binary JSON Serialization (#34540) 2020-04-22 11:25:14 -07:00
MatsNl ccc3ce81f9
Add Atag One thermostat integration (#32361)
* add atag integration

* ignore

* generated

* Update .gitignore

* requirements update

* update coveragerc

* Revert "update coveragerc"

* make entity_types more readable

* add DOMAIN to listener

* entity name

* Use DataUpdateCoordinator

* fix translations

* enable preset_modes

* fix water_heater

* update coveragerc

* remove scan_interval

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Apply suggestions from code review

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fixes review remarks

* fix flake8 errors

* ensure correct HVACmode

* add away mode

* use write_ha_state instead of refresh

* remove OFF support, add Fahrenheit

* rename test_config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-22 18:09:51 +02:00
Chris Talkington 6dd836589c
Improve Roku (#34431) 2020-04-21 21:06:23 -07:00
J. Nick Koston 6c3ea2a904
Fix zeroconf interface being ineffective in HomeKit (#34516) 2020-04-21 20:46:19 -07:00
Robert Svensson 193e9bec97
UniFi - Simplify config option of block clients to just a multi select drop down (#34514) 2020-04-21 20:45:48 -07:00
J. Nick Koston 96649a7e27
Use registry to find linked batteries for homekit (#33519) 2020-04-21 17:43:49 -07:00
Erik Montnemery 877eb0c3ad
Don't log same MQTT message multiple times (#34511) 2020-04-21 16:48:04 -07:00
J. Nick Koston d06fce6997
Display Homekit QR code when pairing (#34449)
* Display a QR code for homekit pairing

This will reduce the failure rate with HomeKit
pairing because there is less chance of entry
error.

* Add coverage

* Test that the qr code is created

* I cannot spell

* Update homeassistant/components/homekit/__init__.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/homekit/__init__.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-21 17:38:43 -05:00
ochlocracy 0d598dd6d6
Modify requirements for CameraStreamController in Alexa (#34470) 2020-04-21 10:46:56 -07:00
springstan ef9d9b17bd
Drop UNIT_ prefix for constants (#34164)
* Drop UNIT_ prefix for VOLT

* Drop UNIT_ prefix for DEGREE

* Drop UNIT_ prefix for CONDUCTIVITY

* Drop UNIT_ prefix for UV_INDEX

* Run isort
2020-04-21 19:45:53 +02:00
Franck Nijhof 220baed33a
Remove Yahoo Weather integration (#34501) 2020-04-21 19:11:19 +02:00
David Nielsen 08e74352ec
Update bravia-tv backend (#34376)
* bravia-tv version bump

* Fix Auth Cookies

    - Fix authentication cookie expiration.
    - Remove obsolete error handling (since bravia-tv==1.0.2)
    - Remove obsolete mac address references. (since bravia-tv==1.0.2)
    - Update tests.

* fix async_refresh_playing_info

* Improve code format

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Config_entry needs mac address for HA restart

    This was mistakenly taken out. Home-Assistant needs to store mac address in
    case restarted. TV needs to be on to acquire mac address. This is neccesary
    to allow TV to be turned on by Home-Assistant after Home-Assistant is
    restarted.

* Skip update() during state changes

    It is best for performance to skip updates during state change because
    bravia.turn_on() will commonly push async_update() beyond it's update
    interval.

* update tests

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-21 16:46:12 +02:00
Erik Montnemery 8e150ff1f5
Bump pychromecast (#34466)
* Bump pychromecast

* Fix tests
2020-04-21 07:57:39 +02:00
Franck Nijhof bc5a2da7b7
Add transition support to scenes, cleanup blocking parameter (#34434) 2020-04-20 18:07:50 -07:00
Paulus Schoutsen 19be31d13a
Migrate HomeKit to use describe_event for logbook support (#34485) 2020-04-20 17:48:09 -07:00
J. Nick Koston f0d553514d
Add vacuum support to homekit (#34386) 2020-04-20 08:00:52 -07:00
escoand c87ecf0ff6
Add config flow and device registry to fritzbox integration (#31240)
* add config flow

* fix pylint

* update lib

* Update config_flow.py

* remote devices layer in config

* add default host

* avoid double setups of entities

* remove async_setup_platform

* store entities in hass.data

* pass fritz connection together with config_entry

* fritz connections try no4 (or is it even more)

* fix comments

* add unloading

* fixed comments

* Update config_flow.py

* Update const.py

* Update config_flow.py

* Update __init__.py

* Update config_flow.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* add init tests

* test unloading

* add switch tests

* add sensor tests

* add climate tests

* test target temperature

* mock config to package

* comments

* test binary sensor state

* add config flow tests

* comments

* add missing tests

* minor

* remove string title

* deprecate yaml

* don't change yaml

* get devices async

* minor

* add devices again

* comments fixed

* unique_id fixes

* fix patches

* Fix schema

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-20 15:00:07 +02:00
Elahd Bar-Shai c5d2e44baf
Add white value in light template platform (#32481)
* Added support for white value in Template Light integration.

* Tests now working.

* Clean up

* Make template more robust

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-20 14:26:28 +02:00
Rami Mosleh 2a6948e696
Add Islamic Prayer Times config flow (#31590)
* Add Islamic Prayer Times config_flow

* Add Islamic Prayer Times config_flow

* handle options update and fix tests

* fix sensor update handling

* fix pylint

* fix scheduled update and add test

* update test_init

* update flow options to show drop list

* clean up code

* async scheduling and revert state to timestamp

* fix update retry method

* update strings

* keep title as root key
2020-04-20 14:22:48 +02:00
Jc2k 1b4851f2e0
Remove deprecated homekit_controller credential storage locations (#34333)
* Remove deprecated homekit_controller credential storage locations

* async_import_legacy_pairing can also be removed
2020-04-20 07:32:30 -04:00
J. Nick Koston 75e5f085d3
Include charging state for powerwall (#33432)
* Switch to binary sensor for charging status per review

* Powerwall charging margin of error is much higher than expected
2020-04-19 20:50:42 -05:00
Robert Svensson e5a861dc90
UniFi - refactor entity management (#34367)
* Move removal of sensor entities into a base class

* Fix martins comments on sensors

* Reflect sensor changes on device_tracker platform

* Reflect sensor changes on switch platform

* Improve layering

* Make sure to clean up entity and device registry when removing entities

* Fix martins comments
2020-04-19 21:30:06 +02:00
Jc2k a80ce60e75
Store HomeKit generated accessory id against unique_id where possible (#33109)
* HomeKit: Store generated aid against unique_id where possible

* Fix conflict

* Fix max accessories check

* homekit counts the bridge as an accessory

* Add coverage for aidmanager

* prepare for merge

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-19 13:51:09 -05:00
Chris Talkington 75608ce378
Improve Roku media player test coverage (#34403) 2020-04-19 09:59:12 -05:00
J. Nick Koston 7a8d1c00a4
Add support for turning on swing mode in tado (#34404) 2020-04-19 12:17:06 +02:00
Paulus Schoutsen 98f1548f2d
Allow fetching translations by categories (#34329) 2020-04-18 17:13:13 -07:00
Chris Talkington b3eba49a2f
Add tests for Roku (#34380) 2020-04-18 17:23:55 -05:00
MatthewFlamm 64cd38d96f
Use DataUpdateCoordinator in NWS (#34372) 2020-04-18 08:59:20 -05:00
Bram Kragten 01599d44f5
Google local sdk: Set right port, correct device id and add base url (#34358) 2020-04-17 20:59:49 -07:00
João Gabriel 42b6ec2fb5
Add config flow to panasonic_viera component (#33829)
* Updating the panasonic_viera component

* Updating .coveragerc

* Removing testplatform

* Updating strings.json

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Adding tests and stuff

* Fixing permission issues

* Ignoring Pylint warnings

* Fixing one more Pylint warning

* Refactoring

* Commiting changes - part 1

* Commiting changes: part 2

* Turning unknown error logs into exception logs

* Update strings.json

* Rebasing

* Updating the panasonic_viera component

* Removing testplatform

* Updating strings.json

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Adding tests and stuff

* Fixing permission issues

* Ignoring Pylint warnings

* Fixing one more Pylint warning

* Refactoring

* Commiting changes - part 1

* Commiting changes: part 2

* Turning unknown error logs into exception logs

* Adding pt-BR translation

* Removing Brazilian Portugues translations

* Modifying error handling

* Adding SOAPError to except handling

* Updating translation

* Refactoring async_step_import

* Fixing indentation

* Fixing requirements after rebase

* Fixing translations

* Fixing issues after rebase

* Routing import step to user step

* Adding myself as a codeowner
2020-04-18 05:19:01 +02:00
jjlawren 82784a320c
Ignore non-ASCII keys in zeroconf payloads (#34344)
* Ignore non-ASCII keys in zeroconf payloads

* Don't rely on logging for test
2020-04-17 19:36:46 -05:00
Quentame 30744bea9c
Add 2SA authentication to Synology DSM (#34101)
Co-Authored-By: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-17 18:47:50 -05:00
Robert Svensson 4484afc0d6
deCONZ - Always allow manual input of gateway (#33951)
* Always allow manual input of gateway
2020-04-17 23:51:35 +02:00
jrester 3776a06281
Use serial numbers for unique_id of powerwall devices (#34351)
* Update tesla-powerwall to version 0.2.5

* Create unique_id from serial numbers of powerwalls
	modified:   homeassistant/components/powerwall/__init__.py
	modified:   homeassistant/components/powerwall/binary_sensor.py
	modified:   homeassistant/components/powerwall/const.py
	modified:   homeassistant/components/powerwall/entity.py
	modified:   homeassistant/components/powerwall/sensor.py
	modified:   tests/components/powerwall/mocks.py
	modified:   tests/components/powerwall/test_sensor.py

* Fix pylint error
	modified:   homeassistant/components/powerwall/__init__.py
2020-04-17 16:21:14 -05:00
Quentame 618538aeff
Add missed CONF_API_VERSION config in flow + Fix missing_data translation (#34356)
* Add missed CONF_API_VERSION config in flow + remove CONF_NAME in tests

* Fix missing_data translation
2020-04-17 22:45:17 +02:00
SukramJ 1c6e92c45b
Fix HomematicIP smoke detector detection type (#34347) 2020-04-17 11:35:30 -07:00
J. Nick Koston 23f278e090
Fix emulated_hue brightness off by one (#34185)
* Fix emulated_hue brightness off by one

Hue uses a max brightness of 254, Home Assistant
uses a max brightness of 255. Values > 127 were
off by one.

* use constant

* fix test

* add debug

* Revert "add debug"

This reverts commit 242220a02e.
2020-04-17 11:59:27 -05:00
tubalainen d672eed331
Add rflink binary_sensor allon and alloff commands (#32411)
* added "allon" and "alloff" to the binary_sensor

Ref to the issue: https://github.com/home-assistant/core/issues/32399

* Cosmetic fix

* Fix format

* Update test

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2020-04-17 17:15:04 +02:00
Ziv 1259979204
Fix uncaught exception in local_file (#34312)
* remove ignore from localfile

* added mock_registry

* since there are no more exceptions, infra to ignore them is redundant
2020-04-17 13:10:48 +02:00
Ziv a2b280f342
Fix uncaught exceptions in ios (#34119)
* verify that the config in hass is not empty

* changed to use MockConfigEntry

* Update tests/components/ios/test_init.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/ios/test_init.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* changed the test per suggestions

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-17 10:25:31 +02:00
jan iversen 8277ebcbe1
Rollback modbus to version 0.107.7 keep new functionality (#34287)
* Rollback modbus to version 0.107.7

Update manifest to not use async.

Rollback entities to sync version.

Keep newer modifications apart from async.

Rollback __init__ to sync version but keep the new functionality.

add async sub directory

Adding the current (not working) version in a sub directory,
to allow easy sharing with a few alfa testers.

The async version are to be updated to use the serial/tcp already
available instead of the flaky pymodbus version. pymodbus is still
needed to encode/decode the messagess.

Update test cases to reflect sync implementation, but
keep the new functionality like e.g. conftest.py.

* do not publish async version

The async version will be made available in a forked repo, until
it is ready to replace the production code.
2020-04-17 09:55:57 +02:00
Robert Svensson 465eeab553
UniFi - Allow tracking of clients connected to third party APs (#34067)
* Allow disable wired bug work around

* Move small improvements from closed PR #34065

* Fix failing test

* Add new test

* Some extra logging

* Harmonize log outputs

* Add config flow string

* Fix Balloobs comments
2020-04-17 08:39:01 +02:00
Raman Gupta c9cc024e9b
Abort vizio zeroconf config flow if unique ID is already configured (#34313) 2020-04-16 16:16:35 -07:00
J. Nick Koston b87b618c94
Resolve homekit not updating motion sensors (#34282)
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-16 16:15:37 -07:00
J. Nick Koston 97609576cb
Fix default elkm1 temp units (#34274) 2020-04-16 15:18:41 -07:00
Anders Melchiorsen 6e2cf9663a
Purge recorder database at night (#33646) 2020-04-16 15:11:36 -07:00
Robert Svensson 374fe47809
UniFi - Support automatic removal of clients (#34307) 2020-04-16 15:08:53 -07:00
J. Nick Koston abae48c287
Use config entry id for unique id if serial number is missing (#34154) 2020-04-16 14:59:30 -07:00
Raman Gupta ca67fd9faa
Skip ignored hosts when checking existing config entries in config flow (#34280) 2020-04-16 14:53:34 -07:00
Raman Gupta 8825561a99
Refactor vizio media_player tests to remove conditional statements from helper function (#33615) 2020-04-16 14:52:43 -07:00
Chris Talkington 9d794b820a
Improve IPP Config Flow (#34212) 2020-04-16 14:12:26 -07:00
Kit Klein e20bfdd19c
Ensure zone in update payload for konnected (#34289) 2020-04-16 18:34:53 +02:00
MatthewFlamm 6d812bd957
Add config flow to nws and remove yaml configuration (#34267)
* add config flow to nws and remove yaml

* Don't duplicate scan_time

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Use _abort_if_unique_id_configured

Co-Authored-By: J. Nick Koston <nick@koston.org>

* fix abort

* Add unavailable tests

* update and use better strings

* lint

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-16 09:15:55 -05:00
J. Nick Koston 5e3e4bda28
Prevent a single accessory setup failure from breaking all HomeKit accessories (#34263)
* Prevent a single accessory setup failure from breaking all HomeKit accessories

Raise the max devices to 150 as the spec allows for this
many.  Previously 100 made sense because of the event
storms when homekit started would sometimes break pairing,
as these have largely been fixed in 0.109 (still a few
to cleanup) using the HAP spec limit of 150 is now possible.

* Handle both failure states
2020-04-15 21:40:38 -05:00
J. Nick Koston e8710002b1
Convert homekit fans to use service callbacks (#34229)
* Convert homekit fans to use service callbacks

* Convert homekit fans to use service callbacks

Service callbacks allow us ensure that we call
fan services in the correct order.

* Avoid calling turn_on if a speed is sent and the device is on

* Fix test to not leave files behind

* Fix test

* Update homeassistant/components/homekit/type_fans.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-15 21:39:31 -05:00
J. Nick Koston d6a47cb3e0
Set homekit alarm/sensor/switch/cover state as soon as possible (#34245)
* Set homekit alarm/sensor/switch state as soon as possible

This change is part of a multi-part effort to fix the
HomeKit event storms on startup.

Previously we would set the states after HomeKit
had started up which meant that when the controller
client connected it would request the states and get
a list of default states so all the initial states
would always be wrong. The defaults states generally went
unnoticed because we set the state of each HomeKit device
soon after which would result in an event storm in the log
that looked like the following for every client and every
device:

Sending event to client: ('192.168.x.x', 58410)
Sending event to client: ('192.168.x.x', 53399)
Sending event to client: ('192.168.x.x', 53399)

To solve this, we now set the state right away when we
create the entity in HomeKit, so it is correct on
initial sync, which avoids the event storm.  Additionally,
we now check all states values before sending an update
to HomeKit to ensure we do not send events when nothing
has changed.

* pylint

* Fix event storm in covers as well

* fix refactoring error in security system

* cover positions, now with constants
2020-04-15 21:38:31 -05:00
J. Nick Koston 188f3e35fd
Add tests for additional nut ups models (#34240)
* Add NUT tests for an Eaton 5E650I UPS

* add a test to make sure multiple ups get setup

* Add a few more upses

* fix missing status key

* cover

* Force CI run
2020-04-15 20:28:03 -05:00
Chris Talkington 1f4cdda234
Support DirecTV music channels with extended meta (#34228) 2020-04-15 18:08:54 -07:00
Ziv 5bfc1f3d4d
Removed uncaught exceptions from Dyson (#34112)
* fixed what seems to be a typo

* added load_mock_device in common.py so it loads all the required things into the mocks
so they don't throw exceptions for mocks not being able to convert to int

* reverted change in homeassistant/components/dyson/sensor.py
added both values to the mock device (volatil and volatile)
2020-04-15 14:03:14 -07:00
Paulus Schoutsen 9f1bffe3be
Add command to get integration manifests (#34262)
* Add command to get integration manifests

* Add is_built_in value to manifest

* Update APIs
2020-04-15 13:36:16 -07:00
presslab-us e41753556c
Add MQTT climate temperature unit (#34066)
* Add MQTT temperature unit
2020-04-15 20:11:04 +02:00
Paulus Schoutsen 1ac8442c63
Fix Cloud UI bug preventing managing Google 2FA (#34241)
* Fix Cloud UI bug preventing managing Google 2FA

* Update comment
2020-04-15 08:43:43 -07:00
Aidan Timson e47b548192
Add AsusWRT Devices Connected Sensor (#34204)
* Add Devices Connected

* Remove attributes

* Add sensors to test

* Improve sensor test

* Cleanup

* Apply suggestions from code review

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Import device from aioasuswrt

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-15 17:42:01 +02:00
Paulus Schoutsen 0b90ebf91e
Allow async_setup changes to config entry data be taken into a… (#34166)
* Allow async_setup changes to config entry data be taken into account

* Fix tests

* Limit scope try…finally

* Update tests/test_config_entries.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Fix import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-14 18:46:41 -07:00
Maciej Bieniek 6dc6f2d099
Add config flow for braviatv integration (#33774)
* Run scripts

* Improvement strings

* Fix FlowOptions update listener

* Update .ceveragerc

* Add tests

* Better strings

* Add test for OptionsFlow

* Run gen_requirements_all.py once again

* Fix pylint errors

* Log error when there is no bravia.conf file during import

* Improvement strings

* Use braviarc object from hass.data in options flow

* Use async_add_executor_job for IO

* Fix options flow test

* Fix tests

* Remove host_reachable method

* Remove dependencies

* Change setup_platform method to async

* Remove calling system_info

* Save mac in the config entry

* Fix get ignore sources

* Fix read config from file

* Remove the side effect from init

* Fix user_input for user step

* Switch OrderedDict to dict

* New config_entry instance for each test

* Revert change

* Patch async_setup_entry in test_import

* Change a way to create source list

* Consolidate repeated block of code

* Update tests

* Suggested change

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Suggested channge

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Suggested change

* Patch async_setup_entry

* Remove unnecesary if

* suggested change

* Suggested change

* Fix tests

* Fix pylint error

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-15 01:04:06 +02:00
Andrew Sayre 075030f15a
Update SmartThings config flow to be entirely UI based (#34163)
* bump pysmartthings 0.7.1

* Update config flow to use UI

* Code review comments and fix for resetting oauth client

* Replace html with markdown
2020-04-14 15:26:53 -07:00
Maciej Bieniek c30600a044
Add unit_of_measurement property for air_quality entity (#33304) 2020-04-14 23:15:08 +02:00
J. Nick Koston f516b24dfb
Reduce tplink loss of precision during brightness conversion (#34210) 2020-04-14 20:48:35 +02:00
Chris Talkington e268c5b873
Catch IPPVersionNotSupportedError in IPP (#34184)
* Update config_flow.py

* squash.

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py
2020-04-14 20:30:41 +02:00
J. Nick Koston e0a7ea52fd
Reduce loss of precision when setting light percent brightness (#34208)
* Reduce loss of precision when setting light percent brightness

This part of an effort to fix all the round trip light
brightness percentages that cause errors with homekit
, alexa, and other devices that use percentage.

* fix demo light test
2020-04-14 13:26:18 -05:00
Aidan Timson 18478ebd05
Improve LG webosTV (#34147)
* Move consts to const, general cleanup

* Add unique id

* Add default icon

* Set supported features based on sound output

* Update homeassistant/components/webostv/media_player.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Set device class

* Add software_info to client mock

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-14 20:26:13 +02:00
Kris Bennett 994e83811f
Add Android TV screen capture option and use library screencap (#34074) 2020-04-14 18:41:19 +02:00
Paulus Schoutsen 6fa29d6e2e
Fix Hue brightness values over 127 off by one (#34190) 2020-04-14 13:31:38 +02:00
Paulus Schoutsen f87c44e544
Test updating non existing config entry (#34191) 2020-04-14 11:43:22 +02:00
Paulus Schoutsen a9908f0a94
Ecobee to use HVAC mode heat-cool instead of auto (#34193) 2020-04-14 09:56:50 +02:00
Paulus Schoutsen d93c09327a
Report unserializable data in websocket (#34072)
* Report unserializable data in websocket

* Fix tests

* log types too
2020-04-13 23:46:41 -07:00
Paulus Schoutsen bea354b82a
Allow WS queue to temporarily peak (#34175)
* Allow WS queue to temporarily peak

* Remove unused code
2020-04-13 18:50:36 -07:00
Paulus Schoutsen 89fe488b7c
Add websocket API to update config entry title (#34155) 2020-04-13 17:38:39 -07:00
J. Nick Koston 29f50ddc9c
Fix z-wave brightness off by one (#34170)
Z-wave would drop the floating point by calling
int() instead of round() which would result in
the brightness being off by one in many cases.
2020-04-13 17:51:35 -05:00
jrester 6924192523
Use updated powerwall client API library (#34139)
* Use updated powerwall client API library

* Increase instant_power precision to 3

* Add @jrester as code owner for powerwall
2020-04-13 21:59:50 +02:00
Robert Chmielowiec 7bd6f5413d
Add flash light device actions (#33689)
* Add flash light device actions

* Single action with extra fields

* Change extra_fields to dictionary
2020-04-13 10:30:20 -07:00
Franck Nijhof 6d24a65313
Various light test improvements (#34131) 2020-04-13 15:33:04 +02:00
Austin Mroczek c7ab5de07c
Add Totalconnect config flow (#32126)
* Bump skybellpy to 0.4.0

* Bump skybellpy to 0.4.0 in requirements_all.txt

* Added extra states for STATE_ALARM_TRIGGERED to allow users to know if
it is a burglar or fire or carbon monoxide so automations can take
appropriate actions.  Updated TotalConnect component to handle these new
states.

* Fix const import

* Fix const import

* Fix const imports

* Bump total-connect-client to 0.26.

* Catch details of alarm trigger in state attributes.

Also bumps total_connect_client to 0.27.

* Change state_attributes() to device_state_attributes()

* Move totalconnect component toward being a multi-platform integration.  Bump total_connect_client to 0.28.

* add missing total-connect alarm state mappings

* Made recommended changes of MartinHjelmare at
https://github.com/home-assistant/home-assistant/pull/24427

* Update __init__.py

* Updates per MartinHjelmare comments

* flake8/pydocstyle fixes

* removed . at end of log message

* added blank line between logging and voluptuous

* more fixes

* Adding totalconnect zones as HA binary_sensors

* fix manifest.json

* flake8/pydocstyle fixes.  Added codeowner.

* Update formatting per @springstan guidance.

* Fixed pylint

* Add zone ID to log message for easier troubleshooting

* Account for bypassed zones in update()

* More status handling fixes.

* Fixed flake8 error

* Another attempt at black/isort fixes.

* Bump total-connect-client to 0.50.  Simplify code using new functions in
total-connect-client package instead of importing constants.  Run black
and isort.

* Fix manifest file

* Another manifest fix

* one more manifest fix

* more manifest changes.

* sync up

* fix indent

* one more pylint fix

* Hopefully the last pylint fix

* make variable names understandable

* create and fill dict in one step

* Fix name and attributes

* rename to logical variable in alarm_control_panel

* Remove location_name from alarm_control_panel attributes since it is
already the name of the alarm.

* Multiple fixes to improve code per @springstan suggestions

* Update homeassistant/components/totalconnect/binary_sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Multiple changes per @MartinHjelmare review

* simplify alarm adding

* Fix binary_sensor.py is_on

* Move DOMAIN to .const in line with examples.

* Move to async_setup

* Simplify code using new features of total-connect-client 0.51

* First crack at config flow for totalconnect

* bump totalconnect to 0.52

* use client.is_logged_in() to avoid total-connect-client details.

* updated generated/config_flow.py

* use is_logged_in()

* Hopefully final touches for config flow

* Add tests for config flow

* Updated requirements for test

* Fixes to test_config_flow

* Removed leftover comments and code

* fix const.py flake8 error

* Simplify text per @Kane610 https://github.com/home-assistant/home-assistant/pull/32126#pullrequestreview-364652949

* Remove .get() to speed things up since the required items should always
be available.

* Move CONF_USERNAME and CONF_PASSWORD into .const to eliminate extra I/O
to import from homeassistant.const

* Fix I/O async issues

* Fix flake8 and black errors

* Mock the I/O in tests.

* Fix isort error

* Empty commit to re-start azure pipelines (per discord)

* bump total-connect-client to 0.53

* Update homeassistant/components/totalconnect/__init__.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/totalconnect/config_flow.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Fixes per @balloob comments

* Fix imports

* fix isort error

* Fix async_unload_entry

It still referenced CONF_USERNAME instead of entry.entity_id

* Added async_setup so not breaking change.  Fixed imports.

* Update tests/components/totalconnect/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Remove TotalConnectSystem() per @MartinHjelmare suggestion

* Moved from is_logged_in() to is_valid_credentials()

The second is more accurate for what we are checking for, because is_logged_in() could return False due to connection error.

* Fix import in test

* remove commented code and decorator

* Update tests/components/totalconnect/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fix test_config_flow.py

* bump total-connect-client to 0.54

* remove un-needed import of mock_coro

* bump to total-connect-client 0.54.1

* re-add CONFIG_SCHEMA

* disable pylint on line 10 to avoid pylint bug

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-12 21:29:57 -05:00
J. Nick Koston 5d649b2541
Convert homekit thermostats to use service callbacks (#34073)
* Convert homekit thermostats to use service callbacks

Service callbacks allow us to get all the temperature
changes in one request so we can avoid all the
need to store state and debounce.

* remove excess debug

* Fix lock and light tests

* Ensure all code for Thermostats has coverage

* I am answering all the homekit cases anyways so might as well be aware of regressions

* Make lock notifications reliable

* Update homeassistant/components/homekit/type_lights.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-12 17:38:33 -05:00
J. Nick Koston 173d7fa060
Handle all zero serial numbers in NUT (#34045)
* Handle all zero serial numbers in NUT

* Add additional nut tests

* Update homeassistant/components/nut/__init__.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* remove re

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-12 15:29:35 -07:00
J. Nick Koston c75d3ce8c7
Add tilt support to basic homekit window covers (#33937)
* Add tilt support to basic homekit window covers

* Add stop support to all window covers

* protect supports_stop
2020-04-12 15:27:17 -07:00
MatthewFlamm e6a6c3ceb6
Fix nws platform setup and data update. (#34106)
* add test and fix tests for update logging.

* Fix update logging.

* Remove assert is True

* guard against platform config and use async_write_ha_state

* fix discovery info passing to platform

* Improve testing for entities in init
2020-04-12 17:19:22 -05:00
J. Nick Koston ad5a396c10
Fix reversed door closing/opening states in HomeKit (#34095)
* Fix reversed door closing/opening states in HomeKit

When we closed the door we would set state 2 which
is "Opening" it should have been 3 which is
"Closing"

When we opened the door we would set state 3 which
is "Closing" it should have been 2 which is
"Opening"

Add constants to make this easier to catch
in the future.

* Remove debug

* Add note about target door state
2020-04-12 15:15:55 -07:00
Erik Montnemery ec2c7ea932
Don't do http requests to determine Cast device details (#34082)
* Don't do http requests to determine cast device details

* Fix tests

* Update homeassistant/components/cast/media_player.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-12 15:02:28 -07:00
Ziv 200e140e80
Fixed uncaught exceptions for demo (#34117) 2020-04-12 14:10:05 -07:00