Commit Graph

2567 Commits (e2a1e21c8d14bdf10951b03347a6fc4971a1da39)

Author SHA1 Message Date
Otto Winter 744dd42ad3 Add device registry to MQTT binary sensor () 2018-10-08 14:44:00 +02:00
Paulus Schoutsen d5f5273c31
Guard for bad device info () 2018-10-08 12:53:51 +02:00
Otto Winter af2402ea59 Implement base for MQTT device registry integration ()
* Implement base for MQTT device registry integration

* Lint

* Lint

* Address comments

* Lint

* Lint

* Address comments

* Only add keys if specified

See https://github.com/home-assistant/home-assistant/pull/17136#discussion_r223267185
2018-10-08 12:53:30 +02:00
William Scanlon f2d8f3bcb8 Water heater support ()
* Moved econet to water_heater

* Wink and Econet are now in water heater!

* Removed away mode from econet and added demo water heater

* Added demo tests

* Updated coveragerc

* Fix lint issues.

* updated requirements all

* Requirements all actually updated.

* Reset wink and econet and fixed service.

* Reset wink and econet to the correct dev state

* Reset requirements_all and .coveragerc and removed the new econet and wink water_heater files

* Removed @bind_hass service methods

* Actually reset the .coverage file

* Fixed the tests

* Addressed @MartinHjelmare's comments

* Removed unused import

* Switched to async_add_executor_job

* Fixed lint

* Removed is_on

* Added celsius demo water heater and tests.

* Removed metric import
2018-10-08 10:38:07 +02:00
Paulus Schoutsen 4b7f85518f
Prevent accidental device reg override () 2018-10-08 09:30:40 +02:00
Martin Berg e922dd10ba Init sub-components using global var. () 2018-10-07 23:30:09 +02:00
Anders Melchiorsen 6e81ae096e Disallow list/dict for string configuration () 2018-10-07 12:35:44 +02:00
Paulus Schoutsen a66db59359
Fix data used for logbook ()
* Fix data used for logbook

* Lint
2018-10-05 23:07:27 +02:00
cdce8p 37a47b5a59
Add faucet, shower, sprinkler, valve to HomeKit () 2018-10-05 12:43:50 +02:00
Julius Mittenzwei 2e62afabdc Added warning to HomeKit component ()
* added warning if more then 100 devices are added to HomeKit
2018-10-05 12:32:26 +02:00
Florian Klien ce1e8f8ace YesssSMS handling more errors, upgrade to version 0.2.3 ()
* YesssSMS handling more errors, upgrade to version 0.2.1

 - handling missing internet connection nicely
 - disabling login with non-working credentials (website locked account for 1 hour)
 - upgrade to new upstream version of YesssSMS

* notify.yessssms tests

* test requirements

* flake8 fix

* fixing tests, new upstream version 0.2.3

fixing tests based on requested changes, coverage

* removing unmotivated print

* passing exception to ConnectionError and SMSSendingError logger
2018-10-04 17:34:04 -04:00
cdce8p 52ff232797
Bugfix invalid entity_config parameter HomeKit () 2018-10-04 20:37:04 +02:00
Paulus Schoutsen 769dda735d Remove discovery () 2018-10-04 16:04:44 +02:00
Ana Paula Gomes 02bf07d9df Add timeout and fix oscillations on Samsung TV component ()
* Add timeout and fix oscillations

* Adjust code to py3.5.3

* Clean code
2018-10-04 16:02:14 +02:00
Georgi Kirichkov b92b24e8a4 Webhook component - pass headers to webhook handler ()
* Pass headers to webhook handler

* Refactors webhook component to post Request object instead of data

* Update webhook tests

* Cleanup webhook test and fix a bug in ifttt

* Address code review comments
2018-10-04 15:54:51 +02:00
Paulus Schoutsen 0cfbb9ce91 Allow config entry setup to raise not ready () 2018-10-04 15:53:50 +02:00
Tsvi Mostovicz c9976718d4 Take timezone into consideration when calulating Zmanim. Partial fix for () 2018-10-04 15:51:56 +02:00
Paulus Schoutsen a559c06d6b
Make it easier for auth to consume newer formats () 2018-10-04 10:41:13 +02:00
Jerad Meisner cc1891ef2b Add time created to persistent notifications. ()
* Add time created to persistent notifications.

