Commit Graph

17968 Commits (873bf887a5b9c64ee96871ece531d02cce3a0daf)

Author SHA1 Message Date
springstan b41cbe9885
Add www. to all documentation links (#32063)
* Add www. to all documentation links

* Fix broken redirect uri test
2020-02-21 16:10:02 -08:00
Alexei Chetroi 3385893b77
ZHA device channel refactoring (#31971)
* Add ZHA core typing helper.
* Add aux_channels to ZHA rule matching.
* Add match rule claim_channels() method.
* Expose underlying zigpy device.
* Not sure we need this one.
* Move "base" channels.
* Framework for channel discovery.
* Make DEVICE_CLASS and REMOTE_DEVICE_TYPE default dicts.
* Remove attribute reporting configuration registry.
* Refactor channels.
- Refactor zha events
- Use compound IDs and unique_ids
- Refactor signal dispatching on attribute updates

* Use unique id compatible with entities unique ids.
* Refactor ZHA Entity registry.
Let match rule to check for the match.

* Refactor discovery to use new channels.
* Cleanup ZDO channel.
Remove unused zha store call.

* Handle channel configuration and initialization.
* Refactor ZHA Device to use new channels.
* Refactor ZHA Gateway to use new discovery framework.
Use hass.data for entity info intermediate store.

* Don't keep entities in hass.data.
* ZHA gateway new discovery framework.
* Refactor ZHA platform loading.
* Don't update ZHA entities, when restoring from zigpy.
* ZHA entity discover tests.
* Add AnalogInput sensor.
* Remove 0xFC02 based entity from Keen smart vents.
* Clean up IAS channels.
* Refactor entity restoration.
* Fix lumi.router entities name.
* Rename EndpointsChannel to ChannelPool.
* Make Channels.pools a list.
* Fix cover test.
* Fix FakeDevice class.
* Fix device actions.
* Fix channels typing.
* Revert update_before_add=False
* Refactor channel class matching.
* Use a helper function for adding entities.
* Make Pylint happy.
* Rebase cleanup.
* Update coverage for ZHA device type overrides.
* Use cluster_id for single output cluster registry.
* Remove ZHA typing from coverage.
* Fix tests.
* Address comments.
* Address comments.
2020-02-21 18:06:57 -05:00
Ziv 36db302cc8
Enhance Dynalite Integration after review (#31760)
* fixes per Martin Hjelmare

* pylint fix

* final fixes per request

* fixed unit tests for new config flow

* Added unit-tests to increase coverage. at 97% now

* Added unit tests for 100% coverage of component

* removed configured_host function and updated config_flow unit tests

* added a pylint directive since it tells me by mistake DOMAIN is not used

* fixed path (removed __init__)

* Update homeassistant/components/dynalite/light.py

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

* Update homeassistant/components/dynalite/light.py

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

* fixed the test as we moved from schedule_update_... to async_schedule

* Update homeassistant/components/dynalite/bridge.py

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

* removed context from config_flow
changed test_init to use the core methods

* moved test_light to also use the core interfaces

* moved to config_entries.async_unload

* additional fixes for the tests

* pylint fix and removed unnecessary code

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_light.py

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

* added break in loop

* removed last mock_coro reference
pylint fix

* added coverage for try_connect

* added check for a successful connection before bridge.async_setup succeeds
also added a "nowait" config option (default False) that avoids this check

* changed log level

* fixed accidental chmod I did

* fixed accidental change

* not storing config in bridge

* not patching asyncio

* moved CONFIG_SCHEMA into component

* moved all logs to start capitalized (and revised some of them)

* moved test_config_flow to not patch the DynaliteBridge

* also took DynaliteBridge patching out of test_init

* removed NO_WAIT

* fixes to SCHEMA

* changed _ in multi-word CONF
moved imports to component const.py

* removed tries

* removed redundant tests

* fixed some small change i broke in the library. only version update

* fixed rewuirements

* Update tests/components/dynalite/test_config_flow.py

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

* Update tests/components/dynalite/test_light.py

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

* Update tests/components/dynalite/test_config_flow.py

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

* removed HIDDEN_ENTITY
removed hass in test fixture

* black fixes

* removed final piece of hidden_entity from light
fix in the library
updated config flow so if the entry is already set but with a different config, calls async_update_entry

* removed DATA_CONFIGS - no longer necessary

* pylint fixes

* added coverage

* use abort in config_flow

* test update

* removed logs

* test that update actually updates the entry

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-02-21 23:29:59 +01:00
jjlawren 9cc47ca737
Add ConfigEntryNotReady exception to Plex (#32071) 2020-02-21 22:07:26 +01:00
Alok Saboo 2fb66fd866
Add additional logging to rest sensor (#32068) 2020-02-21 21:11:25 +01:00
Patrick Kishino f32411e394
Add asuswrt interface and dnsmasq location configuration (#29834)
* Added interface and dnsmasq location configuration

* Updated aioasuswrt requirement to latest 1.2.1 release

* Updated to working aioasus library and fixed correct conf formatting
2020-02-21 17:01:57 +01:00
Maciej Bieniek dd8597cb46
Bump brother to 0.1.6 (#32054) 2020-02-21 10:32:48 +01:00
J. Nick Koston 6e74ee7b64
Fix i/o in august camera async image update (#32044)
* Fix i/o in august camera image update

* Address review comments
2020-02-21 07:39:07 +01:00
J. Nick Koston d4075fb262
Significantly reduce code in august integration (#32030)
* Significantly reduce code in august integration

* Activity updates can now be processed by py-august
  this allows us to eliminate the activity sync
  code for the door sensors and locks

* Lock and door state can now be consumed from
  the lock detail api which allows us to
  remove the status call apis and reduce
  the number of API calls to august

* Refactor the testing method for locks (part #1)

* Update homeassistant/components/august/binary_sensor.py

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

* Switch to asynctest instead of unittest for mock.patch

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-20 21:06:24 -08:00
HomeAssistant Azure a12c4da0ca [ci skip] Translation update 2020-02-21 00:33:51 +00:00
springstan 1ee7c483a7
Update file headers and outdated documentation links (#32022)
* Update documentation links

* Update file headers v2
2020-02-20 15:29:46 -08:00
Paulus Schoutsen 51b5796916
Updated frontend to 20200220.1 (#32046) 2020-02-20 14:51:27 -08:00
Robbie Trencheny f0d58ab7a7
Change TTS codeowner to @pvizeli (#32041) 2020-02-20 13:36:36 -08:00
Paulus Schoutsen ce710f1e0b
Template platform tweaks (#32037)
* Remove unnecessary boolean return from platform setup

* Fix template cover validation
2020-02-20 12:14:31 -08:00
Franck Nijhof 2e35190aff
Fix extra arguments of group integration (#32032) 2020-02-20 20:15:45 +01:00
Paulus Schoutsen 20e3c91ebd
Updated frontend to 20200220.0 (#32033) 2020-02-20 11:01:20 -08:00
Franck Nijhof 1c81e8ad68
Remove history_graph integration (#32028)
* Remove history_graph integration

* Update codeowners file
2020-02-20 09:01:29 -08:00
Paulus Schoutsen 1c2bce9292
Fix recursion bug (#32009)
* Fix recursion bug

* Remove shield
2020-02-20 08:51:00 -08:00
Franck Nijhof 5c5f839119
Remove weblink integration (#32024) 2020-02-20 08:50:40 -08:00
Robin a7d5e898ba
Add convert_to_pil_image to pil util (#31825)
* Update pil.py

* Update doods and tensorflow to use convert_to_pil_image

* Update pil.py

* Add log messages on bad data

* Drop convert_to_pil_image

Just perform conversion in the integrations without seperate convert_to_pil_image()
2020-02-20 17:50:28 +01:00
Raman Gupta 7a6b13cb0d
Update vizio dependency and integration name (#31975)
* bump pyvizio version and clean up code

* fix requirements

* update parameter to optional per review in docs PR
2020-02-20 08:43:29 -08:00
Paulus Schoutsen 51b2d0b4f8
Add entity ID to input_number warning (#32012)
* Add entity ID to warning

* Input Number flexibility
2020-02-20 08:30:24 -08:00
Franck Nijhof 2ad1f7fd02
Remove states UI options in group integration (#32021) 2020-02-20 08:26:41 -08:00
cgtobi 7e3841e172
Bump pyatmo to 3.2.4 (#32018)
* Bump pyatmo to 3.2.3

* Bump pyatmo version to 3.2.4

* Update requirements_test_all.txt
2020-02-20 08:25:49 -08:00
Paulus Schoutsen e71c7e1f5e Fix hue test 2020-02-20 08:11:27 -08:00
Franck Nijhof d6c185fdf4
Deprecate Xfinity Gateway integration (ADR-0004) (#32017) 2020-02-20 16:01:03 +01:00
jjlawren 047111b00f
Fix Plex sensor title handling (#31973)
* Fix Plex sensor title parsing

* Revert episode year for now
2020-02-19 22:33:38 -08:00
Daniel Perna 136ed12ec5
Update pyhomematic to 0.1.65 (#32006) 2020-02-19 22:27:50 -08:00
Tsvi Mostovicz b6d60c36a5
Don't return coroutine in DLNA/DMR service handler (#32011)
Fixes #32010
2020-02-19 22:21:09 -08:00
Mark Coombes 832337f26c
Fix bug in ecobee integration (#32008)
* Bump python-ecobee-api to 0.2.1

* Update log messages for clarity

* Update requirements_all
2020-02-19 21:05:22 -08:00
HomeAssistant Azure 5839df39b5 [ci skip] Translation update 2020-02-20 00:31:46 +00:00
Pascal Vizeli 6f8f23238a
Nuki: add support for unique id (#31824)
* Nuki support unique id and the battery level attribute

* Fix isort

* Address comments

* Cache attribute

* Cleanup

* Restore false

* Fix isort
2020-02-19 08:16:02 -08:00
David F. Mulcahey 8255bdf3d5
Bump ZHA quirks and add skip configuration support (#31982)
* add skip configuration
* Bump quirks
* add skip configuration to FakeDevice
2020-02-19 09:19:26 -05:00
Bram Kragten e90d29ea36
Updated frontend to 20200219.0 (#31979) 2020-02-19 12:46:40 +01:00
SukramJ 0d874902cc
Add shutter group to HomematicIP Cloud (#31916) 2020-02-19 10:59:49 +01:00
SukramJ f4f01cb23a
Add new devices to HomematicIP Cloud (#31914)
* Add new devices to HomematicIP Cloud

Adds:
- HMIP-WTH-B (Wall Thermostat Basic)
- ALPHA-IP-RBG (Alpha IP Wall Thermostat Display)
- ALPHA-IP-RBGa (ALpha IP Wall Thermostat Display analog)

* Update homeassistant/components/homematicip_cloud/sensor.py

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

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-19 10:43:12 +01:00
springstan 21f8d0a80c
Bump vallox-websocket-api to 2.4.0 (#31913) 2020-02-19 10:01:21 +01:00
Vladimír Záhradník 32cd58e03d
Modbus remove unnecessary get calls (#31966) 2020-02-18 19:41:12 -08:00
Gerard 0dad2f8e41
Upgrade to bimmer_connected 0.7.1 to fix US and China access (#31968) 2020-02-18 19:40:34 -08:00
jjlawren 56c834b8a4
Fix Plex naming and devices for misbehaving clients (#31970) 2020-02-18 19:37:21 -08:00
jjlawren 0213f43f10
Add options to ignore shared/managed Plex clients (#31738)
* Add option to ignore shared/managed Plex clients

* Start to allow user selection

* hass object not ready during init

* Don't bother sorting

* Plex account multi-select, handle new users not matching config

* Fix/add tests

* Lint simplifications

* Review cleanup

* Oops

* Rename options attributes, fix/add tests
2020-02-18 16:46:45 -08:00
HomeAssistant Azure 4b3f9ecc2d [ci skip] Translation update 2020-02-19 00:31:49 +00:00
Robert Svensson 774c892ee6
UniFi config option SSID filter (#31842)
* Draft

* Use new multi_select config validation

* Bump dependency to v13

* Improve options flow

* Add title to config options

* Add config option descriptions

* Fix martins comment
2020-02-18 23:24:21 +01:00
Erik Montnemery 60ae85564e
Add support for MQTT device triggers (#31679)
* Add support for MQTT device triggers

* Fix test, tweaks

* Improve test coverage

* Address review comments, improve tests

* Tidy up exception handling

* Fix abbreviations

* Rewrite to handle update of attached triggers

* Update abbreviation test

* Refactor according to review comments

* Refactor according to review comments

* Improve trigger removal

* Further refactoring
2020-02-18 13:51:10 -08:00
Robert Svensson b5df2ba853
deCONZ - Directly reflect changes to config entry options (#31661)
* Directly reflect changes to config entry options

* Remove print

* Add tests

* Add title to config options
2020-02-18 13:24:25 -08:00
J. Nick Koston 17f3332c89
Audit state handling off august bridges and sensors (#31935)
* Audit state handling of august bridges and sensors

This addresses issue #29980

* Prevent setting up august locks that do not have a bridge as they will never work

* Prevent locks showing available when their bridge is offline

* Prevent door sensors from showing available when their bridge is offline

* Prevent creating door sensors for locks that do not have them

* Prevent doorbells showing unavailable when they are in standby mode

* Set SCAN_INTERVAL for binary_sensors to 5 seconds as
  data comes in from the activity endpoint more frequently

* Update homeassistant/components/august/__init__.py

raise if the detail is missing when checking doorsense

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

* Handle another place where the lock detail could not exist

* Address review comments

* Handle lock detail update failing and add test

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-18 12:11:05 -08:00
Paulus Schoutsen 239dfaba4b
Do not use a set for hvac modes in SmartThings (#31959) 2020-02-18 12:09:56 -08:00
Paulus Schoutsen beee1298c5
Extend safe mode (#31927)
* Extend safe mode

* Add safe mode boolean to config JSON output and default Lovelace

* Add safe mode to frontend

* Update accent color
2020-02-18 11:52:38 -08:00
Markus Pöschl 245482d802
Add Twitch subscription and additional stats (#31122)
* add oauth functionality and additional attributes

* Add tests WIP

* Make mocks work the correct way

* Use CONF_TOKEN constant for config

* Remove twitch from .coveragerc

* Update homeassistant/components/twitch/sensor.py

Lets be consistent

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

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-18 11:51:37 -08:00
Aaron Bach 30efef3085
Add support for SimpliSafe system notifications (#31936)
* Add support for SimpliSafe system notifications

* Actually process notifications

* Code review comments
2020-02-18 11:49:36 -07:00
Vladimír Záhradník af67bb0df3
Read Modbus climate current temp from input register (#31944) 2020-02-18 18:45:05 +01:00
Paulus Schoutsen b73531b2fc
Untag discovery as an allowed dependency (#31934) 2020-02-18 08:32:56 -08:00
Markus Pöschl 0ae86b022d
Add pigpio remote functionality (#31667) 2020-02-18 12:52:55 +01:00
ktnrg45 f75bda7551
Bump pyps4-2ndscreen to 1.0.7 (#31943) 2020-02-18 09:50:49 +01:00
Malte Franken e65995eb87
Bump aio_geojson_nsw_rfs_incidents to 0.3 (#31941) 2020-02-18 08:59:49 +01:00
HomeAssistant Azure 2e5161997f [ci skip] Translation update 2020-02-18 00:31:41 +00:00
Malte Franken 70910ecc61
Bump aio_geojson_geonetnz_quakes to 0.12 (#31930) 2020-02-17 15:30:31 -08:00
Bram Kragten 95bcceddf7
Add an options flow to demo (#31920)
To help test the frontend
2020-02-17 14:10:44 -08:00
Quentame 3743aaf70f
Add async_unload_entry to iCloud (#31917) 2020-02-17 22:23:24 +01:00
Bram Kragten e52adbb942
Updated frontend to 20200217.0 (#31922) 2020-02-17 22:03:42 +01:00
Franck Nijhof 4497e98ea2
Remove duke_energy integration (ADR-0004) (#31921) 2020-02-17 21:51:53 +01:00
Aaron Bach 74f0262e82
Bump simplisafe-python to 8.1.1 (#31915) 2020-02-17 13:16:24 -07:00
J. Nick Koston 00ac7a7d70
Provide user consumable errors when lock operations fail (#31864)
* Provide user consumable errors when lock operations fail

This resolves issue #26672

* include from in raise

* pylint

* Cleanup of mocking.
2020-02-17 10:30:14 -08:00
Bram Kragten 18dfb02355
Updated frontend to 20200212.0 (#31912) 2020-02-17 10:24:11 -08:00
Victor Guimarães 93a844b1d5
Hue Group features based on the bulbs in it (#31897)
* Computes the features of a hue group as the union of the features of the bulbs in the group

* Moved create item to a function

* Added test for hue group features
2020-02-17 10:22:34 -08:00
SukramJ 2366b5f6ca
Bump dependency to 0.10.17 for HomematicIP Cloud (#31911) 2020-02-17 18:31:09 +01:00
Paulus Schoutsen 1b7dd6c603
Add icons to scripts (#31899) 2020-02-17 08:44:36 -08:00
Paulus Schoutsen c788946430
Allow specifying an icon for a scene (#31898) 2020-02-17 08:41:33 -08:00
Paulus Schoutsen 3da136b034
Add logger name to system log (#31902) 2020-02-17 17:26:25 +01:00
mezz64 164e970ba0
Add POD support, sleep fitness sensor to EightSleep (#31874)
* Add POD support, sleep fitness sensor

* Black format changes

* Change dict formatting
2020-02-17 10:15:21 +01:00
Paulus Schoutsen b77f2670a7
Upgrade aiohue (#31903) 2020-02-17 09:52:54 +01:00
Josef Schlehofer aead5bada8
Upgrade youtube_dl to version 2020.02.16 (#31905) 2020-02-17 09:08:29 +01:00
mueslo 00b3efec89
prevent dev_id being permanently assigned as config_name (#31886) 2020-02-16 21:07:49 -08:00
Jonathan Keljo 56142ba085
Upgrade greeneye_monitor to 2.0 (#31896) 2020-02-16 20:40:34 -08:00
Jonathan Keljo f30c636fb7
Fix bugs in greeneye_monitor voltage reporting (#31895)
* Fix #31870

* Fix voltage notifications too
2020-02-16 20:32:59 -08:00
HomeAssistant Azure 84e4ef510e [ci skip] Translation update 2020-02-17 00:31:56 +00:00
Martin Hjelmare 2ce7561343
Clean soundtouch (#31888)
* Clean up soundtouch tests

* Remove not needed updates
2020-02-16 15:34:44 -08:00
Gerard 4dc4f84b37
Upgrade bimmer_connected to 0.7.0 (#31894) 2020-02-16 15:32:36 -08:00
Martin Hjelmare f53ae12bb6
Clean up netgear device tracker (#31861)
* Improve logging

* Clean up login

* Clean docstring

* Clean config access

* Remove default None for port

* Add not working guard

* Remove debug print
2020-02-16 23:27:19 +01:00
Laszlo Jakab 1d5d56faf8
Add timestamp to lg_netcast media_image_url to update image correctly (#30933)
* add timestamp to media_image_url to update image correctly

* applying isort on source

* apply black formatting on source

* using f strings in media_image_url property

* remove unnecessary casting
2020-02-16 23:26:41 +01:00
Squixx 2516b9474d
Update nederlandse_spoorwegen to properly handle punctuality (#31741) 2020-02-16 17:24:38 +01:00
Jardi Martinez 6be0bcceff
Bump adafruit-blinka and adafruit-circuitpython-mcp230xx (#31845)
* Updated MCP23017 component to use latest adafruit-blinka v-3.9.0 and Adafruit_CircuitPython_MCP230xx v-2.2.2

* Added updated dependencies to requirements_all.txt
2020-02-16 17:19:45 +01:00
Ville Skyttä 03f7fe483b
Type hint improvements (#31876)
* Complete components.remote type hints

* Define ConfigType only in helpers.typing
2020-02-16 13:47:55 +01:00
Maikel Punie e5e7c9fa25
Upgrade python-velbus to 2.0.41 (#31875) 2020-02-16 12:36:13 +01:00
SukramJ 32f25a8484
Adjust tests after speed up to restore coverage for HomematicIP Cloud (#31836)
* Adjust tests after speed up to restore coverage for HomematicIP Cloud

* Fix test data

* Fixes after review

* remove duplicate cade

* remove service marker
2020-02-16 10:09:26 +01:00
Marco 20d7c84b22
Fix mikrotik detecting capsman support (#31819)
* fix detecting capsman support

* fix isort

* moved support_capsman to update_devices()

* moved support-checks to setup method

* moved setup method to get_hub_details

* implement suggestion for device lists

* fix black formatting

* remove not needed variable wireless_devices

* fix usage of force_dhcp to seperate wireless devs

* fix black fmt
2020-02-16 09:49:13 +01:00
J. Nick Koston 096e7cceed
Support XML conversion for RESTful sensors (#31809)
* Support XML conversion for RESTful sensors

Many devices continue to use XML for RESTful
APIs.  Interfacing with these APIs requires custom
integrations or command line fork()/exec() overhead
which many of these devices can work with as if
they were JSON using xmltojson via this spec:
https://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html

This change implements converting XML output to
JSON via xmltojson so it can work with the existing
rest sensor component.  As the attributes that
usually need to be scraped are deeper in the document
support for passing in a template to find the
JSON attributes that have been added.  JSON APIs that
do not have their attributes at the top level
can also benefit from this change.

* Auto convert xml, change out the template for jsonpath

* Address review items and potentially unexpected normalize behavior with jsonpath

* Revert "Address review items and potentially unexpected normalize behavior with jsonpath"

This reverts commit fe9e179092.

* json_dict[0] turned out to be needed
2020-02-15 21:10:23 -08:00
Joseph Albert fee0d8dbdd
Add rainforest_eagle support for legacy hardware (#28082)
* Add compatibility with Legacy EAGLE models.

* added mdns resultion via zeroconf

* Added requirements to requirements_all.txt

* Fixed model determination bug

* Fixed formatting issue for Eagle-200 responses.

* Remove mDNS resolution, IP now required.

* added pypi deps, fixed handling of optional params

manifest updates

* Fixed import order per isort.

* Two pylint fixes.

* More consistent try-fail structure to guessing hardware.  Errors actually fail.
2020-02-15 21:10:04 -08:00
J. Nick Koston f6d9e6b6c5
Convert august to async so a token refresh lock can be used (#31848)
* Convert august to async so a token refresh lock can be used

* Update comment since we now have a lock

* Do not mock the lock

* Address review items
2020-02-15 21:08:52 -08:00
Philip Rosenberg-Watt fb8cbc2e93
Fix CalDAV recurring events (#31805)
* Fix CalDAV parsing of recurring events

Some CaDAV servers (see: SOGo) return the original event that contains
the recurrence rules. The CalDAV calendar component sorts and filters
events based on their start and end dates, and was failing to properly
show recurring events based on these recurrence rules.

This this change checks if an event has recurrence rules and changes the
start/end dates of the event to today if the event is set to occur
today. This allows the rest of the component logic to function properly.

* Use date from nextmost occurence

* Adding unit tests

* Add endless event unit test

* Create new vevent for each event recurrence today

* Remove redundant unit test

* Add timezone to events that have none

Python cannot compare them otherwise.

* Simplify code, add comments & guard clause

* Add test for recurring all day event

* Account for all-day events

* Remove redundant code

* Remove redundant code

* Remove unnecessary deepcopy

* Add hourly recurring tests

* Add tests for hourly repeating event

* Fix unit test

* Use event.copy()
2020-02-15 19:31:36 -08:00
HomeAssistant Azure 3fb80712be [ci skip] Translation update 2020-02-16 00:31:42 +00:00
jjlawren 91018034b6
Use new custom_serializer (#31871) 2020-02-15 15:36:57 -08:00
Moshe Kaplan 7dff5e79d1
Add support for displaying Daf Yomi (#30628)
* Add support for displaying Daf Yomi

* Ran black --fast

* Added docstring to get_daf

* Further lint fixes

* Remove unnecessary else

* clarify code

* Use fstrings

* pull daf yomi from hdate

* Update manifest version for daf_yomi support

* fix variable usage

* Update requirements

* Also pass in today's date as well

* Rename date variable to daytime_date

* Add tests for daf yomi sensor

* Update stale test IDs
2020-02-16 00:00:17 +01:00
Chris Caron 481d3295a6
Bump Apprise version to v0.8.4 (#31868) 2020-02-15 23:58:42 +01:00
Daniel Høyer Iversen 8c270e6fc7
update pyTibber libary, add signal strength for Pulse and watty (#31851)
* update pyTibber libary, add signal strength for Pulse and watty

* update pyTibber libary, add signal strength for Pulse and watty
2020-02-15 13:52:56 -08:00
Massimiliano Cannarozzo 2c42e2aa79
Improve media name detection on lg_netcast (#31863)
When the tv is using an external input (e.g. HDMI1) values have to be taken from fields otherwise they'll empty
2020-02-15 13:48:30 -08:00
Martin Hjelmare 588f2cd920
Revert "Check netgear device_tracker link_rate to ensure device is connected" (#31855)
This reverts commit 669844e4dd.
2020-02-15 17:21:04 +01:00
Michaël Arnauts b8f9ff76b3
Add Tado water_heater (#30095)
* Add Tado water_heater

* Don't use climate CONSTS

* Fix logging text

* Add changes for multiple bridge support

* Address remarks

* should_poll must be False

* Remove additional async_schedule_update_ha_state()

* Not for climate
2020-02-15 17:08:21 +01:00
Ville Skyttä 1609e33030
Simplify missing Garmin Connect data handling, mark entities un/available (#31718)
* Simplify missing Garmin Connect data handling, mark entities un/available

* Remove unnecessary else
2020-02-15 17:53:10 +02:00
Robin e38522c612
Bump pillow to 7.0 (#31847) 2020-02-15 11:59:41 +01:00
Massimiliano Cannarozzo 4e54dfa874
Add turn_on_action configuration variable (#31792)
Allow to turn on the TV using an external service
2020-02-15 10:57:04 +01:00
HomeAssistant Azure f3a8196fb5 [ci skip] Translation update 2020-02-15 00:31:45 +00:00
Paulus Schoutsen 4501471b8c
Google Assistant: Remove speaker type and earlier filter out devices from being locally exposed (#31830)
* Remove speaker type

* Do not expose locks or alarms to Google Local
2020-02-14 15:28:11 -08:00
Paulus Schoutsen 52b045ed30
Fix person device_trackers null (#31829) 2020-02-14 15:27:31 -08:00
Franck Nijhof f396f1cb18
Spotify integration hotfixes (#31835)
* Remove services file, incorrect info

* Guard currently playing for being a NoneType

* Revert "Guard currently playing for being a NoneType"

This reverts commit f5f56b0db0.

* Guard currently playing item is None

* Process review suggestions
2020-02-14 22:58:39 +01:00
Vilppu Vuorinen 614be5c1bb
Remove energy sensor from incompatible Ata devices (#31831)
An AtaDevice has a boolean flag describing whether it supports energy
consumption metering. The flag was ignored resulting in sensor entities
reporting constant 0 kWh consumption.

* Update pymelcloud dependency to support the has_energy_consumed_meter
flag.

* Add ATTR_ENABLED_FN to sensor definitions for filtering out
unsupported sensors.

* Fix typing issue in sensor constructor.

* Remove unused UnitSystem constructor parameter.
2020-02-14 21:11:51 +01:00
Aaron Bach d6f0c26e7f
Fire HASS events on SimpliSafe events (#31811)
* Fire HASS events on SimpliSafe events

* Bump simplisafe-ptyhon to 7.3.0

* Update reqirements

* Updates

* Revert "Updates"

This reverts commit 5581889417.

* Restrict which events get fired

* Code review comments
2020-02-14 11:24:35 -07:00
Paulus Schoutsen e019280d94
Annotate more async functions correctly (#31802) 2020-02-14 10:00:22 -08:00
Abílio Costa e6148d223a
Allow hourly forecast in IPMA (#30979)
* update ipma component for pyipma 2.0
* fix wind speed; refactor forecast
* update requirements*.txt
* fix tests; update CODEOWNERS; update pyipma to 2.0.1
* minor changes as suggested in PR
* make lint happy
* fix mocking coroutines
* restore old unique id
* fix station lat/lon; update pyipma version
* add hourly forecast option to IPMA
* add forecast tests
* use for instead of lambda
2020-02-14 12:04:41 -05:00
Chris Talkington f9fda7d616
update directv to directpy==0.6 (#31812) 2020-02-13 17:47:16 -08:00
jjlawren 408b41ea02
Add device registry support for Plex (#31797)
* Add device registry support for Plex

* Fix model

* Use Plex server as sensor device identifier
2020-02-13 16:37:52 -08:00
Vladimír Záhradník f0b2d50e41
Fix swap of min and max default values in Modbus climate (#31801) 2020-02-13 16:34:42 -08:00
jjlawren eb3097506f
Add summary attribtue for currently playing media (#31803) 2020-02-13 16:34:12 -08:00
HomeAssistant Azure 32bc94bdd6 [ci skip] Translation update 2020-02-14 00:31:49 +00:00
SukramJ 2f3ab15268
Remove force from async_schedule_update_ha_state for HMIPC (#31796)
* remove force from async_schedule_update_ha_state if HMIPC

* Fix lint
2020-02-13 16:24:43 -08:00
jjlawren 59932545ab
Update Plex connection class to push (#31806) 2020-02-13 16:45:48 -07:00
Robbie Trencheny f6341ed3de
Add Home Assistant Companion to manifest.json so we can sugges… (#31808) 2020-02-13 15:44:45 -08:00
Ville Skyttä 3018e8ff47
Use time.monotonic instead of time.time where appropriate (#31780) 2020-02-13 22:57:07 +01:00
MrDadoo fdfe88566b
Update onewire component (#31419)
* Added some measurement points for Family 26.
Added three attriubtes for each sensor, DEVICE_FILE, RAW_VALUE and SENSOR_TYPE
Added some comments.
Updated to get config values for owserver to get owport and owhost.

* Changed to _LOGGER.debug in some places

Resorted includes

* Fixup of code to reflect review comment, comply to Black and pass tests

* Added unique_id Entity property with device file id and added device_file as attribute that takes its data from Entities unique_id-.

* Missing blank line identified by fake8 and black

* Changed to let device_state_attributes return attribute device_file from the self._device_file member variable of the entity.

* Changed from info to debug logging
2020-02-13 21:56:20 +01:00
Aaron Bach f091e0412f
Add support for real-time data from SimpliSafe (#31424)
* Add support for real-time data from SimpliSafe

* Updated requirements

* Linting

* Ensure dispatcher topic contains the domain

* Don't bother with a partial

* Websovket dataclass and other code review

* Ensure initial_event_to_use works with error

* Don't inline methods

* Don't abuse loop variable

* Simplify initial event retrieval

* Add connection lost and restored events

* Revert "Add connection lost and restored events"

This reverts commit e7ffe05938.

* Make _on_disconnect a static method

* Code review comments

* Allow entities to opt out of REST and/or websocket API updates

* Revert "Allow entities to opt out of REST and/or websocket API updates"

This reverts commit 1989f2e00e.

* Code review comments

* Fix issues with events not triggering correct entities

* Bug fixes
2020-02-13 11:30:38 -08:00
Paulus Schoutsen 9e7185c676
Write state if schedule update state from async context (#31758)
* Write state if schedule update state from async context

* Fix most tests

* Fix test and PS4 I/O in event loop

* Fix ps4 better
2020-02-13 10:22:06 -08:00
Franck Nijhof 8d1f8055dd
Fix spelling of NETGEAR and CalDAV in manifests (#31790) 2020-02-13 19:20:26 +01:00
Ville Skyttä 3e23a3a860
Add and use bunch of data size and rate related constants (#31781)
Also fix a few units to match the corresponding data.
2020-02-13 08:52:57 -08:00
Franck Nijhof 0173c61fee
Spelling: Config(uration) (#31782) 2020-02-13 08:27:00 -08:00
Jens Østergaard Nielsen 8356ea2616
Update to version 2.6 of ihcsdk (#31789)
* Make the set_runtime_value_int function work with template values

* Use newest version of the ihcsdk library

* Make the set_runtime_value_int function work with template values

* Use newest version of the ihcsdk library

* Updated to the newest ihcsdk 2.5.0

* Formatted changes to make it pass CI tests

* Update to version 2.6 of ihcsdk
2020-02-13 16:12:02 +01:00
Franck Nijhof d66123cc37
Fix spelling of ASUSWRT in manifest (#31764)
* Fix spelling of ASUSWRT in manifest

* Update homeassistant/components/asuswrt/__init__.py

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

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-13 14:24:15 +01:00
HomeAssistant Azure 40e866a5bb [ci skip] Translation update 2020-02-13 00:31:46 +00:00
Robert Svensson 4cac0443e2
UniFi - Change handling of updated options (#31762)
* Change handling of updated options

* Add tests
2020-02-12 16:15:08 -08:00
Quentame e0a035ce35
Implement PlatformNotReady to Linky + fix TypeError (#31768) 2020-02-12 16:12:35 -08:00
Franck Nijhof be388a4797
Fix spelling of AVM FRITZ!Box in manifest (#31765) 2020-02-12 16:12:11 -08:00
Franck Nijhof aa97be71a8
Fix spelling of apcupsd in manifest (#31770) 2020-02-12 15:36:15 -08:00
Franck Nijhof 78783555ea
Fix spelling of VIVOTEK (#31773)
* Fix spelling of VIVOTEK in manifest

* Also adjust default name of camera to match the brand name
2020-02-12 15:36:04 -08:00
J. Nick Koston 6879105b14
Cleanup August activity processing and add tests (#31774)
* Update py-august to 0.12.0

* Upstream update also resolves issue #28960
2020-02-12 15:35:07 -08:00
Bram Kragten 834acd85d3
Updated frontend to 20200212.0 (#31772) 2020-02-12 14:54:33 -08:00
Bram Kragten 56316b1f6e
Updated frontend to 20200130.3 (#31771) 2020-02-12 14:53:26 -08:00
Daniel Shokouhi 43256ebd83
Add device name to sensor name for mobile_app (#31756)
* Add device name to sensor name

* Update test to include device name
2020-02-12 11:40:39 -08:00
Paulus Schoutsen 3b3e062a35
Whitelist shopping list updated event (#31742)
* Whitelist shopping list updated event

* Add ignore to hassfest
2020-02-12 10:13:07 -08:00
SukramJ c0756948da
Fix smoke detection for HomematicIP Cloud (#31753) 2020-02-12 10:12:26 -08:00
Emanuel Winblad 3e05fc1c11
Add initial version of Vilfo Router integration (#31177)
* Initial implementation of Vilfo router integration.

This commit is a combination of several commits, with commit messages in bullet form below.

* Added additional files to Vilfo integration.
* Added generated files.
* Fixed alphabetic order in generated config_flows.
* Continued implementation of config flow for Vilfo integration.
* Continued work on config_flow for Vilfo.
* Updated requirements in manifest for Vilfo Router integration.
* Some strings added to Vilfo Router integration.
* Vilfo Router integration updated with sensor support.
* Code style cleanup.
* Additional cleanup of config flow.
* Added additional UI strings for Vilfo Router
* Updated tests of config flow and fixed formatting
* Updated requirement upon vilfo-api-client.
* Sensor refactoring including support for icons
* Code style changes for Vilfo Router integration
* Code cleanup
* Fixed linting issues in Vilfo Router integration
* Fixed import order in test for Vilfo integration.

* Updates to Vilfo Router integration based on feedback

Based on the feedback received, updates have been made to the Vilfo Router integration.

A couple of the points mentioned have not been addressed yet, since the appropriate action has not yet been determined. These are:

* https://github.com/home-assistant/home-assistant/pull/31177#discussion_r371124477
* https://github.com/home-assistant/home-assistant/pull/31177#discussion_r371202896

This commit consists of:

    * Removed unused folder/submodule
    * Fixes to __init__
    * Fixes to config_flow
    * Fixes to const
    * Refactored sensors and applied fixes
    * Fix issue with wrong exception type in config flow
    * Updated tests for Vilfo integration config_flow
    * Updated dependency upon vilfo-api-client to improve testability
    * Import order fixes in test
    * Use constants instead of strings in tests

* Updated the VilfoRouterData class to only use the hostname as unique_id when it is the default one (admin.vilfo.com).

* Refactored based on feedback during review.

* Changes to constant names,
* Blocking IO separated to executor job,
* Data for uptime sensor changed from being computed to being a timestamp,
* Started refactoring uptime sensor in terms of naming and unit.
* Updated constants for boot time (previously uptime) sensor.
* Refactored test of Vilfo config flow to avoid patching code under test.
* UI naming fixes and better exception handling.

* Removed unused exception class.

* Various changes to Vilfo Router integration.

* Removed unit of measurement for boot time sensor,
* Added support for a sensor not having a unit,
* Updated the config_flow to handle when the integration is already configured,
* Updated tests to avoid mocking the code under test and also to cover the aforementioned changes.

* Exception handling in Vilfo Router config flow refactored to be more readable.

* Refactored constant usage, fixed sensor availability and fix API client library doing I/O in async context.

* Updated signature with hass first

* Update call to constructor with changed order of arguments
2020-02-12 19:11:15 +01:00
jjlawren 1b2f4fa19f
Improve Plex media_player entity naming (#31755) 2020-02-12 09:55:18 -08:00
Vladimír Záhradník 378c432f6d
Add availability status to Modbus entities and improve error handling (#31073) 2020-02-12 09:37:16 -08:00
Franck Nijhof 06f06427b6
Fix spelling of ecobee in manifest (#31751) 2020-02-12 10:29:06 -05:00
Robbie Trencheny 0700d38d1f
Add new webhook action to allow enabling encryption in an exis… (#31743)
* Add new webhook action to allow enabling encryption in an existing registration

* Harden tests

* Make requested fixes
2020-02-11 23:56:22 -08:00
J. Nick Koston f5be9ef7fb
Refresh the august access token when needed (#31735)
* Refresh the august access token
when needed.

Currently august will stop working when the token
expires about every six month.

This resolves issue #23788

* Make refresh_access_token_if_needed private since we do not want additional callers

* Add init
2020-02-11 22:13:54 -08:00
cgtobi 891f13eefe
Fix missing device class in netatmo binary sensors (#31693)
* Bring back device class

* Add door tag sensors types

* Actually discover individual tags per camera
2020-02-11 18:02:13 -08:00
Ville Skyttä d1b0ab736d
Improve Huawei LTE timeouting/stalling request behavior (#31710)
* Suppress data get timeout exceptions for 30s after notify attempts

At least SMS send failures may put the API in a state where it times out
some (but not all) data get operations for some time, e.g. 25s.

Closes https://github.com/home-assistant/home-assistant/issues/30827

* Do not pile up duplicate data requests

Do not add another request for a piece of data for which a previous
request is still in progress. For example failing SMS sends are known to
stall some (but not all) requests for some time, and firing up more is
not going to help.
2020-02-11 17:54:19 -08:00
J. Nick Koston 54eb740ff6
Read door open/close events from the activity log. (#31732)
As polling for lock status is every 15 minutes,
we read lock and unlock events from the activity log.

An upstream update of py-august was needed to
expose the door open and close events.

Door open and close events are now seen within
a few seconds instead of delayed 15+ minutes.
2020-02-11 17:43:56 -08:00
Diogo Gomes 787edf9417
pyipma version bump (#31739) 2020-02-11 17:37:48 -08:00
HomeAssistant Azure 9e233070a0 [ci skip] Translation update 2020-02-12 00:31:49 +00:00
Vladimír Záhradník 378bd8438b
Update Modbus service manifest (#31727) 2020-02-11 22:11:02 +01:00
Massimiliano Cannarozzo 15ed086ed2
Fix set volume level (#31731)
afsapi requires an `int` in the 0-20 range but we receive a `float` in the 0.0-1.0 range so we have to cast and offset it
2020-02-11 22:10:33 +01:00
Kit Klein 3435281bd1
Support Konnected Pro alarm panel, embrace async, leverage latest HA features/architecture (#30894)
* fix unique_id computation for switches

* update konnected component to use async, config entries, registries. Pro board support and tests

* clean up formatting comments from PR

* use standard interfaces in tests

* migrate config flow to use options

* address latest pr feedback

* format for import as part of config schema validation

* address pr feedback

* lint fix

* simplify check based on pr feedback

* clarify default schema validation

* fix other schema checks

* fix translations

Co-authored-by: Nate Clark <nate@nateclark.com>
2020-02-11 22:04:42 +01:00
Paulus Schoutsen 51c35ab9a8
Entity Registry to store and restore name/icon (#31714)
* Entity Registry to store and restore name/icon

* Update test_entity_registry.py

* Add original name/icon to JSON result
2020-02-11 09:40:50 -08:00
J. Nick Koston ecd7ec385d
Significantly reduce the number of API calls that the august integration (#31685)
* Significantly reduce the number of API calls that the august integration
makes.

The poll interval for the lock status API is now 15 minutes
instead of every 10 seconds because we can use the activity
API to see changes in lock state.  The interval for the
activity API is 10 seconds which allows for the same
frequency of state monitoring without all the additional API calls.
With four locks, this change results in an ~80% reduction in the number
of API calls.

The result of the lock and unlock APIs now update the lock state instead
of waiting for the next poll.  This change also has the added benefit of
making the UI appear far more responsive.

* Convert to using UTC times
2020-02-11 17:57:26 +01:00
Paulus Schoutsen 81b159f424
Disable Hue groups for new setups (#31713) 2020-02-11 08:50:07 -08:00
Victor Vostrikov 3df2cb6b78
Add support of multiple Tado accounts (#31527)
* Added support of multiple Tado accounts
Changed geberation of sensor unique id (breaking change)

* Fixed lints

* Fixed error detecting opened window

* Changed gereration of unique id of climate

* Removed commented code and added comments
2020-02-11 08:46:02 -08:00
Paulus Schoutsen 8a6158116a
Fix person reload service (#31716) 2020-02-11 09:07:46 +01:00
HomeAssistant Azure 2db6246244 [ci skip] Translation update 2020-02-11 00:31:53 +00:00
Rami Mosleh c66106ee98
Add Glances sensors dynamically (#28639)
* Add temp_sensors to glances dynamically

* unsub from updates when sensor is disabled

* dynamicall add sensors

* change "device_name" to "mnt_point"

* remove unnecessary logging

* update sensor.py

* update test_config_flow.py

* remove commented code
2020-02-10 15:02:14 -08:00
SoftXperience d55846c33a
Use latest version of python-pushover (forked) to fix issue with diff… (#31647)
* Use latest version of python-pushover (forked) to fix issue with different API tokens. (https://community.home-assistant.io/t/different-applications-in-pushover/6985)

* Rewrite pushover notify to use pushover_complete library

* Remove possibility to attach urls to notifications

* Fix comment
2020-02-10 14:55:17 -08:00
Raman Gupta 284fd46ea8
For vizio integration, set unique ID early to prevent multiple zeroconf discovery items for the same device to appear (#31686)
* set unique ID early to prevent multiple zeroconf discovery items for the same device to appear

* add test
2020-02-10 14:54:52 -08:00
Eduard van Valkenburg 454e63b69e
Fix Evohome checking override duration (#31697) 2020-02-10 14:43:39 -08:00
Vladimír Záhradník 94da129ef8
Extend Modbus binary sensor to support discrete inputs (#30004)
* Extend Modbus binary sensor to support discrete inputs

* Add backward compatibility for Modbus binary sensor
2020-02-10 13:56:39 -08:00
Ziv 4467409e5c
Dynalite Integration (#27841)
* Initial commit

* ran hassfest and gen_requirements_all scripts

* fixes per request from Paulus Schoutsen

* ran gen_requirements_all

* updated library version - removed some debug leftover

* get_requirements again...

* added documentation URL

* ran isort

* changed storage in hass.data[DOMAIN] to use entry_id instead of host

* adopted unit tests to latest fix

* Update const.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-10 13:16:04 -08:00
Vilppu Vuorinen b78d156f0e
Add MELCloud integration (#30712)
* Add MELCloud integration

* Provides a climate and sensor platforms. Multiple platforms on one go
is not the best option, but it does not make sense to remove them and
commit them later either.

* Email and access token are stored to the ConfigEntry. The token can be
updated by adding the integration again with the same email address. The
config flow is aborted and the update is performed on the background.

* Run isort

* Fix pylint errors

* Run black

* Increase coverage

* Update pymelcloud dependency

* Add HVAC_MODE_OFF emulation

* Remove print

* Update pymelcloud to enable device type filtering

* Collapse except blocks and chain ClientNotReadys

* Add preliminary documentation URL

* Use list comp for creating model info

Filters out empty model names form units.

* f-string galore

Dropped 'HVAC' from AtaDevice name template.

* Delegate fan mode mapping to pymelcloud

* Fix type annotation

* Access AtaDevice through self._device

* Prefer list comprehension

* Update pymelcloud to leverage device type grouping

The updated backend lib returns devices in a dict grouped by the device
type. The devices do not necessarily need to be in a single list and
this way isinstance is not required to extract devices by type.

* Remove DOMAIN presence check

This does not seem to make much sense after all.

* Fix async_setup_entry

Entry setup used half-baked naming from few experimentations back.
The naming conventiens were unified to match the platforms.

A redundant noneness check was also removed after evaluating the
possible return values from the backend lib.

* Simplify empty model name check

* Improve config validation

* Use config_validation strings.

* Add CONF_EMAIL to config schema. The value is not strictly required
when configuring through configuration.yaml, but having it there makes
things more consistent.

* Use dict[key] to access required properties.

* Add DOMAIN in config check back to async_setup. This is required if an
integration is configured throught config_flow.

* Remove unused manifest properties

* Remove redundant ClimateDevice property override

* Add __init__.py to coverage exclusion

* Use CONF_USERNAME instead of CONF_EMAIL

* Use asyncio.gather instead of asyncio.wait

* Misc fixes

* any -> Any

* Better names for dict iterations

* Proper dict access with mandatory/known keys

* Remove unused 'name' argument

* Remove unnecessary platform info from unique_ids

* Remove redundant methods from climate platform

* Remove redundant default value from dict get

* Update ConfigFlow sub-classing

* Define sensors in a dict instead of a list

* Use _abort_if_unique_id_configured to update token

* Fix them tests

* Remove current state guards

* Fix that gather call

* Implement sensor definitions without str manipulation

* Use relative intra-package imports

* Update homeassistant/components/melcloud/config_flow.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-02-10 22:09:12 +01:00
Hans Oischinger 7e0560c7dc
Vicare water_heater set_temperature fix and bump PyVicare to 0.1.7 (#31672)
* Fix ViCare water_heater set_temperature

This fixes a obvious but undiscovered bug in the water heater component:
Instead of the commanded value the prvious value was set on the API

* Bump PyVicare to 0.1.7
2020-02-10 21:23:02 +01:00
Maikel Punie 5a7e0b84ff
Bump velbus version + load velbus module names into device info (#31664) 2020-02-10 21:22:09 +01:00
cgtobi 7d0b50cadb
Fix wrong error message in netatmo integration (#31690) 2020-02-10 12:33:07 +01:00
Paulus Schoutsen 5092971452
Add brightness light device actions (#31567) 2020-02-09 19:47:59 -08:00
Paulus Schoutsen 12de3f1e47 Clean up frontend services and events (#31654)
* Clean up frontend services and events

* Fix bug in core instead

* Add test that core works correctly with callback marked async funcs
2020-02-09 19:47:16 -08:00
HomeAssistant Azure 118ba10442 [ci skip] Translation update 2020-02-10 00:31:37 +00:00
Balazs Sandor 41f3fb291a Add ZHA Texas Instruments CC device support (#31621) 2020-02-09 12:13:22 -05:00
Ben fb2e120563 Sure Petcare new features various improvements (#31437)
* add typing

* 100% battery_level is enough

* human-friendly datetime

* better enum usage

* add online and learning mode attrs

* use max two decimals in attrs

* use legacy style debug logging

* remove str usage of enums

* add feeder

* add feeder and adapt to new surepy version

* use ProductID instead of ThingID

* various changes and improvements

* add connectivity sensors for all devices & proper support for multiple hubs

* remove "side effects"/exception catching in attribs

* correct unique ids, reorder classes

* move Flap class from binary_sensor to sensor and add a sensore base class

* comments cleanup, minor typing and logging fixes

* remove commented code

* remove commented code

* add typing

* 100% battery_level is enough

* human-friendly datetime

* better enum usage

* add online and learning mode attrs

* use max two decimals in attrs

* use legacy style debug logging

* remove str usage of enums

* add feeder

* add feeder and adapt to new surepy version

* use ProductID instead of ThingID

* various changes and improvements

* add connectivity sensors for all devices & proper support for multiple hubs

* remove "side effects"/exception catching in attribs

* correct unique ids, reorder classes

* move Flap class from binary_sensor to sensor and add a sensore base class

* comments cleanup, minor typing and logging fixes

* remove commented code

* remove commented code

* fix spelling in comment to make the CI happy (seriously?!)

* fix manifest file

* fix requirements_all.txt file

* add missing docstrings

* fix available property

* remove typing from self

* remove commented code

* remove is_on property from sensor

* jump to new surepy version

* remove useles init methods
2020-02-09 17:46:00 +01:00
Jonathan Østrup 150b376cf9
Add recorder vars db_max_retries and db_retry_wait (#31561)
* added recorder vars db_max_retries and db_retry_wait

* fixed test_recorder_setup_failure

I failed because it was missing the two new variables. I simply added these with default values.

* fixed syntax error in test_recorder_setup_failure

* fixed formatting error in test_init_py for recorder component

* fixed typo in test case

* Updated the way the default keys for db_,max_wait and db_retry_wait is set

Implemented based on suggestions from @springstan

* Updated config_schema call to adhere to Black

* changed conf.get to conf[dict] for var retrieval

* removed 2 blank lines
2020-02-09 17:43:09 +01:00
crallian 645c673720
Added zone type Technical as power. (#31611)
*The zone type technical can be used in SPC to track status of e.g. mapping keys and outputs.
2020-02-09 17:41:43 +01:00
Paulus Schoutsen da0ddc84ab
Guard writing automation/scene/script config (#31568) 2020-02-08 17:26:58 -08:00
Josh Anderson 9987978d1a
Add unique ID to edimax switches (#27984)
* Add unique ID and device info data

* Don't get power info on switch models lacking it

* Move info fetching to update, update before adding

* Upgrade pyedimax to get device info

* Remove device info

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-08 16:45:28 -08:00
HomeAssistant Azure a2bea2cab8 [ci skip] Translation update 2020-02-09 00:31:39 +00:00
Bruno Furtado 9f58e5d6ea
Only auth on enter_learning in response to errors for broadlink (#27341)
* Only auth on enter_learning in response to errors.

* Remove extra newline.

* Add missing break on successful attempt.

* Avoid logging success message when auth is unsuccessful.
2020-02-08 16:17:40 -08:00
Tom Harris e3894d212c
Bump insteonplm to 0.16.7 (#31645) 2020-02-08 22:34:22 +01:00
Paulus Schoutsen 989dd32258
Hue to retry if hub errors out (#31616)
* Respect semaphore

* Add retries when connection reset

* Also catch OSError from aiohttp when authenticating
2020-02-08 13:20:37 -08:00
J. Nick Koston 0dd151c1c3
Resolve August integration makes too many requests and hits rate limits (#31558) 2020-02-08 20:22:48 +01:00
Paulus Schoutsen ca1319e1ef Device tracker entities based on GPS should always publish updates (#31551) 2020-02-08 19:56:48 +01:00
Ron Klinkien 1093e25a30
Catch garmin_connect keyerrors with unknown entity type updates (#31608)
* Catch keyerrors with unknown entity type updates

* Change debug level and removed . from log call
2020-02-08 18:47:54 +01:00
shred86 14e0dde055
Add Abode water valve support (#30635) 2020-02-08 16:58:07 +01:00
CHAZICLE 967b02073e
Remove stray debug from unifi integration (#31634) 2020-02-08 16:07:17 +01:00
Daniel Høyer Iversen 6037f7364f
Fix hvac_action for mill (#31630) 2020-02-08 16:00:20 +01:00
Yarmo Mackenbach 658c48b237 Handle missing next train from NS (#31626)
* Handle missing next train

* Ignore next attribute instead
2020-02-08 15:52:05 +01:00
springstan 83a79a434c
Use slug in ping device tracker config validation (#31329)
* Use slug instead of string for config validation
2020-02-08 15:19:46 +01:00
melyux ed3e16123e
Actually enable alarmdecoder to see open/close state of bypassed RF zones when armed (#31426) 2020-02-08 14:32:52 +01:00
Oliver a5b4f43ea5 Bump denonavr to 0.7.12 (#31629) 2020-02-08 13:46:13 +01:00
Paulus Schoutsen 111050bea9
Clean up core services (#31509)
* Clean up core services

* Fix conversation test
2020-02-08 13:10:59 +01:00
Alexei Chetroi 57ab30d534 Bump ZHA dependencies. (#31619)
Bump up zigpy-homeassistant==0.13.2
2020-02-08 06:50:50 -05:00
escoand 0823ee4385
Fix exceptions when using newer Samsung TVs (#31602)
* try to fix websocket problems

* use tuple

* catch websocket exceptions

* typo
2020-02-08 12:03:35 +01:00
SukramJ baa9184b33
Extract services from init.py for HomematicIP Cloud (#31376)
* Extract services from init.py for HomematicIP Cloud

* add ServiceCallType
2020-02-08 10:07:20 +01:00
elmurato 699d6ad658
Add Minecraft Server Integration (#30992)
* Add Minecraft Server integration

* Add unit test for config flow

* Fixed some review findings and increased unit test coverage

* Fixed docstrings of new test cases

* Removed unnecessary debug log messages

* Added unique IDs and device infos and removed duplicate name validation

* Attempt to fix unit test on CI

* Return state OFF instead of UNAVAILABLE in case connection to server drops

* Added property decorator to server properties, even less debug messages, improved sensor dispatcher connection and other review findings fixed

* Moved special property handling to sensors, fixed name confusion in sensor entity, switch to HA const for scan_interval, simplified building players list string

* Improved periodic update, speeded up unit tests

* Added type hints, added callback decorator to entity update callback, added const.py to unit test exclusions

* Changed state sensor to binary sensor, removed empty unit test file, added constants for icons and units

* Let HA handle unknown state, check for None in description and players list sensor

* Removed periods at end of log messages, removed constant for default host

* Updated requirements_test_pre_commit.txt, fixed codespell findings

* Use localhost as default host

* Removed passing hass to entities, moved log message from init, moved host lower to vol, use proper patch library, patch library instead of own code

* Replaced server properties with global instance attributes, removed config option scan_interval, switch back to async_track_time_interval

* Removed description and players list sensors, added players list as state attributes to online players sensor, raise OSError instead of deprecated IOError, other minor review findings fixed

* Use MAC address for unique_id in case of an IP address as host, added getmac to manifest.json, added invalid_ip to strings.json, added new test cases for changes in config_flow, replace all IOError's with OSError, other review findings fixed

* Removed double assignment

* Call get_mac_address async safe

* Handle unavailable and unknown states to reach silver quality scale, added quality scale to manifest.json
2020-02-08 09:28:35 +01:00
HomeAssistant Azure 5483de7e25 [ci skip] Translation update 2020-02-08 00:31:45 +00:00
MatthewFlamm f9e037a823
update pynws to 0.10.4 (#31591) 2020-02-07 09:16:56 -05:00
Rami Mosleh c0eb399d54
Fix librouteros response error handling (#31588) 2020-02-07 14:03:32 +01:00
Eugenio Panadero 37205f9f61
Unregister listener for stats sensor with max_age (#31580) 2020-02-07 11:06:46 +01:00
HomeAssistant Azure 274cf23269 [ci skip] Translation update 2020-02-07 00:31:50 +00:00
Franck Nijhof d093b5f5e8
Bump adguardhome to 0.4.1 (#31565) 2020-02-06 16:02:00 -08:00
jjlawren 3a3328dc13
Skip updates when Plex client viewing photos (#31556) 2020-02-06 14:26:34 -08:00
Alexei Chetroi 0e68ace3dd
Bump ZHA dependencies. (#31555) 2020-02-06 16:34:28 -05:00
Phil Bruckner d1e7ade6db
Make amcrest integration more robust (#30843)
- Bump amcrest package to 1.5.6. Includes networking improvements, no longer
  communicates during Http.__init__(), and allows running snapshot command
  without using stream mode.
- Handle login errors better, and not just at startup.
- Increase network connect & read timeout to 6.05 seconds.
- Increase network read timeout to 20 seconds for snapshot command.
- Run snapshot command in separate task, that cannot be cancelled, to eliminate
  possibility of two snapshot commands running simultaneously (since
  AmcrestCam.async_camera_image can be cancelled.) Also makes sure any exceptions
  from the command are caught properly.
2020-02-06 14:44:48 -06:00
Paulus Schoutsen 9e87a662d5 Update MQTT service description 2020-02-06 11:39:44 -08:00
Paulus Schoutsen 00c6f3cb85
Guard for reloading with no zone config (#31547) 2020-02-06 10:55:12 -08:00
Ville Skyttä 08a74ff686
Use min and m as units in Garmin Connect for consistency and correctness (#31543) 2020-02-06 10:54:01 -08:00
Josh Bendavid eee1ca9211
update aiopylgtv to 0.3.3 (#31545) 2020-02-06 10:00:54 -08:00
Paulus Schoutsen 0d474e1183
Update the update coordinator API to make it easier to use (#31471)
* Update the update coordinator API to make it easier to use

* failed_last_update -> last_update_success
2020-02-06 09:29:29 -08:00
Paulus Schoutsen d407b8e215
Deprecate old netatmo keys (#31544) 2020-02-06 09:26:51 -08:00
Quentame 9e4904cb21
Fix iCloud determine_interval: add default interval to max_interval (#31533) 2020-02-06 08:53:42 -08:00
Dougal Matthews 24c382d689
Only normalise Garmin connect data to minutes if the value is not None (#31526)
Otherwise this causes additional TypeError messages to be logged for
division of None.
2020-02-06 08:52:46 -08:00
Franck Nijhof 7233048fea
Limit OAuth scopes for Netatmo and Home Assistant Cloud (#31538)
* Limit OAuth scopes for Netatmo and Home Assistant Cloud

* Fix tests by making order of scopes predictable
2020-02-06 17:00:27 +01:00
Robert Chmielowiec 24e9a638d5
Fix migrating huawei_lte entry without recipient (#31522) 2020-02-06 16:53:16 +02:00
P-Verbrugge d3e99f13dd
Changed website name to blockchain.com (#31528)
The name and domain of blockchain.info has been changed to blockchain.com. Updated the names in de script.
2020-02-06 15:43:52 +01:00
P-Verbrugge 4f2195101c
Updated the provider name to blockchain.com (#31534)
* Updated the provider name to blockchain.com

Blockchain.info moved from .info .com. Updated the name of the service to blockchain.com

* Updated the provider name to blockchain.com

Updated the provider name to blockchain.com
2020-02-06 15:41:48 +01:00
Paulus Schoutsen 44e243039c
Fix automation sun import (#31521) 2020-02-06 12:55:11 +01:00
Franck Nijhof 1cfd69d484
Remove of liveboxplaytv integration (ADR0004) (#31525) 2020-02-06 12:54:46 +01:00
Malte Franken 8d429d7676
Add GDACS feed integration (#31235)
* initial version of gdacs integration

* updated translations

* generated files

* added abbreviation

* bumped library version

* small feed entry attribute fixes

* add unit tests

* need to use original mdi name

* bumped library version

* improved entity name for earthquakes

* round vulnerability number

* typo

* support for categories

* testing support for categories

* tie longitude and latitude together

* validating categories

* simplifying setup

* passing domain as parameter

* simplified test setup

* moved test code

* simplified test code

* removed superfluous code

* changed approach to unique identifier

* changed code structure

* simplified unit system handling

* made schema a constant

* comment added

* simplifying code

* added message if location already configured

* removed unnecessary code

* simplified test code

* avoid mocking __init__

* pylint

* simplified code

* fetch categories from integration library

* setting PARALLEL_UPDATES

* setting PARALLEL_UPDATES to zero/unlimited

* added quality scale
2020-02-06 11:32:30 +01:00
HomeAssistant Azure 6f99bac557 [ci skip] Translation update 2020-02-06 00:31:53 +00:00
Paulus Schoutsen 8d2086d076
Sonos services to work without admin access (#31506) 2020-02-05 15:50:20 -08:00
Paulus Schoutsen 41c55e695e Fix typo in comment 2020-02-05 14:45:14 -08:00
Andrew c9be201ee2
Move program_mode check (#31501)
Don't try to capture program_mode unless ct80
2020-02-05 14:44:44 -08:00
Paulus Schoutsen ba9892e1f1
Updated frontend to 20200130.2 (#31502) 2020-02-05 14:41:01 -08:00
Paulus Schoutsen 481ea0aa5b
Check for known Hue vulnerability (#31494) 2020-02-05 13:57:17 -08:00
dupondje 557f5763df
Add belgian meter and rename some dsmr sensors (#30121)
* Add support for belgian meter and rename some sensors

* DSMR Fixes

* Add test

* More tests

* Adjust test to latest dev

* Remove unused code

* Depend on dsmr_parser 0.18
2020-02-05 22:14:03 +01:00
Franck Nijhof cb2a9dfebf
Merge branch 'master' into dev 2020-02-05 20:33:06 +01:00
Franck Nijhof 97250d8225
Re-branding of Hass.io panel to Supervisor (#31480) 2020-02-05 16:59:29 +01:00
Paulus Schoutsen 8b6b8f1994
Automation device/entity extraction to include triggers + conditions (#31474)
* Add support for extracting triggers

* Add support for extracting triggers

* Fix test
2020-02-05 16:59:24 +01:00
Quentame 2d393b8f8b
Fix iCloud device battery level can be None (#31468) 2020-02-05 16:59:19 +01:00
Paulus Schoutsen 6d79898926
Fix coordinator reference (#31467) 2020-02-05 16:59:14 +01:00
Raman Gupta 2509518950
Update vizio host check to handle entries that don't have port (#31463)
* Update vizio host check to handle entries that don't have port

* add comment explaining no_port test for future

* remove _name_is_same function and support user updating name in config

* Update strings.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-05 16:59:07 +01:00
Paulus Schoutsen 67680bcfa8
Automation device/entity extraction to include triggers + conditions (#31474)
* Add support for extracting triggers

* Add support for extracting triggers

* Fix test
2020-02-05 16:52:21 +01:00
Franck Nijhof 431a3a6b44
Re-branding of Hass.io panel to Supervisor (#31480) 2020-02-05 11:04:17 +01:00
Robert Svensson fce9697591
deCONZ - Revert from using disabled_by when setting options (#31446)
* Revert from using disabled_by when setting options

* Remove signalling for changed options

* Evaluate allow group option earlier when adding a group
2020-02-04 16:37:01 -08:00
HomeAssistant Azure 3801d5adf4 [ci skip] Translation update 2020-02-05 00:31:54 +00:00
Paulus Schoutsen c85a7934ed
Add brightness_step to light.turn_on (#31452)
* Clean up light turn on service

* Add brightness_step to turn_on schema

* Fix import

* Fix imports 2

* Fix RFLink test
2020-02-04 16:13:29 -08:00
Paulus Schoutsen e970177eeb
Use entity.async_request_call in service helper (#31454)
* Use entity.async_request_call in service helper

* Clean up semaphore handling

* Address comments

* Simplify call entity service helper

* Fix stupid rflink test
2020-02-04 15:30:15 -08:00
Quentame 2c439af165
Fix iCloud device battery level can be None (#31468) 2020-02-05 00:26:47 +01:00
Paulus Schoutsen 370e2ffa5a
Fix coordinator reference (#31467) 2020-02-04 14:57:15 -08:00
Paulus Schoutsen f41623ca64
Log warning when entities referenced in service call not found (#31427)
* Raise entities not found error

* Make it a warning, not an error

* Add support for MATCH_ENTITY_NONE

* Fix lint

* Fix tests
2020-02-04 14:42:07 -08:00
Quentame 201ea2557e
Add config flow to Meteo-France (#29927)
* Add config flow to Meteo-France

* Review 1

* Use config_entry.unique_id

* Fix config_flow _show_setup_form + init

* Remove empty *_setup_platform()

* Avoid HomeAssistantError: Entity id already exists: sensor.[city_name]_[sensor_type]. Platform meteo_france does not generate unique IDs

- when multiple district in one city

* Review + abort when API error

* Fix I/O

* Remove monitored_conditions

* Add async_unload_entry

* Review 3

* Fix pipe

* alert_watcher is already None

* Review 4

* Better fix for "Entity id already exists"

* Whoops, fix tests

* Fix string
2020-02-04 22:37:59 +01:00
Raman Gupta 1efea50654
Update vizio host check to handle entries that don't have port (#31463)
* Update vizio host check to handle entries that don't have port

* add comment explaining no_port test for future

* remove _name_is_same function and support user updating name in config

* Update strings.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-04 11:31:03 -08:00
Bram Kragten e5b6fbf374 Updated frontend to 20200130.1 (#31460) 2020-02-04 09:29:21 -08:00
etheralm af75a4bc85 Update libpurecool upstream library to latest version (#31457)
* Update upstream library to latest version

* update version in requirements_all.txt

* update version in requirements_all.txt
2020-02-04 09:27:04 -08:00
Bas Nijholt 10d5ce24f6 Keep track of the derivative for unit_time (#31397)
* keep track of the derivative for unit_time

In this way, you will get a better estimate of the derivate during
the timescale that is relavant to the sensor.

This solved a problem where sensors have a low output resolution.
For example a temperature sensor that can only be integer numbers.

It might report many values that are the same and then suddenly go up one value.
Only in that moment (with the current implementation) the derivative will be finite.

With my proposed implementation, this problem will not occur, because it takes the average
derivative of the last `unit_time`.

* only loop as much as needed

* treat the special case of 1 entry

* add option time_window

* use cv.time_period

* fix comment

* set time_window=0 by default

* rephrase comment

* use timedelta for time_window

* fix the "G" unit_prefix and add more prefixes

https://en.wikipedia.org/wiki/Unit_prefix

* add debugging lines

* simplify logic

* fix bug where the there was a division of unit_time instead of multiplication

* simplify tests

* add test_data_moving_average_for_discrete_sensor

* fix test_dataSet6

* improve readability of the tests

* better explain the test

* remove debugging log lines
2020-02-04 09:27:03 -08:00
quthla 1008ab20ba Fix theme color (#31366) 2020-02-04 09:27:02 -08:00
escoand 2f2146c989 Samsung TV refinements (#31248)
* use st not deviceType

* show model in flow title

* Update strings.json

* add re-auth to entity

* add re-auth to config_flow

* handle auth popup better

* use media player domain const

* fix tests

* rename not_found to not_successful

* authz not authn

* Update media_player.py

* Update config_flow.py

* Update media_player.py

* Update test_media_player.py

* finalize re-auth

* fix ssd tests

* better naming

* fix ip-address-mock serialization

* fix turn_on_action serialization

* add type of hass object

* fix acces denied test

* remove half-added typing

* async get ip address

* fix pylint
2020-02-04 09:27:01 -08:00
Yarmo Mackenbach 9bb8b2bc00 Update NSAPI to 3.0.2 (#30971)
* Bump NSAPI version to 3.0.1

* Compatibility with NSAPI 3.0.1 response

* Removed commented code

* Obsolete setups receive an upgrade notification

* Bump NS-API to 3.0.2

* Assign platform values directly

* Removed obsolete config warning

* Improved reference to obsolete password
2020-02-04 09:27:00 -08:00