Commit Graph

2467 Commits (318cbf29136f71f569e0be95482d2e86ea9cdfdb)

Author SHA1 Message Date
Mark Coombes 960b5b7d86
Fix climate hold bug in ecobee (#46613) 2021-02-16 07:06:20 -10:00
Franck Nijhof a6912277eb
Remove defunct CoinMarketCap integration (#46615) 2021-02-16 11:00:08 +01:00
marecabo 1e172dedf6
Add device_class attribute to ESPHome sensor entities (#46595) 2021-02-15 20:19:31 -10:00
ollo69 3c26235e78
Bump tuyaha to 0.0.10 and fix set temperature issues (#45732) 2021-02-15 16:20:45 -10:00
Franck Nijhof ea47e5d8af
Upgrade sentry-sdk to 0.20.2 (#46590) 2021-02-15 22:02:58 +01:00
J. Nick Koston 6f4df7e52e
Use shared clientsession for sense (#46419) 2021-02-15 10:35:58 -10:00
Kevin Fronczak e3ae3cfb83
Upgrade blinkpy to 0.17.0 (#46581) 2021-02-15 20:24:42 +01:00
Erik Montnemery c8e04ee960
Bump hatasmota to 0.2.9 (#46561) 2021-02-15 12:16:28 +01:00
Allen Porter 10e88cd23d
Improve nest defense against broken event loop on shutdown (#46494) 2021-02-14 13:36:05 +01:00
Andrey Kupreychik accba85e35
Add keenetic_ndms2 config flow (#38353) 2021-02-14 13:09:19 +01:00
Álvaro Fernández Rojas eecf07d7df
Add AEMET OpenData integration (#45074)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-13 21:53:28 +01:00
J. Nick Koston 2f40f44670
Update HAP-python to 3.3.0 for homekit (#46497)
Changes: https://github.com/ikalchev/HAP-python/compare/v3.2.0...v3.3.0
2021-02-13 20:30:55 +01:00
Rob Bierbooms 1244fb4152
Bump dsmr_parser to 0.28, configure keep_alive_interval (#46464) 2021-02-13 13:19:38 +01:00
Maciej Bieniek 061d9c5293
Bump brother library to version 0.2.1 (#46421) 2021-02-12 18:11:35 +01:00
Franck Nijhof 362a1cd9bd
Upgrade sentry-sdk to 0.20.1 (#46456) 2021-02-12 17:59:08 +01:00
Christophe Painchaud c3b460920e
Enable TCP KEEPALIVE to RFLink for dead connection detection (#46438)
RFLink compoment when used over TCP protocol suffers a major issue : it doesn't
know when connection is timeout or lost because there is no keepalive mechanism
so it can stay disconnected forever.
I wrote a small patch for the underlying 'python-rflink' library which will enable
TCP KEEPPAlive. On HASSIO side it will just add an optional argument in yml file
which will propagate to python-rflink caller.
2021-02-12 15:58:59 +01:00
Joakim Plate 8dc06e612f
Add config flow to philips_js (#45784)
* Add config flow to philips_js

* Adjust name of entry to contain serial

* Use device id in event rather than entity id

* Adjust turn on text

* Deprecate all fields

* Be somewhat more explicit in typing

* Switch to direct coordinator access

* Refactor the pluggable action

* Adjust tests a bit

* Minor adjustment

* More adjustments

* Add missing await in update coordinator

* Be more lenient to lack of system info

* Use constant for trigger type and simplify

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-11 21:37:53 +01:00
ehendrix23 9bc3c6c130
Bump pymyq to 3.0.1 (#46079)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-10 10:30:52 -10:00
J. Nick Koston 884df40951
Update powerwall for new authentication requirements (#46254)
Co-authored-by: badguy99 <61918526+badguy99@users.noreply.github.com>
2021-02-10 20:50:38 +01:00
J. Nick Koston 2e2eab662b
Fix Lutron Integration Protocol reconnect logic (#46264) 2021-02-10 20:48:15 +01:00
Erik Montnemery fc4fc48763
Bump hatasmota to 0.2.8 (#46340) 2021-02-10 20:42:34 +01:00
Leonardo Figueiro 2db102e023
Add WiLight Cover (#46065)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-10 09:08:39 -10:00
Alan Tse cdd78316c4
Use oauthv3 for Tesla (#45766) 2021-02-10 08:01:24 -10:00
Erik Montnemery c66d9ea25c
Hide volume control for cast devices with fixed volume (#46328) 2021-02-10 08:39:10 -05:00
Shay Levy 7d2d98fc3c
Revert multiple interfaces (#46300) 2021-02-10 12:38:16 +01:00
uvjustin 1fea24502c
Bump pyav version to 8.03 (#46315) 2021-02-10 18:14:03 +08:00
Greg Dowling b0b81246f0
Bump roonapi to 0.0.32 (#46286) 2021-02-10 10:27:25 +01:00
bsmappee 1c1b2f497a
bump pysmappee (#46270) 2021-02-09 20:21:51 +01:00
J. Nick Koston 6a62ebb6a4
Add BPUP (push updates) support to bond (#45550) 2021-02-09 09:43:38 +01:00
Bram Kragten 86fe5d0561
Update frontend to 20210208.0 (#46225) 2021-02-08 16:42:33 +01:00
Greg Dowling 8f4ea3818d
Add unavailable to Vera (#46064) 2021-02-08 15:25:54 +01:00
Fabian Affolter 5a4e1eeb0e
Upgrade praw to 7.1.4 (#46202) 2021-02-08 11:46:58 +01:00
Hmmbob a23e05d1f6
Fix Google translate TTS by bumping gTTS from 2.2.1 to 2.2.2 (#46110) 2021-02-08 11:43:30 +01:00
Per Sandström 8efb5eea4d
Bump python-verisure to version 1.7.2 (#46177) 2021-02-08 11:00:23 +01:00
Fabian Affolter ca87bf49b6
Upgrade praw to 7.1.3 (#46073) 2021-02-08 09:34:12 +01:00
ehendrix23 ee98ea89dd
Bump aioharmony from 0.2.6 to 0.2.7 (#46075) 2021-02-05 23:55:21 -10:00
functionpointer c01e01f797
MySensors config flow (#45421)
* MySensors: Add type annotations

Adds a bunch of type annotations that were created
while understanding the code.

* MySensors: Change GatewayId to string

In preparation for config flow.
The GatewayId used to be id(gateway).

With config flows, every gateway will have its own
ConfigEntry. Every ConfigEntry has a unique id.
Thus we would have two separate but one-to-one related ID systems.

This commit removes this unneeded duplication by using the id of the ConfigEntry
as GatewayId.

* MySensors: Add unique_id to all entities

This allows entities to work well with the frontend.

* MySensors: Add device_info to all entities

Entities belonging to the same node_id will now by grouped as a device.

* MySensors: clean up device.py a bit

* MySensors: Add config flow support

With this change the MySensors can be fully configured from the GUI.

Legacy configuration.yaml configs will be migrated by reading them once.
Note that custom node names are not migrated. Users will have to re-enter
the names in the front-end.
Since there is no straight-forward way to configure global settings,
all previously global settings are now per-gateway. These settings include:
- MQTT retain
- optimistic
- persistence enable
- MySensors version

When a MySensors integration is loaded, it works as follows:
1. __init__.async_setup_entry is called
2. for every platform, async_forward_entry_setup is called
3. the platform's async_setup_entry is called
4. __init__.setup_mysensors_platform is called
5. the entity's constructor (e.g. MySensorsCover) is called
6. the created entity is stored in a dict in the hass object

* MySensors: Fix linter errors

* MySensors: Remove unused import

* MySensors: Feedback from @MartinHjelmare

* MySensors: Multi-step config flow

* MySensors: More feedback

* MySensors: Move all storage in hass object under DOMAIN

The integration now stores everything under hass.data["mysensors"]
instead of using several top level keys.

* MySensors: await shutdown of gateway instead of creating a task

* MySensors: Rename Ethernet to TCP

* MySensors: Absolute imports and cosmetic changes

* MySensors: fix gw_stop

* MySensors: Allow user to specify persistence file

* MySensors: Nicer log message

* MySensors: Add lots of unit tests

* MySensors: Fix legacy import of persistence file name

Turns out tests help to find bugs :D

* MySensors: Improve test coverage

* MySensors: Use json persistence files by default

* MySensors: Code style improvements

* MySensors: Stop adding attributes to existing objects

This commit removes the extra attributes that were being
added to the gateway objects from pymysensors.

Most attributes were easy to remove, except for the gateway id.
The MySensorsDevice class needs the gateway id as it is part of its DevId
as well as the unique_id and device_info.
Most MySensorsDevices actually end up being Entities.
Entities have access to their ConfigEntry via self.platform.config_entry.

However, the device_tracker platform does not become an Entity.
For this reason, the gateway id is not fetched from self.plaform but
given as an argument.

Additionally, MySensorsDevices expose the address of the gateway
(CONF_DEVICE). Entities can easily fetch this information via self.platform,
but the device_tracker cannot. This commit chooses to remove the gateway
address from device_tracker. While this could in theory break some automations,
the simplicity of this solution was deemed worth it.
The alternative of adding the entire ConfigEntry as an argument to MySensorsDevices
is not viable, because device_tracker is initialized by the async_setup_scanner function
that isn't supplied a ConfigEntry. It only gets discovery_info.
Adding the entire ConfigEntry doesn't seem appropriate for this edge case.

* MySensors: Fix gw_stop and the translations

* MySensors: Fix incorrect function calls

* MySensors: Fewer comments in const.py

* MySensors: Remove union from _get_gateway and remove id from try_connect

* MySensors: Deprecate nodes option in configuration.yaml

* MySensors: Use version parser from packaging

* MySensors: Remove prefix from unique_id and change some private property names

* MySensors: Change _get_gateway function signature

* MySensors: add packaging==20.8 for the version parser

* MySensors: Rename some stuff

* MySensors: use pytest.mark.parametrize

* MySensors: Clean up test cases

* MySensors: Remove unneeded parameter from devices

* Revert "MySensors: add packaging==20.8 for the version parser"

This reverts commit 6b200ee01a.

* MySensors: Use core interface for testing configuration.yaml import

* MySensors: Fix test_init

* MySensors: Rename a few variables

* MySensors: cosmetic changes

* MySensors: Update strings.json

* MySensors: Still more feedback from @MartinHjelmare

* MySensors: Remove unused strings

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* MySensors: Fix typo and remove another unused string

* MySensors: More strings.json

* MySensors: Fix gateway ready handler

* MySensors: Add duplicate detection to config flows

* MySensors: Deal with non-existing topics and ports.

Includes unit tests for these cases.

* MySensors: Use awesomeversion instead of packaging

* Add string already_configured

* MySensors: Abort config flow when config is found to be invalid while importing

* MySensors: Copy all error messages to also be abort messages

All error strings may now also be used as an abort reason,
so the strings should be defined

* Use string references

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-05 22:13:57 +01:00
Fabian Affolter 097a4e6b59
Upgrade praw to 7.1.2 (#46012) 2021-02-04 23:42:10 +01:00
Fabian Affolter c7febacd9f
Upgrade holidays to 0.10.5.2 (#46013) 2021-02-04 23:32:56 +01:00
Martin Hjelmare 912b816117
Bump zwave-js-server-python to 0.17.2 (#46010) 2021-02-04 20:44:40 +01:00
Martin Hjelmare b80c1688ad
Bump zwave-js-server-python to 0.17.1 (#45988) 2021-02-04 16:29:41 +01:00
Niccolo Zapponi a775b79d4b
Add support for iCloud 2FA (#45818)
* Add support for iCloud 2FA

* Updated dependency for iCloud

* Updated dependency and logic fix

* Added logic for handling incorrect 2FA code

* Bug fix on failing test

* Added myself to codeowners

* Added check for 2FA on setup

* Updated error message
2021-02-03 19:18:31 +01:00
Brandon Rothweiler 4b208746e5
Add Mazda Connected Services integration (#45768) 2021-02-03 17:38:12 +01:00
Shay Levy 0875f654c8
Add support for Shelly battery operated devices (#45406)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-03 17:03:22 +01:00
Paulus Schoutsen 40ba182144
Upgrade Z-Wave JS Python to 0.17.0 (#45895) 2021-02-03 11:58:46 +01:00
jjlawren 048f36c77e
Bump plexapi to 3.4.1 (#45878) 2021-02-03 08:44:34 +01:00
Quentame d9dba1b7ab
Bump Freebox to 0.0.9 (#45837)
* Bump Freebox to 0.0.9

* Remove @SNoof85 from code owners

* Module is now freebox_api
2021-02-02 22:57:06 +01:00
Bram Kragten bf9b3bf9db
Update frontend to 20210127.7 (#45874) 2021-02-02 22:45:51 +01:00
Martin Hjelmare 524b9e7b1f
Use new zwave_js client (#45872)
* Use new zwave_js client

* Remove client callbacks

* Clean up on connect and on disconnect

* Clean log

* Add stop listen to unsubscribe callbacks

* Fix most tests

* Adapt to new listen interface

* Fix most tests

* Remove stale connection state feature

* Bump zwave-js-server-python to 0.16.0

* Clean up disconnect
2021-02-02 20:59:56 +01:00
Fabian Affolter 811bbb7acb
Upgrade emoji to 1.2.0 (#45847) 2021-02-02 15:56:56 +01:00