* UTC
2018-10-04 10:24:14 +02:00
Adam Mills 3abdf217bb Homekit controller reconnect ()
* Add threaded call_later helper

* Reconnect to device when connection fails

* Consolidate connection logs and warn on first
2018-10-04 09:25:05 +02:00
Diogo Gomes cf0147098a
Merge pull request from StevenLooman/igd
Adds discovery and config flow
Breaking change: no longer possible to map ports other than the port used by Home Assistant
2018-10-03 22:55:01 +01:00
mvn23 aeb21596a0 Fix counter restore. ()
Add config option to disable restore (always use initial value on restart).
Add unit tests for restore config option.
2018-10-03 23:12:21 +02:00
Tsvi Mostovicz cf5f02b347 Fix jewish calendar sensor with language set to english ()
* Add failing testcase for issue 

* Fix for 
2018-10-03 18:43:25 +02:00
Anders Melchiorsen a5402739b7 Keep the repeat mode when setting Sonos shuffle mode ()
* Keep the repeat mode when setting Sonos shuffle mode

* Fix test
2018-10-03 14:50:13 +02:00
Pascal Vizeli 704c9d8582
Add support for Hass.io discovery feature for Add-ons ()
* Update handler.py

* Update __init__.py

* Update handler.py

* Update __init__.py

* Create discovery.py

* Update handler.py

* Update discovery.py

* Update __init__.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update struct

* Update handler.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update __init__.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update discovery.py

* Update __init__.py

* Update discovery.py

* fix lint

* Update discovery.py

* cleanup old discovery

* Update discovery.py

* Update discovery.py

* Fix lint

* Fix tests

* Write more tests with new functions

* Update test_handler.py

* Create test_discovery.py

* Update conftest.py

* Update test_discovery.py

* Update conftest.py

* Update test_discovery.py

* Update conftest.py

* Update test_discovery.py

* Update test_discovery.py

* Update test_discovery.py

* Update test_discovery.py

* Update test_discovery.py

* Fix test

* Add test

* fix lint

* Update handler.py

* Update discovery.py

* Update test_discovery.py

* fix lint

* Lint
2018-10-03 13:10:38 +02:00
cdce8p 7f0a50ce31 async_create_task ()
* async_create_task

* Update google.py
2018-10-02 11:03:09 +02:00
cdce8p 90f71261c5 Remove service helper (8) ()
* Updated keyboard

* Updated microsoft_face

* Updated ffmpeg

* Updated logger

* Updated components/__init__.py
2018-10-02 10:23:37 +02:00
Malte Franken 13af61e103 GeoRSS events sensor refactored ()
* refactored geo_rss_events sensor to make use of new georss-client library that handles the communication with the rss feed

* fixed lint error
2018-10-02 10:20:51 +02:00
Nicko van Someren b0b3620b2b Added working support for private storage ()
* Fixed file corruption bugs in private storage code.

* Restoring fixed test case.

* Implemented test suite for utils/json.py

* Added new unit test cases for util/json.py

* Dixed formatting nags

* Fixed more nags from the Hound

* Added doc strings to some very short functions

* Fixing lint's complains about my choice of parts of speach. Sigh.

* Moved atomic save operations down into util/json.py so that all benefit.

Added extra clean-up code to ensure that temporary files are removed in
case of errors.
Updated emulated_hue unit tests to avoid errors.

* Apparently 'e' is not allows as a variable name for an exception...
2018-10-02 10:16:43 +02:00
cdce8p c3eff5773b
Remove alert service helper () 2018-10-02 00:33:45 +02:00
Steven Looman d732f8eca2 Changes after review by @MartinHjelmare 2018-10-01 19:26:43 +02:00
Paulus Schoutsen fbc1c41673 Logbook context ()
* Convert logbook to use attr

