Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.56 #9969

Merged
merged 137 commits into from
Oct 21, 2017
Merged

0.56 #9969

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
c7226ec
fixed duplicate words (#9705)
flowolf Oct 5, 2017
b83059c
move icon battery function from util to helpers (#9708)
happyleavesaoc Oct 6, 2017
1525cbf
Fix coap commit (#9712)
balloob Oct 6, 2017
ffb1938
Deprecate Python 3.4 support (#9684)
balloob Oct 6, 2017
7b116b0
Updating helper's icon_for_battery_level location (#9594)
tchellomello Oct 6, 2017
f4679cc
Upgrade pyhomematic, add path setting and HM-CC-VG-1 support (#9707)
danielperna84 Oct 6, 2017
d3772d4
bump the version and catch all exceptions to avoid showing backtraces…
rytilahti Oct 6, 2017
2479ce9
More netdata sensors (#9719)
fronzbot Oct 6, 2017
e502202
Upgrade pysnmp to 4.3.10 (#9722)
fabaff Oct 7, 2017
3b53952
arlo: Add alarm control panel component (#9711)
vickyg3 Oct 7, 2017
a5a839e
Abode Temp, Humidity, and Light Sensor (#9709)
MisterWil Oct 7, 2017
fd509e1
Arlo clean-up (#9725)
fabaff Oct 7, 2017
ec5439e
Introducing support to Travis-CI (#9701)
tchellomello Oct 7, 2017
bd5b70c
Add show_on_map config option to AirVisual (#9654)
bachya Oct 7, 2017
19a20b3
Move 'show_on_map' to const (#9727)
fabaff Oct 7, 2017
25e6d69
Bump release to 0.56.0dev (#9726)
fabaff Oct 7, 2017
7104541
[light.tradfri] Clone all of aiocoap to ensure pinned commit will be …
lwis Oct 7, 2017
c09b7b5
Add andrey-git to codeowners (#9718)
andrey-git Oct 7, 2017
af3ea5a
Fix: Last Played Media Title persists in plex (#9664)
ryanm101 Oct 7, 2017
4342d7a
Event trigger nested conditions (#9732)
emlove Oct 7, 2017
c1f156f
Rewrite Alexa Smart-Home skill to v3 (#9699)
pvizeli Oct 7, 2017
9eff9fa
Fix I/O in event loop by Arlo alarm control panel (#9738)
balloob Oct 8, 2017
f56bdd2
Make Arlo battery_level icon dynamic (#9747)
tchellomello Oct 8, 2017
e89e642
Fix for TypeError in synology camera (#9754)
snjoetw Oct 8, 2017
e19e9a1
switch.tplink, light.tplink: bump the pyhs100 version and adapt to ap…
rytilahti Oct 8, 2017
ca54bbf
RFC: Use bind_hass for helpers (#9745)
balloob Oct 8, 2017
8132989
Skybell (#9681)
MisterWil Oct 8, 2017
672ff96
add myself to yeelight owners, too (#9759)
rytilahti Oct 8, 2017
a32fc10
Update CODEOWNERS (#9760)
Danielhiversen Oct 8, 2017
b80f009
Adding my contributions (#9761)
bachya Oct 8, 2017
b620c43
Initializing statistics sensor with data from database (#9753)
ChristianKuehnel Oct 8, 2017
2a2ee81
Match test requirements by full package name. (#9764)
andrey-git Oct 9, 2017
c00647a
yeelight: implement min_mireds and max_mireds, fixes #9509 (#9763)
rytilahti Oct 9, 2017
8014073
Bump raincloudy version 0.0.3 (#9767)
tchellomello Oct 9, 2017
603765f
Xiaomi Smart WiFi Socket and Smart Power Strip integration (#9138)
syssi Oct 9, 2017
35484ca
fix for LocationParseError in netgear platform (#9683)
etsinko Oct 9, 2017
414900f
Expose time module in Python Scripts (#9736)
balloob Oct 9, 2017
3bd9684
Add notification platform for Rocket.Chat. (#9553)
webworxshop Oct 9, 2017
09e2075
Updating pythonegardia package requirement to .22 because of fixed bu…
jeroenterheerdt Oct 9, 2017
04b3c89
Adding myself as codeowner for egardia alarm control panel. (#9772)
jeroenterheerdt Oct 9, 2017
43d7772
WIP: Fix Arlo Camera blocking IO (#9758)
bachya Oct 9, 2017
9abd0fb
Tesla bug fixes. (#9774)
zabuldon Oct 9, 2017
d0ec930
Fix off by one error in arwn platform (#9781)
sdague Oct 9, 2017
cb52b80
missing is_closed ( rflink cover fix ) (#9776)
Oct 9, 2017
5232f2a
Wink dome siren support (#9667)
Oct 9, 2017
581e2f2
Bump rxv library to 0.5.1 (#9784)
sdague Oct 9, 2017
a024c1b
Communication timeout support in modbus hub. (#9780)
ziotibia81 Oct 9, 2017
e144b0f
[light.tradfri] Fix transition time (#9785)
lwis Oct 10, 2017
fc47e94
OwnTracks: Fix handler is None checking (#9794)
balloob Oct 10, 2017
a97e7bb
Simplify track_same_state (#9795)
balloob Oct 10, 2017
8f06b35
Optimize event matcher (#9798)
balloob Oct 10, 2017
0de2266
Resolving bug that prevents ssl_verify option for Unifi device_tracke…
GenericStudent Oct 10, 2017
19887f8
Upgrade pyasn1 to 0.3.7 and pyasn1-modules to 0.1.5 (#9810)
fabaff Oct 11, 2017
f837302
Split map panel out into its own component (#9814)
cgarwood Oct 11, 2017
765560e
Restore home-assistant-polymer pointer from #9720 (#9825)
emlove Oct 12, 2017
c33b179
Fix ISY994 fan platform overwriting state property (#9817)
balloob Oct 12, 2017
be5c0b2
Wait_template - support for 'trigger.entity_id' and data_template val…
cdce8p Oct 12, 2017
5fcb099
Adds image attribute to html5 notify (#9832) (#9835)
cgarwood Oct 12, 2017
3b5a9e7
OwnTracks: Handle lwt message (#9831)
balloob Oct 12, 2017
3bdb705
Upgrade libnacl (#9769)
fabaff Oct 12, 2017
4cf300a
Fixed reporting of vera UV sensors (#9838)
alanfischer Oct 12, 2017
c85b556
Update CODEOWNERS */axis.py (#9823)
Kane610 Oct 12, 2017
2c1f0f3
fix climate services (missing indentation, wrongly formatted example)…
rytilahti Oct 12, 2017
8d83912
Run initial generation for development mode (#9826)
emlove Oct 13, 2017
c5c594b
Add service descriptions (#9806)
cgarwood Oct 13, 2017
bbb4066
Bugfix: Include MQTT schema (#9802)
tinloaf Oct 13, 2017
a7f4bcc
Bugfix/9811 jinja autoescape (#9842)
GenericStudent Oct 13, 2017
64853ba
Changed yaml.load into yaml.safe_load (#9841)
GenericStudent Oct 13, 2017
9891320
New PR (#9787)
bachya Oct 13, 2017
79b029a
Do not auto-install credstash (#9844)
balloob Oct 13, 2017
c69e9c1
Add namecheap DNS component (#9821)
Munsio Oct 13, 2017
f7545fe
Remove namecheap dns service (#9845)
balloob Oct 13, 2017
b00d0a1
Use the Last Seen attribute in unify (#8998)
rbflurry Oct 13, 2017
80826bc
Add CAPSman master to mikrotik presence detection (#9729)
icovada Oct 13, 2017
fa37d98
File permissions fix (#9847)
cgarwood Oct 13, 2017
8456cd0
HassIO - TimeZone / Host services (#9846)
pvizeli Oct 13, 2017
a787ab6
Changing name of clicksendaudio component to clicksend_tts (#9859)
jeroenterheerdt Oct 14, 2017
79d1a0a
Upgrade youtube_dl to 2017.10.12 (#9862)
fabaff Oct 14, 2017
fd6c259
Uptime sensor (#9856)
fronzbot Oct 14, 2017
f807a3a
Darksky enhancements (#9851)
rdbahm Oct 14, 2017
0024438
Upgrade psutil to 5.4.0 (#9869)
fabaff Oct 14, 2017
26cb67d
minimal fixes in the owntracks mqtt device tracker (#9866)
azogue Oct 14, 2017
0362a76
Cloud connection via aiohttp (#9860)
balloob Oct 15, 2017
ac256d5
handle OWM API error calls (#9865)
azogue Oct 15, 2017
959a7b2
Upgrade paho-mqtt to 1.3.1 (#9874)
fabaff Oct 15, 2017
da8be25
Fix #9839 (#9880)
pschmitt Oct 15, 2017
b1dc488
Upgrade python-telegram-bot to 8.1.1 (#9882)
azogue Oct 15, 2017
c37883c
Xknx improvements (#9871)
Julius2342 Oct 15, 2017
7596ac2
zha: Update to bellows 0.4.0 (#9890)
rcloran Oct 16, 2017
eb6fb55
Changing clicksendaudio to clicksend_tts in .coveragerc (#9900)
jeroenterheerdt Oct 16, 2017
5986d9f
Added super attributes to Wink binary sensors (#9824)
Oct 16, 2017
d95b75a
Dependemcy version bump. (#9899)
zabuldon Oct 16, 2017
51c5534
Update osramlightify.py (#9905)
Bahnburner Oct 16, 2017
3de95c0
Fixes (#9912)
bachya Oct 17, 2017
875edef
Fix load of components without any config from packages (#9901)
azogue Oct 17, 2017
9be7763
Fixes (#9911)
bachya Oct 17, 2017
82c7195
add last_action for xiaomi cube (#9897)
Danielhiversen Oct 17, 2017
ed70fc9
Added support for Denon AVR-4810. (#9887)
scarface-4711 Oct 17, 2017
e57d0f3
Recorder: Extra check to incoming connections which could be not sqli…
azogue Oct 17, 2017
778c3bb
Fix the resource naming in the UI (#9916)
cgtobi Oct 17, 2017
382f9a8
Update xiaomi_aqara.py (#9920)
Danielhiversen Oct 17, 2017
f5b305c
Fix the resource naming in the UI (#9927)
cgtobi Oct 17, 2017
1d68777
Add transmission sensor: number of active torrents (#9914)
mclem Oct 17, 2017
9d20a53
Google Actions for Assistant (#9632)
philk Oct 18, 2017
3700fce
Allow flexible relayer url (#9939)
balloob Oct 18, 2017
33f8ca5
update async_timeout from v1.4.0 tp v2.0.0 (#9938)
TopdRob Oct 18, 2017
818a525
Bump py-synology to 0.1.5 (#9932)
arsaboo Oct 18, 2017
bef4ae3
Update aioimaplib from v0.7.12 to v0.7.13 (#9930)
TopdRob Oct 18, 2017
6e0efbe
A new platform for controlling Monoprice 6-Zone amplifier (#9662)
etsinko Oct 18, 2017
c06d929
Align away state tag with device_trackers (#9884)
PeteBa Oct 18, 2017
8a2134b
Add serial sensor (#9861)
fabaff Oct 18, 2017
f641a6a
Fix missing timeout for Netatmo binary sensor (#9850)
jabesq Oct 18, 2017
587948e
Xiaomi config validation (#9941)
Danielhiversen Oct 18, 2017
1bec2c0
using defusedxml ElementTree for safer parsing of untrusted XML data …
danielwelch Oct 18, 2017
628b9bd
notify.xmpp - Add support for MUC (#9931)
ldvc Oct 18, 2017
8a93cc1
FFmpeg 1.8 (#9944)
pvizeli Oct 18, 2017
1e1d593
Changed returned attribute from "Game" to "game" (#9945)
Oct 18, 2017
834d0e4
Move 'lights' to const.py (#9929)
fabaff Oct 18, 2017
4960892
Update directpy to 0.2 (#9948)
arsaboo Oct 18, 2017
2cacfb5
Update enocean to 0.40 (#9949)
arsaboo Oct 18, 2017
520de0d
Update hikvision to 1.2 (#9953)
arsaboo Oct 18, 2017
96e3dfe
Update fritzhome to 1.0.3 (#9951)
arsaboo Oct 18, 2017
f05a8bf
Update fritzconnection to 0.6.5 (#9950)
arsaboo Oct 18, 2017
429b637
Upgraded pyhomematic (#9956)
danielperna84 Oct 18, 2017
6ea866c
Add emeter attributes (#9903)
gollo Oct 19, 2017
42f450d
Use default clientsession to stream synology video (#9959)
snjoetw Oct 19, 2017
2fb4709
Update requirements_test_all.txt
pvizeli Oct 19, 2017
c96c283
Update ffmpeg.py
pvizeli Oct 19, 2017
38cb32a
Update ffmpeg 1.9 (#9963)
pvizeli Oct 19, 2017
6cce934
Improve SSL certs used by aiohttp (#9958)
balloob Oct 19, 2017
c1b1974
Fix async probs (#9924)
pvizeli Oct 19, 2017
78c3028
Add Toon support (#9483)
boltgolt Oct 19, 2017
9722125
Version bump to 0.56
balloob Oct 19, 2017
d9f5398
[tradfri] Update pytradfri, simplify dependencies. (#9875)
lwis Oct 20, 2017
60053a6
Moved siren to Wink from switch (#9879)
Oct 20, 2017
f27ad76
Remove async_update (#9997)
pvizeli Oct 21, 2017
2a4c546
Merge remote-tracking branch 'origin/master' into release-0-56
balloob Oct 21, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,9 @@ omit =
homeassistant/components/scsgate.py
homeassistant/components/*/scsgate.py

homeassistant/components/skybell.py
homeassistant/components/*/skybell.py

homeassistant/components/tado.py
homeassistant/components/*/tado.py

Expand All @@ -187,6 +190,9 @@ omit =

homeassistant/components/*/thinkingcleaner.py

homeassistant/components/toon.py
homeassistant/components/*/toon.py

homeassistant/components/tradfri.py
homeassistant/components/*/tradfri.py

Expand Down Expand Up @@ -217,7 +223,7 @@ omit =
homeassistant/components/wemo.py
homeassistant/components/*/wemo.py

homeassistant/components/wink.py
homeassistant/components/wink/*
homeassistant/components/*/wink.py

homeassistant/components/xiaomi_aqara.py
Expand Down Expand Up @@ -267,6 +273,7 @@ omit =
homeassistant/components/camera/rpi_camera.py
homeassistant/components/camera/onvif.py
homeassistant/components/camera/synology.py
homeassistant/components/camera/yi.py
homeassistant/components/climate/eq3btsmart.py
homeassistant/components/climate/flexit.py
homeassistant/components/climate/heatmiser.py
Expand Down Expand Up @@ -405,7 +412,7 @@ omit =
homeassistant/components/notify/aws_sqs.py
homeassistant/components/notify/ciscospark.py
homeassistant/components/notify/clicksend.py
homeassistant/components/notify/clicksendaudio.py
homeassistant/components/notify/clicksend_tts.py
homeassistant/components/notify/discord.py
homeassistant/components/notify/facebook.py
homeassistant/components/notify/free_mobile.py
Expand All @@ -427,6 +434,7 @@ omit =
homeassistant/components/notify/pushover.py
homeassistant/components/notify/pushsafer.py
homeassistant/components/notify/rest.py
homeassistant/components/notify/rocketchat.py
homeassistant/components/notify/sendgrid.py
homeassistant/components/notify/simplepush.py
homeassistant/components/notify/slack.py
Expand Down Expand Up @@ -529,6 +537,7 @@ omit =
homeassistant/components/sensor/sabnzbd.py
homeassistant/components/sensor/scrape.py
homeassistant/components/sensor/sensehat.py
homeassistant/components/sensor/serial.py
homeassistant/components/sensor/serial_pm.py
homeassistant/components/sensor/shodan.py
homeassistant/components/sensor/skybeacon.py
Expand All @@ -549,6 +558,7 @@ omit =
homeassistant/components/sensor/time_date.py
homeassistant/components/sensor/torque.py
homeassistant/components/sensor/transmission.py
homeassistant/components/sensor/travisci.py
homeassistant/components/sensor/twitch.py
homeassistant/components/sensor/uber.py
homeassistant/components/sensor/upnp.py
Expand Down Expand Up @@ -585,6 +595,7 @@ omit =
homeassistant/components/switch/telnet.py
homeassistant/components/switch/transmission.py
homeassistant/components/switch/wake_on_lan.py
homeassistant/components/switch/xiaomi_miio.py
homeassistant/components/telegram_bot/*
homeassistant/components/thingspeak.py
homeassistant/components/tts/amazon_polly.py
Expand Down
25 changes: 23 additions & 2 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,38 @@ homeassistant/components/weblink.py @home-assistant/core
homeassistant/components/websocket_api.py @home-assistant/core
homeassistant/components/zone.py @home-assistant/core

# To monitor non-pypi additions
requirements_all.txt @andrey-git

Dockerfile @home-assistant/docker
virtualization/Docker/* @home-assistant/docker

homeassistant/components/zwave/* @home-assistant/z-wave
homeassistant/components/*/zwave.py @home-assistant/z-wave

# Indiviudal components
homeassistant/components/alarm_control_panel/egardia.py @jeroenterheerdt
homeassistant/components/camera/yi.py @bachya
homeassistant/components/climate/eq3btsmart.py @rytilahti
homeassistant/components/climate/sensibo.py @andrey-git
homeassistant/components/cover/template.py @PhracturedBlue
homeassistant/components/device_tracker/automatic.py @armills
homeassistant/components/media_player/kodi.py @armills
homeassistant/components/history_graph.py @andrey-git
homeassistant/components/light/tplink.py @rytilahti
homeassistant/components/light/yeelight.py @rytilahti
homeassistant/components/media_player/kodi.py @armills
homeassistant/components/media_player/monoprice.py @etsinko
homeassistant/components/sensor/airvisual.py @bachya
homeassistant/components/sensor/miflora.py @danielhiversen
homeassistant/components/sensor/tibber.py @danielhiversen
homeassistant/components/sensor/waqi.py @andrey-git
homeassistant/components/switch/rainmachine.py @bachya
homeassistant/components/switch/tplink.py @rytilahti
homeassistant/components/climate/eq3btsmart.py @rytilahti

homeassistant/components/*/axis.py @Kane610
homeassistant/components/*/broadlink.py @danielhiversen
homeassistant/components/*/rfxtrx.py @danielhiversen
homeassistant/components/tesla.py @zabuldon
homeassistant/components/*/tesla.py @zabuldon
homeassistant/components/*/xiaomi_aqara.py @danielhiversen
homeassistant/components/*/xiaomi_miio.py @rytilahti
6 changes: 2 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@ MAINTAINER Paulus Schoutsen <Paulus@PaulusSchoutsen.nl>
#ENV INSTALL_FFMPEG no
#ENV INSTALL_LIBCEC no
#ENV INSTALL_PHANTOMJS no
#ENV INSTALL_COAP no
#ENV INSTALL_SSOCR no


VOLUME /config

RUN mkdir -p /usr/src/app
Expand All @@ -26,10 +24,10 @@ RUN virtualization/Docker/setup_docker_prereqs

# Install hass component dependencies
COPY requirements_all.txt requirements_all.txt
# Uninstall enum34 because some depenndecies install it but breaks Python 3.4+.
# Uninstall enum34 because some dependencies install it but breaks Python 3.4+.
# See PR #8103 for more info.
RUN pip3 install --no-cache-dir -r requirements_all.txt && \
pip3 install --no-cache-dir mysqlclient psycopg2 uvloop cchardet
pip3 install --no-cache-dir mysqlclient psycopg2 uvloop cchardet cython

# Copy source
COPY . .
Expand Down
6 changes: 2 additions & 4 deletions homeassistant/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,11 @@

import voluptuous as vol

import homeassistant.components as core_components
from homeassistant import (
core, config as conf_util, loader, components as core_components)
from homeassistant.components import persistent_notification
import homeassistant.config as conf_util
import homeassistant.core as core
from homeassistant.const import EVENT_HOMEASSISTANT_CLOSE
from homeassistant.setup import async_setup_component
import homeassistant.loader as loader
from homeassistant.util.logging import AsyncHandler
from homeassistant.util.package import async_get_user_site, get_user_site
from homeassistant.util.yaml import clear_secret_cache
Expand Down
27 changes: 20 additions & 7 deletions homeassistant/components/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import asyncio
import itertools as it
import logging
import os

import homeassistant.core as ha
import homeassistant.config as conf_util
Expand Down Expand Up @@ -110,6 +111,11 @@ def async_reload_core_config(hass):
@asyncio.coroutine
def async_setup(hass, config):
"""Set up general services related to Home Assistant."""
descriptions = yield from hass.async_add_job(
conf_util.load_yaml_config_file, os.path.join(
os.path.dirname(__file__), 'services.yaml')
)

@asyncio.coroutine
def async_handle_turn_service(service):
"""Handle calls to homeassistant.turn_on/off."""
Expand Down Expand Up @@ -149,11 +155,14 @@ def async_handle_turn_service(service):
yield from asyncio.wait(tasks, loop=hass.loop)

hass.services.async_register(
ha.DOMAIN, SERVICE_TURN_OFF, async_handle_turn_service)
ha.DOMAIN, SERVICE_TURN_OFF, async_handle_turn_service,
descriptions[ha.DOMAIN][SERVICE_TURN_OFF])
hass.services.async_register(
ha.DOMAIN, SERVICE_TURN_ON, async_handle_turn_service)
ha.DOMAIN, SERVICE_TURN_ON, async_handle_turn_service,
descriptions[ha.DOMAIN][SERVICE_TURN_ON])
hass.services.async_register(
ha.DOMAIN, SERVICE_TOGGLE, async_handle_turn_service)
ha.DOMAIN, SERVICE_TOGGLE, async_handle_turn_service,
descriptions[ha.DOMAIN][SERVICE_TOGGLE])

@asyncio.coroutine
def async_handle_core_service(call):
Expand All @@ -178,11 +187,14 @@ def async_handle_core_service(call):
hass.async_add_job(hass.async_stop(RESTART_EXIT_CODE))

hass.services.async_register(
ha.DOMAIN, SERVICE_HOMEASSISTANT_STOP, async_handle_core_service)
ha.DOMAIN, SERVICE_HOMEASSISTANT_STOP, async_handle_core_service,
descriptions[ha.DOMAIN][SERVICE_HOMEASSISTANT_STOP])
hass.services.async_register(
ha.DOMAIN, SERVICE_HOMEASSISTANT_RESTART, async_handle_core_service)
ha.DOMAIN, SERVICE_HOMEASSISTANT_RESTART, async_handle_core_service,
descriptions[ha.DOMAIN][SERVICE_HOMEASSISTANT_RESTART])
hass.services.async_register(
ha.DOMAIN, SERVICE_CHECK_CONFIG, async_handle_core_service)
ha.DOMAIN, SERVICE_CHECK_CONFIG, async_handle_core_service,
descriptions[ha.DOMAIN][SERVICE_CHECK_CONFIG])

@asyncio.coroutine
def async_handle_reload_config(call):
Expand All @@ -197,6 +209,7 @@ def async_handle_reload_config(call):
hass, conf.get(ha.DOMAIN) or {})

hass.services.async_register(
ha.DOMAIN, SERVICE_RELOAD_CORE_CONFIG, async_handle_reload_config)
ha.DOMAIN, SERVICE_RELOAD_CORE_CONFIG, async_handle_reload_config,
descriptions[ha.DOMAIN][SERVICE_RELOAD_CORE_CONFIG])

return True
30 changes: 14 additions & 16 deletions homeassistant/components/abode.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,23 @@
from os import path

import voluptuous as vol
from requests.exceptions import HTTPError, ConnectTimeout
from homeassistant.helpers import discovery

from homeassistant.config import load_yaml_config_file
from homeassistant.const import (
ATTR_ATTRIBUTION, ATTR_DATE, ATTR_TIME, ATTR_ENTITY_ID, CONF_USERNAME,
CONF_PASSWORD, CONF_EXCLUDE, CONF_NAME, CONF_LIGHTS,
EVENT_HOMEASSISTANT_STOP, EVENT_HOMEASSISTANT_START)
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers import discovery
from homeassistant.helpers.entity import Entity
from homeassistant.config import load_yaml_config_file
from homeassistant.const import (ATTR_ATTRIBUTION, ATTR_DATE, ATTR_TIME,
ATTR_ENTITY_ID, CONF_USERNAME, CONF_PASSWORD,
CONF_EXCLUDE, CONF_NAME,
EVENT_HOMEASSISTANT_STOP,
EVENT_HOMEASSISTANT_START)
from requests.exceptions import HTTPError, ConnectTimeout

REQUIREMENTS = ['abodepy==0.11.9']
REQUIREMENTS = ['abodepy==0.12.1']

_LOGGER = logging.getLogger(__name__)

CONF_ATTRIBUTION = "Data provided by goabode.com"
CONF_LIGHTS = "lights"
CONF_POLLING = "polling"
CONF_POLLING = 'polling'

DOMAIN = 'abode'

Expand Down Expand Up @@ -93,10 +92,9 @@ class AbodeSystem(object):
def __init__(self, username, password, name, polling, exclude, lights):
"""Initialize the system."""
import abodepy
self.abode = abodepy.Abode(username, password,
auto_login=True,
get_devices=True,
get_automations=True)
self.abode = abodepy.Abode(
username, password, auto_login=True, get_devices=True,
get_automations=True)
self.name = name
self.polling = polling
self.exclude = exclude
Expand Down Expand Up @@ -210,7 +208,7 @@ def trigger_quick_action(call):


def setup_hass_events(hass):
"""Home assistant start and stop callbacks."""
"""Home Assistant start and stop callbacks."""
def startup(event):
"""Listen for push events."""
hass.data[DOMAIN].abode.events.start()
Expand Down
11 changes: 2 additions & 9 deletions homeassistant/components/alarm_control_panel/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,20 +124,13 @@ def async_alarm_service_handler(service):

method = "async_{}".format(SERVICE_TO_METHOD[service.service])

update_tasks = []
for alarm in target_alarms:
yield from getattr(alarm, method)(code)

update_tasks = []
for alarm in target_alarms:
if not alarm.should_poll:
continue

update_coro = hass.async_add_job(
alarm.async_update_ha_state(True))
if hasattr(alarm, 'async_update'):
update_tasks.append(update_coro)
else:
yield from update_coro
update_tasks.append(alarm.async_update_ha_state(True))

if update_tasks:
yield from asyncio.wait(update_tasks, loop=hass.loop)
Expand Down
Loading