Commit Graph

18153 Commits (67498595e430cd258119f52eda581deacb83d3c6)

Author SHA1 Message Date
Raman Gupta acc10c296e move import to top and add service definition for pilight (#29163)
* move import to top and add service definition for pilight

* move import above HA imports
2019-11-27 21:26:54 +01:00
Tsvi Mostovicz d7a66e6e4c Return Jewish Calendar holiday type id support (#29168)
* Bring back holiday type id as a attribute to the holiday sensor

* Add test for holiday type id attribute
2019-11-27 20:52:03 +01:00
Brett T. Warden fa1622fe8b Use roku.poweron method for media_player.turn_on (#29123)
Instead of using the roku.power method, which toggles power,
implement the media_player.turn_on command for the roku component
by calling the new roku.poweron method.

Fixes #28961, but depends on upstream
https://github.com/jcarbaugh/python-roku/pull/53
2019-11-27 18:19:10 +01:00
Raman Gupta 8ef8a314df Update service domain for ifttt from 'alarm_control_panel' to 'ifttt' (#29129)
* update service domain for ifttt

* update missed variable references
2019-11-27 18:17:56 +01:00
Raman Gupta 82fe409961 add services.yaml description for matrix service (#29159) 2019-11-27 18:15:15 +01:00
Raman Gupta b274fcba05 Update service domain for harmony from 'remote' to 'harmony' (#29146)
* move harmoney services to harmony domain

* update service names
2019-11-27 18:14:46 +01:00
Raman Gupta d577868190 move yamaha service to yamaha domain (#29142) 2019-11-27 18:13:54 +01:00
Raman Gupta ef21fd2536 Update services.yaml for nuheat (#29133)
* update services.yaml for nuheat

* update tests

* black formatting
2019-11-27 15:20:40 +01:00
mvn23 fdf0793fdd Add opentherm_gw device support (#28722)
* Add opentherm_gw device support

* Add support for enabling/disabling of opentherm_gw entities

* Disable sensors by default, base climate entity_id on gw_id instead of friendly_name to guarantee uniqueness

* Remove platform name from unique_id
2019-11-27 08:14:41 -05:00
Raman Gupta 12ae8b025f move squeezebox service to squeezebox domain (#29141) 2019-11-27 13:54:00 +01:00
Raman Gupta 59939004bf Update service domain for mill from 'climate' to 'mill' (#29132) 2019-11-27 13:47:38 +01:00
Abílio Costa a08df53dbc Add "gentle" mode for Xiaomi Roborock vacuum (#29004)
* Add "gentle" mode for Xiaomi Roborock vacuum

* fix tests
2019-11-27 13:46:13 +01:00
Tom Brien 8f05388bc5 Remove ios warning for no devices subscribed to ios.notify (#29153)
Since 2019.1 has launched there is a perfectly reasonable (in fact the standard) case where ios component is loaded (i.e. actionable notifications) but no devices are registed for the now defunct `ios.notify` service. As such, the log warning relating to this case is no longer relevant.
2019-11-27 13:35:38 +01:00
Raman Gupta c80f284ca4 Update service domain for mysensors from 'switch' to 'mysensor… (#29147) 2019-11-27 13:31:40 +01:00
Raman Gupta 2d2ab452ca update envisalink service domain (#29126) 2019-11-27 11:27:48 +01:00
Raman Gupta 1681d36637 Update service domain for todoist from 'calendar' to 'todoist' (#29131)
* move todoist constants to const.py and update service domain

* update .coveragerc

* remove unused variable

* save file
2019-11-27 11:26:59 +01:00
Paulus Schoutsen 004476a1f8 Add intent integration to expose intent handle API (#29124)
* Add intent integration to expose intent handle API.

* Run hassfest + fix scaffolding

* Update __init__.py
2019-11-27 11:25:43 +01:00
Raman Gupta ec61a86678 move service constants to const.py and move channels services to channels domain (#29139) 2019-11-27 11:23:52 +01:00
Raman Gupta 1f13809c6d Update service domain for lifx from 'light' to 'lifx' (#29136)
* update service domain for lifx custom services

* fix service name
2019-11-27 11:23:06 +01:00
Raman Gupta 9e882ef6b4 move wink service definitions from lock to wink domain (#29137) 2019-11-27 11:21:52 +01:00
Raman Gupta 5120181e0e move facebox service to facebox domain (#29151) 2019-11-27 11:20:24 +01:00
Raman Gupta c72e230432 move songpal service to songpal domain (#29143) 2019-11-27 11:19:01 +01:00
Raman Gupta 0ff0ec7d3e move econet services to econet domain (#29149) 2019-11-27 11:18:21 +01:00
Raman Gupta ff4d256893 move icloud services to icloud domain (#29144) 2019-11-27 11:16:53 +01:00
Raman Gupta b8f03aa3be move neato service to neato domain (#29148) 2019-11-27 11:15:59 +01:00
Raman Gupta 975ee0ea7f Update service domain for elkm1 from 'alarm_control_panel' to 'elkm1' (#29128)
* move elkm1 services to elkm1 domain

* update missed variable references
2019-11-27 11:15:27 +01:00
Raman Gupta b7896c7b6f move nuki service to nuki domain services.yaml and remove missing service (#29138) 2019-11-27 11:14:22 +01:00
Raman Gupta fb9f561052 move html5 service to html5 domain (#29145) 2019-11-27 11:13:27 +01:00
Chris Caron 8933540950 bumped supported apprise version to 0.8.2 (#29125) 2019-11-26 20:18:43 -08:00
Ville Skyttä 5bc8ef962b Upgrade huawei-lte-api to 1.4.4 (#29130)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.4

Closes https://github.com/home-assistant/home-assistant/issues/28922
2019-11-26 20:18:24 -08:00
Ville Skyttä 738b3363d9 UpCloud updates (#28646)
* Upgrade upcloud-api to 0.4.5

* Fix UpCloud name spelling in manifest

* Update data at setup time for better initial states

* Clean up signal handlers on remove

* Signal data update on server start

To keep related binary sensor better up to date.

* Improve track_time_interval emulation for initial update
2019-11-26 20:17:14 -08:00
HomeAssistant Azure 2a7aac6afc [ci skip] Translation update 2019-11-27 00:32:16 +00:00
springstan 33c6ee80ad Move imports to top for traccar (#29116) 2019-11-26 16:07:12 -08:00
springstan 5eaafcfd7f Move imports to top for touchline (#29117) 2019-11-26 16:06:44 -08:00
springstan 4e96ca9486 Move imports to top for temper (#29118) 2019-11-26 16:02:50 -08:00
springstan 555190990a Move imports to top for tank_utility (#29119) 2019-11-26 16:02:36 -08:00
Joakim Plate 06231e7ac2
Move request sync logic into GoogleConfig (#28227)
* Move request sync logic into GoogleConfig

* Return http status code for request_sync same as cloud

* agent_user_id is not optional for async_sync_entities now

* No need in checking parameter here

* Adjust some things for cloud tests

* Adjust some more stuff for cloud tests

* Drop uneccessary else

* Black required change

* Let async_schedule_google_sync take agent_user_id

* Assert return value on api call

* Test old api key method

* Update homeassistant/components/google_assistant/helpers.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
2019-11-26 22:47:13 +01:00
gjbadros 5f1b0fb15c Allow rest sensor list responses (#28835)
* Make rest sensor a little bit more flexible and allow the response to be a list with 0th element being a dictionary

* Black formatter wanted a different formatting

* Added test case for a list response with dict as 0th element

* Fixed lint error - it thinks a + STRING is an avoidance of using % sequences for log messages; I generally prefer explicit + rather than string juxtaposition for combining string literals, but sounds like that's not the standard

* Fixed test case -- I added it to the wrong scenario and need to use the one with json_attrs.
2019-11-26 22:10:58 +01:00
springstan b72c6c4424 Update list of supported countries for Workday Sensor (#29000)
* Updated list of supported countries

* Added Honduras and Polish back to the list

* Added HND for Honduras to the list
2019-11-26 22:09:00 +01:00
Colin O'Dell 0849d42dc6 Remove the alarm_control_panel CODEOWNER (#29114)
Although I originally contributed this component, I no longer use it myself and haven't been following the internal development of HA, so I'm no longer a good person to review any further changes to this component.  I would therefore like to relinquish my CODEOWNER status over this component.
2019-11-26 21:57:45 +01:00
Evgeny 4ea47333d8 Update roomba bin state checking (#29030)
* Fixed bin full detection

* Refactored bin check

* Fix after pylint
2019-11-26 21:31:00 +01:00
Alex van den Hoogen fe626f5669 Add Post Processing Jobs to NZBGet component (#29027)
* Added Post Processing Jobs to NZBGet component

In the current implementation of the NZBGet component there is no way of
knowing whether NZBGet is still in the Post Processing phase of a download
job. This can be very useful information. For instance when you want to
suspend the NZBGet service when all queue items have been completed.

This change adds that additional sensor.

* Renamed Count to Jobs in NZBGet component
2019-11-26 11:31:20 -08:00
sophof 078a7e446d Fix all entities triggering all observations in bayesian sensor (#28979)
* change fromkeys to dict comprehension to prevent append working on a list by reference. Now each entity id has its own seperate list

* change fromkeys to dict comprehension to prevent append working on a list by reference. Now each entity id has its own seperate list

* use get instead of direct keys for dict

* change fromkeys to dict comprehension to prevent append working on a list by reference. Now each entity id has its own seperate list

* use get instead of direct keys for dict

* changed get back to []
2019-11-26 11:26:40 -08:00
Nikolay Vasilchuk a37260faa9 StarLine integration (#27197)
* Device Tracker works

* Device Tracker works

* Binary Sensor

* Sensor

* Lock

* Switch and service

* New switches

* Update interval options

* WIP

* Translation errors

* Check online state

* WIP

* Move to aiohttp

* Some checks

* CI

* CI

* .coveragerc

* Black

* icon_for_signal_level test

* update_interval renamed to scan_interval

* async logic

* Fix cookie read

* Requirement starline

* Reformat

* Requirements updated

* ConfigEntryNotReady

* Requirement starline

* Lint fix

* Requirement starline

* available status

* Translations

* Expiration to config

* CI

* Linter fix

* Small renaming

* Update slnet token

* Starline version bump

* Fix updates

* Black

* Small fix

* Removed unused fields

* CI

* set_scan_interval service

* deps updated

* Horn switch

* Starline lib updated

* Starline lib updated

* Black

* Support multiple integrations

* Review

* async_will_remove_from_hass

* Deps updated

* Test config flow

* Requirements

* CI

* Review

* Review

* Review

* Review

* Review

* CI

* pylint fix

* Review

* Support "mayak" devices

* Icons removed

* Removed options_flow

* Removed options_flow test

* Removed options_flow test
2019-11-26 11:17:11 -08:00
Raman Gupta c21650473a Update service domain for epson from 'media_player' to 'epson' (#29113)
* update .coveragerc, move epson constants to const.py, move epson cutsom service to epson domain

* Newline in services.yaml
2019-11-26 11:12:50 -08:00
Raman Gupta 9e01591cac Update service domain for blackbird from 'media_player' to 'blackbird' (#29112)
* move service constants to const.py, update blackbird custom service domain

* Readd bluesound services.yaml entries since it should be part of a different branch
2019-11-26 11:10:13 -08:00
Raman Gupta 2da37778af Update service domain for bluesound from 'media_player' to 'bluesound' (#29111)
* move service constants to const.py, move services to bluesound domain

* Remove bluesound services from media_player/services.yaml
2019-11-26 11:06:34 -08:00
rappenze 1c73ac5df8 Fix Vicare imports (#29071)
* fix import

* Update water_heater.py

* use ValueError

* use ValueError
2019-11-26 10:46:53 -08:00
Aaron Bach 2cdd8ad15e
Add new properties and services for V3 SimpliSafe systems (#28997)
* Add new properties and services for V3 SimpliSafe systems

* Small semantic change

* Updated docstrings

* Semantics

* Streamlined adding V3 properties

* Re-add attribute

* Bump to 5.3.5

* Owner comments

* Correct coroutine name
2019-11-26 11:44:40 -07:00
springstan 595567ad82 Move imports to top for trafikverket_weatherstation (#29108) 2019-11-26 10:23:08 -08:00
springstan c221fc5d22 Move imports to top for thinkingcleaner (#29110) 2019-11-26 10:22:57 -08:00
springstan 23d4445de3 Move imports to top for trackr (#29109) 2019-11-26 10:22:28 -08:00
springstan a27d8570c8 Move imports to top for unifi_direct (#29106) 2019-11-26 10:12:00 -08:00
springstan 4119ade2af Move imports to top for travisci (#29107) 2019-11-26 10:11:43 -08:00
springstan 825ac36ee7 Move imports to top for uvc (#29072)
* Move imports to top for uvc

* Fixed linting error

* Renamed parameter in constructor to avoid redefining import
2019-11-26 10:11:10 -08:00
Quentame 9a388e2dd2 Move dominos imports at top-level (#29090) 2019-11-26 10:10:20 -08:00
Quentame c84590b18c Move free_mobile imports at top-level (#29092) 2019-11-26 10:10:05 -08:00
Quentame 274508f8fd Move fortigate imports at top-level (#29093) 2019-11-26 10:09:52 -08:00
Quentame 915d23158d Move foobot imports at top-level (#29094) 2019-11-26 10:09:32 -08:00
Quentame 4107fd9a25 Move folder_watcher imports at top-level (#29095) 2019-11-26 10:09:20 -08:00
Quentame 7a04f0c0df Move flunearyou imports at top-level (#29096) 2019-11-26 10:09:10 -08:00
Quentame a7c4abba98 Move flexit imports at top-level (#29097) 2019-11-26 10:08:53 -08:00
springstan 21ed87a773 Move imports to top for ubee (#29105) 2019-11-26 10:08:34 -08:00
springstan 03fe7cb347 Move imports to top for twilio_call (#29104) 2019-11-26 10:08:16 -08:00
springstan 33af72a54f Move imports to top for uptimerobot (#29103)
* Move imports to top for uptimerobot

* Move imports to top for twilio_call

* Revert twilio_call
2019-11-26 10:07:46 -08:00
Raman Gupta 499838d5a7 move service constants to const.py, move custom services to monoprice domain (#29099) 2019-11-26 10:07:29 -08:00
SukramJ c1163283ff Add hvac_action to HomematicIP Cloud Climate (#28859)
* Add hvac_action to HomematicIP Cloud Climate

* update test data

* limit hvac action to radiator only

* add checks

* Fix test to match new conditions
2019-11-26 10:02:30 -08:00
springstan d0c47dfee2 Move imports to top for webostv (#29102) 2019-11-26 09:49:14 -08:00
Raman Gupta 42ce5e8b07 Update service domain for local_file from 'camera' to 'local_file' (#28890)
* update service domain for local_file from camera to local_file

* remove service.yaml entry in camera component as part of change

* fix test

* move constants to const.py

* add local_file/const.py to .coveragerc

* remove local_file/const.py from .coveragerc since component has tests
2019-11-26 09:22:55 -08:00
Rami Mosleh a5960830d7 Add host field to add_torrent service (#28653)
* Add host field to add_torrent service

* Code cleanup

* use name instead of host for service

* update add_torrent
2019-11-26 09:22:12 -08:00
Matthew Donoughe f8a36499c1 Add serial to caseta devices (#28886)
* add model and serial to caseta devices

* use just serial for unique id

* add display name for entity registry

* remove caseta device model

* just store device

* state and device are the same
2019-11-26 09:06:14 -08:00
Hmmbob 9e971495f7 Update WazeRouteCalculator, add config options, fix subscription (#27963)
* Update WazeRouteCalculator to 0.11

* Update WazeRouteCalculator to 0.11

* Adding new config options to Waze

* Fixing avoid subscription option

* Update WazeRouteCalculator to 0.12

There was an error in the underlying lib

* Update WazeRouteCalculator to 0.12
2019-11-26 09:05:06 -08:00
Quentame 44e708f72b Move ee_brightbox imports at top-level (#29054)
* Move ee_brightbox imports at top-level

* Fix tests

* Fix : Commented out code
2019-11-26 08:59:55 -08:00
Quentame 78d5184186 Move icloud imports at top-level (#29089) 2019-11-26 08:59:42 -08:00
Austin Drummond c47ed743f1 Fix HomeKit linked battery sensor crash (#28974)
* fix homekit linked battery sensor crash

* simplified missing linked battery

* fixed formatting

* Make if faster
2019-11-26 08:55:33 -08:00
Bendik Brenne c538d899a2 Fix empty data attribute in sinch service call (#28253)
* Fix empty data attribute in sinch service call

* Simplified the PR as per @MartinHjelmare`s request.
2019-11-26 14:14:09 +01:00
Paulus Schoutsen c76f768a82 Make conversation and intent context aware (#28965)
* WIP

* LINT
2019-11-26 11:30:21 +01:00
Tim McCormick 6c6a5c50a5 Fix digest auth rest sensors (#28153)
* Fix digest auth rest sensors

* Refactor to use request()

* Fix black complaints

* Don't rename data variable

Don't rename the data variable, appears several other sensors have been coded to rely on it

* Fix tests

test_setup_missing_schema:
Change the exception to check for to PlatformNotReady. With the change away from prepared statements, we no longer get the MissingSchema error during setup - we get it when we attempt to call the endpoint. Since the result is PlatformNotReady, which is what we want, and the error log clearly contains a note that the schema is incorrect I think this is fine.

test_setup_failed_connect & test_setup_timeout:
These aren't checking for minimum config, and they're not invoking the correct method to have the default config filled in. Therefore I've just added the correct minimum config so these can continue to test what they're there to test.

test_update_request_exception:
Testing a request exception with the assert on line 404! Excellent. Anyway, we've moved from using the requests Session object to the requests.request function - so the patch needed to be altered to ensure the RequestException was raised.

* Remove no longer needed import

* Fix binary sensor test in same way
2019-11-25 23:22:11 -08:00
ochlocracy b0925e60d7 Explicitly include "Alexa" Interface in discovery response (#28218)
* Explicitly include Alexa Interface to discovery response.

* Updated cloud component test to reflect additional Alexa interface.

* Updated test for recently added SeekController.
2019-11-25 23:05:10 -08:00
Bas Nijholt db425f5432 Simplify getting alias from tplink smartplug.context (#28696)
* tplink: simplify getting alias from smartplug.context

* add a doc-string to private property
2019-11-25 23:03:38 -08:00
Ville Skyttä 99c7608fb4 Lint config cleanups (#28864)
* Remove bunch of unneeded lint exclusions

* Use symbolic names instead of identifiers in pylint disables

* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
Barry Williams afaa464142 If volume disabled do not enable support (#28635) 2019-11-25 22:34:45 -08:00
Shulyaka 1f72de108c google_assistant: support for humidity sensors (#28695) 2019-11-25 22:12:20 -08:00
Emeric 72ccc83651 Add uptime and number of reboot for bbox sensor (#28880)
* Add uptime and reboot for bbox sensor

* Use timestamp for uptime

* Fix black format
2019-11-25 21:34:13 -08:00
Adam Cheng 6e7b5b71f5 Add scale and offset to temperature values to Modbus Climate (#27045)
* Add scale and offset to temperature values

* fix (no-else-return)

* Update manifest.json

* Added codeowners
2019-11-25 20:59:01 -08:00
Dmitry Krasnoukhov 4881bc04d8 Allow to change MQTT climate hold mode (#28988) 2019-11-25 20:53:37 -08:00
springstan 5f4fc271d4 Fixed CONFIG_SCHEMA and getting data from the config (#28985) 2019-11-25 20:27:51 -08:00
Pedro Lamas db0008e62c Allow templates in rest_command headers (#26099) 2019-11-25 19:39:56 -08:00
springstan cc255da038 Move imports to top for ecovacs (#29017)
* Moved imports in ecovacs integration

* Imported sucks once, reused it multiple times
2019-11-25 18:01:48 -08:00
Michaël Arnauts cc346e57e6 Cast the volume_level of a universal media_player to a float (#29045)
* Make sure to cast the volume_level of a universal media_player to a float

* Fix test that expects the wrong bahaviour

* Catch exception instead of checking for None
2019-11-25 18:01:24 -08:00
Quentame 8a413b152d Move esphome imports at top-level (#29064) 2019-11-25 18:00:58 -08:00
olijouve 87de5db535 Fix Onvif setup error: premature end of connection on GetStreamURI (#26781)
* Fix Onvif setup error with a premature end of connection on GetStreamUri wsdl call

Reconnect to onvif camera after getting profiles to fix this error :

[homeassistant.components.onvif.camera] Retrieving stream uri                                                                                                                                 
[zeep.asyncio.transport] HTTP Post to http://192.168.1.15/onvif/Media:                                                                                                                        
b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<soap-env:Envelope xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope"><soap-env:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
2019-09-20 01:08:51 ERROR (MainThread) [homeassistant.components.camera] Error while setting up platform onvif                                                                                                                       
Traceback (most recent call last):                                                                                                                                                                                                   
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client_reqrep.py", line 553, in write_bytes                                                                                                                                   
    await self.body.write(writer)                                                                                                                                                                                                    
  File "/usr/local/lib/python3.7/site-packages/aiohttp/payload.py", line 231, in write                                                                                                                                               
    await writer.write(self._value)                                                                                                                                                                                                  
  File "/usr/local/lib/python3.7/site-packages/aiohttp/http_writer.py", line 101, in write                                                                                                                                           
    self._write(chunk)                                                                                                                                                                                                               
  File "/usr/local/lib/python3.7/site-packages/aiohttp/http_writer.py", line 67, in _write                                                                                                                                           
    raise ConnectionResetError('Cannot write to closing transport')                                                                                                                                                                  
ConnectionResetError: Cannot write to closing transport                                                                                                                                                                              
                                                                                                                                                                                                                                     
The above exception was the direct cause of the following exception:                                                                                                                                                                 
                                                                                                                                                                                                                                     
Traceback (most recent call last):                                                                                                                                                                                                   
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform                                                                                                                         
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)                                                                                                                                                                
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for                                                                                                                                                            
    return fut.result()                                                                                                                                                                                                              
  File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 110, in async_setup_platform                                                                                                                          
    await hass_camera.async_initialize()                                                                                                                                                                                             
  File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 168, in async_initialize                                                                                                                              
    await self.async_obtain_input_uri()                                                                                                                                                                                              
  File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 266, in async_obtain_input_uri                                                                                                                        
    stream_uri = await media_service.GetStreamUri(req)                                                                                                                                                                               
  File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/bindings.py", line 13, in send                                                                                                                                           
    options["address"], envelope, http_headers                                                                                                                                                                                       
  File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/transport.py", line 107, in post_xml                                                                                                                                     
    response = await self.post(address, message, headers)                                                                                                                                                                            
  File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/transport.py", line 95, in post                                                                                                                                          
    proxy=self.proxy,                                                                                                                                                                                                                
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client.py", line 497, in _request                                                                                                                                             
    await resp.start(conn)                                                                                                                                                                                                           
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client_reqrep.py", line 844, in start                                                                                                                                         
    message, payload = await self._protocol.read()  # type: ignore  # noqa                                                                                                                                                           
  File "/usr/local/lib/python3.7/site-packages/aiohttp/streams.py", line 588, in read                                                                                                                                                
    await self._waiter                                                                                                                                                                                                               
aiohttp.client_exceptions.ClientOSError: [Errno None] Can not write request body for http://192.168.1.15/onvif/Media

* Add code comment

* Update camera.py

* Lint.
2019-11-25 17:56:17 -08:00
Andrew Onyshchuk f5c01cc30d Improve z-wave thermostat support (#27040)
* Improve z-wave thermostat support

Discover thermostat using COMMAND_CLASS_THERMOSTAT_MODE
so that it is a single entitiy in case there are multiple
setpoints. z-wave docs mention it is always present.
Add support for single/range target temperature depending
on the current thermostat mode.

* Remove debug print

* Refactor Z-Wave dynamic setpoint(s) selection

- use explicit mapping between modes and setpoints as defined in
Z-Wave specs
- add tests for away (2 setpoints) and heat eco (1 setpoint) modes

* Add non-standard thermostat mode aliases
2019-11-25 16:32:37 -08:00
HomeAssistant Azure 807de1aeb3 [ci skip] Translation update 2019-11-26 00:32:24 +00:00
Gil Peeters 0088995b98 Refactor template components to extract common routines (#27064)
* Added availability_template to Template Cover platform

* Added availability_template to Template Binary Sensor platform

* Added availability_template to Template Fan platform

* Added availability_template to Template Light platform

* Added availability_template to Template Sensor platform

* Added availability_template to Template Switch platform

* Added availability_template to Template Vacuum platform

* Added availability_template to Template Lock platform

* Added to test for invalid values in availability_template

* Black and Lint fix

* black formatting

* Added to test for invalid values in availability_template

* black

* Added to test for invalid values in availability_template

* Added to test for invalid values in availability_template

* simplified exception handler

* Fixed Entity discovery big and coverage

* Added to test for invalid values in availability_template

* flake8

* fixed component ID in test

* Added to test for invalid values in availability_template

* Added to test for invalid values in availability_template

* Made availability_template redering erorr more concise

* Cleaned template setup

* I'll remember to run black every time one of these days...

* Refactored Template initialisation

* Refactored Template initialisation

* Updated AVAILABILITY_TEMPLATE Rendering error

* Updated AVAILABILITY_TEMPLATE Rendering error

* Updated AVAILABILITY_TEMPLATE Rendering error

* Updated AVAILABILITY_TEMPLATE Rendering error

* Updated AVAILABILITY_TEMPLATE Rendering error

* Updated AVAILABILITY_TEMPLATE Rendering error

* Updated AVAILABILITY_TEMPLATE Rendering error

* Updated AVAILABILITY_TEMPLATE Rendering error

* Moved const to package Const.py

* Moved const to package Const.py

* Moved const to package Const.py

* Moved const to package Const.py

* Moved const to package Const.py

* Moved const to package Const.py

* Moved const to package Const.py

* Moved const to package Const.py

* Fix import order (pylint)

* Fix import order (pylint)

* Fix import order (pylint)

* Fix import order (pylint)

* Fix import order (pylint)

* Fix import order (pylint)

* Fix import order (pylint)

* Fixed linting issues

* Moved availability_template rendering to common loop

* Moved availability_template rendering to common loop

* Moved availability_template rendering to common loop

* Moved availability_template rendering to common loop

* Removed 'Magic' string

* Removed 'Magic' string and removed duplicate code

* Removed 'Magic' string

* Removed 'Magic' string

* Brought contant into line

* Refactored availability_tempalte rendering to common loop

* Removed 'Magic' string

* Cleaned up const and compare lowercase result to 'true'

* Cleaned up const and compare lowercase result to 'true'

* Cleaned up const and compare lowercase result to 'true'

* Cleaned up const and compare lowercase result to 'true'

* Cleaned up const and compare lowercase result to 'true'

* Cleaned up const and compare lowercase result to 'true'

* Cleaned up const and compare lowercase result to 'true'

* reverted _available back to boolean

* reverted _available back to boolean

* reverted _available back to boolean

* reverted _available back to boolean

* reverted _available back to boolean

* reverted _available back to boolean

* reverted _available back to boolean

* Fixed tests (magic values and state checks)

* Fixed tests (magic values and state checks)

* Fixed tests (async, magic values and state checks)

* Fixed tests (async, magic values and state checks)

* Fixed tests (async, magic values and state checks)

* Fixed tests (async, magic values and state checks)

* Fixed tests (async, magic values and state checks)

* Removed duplicate

* Clean up and remove debug

* Reverted Dev Container Change
2019-11-25 16:30:49 -08:00
Jacob McSwain d5db55354e Add SSL configuration (#29038)
* OpenGarage: Add protocol configuration (#29037)

* OpenGarage: Change CONF_PROTOCOL to CONF_SSL

Resolves https://github.com/home-assistant/home-assistant/pull/29038#discussion_r350173095

* OpenGarage: Add `verify_ssl` as an option
2019-11-25 15:47:18 -08:00
Quentame 112a3f5e9f Move hangouts imports at top-level (#29055) 2019-11-25 15:44:11 -08:00
SukramJ 1fde0d18ed Add supported_features to Alarm Control Panel to limit device_actions (#29065)
* Add supported_features to Alarm Control Panel

* mark supported_features abstract

* Add SF to async_register_entity_service

* fix test

* Add missing SF SUPPORT_ALARM_ARM_CUSTOM_BYPASS

* isort

* fix async_register_entity_service

* Update alarm_control_panel.py
2019-11-25 15:42:53 -08:00
springstan 3203cba01f Move imports to top for xiaomi_tv (#29073) 2019-11-25 15:40:42 -08:00
springstan c95a01ce3a Move imports to top for yale_smart_alarm (#29074) 2019-11-25 15:40:25 -08:00
springstan 729116ff3a Move imports to top for version (#29075) 2019-11-25 15:40:08 -08:00
springstan a64d04da56 Move imports to top for xeoma (#29076) 2019-11-25 15:39:54 -08:00
springstan d211a29cae Move imports to top for xfinity (#29077) 2019-11-25 15:39:44 -08:00
Quentame 844eb6b8ef Move dlna_dmr imports at top-level (#29082) 2019-11-25 15:37:19 -08:00
Quentame 5015993f30 Move upnp imports at top-level (#29083) 2019-11-25 15:37:03 -08:00
Quentame 29e2201446 Move velux imports at top-level (#29085) 2019-11-25 15:36:37 -08:00
Quentame 12c396fb19 Move epsonworkforce imports at top-level (#29086) 2019-11-25 15:36:04 -08:00
ochlocracy 970a80216d Add valid inputs to alexa InputController (#28483)
* Add supported Inputs for Alexa.InputController.

* Fixed Test.

* Added default parameter for get() per @quthla suggestion.

* Added additional tests, assets call data.

* Added additional tests, asserts call data.

* Accounted for space in input name, added tests to handle space.
2019-11-25 15:17:12 -08:00
mvn23 f53812f261 Fix opentherm_gw config flow migration (#28474)
* Fix opentherm_gw migration to config flow.

* Address feedback
2019-11-25 15:08:18 -08:00
ochlocracy 5ea5db32d2 Add Alexa.ModeController to cover entities, adds open/close utterances! (#28309)
* Added Alexa.ModeController to cover entities.

* Added synonyms for directives.

* Updated tests for additional synonyms for directives.

* Added Alexa.ModeController to cover entities.

* Sacrifice unused variable in split() to please the Pylint gods.

* Removed duplicate instance check.

* Corrected variable name, clarified definition and consistency.

* Changed list to tuple.
2019-11-25 15:07:33 -08:00
ochlocracy dc8c085872 Support default display category based one switch device_class. (#28221) 2019-11-25 14:50:43 -08:00
Quentame f971e16749 Move eddystone_temperature imports at top-level (#29052)
* Move eddystone_temperature imports at top-level

* Fix pylint ?
2019-11-25 23:46:12 +01:00
Heine Furubotten 04754b354c Entur public transport code owner (#29080)
* entur code owner

* gen codeowners file
2019-11-25 23:45:33 +01:00
Heine Furubotten 66b7dfec53 Nilu integration code owner (#29081)
* nilu code owner

* gen codeowners file
2019-11-25 23:45:14 +01:00
Quentame c4108fec4f Move yi imports at top-level (#29001)
* Move yi imports at top-level

* Review 1 : removing useless disable=import-error

* Review 2 : removing useless disable=import-error
2019-11-25 15:32:35 -07:00
majuss 3dd5222ec7 Bumped lupupy to version 0.0.18 (#28989)
* Bumped lupupy

* Ran gen req

* Ran gen hassfest


Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2019-11-25 20:21:54 +01:00
SukramJ 9a5dc848c9 Fix climate device actions (#28660)
* limit climate device actions

* update test

* use supported_features for device_action

* Fix tests

* user support_features for device_condition
2019-11-25 11:12:00 -08:00
Bas Nijholt ea6417bea3 track Raspberry Pi 4 image in the version integration (#29059) 2019-11-25 10:07:27 -08:00
Quentame e40dda3ce3 Move econet imports at top-level (#29050) 2019-11-25 16:06:37 +01:00
Ville Skyttä f504ac8c65 Drop < 0.97 Huawei LTE sensor unique id migration workaround (#29060) 2019-11-25 16:06:10 +01:00
Pascal Vizeli 9dc63419c4
Bump numpy 1.17.4 / opencv 4.1.2 for Python 3.8 (#29061) 2019-11-25 16:05:21 +01:00
fredericvl 3e4f7fddf2 Handle offline state of SAJ inverters (fixes #29007) (#29009)
* Fix for SAJ issue #29007

* Sort mapping
2019-11-25 08:46:49 -05:00
Quentame 335473cb71 Move hdmi_cec imports at top-level (#29056) 2019-11-25 14:43:17 +01:00
SukramJ 1043712c54 Code maintenance for HomematicIP Cloud (#28980)
* Add more type hints to Homematic IP Cloud

* Rename device to entity in async_setup_entry
2019-11-25 14:17:14 +01:00
Otto Winter b927f40f00 Add climate hvac_action for ESPHome (#28993)
* Add climate action

* Bump aioesphomeapi
2019-11-25 14:13:19 +01:00
Quentame 5edc45e9af Move fibaro imports at top-level (#28995) 2019-11-25 14:12:01 +01:00
springstan ccb05764b6 Move imports to top for ffmpeg_motion and ffmpeg_noise (#29026)
* Move imports to top for ffmpeg_motion and ffmpeg_noise

* Fixed tests
2019-11-25 14:11:23 +01:00
Quentame 71bafba9ec Move ecoal_boiler imports at top-level (#29049) 2019-11-25 14:08:52 +01:00
Quentame cb5d00a07b Move ebox imports at top-level (#29048) 2019-11-25 14:08:28 +01:00
kuchel77 63f66785ad Added error checking (#29041)
Add in error checking in case disks or volumes are empty.
2019-11-25 14:08:04 +01:00
Quentame 752a4d7221 Move dyson imports at top-level (#29047) 2019-11-25 14:06:39 +01:00
Quentame 193769c791 Move vizio imports at top-level (#29046) 2019-11-25 14:05:46 +01:00
Quentame 3122182ab2 Move edimax imports at top-level (#29053) 2019-11-25 14:05:07 +01:00
Michaël Arnauts c21c167f4e Use TADO_MODE for temperature overrides in tado climate component. (#29014)
* Use TADO_MODE for temperature overrides in tado climate component.

* Fix typo in pydoc

* Add myself as a code owner

* Update CODEOWNERS file
2019-11-25 14:04:36 +01:00
Chris Halls 5690313084 Report device unavailable state through Emulated Hue (#29029)
If an entity is in unavailable state in HA, we expose this
as unreachable to Hue clients. This helps when troubleshooting
Hue issues because you can now receive feedback if there is an issue
on the HA side.
2019-11-25 12:17:08 +01:00
springstan aa00e56e1c Move imports to top for discovery (#29020) 2019-11-25 12:15:55 +01:00
escoand 430f7bdfd4 Catch samsungtv websocket exceptions (#28849)
* catch websocket exceptions

* fix syntax

* use exceptions from base class

* add comments

* add test
2019-11-25 10:45:50 +01:00
Fabian Affolter 5b64052d69 Upgrade discord.py to 1.2.5 (#28998) 2019-11-25 09:50:10 +01:00
springstan cc3559d54c Move imports to top for geizhals (#29021) 2019-11-25 09:43:59 +01:00
springstan ee038999fc Move imports to top for todoist (#29022) 2019-11-25 09:43:29 +01:00
springstan fe9084bb3b Move imports to top for watson_tts (#29023) 2019-11-25 09:42:37 +01:00
Quentame 5822deda1d Move philips_js imports at top-level (#29003) 2019-11-25 09:41:37 +01:00
Philipp Schmitt 6307f383a7 Fix #27028 (#29042) 2019-11-25 09:40:32 +01:00
Josh Anderson 8fade79a0a Add an early start sensor for heating zones (#28732) 2019-11-25 09:13:59 +01:00
Franck Nijhof 48c289fad3 Alexa gracefully handle climate devices without presets (#29010) 2019-11-24 19:57:18 -08:00
Michaël Arnauts 647595fd67 Move imports to the top for Tado. (#29016) 2019-11-24 22:47:31 +01:00
springstan 1495df374b Made spotify playlist name validation less strict (#28684) 2019-11-24 20:53:26 +01:00
springstan ce8e0e5489 Move imports to top for volkszaehler (#29025) 2019-11-24 20:31:15 +01:00
HomeAssistant Azure 7c6b38d308 [ci skip] Translation update 2019-11-24 00:32:21 +00:00
Fabian Affolter bbca6e3ac2 Upgrade shodan to 1.20.0 (#28983)
* Upgrade shodan to 1.20.0

* Upgrade mutagen to 1.43.0
2019-11-23 23:12:02 +01:00