* Add context to events

* Enhance logbook

* Lint

* Fix logbook entry

* Don't use intermediary classes for logbook entries
2018-10-01 16:12:25 +02:00
Paulus Schoutsen 2e6346ca43 Break up websocket 2 ()
* Break up websocket 2

* Lint+Test

* Lintttt

* Rename
2018-10-01 16:09:31 +02:00
Paulus Schoutsen c69a790ede
Add Hass.io discovery to MQTT ()
* Add Hass.io discovery to MQTT

* Update en.json

* Update __init__.py

* Update config_flow.py

* Update strings.json

* Update test_config_flow.py

* Lint

* Ensure we don't send bad data in config entry
2018-10-01 14:11:21 +02:00
Paulus Schoutsen 22a80cf733
Break up websocket component ()
* Break up websocket component

* Lint
2018-10-01 11:21:00 +02:00
Steven Looman f511920a04 Merge remote-tracking branch 'upstream/dev' into igd 2018-09-30 20:22:10 +02:00
Paulus Schoutsen f5632a5da5
Add webhook + IFTTT example ()
* Add webhook + IFTTT example

* Abort if not externally accessible

* Abort on local url

* Add description to create entry

* Make body optional

* Allow ifttt setup without config

* Add tests

* Lint

* Fix Lint + Tests

* Fix typing
2018-09-30 14:45:48 +02:00
Otto Winter 45fdda3f5d Add unique_id to MQTT fan () 2018-09-29 21:22:57 +02:00
Otto Winter 3ddad83a84 Add unique_id to MQTT cover ()
* Add unique_id to MQTT cover

* Fix tests
2018-09-29 20:54:57 +02:00
Jan van Helvoort 7d1960baba Add zwave.network_complete_some_dead event ()
* Add zwave.network_complete_some_dead event

* add missing comma

* typo

* Add SIGNAL_AWAKE_NODES_QUERIED_SOME_DEAD Test

* Add blank lines

* fix linter warnings

Line too long

* remove trailing whitespace

* Change test signal

* Listen to other event
2018-09-28 19:14:57 +02:00
Otto Winter af89e7c50f Move more MQTT platforms to config entries ()
* Move more MQTT platforms to config entries

* Address comments
2018-09-28 16:57:17 +02:00
Otto Winter c9b6567265 Remove discovered mqtt_json light entity when discovery is cleared ()
* Remove discovered mqtt_json entity device when discovery topic is cleared

* Keep imports ordered
2018-09-28 00:25:51 +02:00
cdce8p f879ac0993 Remove service helper (6) ()
* Update automation

* Update group

* Async_create_task
2018-09-27 23:14:09 +02:00
cdce8p 70b901017f Remove service helper (5) ()
* Update switch

* Update script

* Update light

* Fix tests

* Fix config/script hook

* Async_create_task

* Fix flux switch
2018-09-27 23:13:11 +02:00
Paulus Schoutsen a7248d4574
Handle exception handling websocket command ()
* Handle exception handling websocket command

* lint

* Lint2
2018-09-27 23:10:07 +02:00
Paulus Schoutsen 81e21b90c9 Fix auth redirect ()
* Fix auth redirect

* Remove old test
2018-09-27 09:02:50 -07:00
Otto Winter d1ad2cc225 Make MQTT platforms config entries ()
* Make MQTT platforms config entries

* Fix tests

* Address Comment

* Rework tests

* Undo style auto-reformat style changes
2018-09-27 16:07:56 +02:00
Blake Blackshear 2cc6263092 Add new services for set/refresh Z-Wave device values ()
* Add services for getting and setting indicator values for Z-Wave

* Add service to manually refresh Z-Wave node value by value_id

* Remove refresh_indicator service

* Coerce to int

* Add generic set_node_value service

* Remove set_indicator service
2018-09-27 12:34:42 +02:00
Paulus Schoutsen da3342f1aa
Update new values coming in for dev registry ()
* Update new values coming in for dev registry

* fix Lint+Test;2C
2018-09-27 11:26:58 +02:00
Anders Melchiorsen 726cf9b1c4
Remove unused import ()
* Remove unused import

