"""Demo platform that has two fake alarm control panels."""
import datetime
from homeassistant.components.manual.alarm_control_panel import ManualAlarm
from homeassistant.const import (
    STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_CUSTOM_BYPASS,
    STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_NIGHT,
    STATE_ALARM_DISARMED, STATE_ALARM_TRIGGERED, CONF_DELAY_TIME,
    CONF_PENDING_TIME, CONF_TRIGGER_TIME)


async def async_setup_platform(hass, config, async_add_entities,
                               discovery_info=None):
    """Set up the Demo alarm control panel platform."""
    async_add_entities([
        ManualAlarm(hass, 'Alarm', '1234', None, True, False, {
            STATE_ALARM_ARMED_AWAY: {
                CONF_DELAY_TIME: datetime.timedelta(seconds=0),
                CONF_PENDING_TIME: datetime.timedelta(seconds=5),
                CONF_TRIGGER_TIME: datetime.timedelta(seconds=10),
            },
            STATE_ALARM_ARMED_HOME: {
                CONF_DELAY_TIME: datetime.timedelta(seconds=0),
                CONF_PENDING_TIME: datetime.timedelta(seconds=5),
                CONF_TRIGGER_TIME: datetime.timedelta(seconds=10),
            },
            STATE_ALARM_ARMED_NIGHT: {
                CONF_DELAY_TIME: datetime.timedelta(seconds=0),
                CONF_PENDING_TIME: datetime.timedelta(seconds=5),
                CONF_TRIGGER_TIME: datetime.timedelta(seconds=10),
            },
            STATE_ALARM_DISARMED: {
                CONF_DELAY_TIME: datetime.timedelta(seconds=0),
                CONF_TRIGGER_TIME: datetime.timedelta(seconds=10),
            },
            STATE_ALARM_ARMED_CUSTOM_BYPASS: {
                CONF_DELAY_TIME: datetime.timedelta(seconds=0),
                CONF_PENDING_TIME: datetime.timedelta(seconds=5),
                CONF_TRIGGER_TIME: datetime.timedelta(seconds=10),
            },
            STATE_ALARM_TRIGGERED: {
                CONF_PENDING_TIME: datetime.timedelta(seconds=5),
            },
        }),
    ])
