Commit Graph

5067 Commits (55bf5514ad6a6cf5945a398001671ac46169ac06)

Author SHA1 Message Date
clssn 15b1a9ecea
Add numato integration (#33816)
* Add support for Numato 32 port USB GPIO boards

Included are a binary_sensor, sensor and switch component
implementations. The binary_sensor interface pushes updates via
registered callback functions, so no need to poll here.

Unit tests are included to test against a Numato device mockup.

* Refactor numato configuration due to PR finding

* Resolve minor review findings

* Bump numato-gpio requirement

* Load numato platforms during domain setup

According to review finding

* Guard from platform setup without discovery_info

According to review finding

* Move numato API state into hass.data

According to review finding.

* Avoid side effects in numato entity constructors

According to review finding

* Keep only first line of numato module docstrings

Removed reference to the documentation. Requested by reviewer.

* Minor improvements inspired by review findings

* Fix async tests

Pytest fixture was returning from the yield too early executing teardown
code during test execution.

* Improve test coverage

* Configure GPIO ports early

Review finding

* Move read_gpio callback to outside the loop

Also continue on failed switch setup, resolve other minor review
findings and correct some error messages

* Bump numato-gpio requirement

This fixes a crash during cleanup. When any device had a communication
problem, its cleanup would raise an exception which was not handled,
fell through to the caller and prevented the remaining devices from
being cleaned up.

* Call services directly

Define local helper functions for better readability.
Resolves a review finding.

* Assert something in every test

So not only coverage is satisfied but things are actually tested
to be in the expected state.
Resolves a review finding.

* Clarify scope of notification tests

Make unit test for hass NumatoAPI independent of Home Assistant (very basic test of notifications).
Improve the regular operations test for notifications.

* Test for hass.states after operating switches

Resolves a review finding.

* Check for wrong port directions

* WIP: Split numato tests to multiple files

test_hass_binary_sensor_notification still fails.

* Remove pytest asyncio decorator

Apears to be redundant. Resolves a review finding.

* Call switch services directly.

Resolves a review finding.

* Remove obsolete inline pylint config

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

* Improve the numato_gpio module mockup

Resolves a review finding.

* Remove needless explicit conversions to str

Resolves review findings.

* Test setup of binary_sensor callbacks

* Fix test_hass_binary_sensor_notification

* Add forgotten await

Review finding.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-30 14:23:30 +02:00
J. Nick Koston 97c82089b4
Abort nexia import if the username is already configured (#34863) 2020-04-29 14:02:59 -07:00
ollo69 15569f1e7f
Fix tuya network failure startup (#34057)
* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Manage different cases of ConnectionError

* Log messages correction

* Test always catching exceptions

* Update for Lint

* Update tuya library to 0.0.6

- Catch new library exception

* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Manage different cases of ConnectionError

* Log messages correction

* Test always catching exceptions

* Update for Lint

* Update tuya library to 0.0.6

- Catch new library exception

* Catch wrong credential

* Revert "Catch wrong credential"

This reverts commit 7fb797de52.

* Catch wrong credential

* Remove trailing whitespace

* Black formatting

* Import Exception from tuyaapi

* Remove str to exception

* Force CI checks

* Force CI checks

* Rebase conflict

* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Manage different cases of ConnectionError

* Log messages correction

* Test always catching exceptions

* Update for Lint

* Update tuya library to 0.0.6

- Catch new library exception

* Catch wrong credential

* Revert "Catch wrong credential"

This reverts commit 7fb797de52.

* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Catch wrong credential

* Force CI checks

* Force CI checks

* Rebase conflict

* Rebase

* Force Test

* Force Test
2020-04-29 13:46:27 +02:00
Quentame 2788de9b10
Bump python-synology to 0.7.3 (#34847) 2020-04-29 13:41:37 +02:00
Bram Kragten de062bc2a6
Updated frontend to 20200427.1 (#34831) 2020-04-28 22:20:06 -07:00
Yarmo Mackenbach 26241980d7
Update nederlandse_spoorwegen nsapi to 3.0.4 (#34681)
* NS version bumped to 3.0.4
2020-04-28 17:56:04 -05:00
Quentame a217630fdd
Bump python-synology to 0.7.2 (#34830) 2020-04-28 17:23:39 -05:00
MatsNl c29c0e7e13
Fix atag timezone bug (#34686)
Co-authored-by: Boris Nelissen <borisnelissen91@gmail.com>
2020-04-28 09:20:04 -05:00
Joakim Plate b768c9cc64
Arcam fmj bump library to 0.4.4 (#34687)
* Bump arcam-fmj with better connection failed support

* Log unexpected exceptions in arcam client

* Consider undetected as 2ch to match OSD

* Ask for explicit update on start
2020-04-27 21:57:57 +02:00
Aaron Bach b876f7f11a
Bump simplisafe-python to 9.2.0 (#34750) 2020-04-27 10:41:33 -06:00
Bram Kragten 96ef92659f
Updated frontend to 20200427.0 (#34766) 2020-04-27 15:38:14 +02:00
rajlaud 5e249aac5f
Refactor squeezebox (#34731)
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-04-27 12:15:00 +02:00
Thomas Schamm b85bd2cb99
Create a unique_id for velux cover (#34668) 2020-04-26 13:54:02 -07:00
Franck Nijhof b6292d7c77
Upgrade pillow to 7.1.2 (#34733) 2020-04-26 13:53:02 -07:00
Quentame 1c84905bcd
Bump python-synology to 0.7.1 (#34728) 2020-04-26 22:25:13 +02:00
Aaron Bach 8ff1fc6f8b
Bump pyairvisual and remove unused trends (#34707) 2020-04-25 21:30:12 -06:00
Bernhard B 56f7c3b55c
Add Signalmessenger group recipients (#34419) 2020-04-25 15:14:19 +02:00
Jason Hunter 40d3d64027
Fix recording duration flag (#34648) 2020-04-24 14:18:58 -07:00
Alexei Chetroi 9994554c56
Update ZHA dependency (#34661)
Bump up zigpy-deconz
2020-04-24 16:29:13 -04:00
Ziv 4afa2a2651
Update dynalite library and minor changes (#34618) 2020-04-24 09:30:45 -07:00
Bram Kragten 175204a65e
Updated frontend to 20200424.0 (#34645) 2020-04-24 08:40:36 -07:00
Fabian Affolter 637ff5698c
Move myStrom light and switch to async (#34079) 2020-04-23 16:00:17 -07:00
Aaron Bach 3ce89409d2
Add service to clear SimpliSafe notifications (#34481) 2020-04-23 10:53:06 -06: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
Quentame a8cd7203df
Bump python-synology to 0.7.0 (#34534) 2020-04-22 16:28:47 -05:00
jrester dbd1ca45c4
Update tesla-powerwall to version 0.2.8 (#34545)
* Update tesla-powerwall to version 0.2.7

* Update tesla-powerwall to version 0.2.8
2020-04-22 16:10:06 -05:00
Kevin Fronczak 08cacb9f51
Upgrade blinkpy library to 0.14.3 (#34542) 2020-04-22 11:10:20 -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
kennedyshead ab7bd302f6
Bump aioasuswrt to 1.2.5 (#34454)
* bump aioasuswrt

Took 5 minutes

* bump aioasuswrt

Took 10 minutes

Co-authored-by: magnusknutas <magnus@thefarm.se>
2020-04-22 14:59:05 +02:00
Bram Kragten 276c79aa85
Updated frontend to 20200422.0 (#34532) 2020-04-22 08:24:33 -04:00
Sean Dague 7f77e99e4d
Bump mychevy library to 2.0.1 (#34496) 2020-04-21 21:03:19 -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
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
Franck Nijhof 60f79c848a
Remove Pushetta integration (#34497) 2020-04-21 14:28:03 +02:00
Daniel Høyer Iversen d305247485
upgrade broadlink lib (#34488) 2020-04-21 07:44:41 -04:00
Erik Montnemery 8e150ff1f5
Bump pychromecast (#34466)
* Bump pychromecast

* Fix tests
2020-04-21 07:57:39 +02:00
Pascal Vizeli 095d2718f3
Bump hass-nabucasa 0.34.1 (#34480) 2020-04-20 15:55:41 -07:00
Leroy Shirto 6fc517fdbe
Update bt_smarthub component making it compatible with smarthub 2 (#31292)
* 0.2.0 of the btsmarthub_devicelist package makes it compatable with BT's home hub 2.
The API has changed in the new version so this change also makes the component code compatible with the changes to the library.

* Update homeassistant/components/bt_smarthub/device_tracker.py

Co-Authored-By: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/bt_smarthub/device_tracker.py

Co-Authored-By: Franck Nijhof <frenck@frenck.nl>

* Remove dep on config in BTSmartHubScanner

This should make BTSmartHubScanner easier to test as you can pass in a mock smarthub_client

* Black format bt_smarthub

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-04-20 20:45:08 +02:00
Finbarr Brady c9fba5db5e
Bump openwrt-luci-rpc version: 1.1.2 → 1.1.3 (#34463)
* Update manifest.json

* Update requirements_all.txt
2020-04-20 18:28:29 +02: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
Maciej Bieniek 2123f6f133
Bump brother to version 0.1.13 (#34456) 2020-04-20 14:53:20 +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
Daniel Høyer Iversen e8e9500a30
upgrade Tibber lib (#34429) 2020-04-19 17:43:22 +02:00
Frederik Gladhorn 7f06a939ac
Bump nad_receiver version (#34400)
nad_receiver received a few fixes in 0.0.12, which enables the integration
for me. I assume it may depend on the receiver model, but my receiver only reports
mute state and volume when it's on, while the library used to assume to always
get a reply. With 0.0.11 the nad integration simply excepts on startup,
after bumping the version up it works.

Fixes this:
2020-04-18 22:59:38 ERROR (MainThread) [homeassistant.components.media_player] nad: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 324, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 476, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/nad/media_player.py", line 195, in update
    if self._nad_receiver.main_mute("?") == "Off":
  File "/usr/local/lib/python3.7/site-packages/nad_receiver/__init__.py", line 71, in main_mute
    return self.exec_command('main', 'mute', operator, value)
  File "/usr/local/lib/python3.7/site-packages/nad_receiver/__init__.py", line 62, in exec_command
    return msg.decode().strip().split('=')[1]
IndexError: list index out of range
2020-04-19 12:27:16 +02:00
jjlawren 21e85ba9c5
Bump plexapi to 3.4.0, remove workarounds (#34395) 2020-04-18 21:06:05 -05:00
Paulus Schoutsen 608a7578fc
Bump frontend to 20200418 (#34407) 2020-04-18 17:45:14 -07:00
J. Nick Koston 37463d655a
Fix Tado signal collisons (#34118)
* Fix signal collision in tado with multiple accounts

Tado signals were not unique enough to prevent collisions
between accounts with the same zone ids.

* Bump upstream to fix multiple tado accounts

* switch signal undo to async_on_remove

* Bump version now that upstream is released

* bump python-tado

* While its only the dep that changed since the last run, best to force another CI to be sure
2020-04-18 17:39:43 -05:00
Xiaonan Shen 61a5793073
Add Braava support to iRobot Roomba component (#33616)
* Add Braava support to iRobot Roomba component

* Replace async_add_job with async_add_executor_job in roomba

* Improve readability in roomba

* Improve error handling in roomba

* Cleanup async_update in roomba

* Split into multiple files in roomba

* Hide protocal details in braava

* Switch to push in braava

* Bump roombapy version to 1.5.1

* Add roomba files to .coveragerc

* Fix typo

* Remove side effects from init in roomba

* Implement StateVacuumDevice in Roomba

* Add IRobotEntity base class to braava

* Fix state in roomba

* Add @shenxn as a codeowner of braava
2020-04-18 17:32:41 -05:00
Jeff Irion 3b12fd22a4
Bump androidtv to 0.0.41 (#34382) 2020-04-18 18:15:44 -04:00