* Revert test usage
2018-09-27 00:21:29 +02:00
Paulus Schoutsen 273a7af330
Prevent discovered Tradfri while already configured ()
* Prevent discovered Tradfri while already configured

* Lint
2018-09-26 18:03:25 +02:00
cdce8p 4b674b1d16 Remove unused legacy test helper methods () 2018-09-26 18:03:13 +02:00
cdce8p dd45e99302 Remove service helper (4) ()
* Update media_player

* Update lock

* Update notify

* Update remote

* Update scene

* Update vacuum

* Remove timer helpers

* Removed unused legacy helpers
2018-09-26 18:02:05 +02:00
Blake Blackshear f13f723a04 Add bitwise operations as template helpers () 2018-09-26 11:57:16 +02:00
Nicko van Someren e5861241c7 Added support for private storage. ()
* Addded support for private storage.

Include 'private' flag parameters to the Store class and save_json function.
Updated various authentication and onboarding classes to use private stores.
Fixed unit test for emulated_hue which used a mock patch on save_json().

* Fixed Hound formatting issues not detected by local linting.
2018-09-26 10:24:32 +02:00
cdce8p fa98a27df7 Remove service helper (2) ()
* alarm_control_panel

* automation

* camera

* climate

* counter

* fan

* Add legacy notes

* Fix tests
2018-09-26 09:49:55 +02:00
Jason Hu 92a5068977 Use HA native OAuth2 flow for google assistant components ()
* Use HA native OAuth2 flow for google assistant components

* Lint

* Force breaking changes

* Fix CONFIG_SCHEMA
2018-09-26 08:57:55 +02:00
cdce8p bfa1c55803 Fix fan_init test ()
* Fix fan_init test

* Readd __init__.py
2018-09-26 08:53:24 +02:00
cdce8p e2a56721d3 Remove service helper (3) ()
* Update duckdns

* Update google_assistant

* Update group

* Update homematic

* Update image_processing

* Update input_boolean

* Update input_number

* Update input_select

* Update input_text
2018-09-26 08:50:05 +02:00
cdce8p b91a061cef
Add missing __init__ test files () 2018-09-25 23:08:37 +02:00
cdce8p 7eaf8640d0
Update cover tests ()
* Update test_group
* Update test_command_line
* Update test_demo
* Update test_mqtt
* Update test_template
* Remove cover service call helpers
2018-09-25 22:32:05 +02:00
emontnemery 4501bdb4a0 Remove discovered MQTT cover device when discovery topic is cleared () 2018-09-25 19:32:42 +02:00
emontnemery 4a265f37e0 Remove discovered MQTT fan device when discovery topic is cleared () 2018-09-25 19:32:31 +02:00
emontnemery c3f58b8c74 Remove discovered MQTT lock device when discovery topic is cleared () 2018-09-25 19:32:25 +02:00
emontnemery 422ccc1a28 Remove discovered MQTT sensor device when discovery topic is cleared () 2018-09-25 19:32:16 +02:00
emontnemery eb59f2dd3c Move MQTT discovery removal tests to platform test files () 2018-09-25 19:32:04 +02:00
Paulus Schoutsen 399040de46
Fix files left behind ()
* Light demo test to not write entity registry

* Fix Manual MQTT alarm control panel
2018-09-25 17:19:46 +02:00
emontnemery 0dbfd77402 Remove discovered MQTT climate device when discovery topic is cleared () 2018-09-25 17:15:39 +02:00
Paulus Schoutsen a1c914dfeb
On removal, only unload config entry if loaded ()
* On removal, only unload config entry if loaded

* Fix test
2018-09-25 14:29:13 +02:00
emontnemery 093285f92f Remove discovered MQTT binary_sensor device when discovery topic is cleared () 2018-09-25 14:25:03 +02:00
Paulus Schoutsen 7840b1e387
Fix MQTT leaving files behind () 2018-09-25 12:22:27 +02:00
Paulus Schoutsen e4898bb05c
Allow MQTT discovery () 2018-09-25 12:22:14 +02:00
Paulus Schoutsen f4974f58fe
Config entry update data ()
* WIP

