This commit is contained in:
Paulus Schoutsen 2019-07-31 12:25:30 -07:00
parent da05dfe708
commit 4de97abc3a
2676 changed files with 163166 additions and 140084 deletions

View file

@ -4,17 +4,18 @@ import logging
import voluptuous as vol
from homeassistant.core import callback, CoreState
from homeassistant.const import (
CONF_PLATFORM, CONF_EVENT, EVENT_HOMEASSISTANT_STOP)
from homeassistant.const import CONF_PLATFORM, CONF_EVENT, EVENT_HOMEASSISTANT_STOP
EVENT_START = 'start'
EVENT_SHUTDOWN = 'shutdown'
EVENT_START = "start"
EVENT_SHUTDOWN = "shutdown"
_LOGGER = logging.getLogger(__name__)
TRIGGER_SCHEMA = vol.Schema({
vol.Required(CONF_PLATFORM): 'homeassistant',
vol.Required(CONF_EVENT): vol.Any(EVENT_START, EVENT_SHUTDOWN),
})
TRIGGER_SCHEMA = vol.Schema(
{
vol.Required(CONF_PLATFORM): "homeassistant",
vol.Required(CONF_EVENT): vol.Any(EVENT_START, EVENT_SHUTDOWN),
}
)
async def async_trigger(hass, config, action, automation_info):
@ -22,27 +23,24 @@ async def async_trigger(hass, config, action, automation_info):
event = config.get(CONF_EVENT)
if event == EVENT_SHUTDOWN:
@callback
def hass_shutdown(event):
"""Execute when Home Assistant is shutting down."""
hass.async_run_job(action({
'trigger': {
'platform': 'homeassistant',
'event': event,
},
}, context=event.context))
hass.async_run_job(
action(
{"trigger": {"platform": "homeassistant", "event": event}},
context=event.context,
)
)
return hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP,
hass_shutdown)
return hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, hass_shutdown)
# Automation are enabled while hass is starting up, fire right away
# Check state because a config reload shouldn't trigger it.
if hass.state == CoreState.starting:
hass.async_run_job(action({
'trigger': {
'platform': 'homeassistant',
'event': event,
},
}))
hass.async_run_job(
action({"trigger": {"platform": "homeassistant", "event": event}})
)
return lambda: None