hass-core/homeassistant/components/verisure.py

58 lines
1.6 KiB
Python
Raw Normal View History

2015-08-11 09:28:07 +02:00
"""
components.verisure
~~~~~~~~~~~~~~~~~~
"""
import logging
from homeassistant import bootstrap
from homeassistant.helpers import validate_config
from homeassistant.loader import get_component
from homeassistant.const import (
EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP,
CONF_USERNAME, CONF_PASSWORD,
EVENT_PLATFORM_DISCOVERED,
ATTR_SERVICE, ATTR_DISCOVERED, ATTR_FRIENDLY_NAME)
DOMAIN = "verisure"
DEPENDENCIES = []
REQUIREMENTS = ['https://github.com/persandstrom/python-verisure/archive/master.zip']
MY_PAGES = None
_LOGGER = logging.getLogger(__name__)
DISCOVER_SENSORS = "wink.sensors"
def setup(hass, config):
""" Setup the Verisure component. """
if not validate_config(config,
{DOMAIN: [CONF_USERNAME, CONF_PASSWORD]},
_LOGGER):
return False
from verisure import MyPages
global MY_PAGES
MY_PAGES = MyPages(config[DOMAIN][CONF_USERNAME], config[DOMAIN][CONF_PASSWORD])
MY_PAGES.login()
component = get_component('sensor')
bootstrap.setup_component(hass, component.DOMAIN, config)
# Fire discovery event
hass.bus.fire(EVENT_PLATFORM_DISCOVERED, {
ATTR_SERVICE: DISCOVER_SENSORS,
ATTR_DISCOVERED: {}
})
def stop_verisure(event):
""" Stop the Arduino service. """
MY_PAGES.logout()
def start_verisure(event):
""" Start the Arduino service. """
hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, stop_verisure)
hass.bus.listen_once(EVENT_HOMEASSISTANT_START, start_verisure)
return True