* Allow updating data of a config entry
2018-09-25 12:21:11 +02:00
Paulus Schoutsen 2b2502c91c Support old tradfri config format () 2018-09-25 11:57:32 +02:00
Paulus Schoutsen 4f9fc9b39f Don't create entity registry in tests () 2018-09-25 10:16:30 +02:00
emontnemery 90197b6ec9 Remove discovered MQTT light device when discovery topic is cleared () 2018-09-25 09:19:04 +02:00
emontnemery 42790d3e97 Remove discovered MQTT alarm_control_panel device when discovery topic is cleared () 2018-09-25 08:44:14 +02:00
Paulus Schoutsen e78f4d1b65
Extract lovelace to it's own component ()
* Extract lovelace to it's own component

* Lint

* Update comment

* Lint

* Lint
2018-09-25 08:39:35 +02:00
Jason Hu 7a77951bb4 Add Notify MFA module ()
* Add Notify MFA

* Fix unit test

* Address review comment, change storage implementation

* Add retry limit to mfa module

* Fix loading

* Fix invalaid login log processing

* Typing

* Change default message template

* Change one-time password to 8 digit

* Refactoring to not save secret

* Bug fixing

* Change async_initialize method name to aysnc_initialize_login_mfa_step

* Address some simple fix code review comment
2018-09-24 11:06:50 +02:00
Thomas Lovén ad47ece5c6 Allow split component definitions in packages ()
* Allow split component definitions in packages

Two different configuration styles are described in
https://www.home-assistant.io/docs/configuration/devices/#style-2-list-each-device-separately

But only one is allowed in packages according to
https://www.home-assistant.io/docs/configuration/packages/

This change allows "Style 2" configuration in packages.

* Added test for split component definition in packages
2018-09-24 10:17:24 +02:00
emontnemery 5ee4718e24 Remove discovered MQTT Switch device when discovery topic is cleared ()
* Remove discovered device when discovery topic is cleared

* Move entity removal away from mqtt discovery

* Move discovery update to mixin class

* Add testcase

* Review comments
2018-09-24 10:11:49 +02:00
Martin Berg a5cb4e6c2b Use pyspcwebgw for SPC component ()
* Use pyspcwebgw library.

* Support alarm triggering.

* Update requirements.

* Add pyspcwebgw to test reqs.

* Also update script.

* Use dispatcher.

* Address review feedback.
2018-09-24 10:10:10 +02:00
Jason Hu 564ad7e22a Rework chromecast fix ()
* Revert changes of , and fix the platform setup issue

* Fix unit test

* Fix

* Fix comment

* Fix test

* Address review comment

* Address review comment
2018-09-23 23:35:07 +02:00
Malte Franken 18d37ff0fd GeoJSON platform ()
* initial version of geojson platform

* unit tests for geo json platform added; smaller bugfixes and code cleanups

* fixing pylint issues

* moved all code accessing the external feed into separate library; refactored platform and tests to work with that new library

* fixing lint

* small refactorings
2018-09-21 21:15:57 +02:00
Robert Svensson 7fe0d8b2f4
deCONZ cover support ()
deCONZ cover platform for Keen vents
2018-09-21 19:59:20 +02:00
Paulus Schoutsen 8b42d0c471 Add confirmation to Cast/Sonos/iOS config entries ()
* Add confirmation to Cast/Sonos/iOS config entries

* Remove redundant code
2018-09-21 16:34:37 +02:00
Giuseppe 213171769d Refactored units and icons for the Dyson sensors ()
* Refactored units and icons for the Dyson sensors

* Adapted unit tests to the new device names and unit of measurements

* Use None as empty unit of measurement

* Unrelated overall improvements following code review

* Adapted tests to new constructors as per previous commit

* Make sure the sensors have their `hass` attribute set in the test environment
2018-09-21 15:55:07 +02:00
Malte Franken d5813cf167 Make rest sensor and binary sensor more efficient ()
* create binary sensor even if initial update fails

* fixed broken test assertion

* fixed broken test assertion

* avoid fetching resource twice - manually in the setup_platform and then through add_devices

* raising PlatformNotReady instead of creating the sensor if the initial rest call fails; throttling the update to avoid fetching the same resource again immediately after setting up sensor

* rolled back throttling of the rest update call; can still avoid updating the binary sensor's rest resoure twice; fixed tests

* typo
2018-09-21 15:54:50 +02:00
Paulus Schoutsen 3e59ffb33a Add tradfri device info () 2018-09-21 14:47:52 +02:00
Maciej Bieniek a0a54dfd5b Add unique_id to mqtt camera ()
* Add unique_id to mqtt camera

* Remove whitespaces

* Add test for unique_id

* Add blank line
2018-09-21 13:09:54 +02:00
cdce8p 3bfe9e757e
Add Carbon Monoxide HomeKit Sensor () 2018-09-21 12:51:02 +02:00
Rohan Kapoor 3d1c8ee467 Implement support for complex templates in script delays ()
* Implement support for complex templates in script delays

* Swap out dict instead of collections.Mapping
2018-09-21 11:57:01 +02:00
PhracturedBlue 98b92c78c0 Add Call Data Log platform. Mailboxes no longer require media ()
* Add multiple mailbox support

* Fix extraneous debugging

* Add cdr support

* liniting errors

* Mailbox log messages should mostly be debug.  Fix race condition with initializing CDR

* async decorators to async

* Lint fixes

* Typo

* remove unneeded parameter

* Fix variable names

* Fix async calls from worker thread.  Other minor cleanups

* more variable renames
2018-09-21 11:55:12 +02:00
Paulus Schoutsen df67093441
Fix faulty color temp crashing google ()
* Fix faulty color temp crashing google

* Rename

* Print warning for incorrect color temp
2018-09-21 10:51:46 +02:00
Robert Svensson 90c18d1c15 deCONZ add via_hub attribute for device registry ()
* deCONZ add via_hub attribute for device registry

* A shorter way to get bridgeid
2018-09-21 09:21:44 +02:00
Anders Melchiorsen 78b6439ee6 Use pysonos for Sonos media player () 2018-09-20 23:50:11 +02:00
Paulus Schoutsen 092c146eae
Add option to disable specific integrations ()
* Add option to disable specific integrations

* Lint
2018-09-20 23:46:51 +02:00
Paulus Schoutsen e58836f99f
Add subscription info endpoint ()
* Add subscription info endpoint

* Lint

* Lint

* Make decorator

* Lint
2018-09-20 14:53:13 +02:00
Paulus Schoutsen a1c524d372
Config flow tradfri ()
* Fix comments

* Add config flow tests

* Fix Tradfri light tests

* Lint

* Remove import group from config flow

* fix stale comments
2018-09-19 21:21:43 +02:00
Matthias Urlichs 0121e3cb04 Remove usage of "run_until_complete" ()
* De-run_forever()-ization

* Use asyncio.run (or our own implementation on Python <3.7)
* hass.start is only used by tests
* setup_and_run_hass() is now async
* Add "main" async hass.run method
* move SIGINT handling to helpers/signal.py
  * add flag to .run to disable hass's signal handlers
* Teach async_start and async_stop to not step on each other
  (more than necessary)

* shorten over-long lines

* restore missing "import asyncio"

* move run_asyncio to homeassistant.util.async_

* LOGGER: warn => warning

* Add "force" flag to async_stop

only useful for testing

* Add 'attrs==18.2.0' to requirements_all.txt

Required for keeping requirements_test_all.txt in sync, where it is in
turn required to prevent auto-downgrading "attrs" during "pip install"

* Fixes for mypy

* Fix "mock_signal" fixture

* Revert mistaken edit

* Flake8 fixes

* mypy fixes

* pylint fix

* Revert adding attrs== to requirements_test*.txt

solved by using "pip -c"

* Rename "run" to "async_run", as per calling conventions
2018-09-19 15:40:02 +02:00