Exemplo n.º 1
0
    vol.Optional(PRIORITY):
    vol.All(vol.Coerce(int), vol.Range(min=1, max=4)),
    vol.Optional(DUE_DATE):
    cv.string,
})

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    vol.Required(CONF_TOKEN):
    cv.string,
    vol.Optional(CONF_EXTRA_PROJECTS, default=[]):
    vol.All(
        cv.ensure_list,
        vol.Schema([
            vol.Schema({
                vol.Required(CONF_NAME):
                cv.string,
                vol.Optional(CONF_PROJECT_DUE_DATE):
                vol.Coerce(int),
                vol.Optional(CONF_PROJECT_WHITELIST, default=[]):
                vol.All(cv.ensure_list, [vol.All(cv.string, vol.Lower)]),
                vol.Optional(CONF_PROJECT_LABEL_WHITELIST, default=[]):
                vol.All(cv.ensure_list, [vol.All(cv.string, vol.Lower)])
            })
        ]))
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)


def setup_platform(hass, config, add_devices, discovery_info=None):
    """Set up the Todoist platform."""
Exemplo n.º 2
0
CONF_SEARCH = "search"

OFFSET = "!!"

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    # pylint: disable=no-value-for-parameter
    vol.Required(CONF_URL):
    vol.Url(),
    vol.Optional(CONF_CALENDARS, default=[]):
    vol.All(cv.ensure_list, [cv.string]),
    vol.Inclusive(CONF_USERNAME, "authentication"):
    cv.string,
    vol.Inclusive(CONF_PASSWORD, "authentication"):
    cv.string,
    vol.Optional(CONF_CUSTOM_CALENDARS, default=[]):
    vol.All(
        cv.ensure_list,
        [
            vol.Schema({
                vol.Required(CONF_CALENDAR): cv.string,
                vol.Required(CONF_NAME): cv.string,
                vol.Required(CONF_SEARCH): cv.string,
            })
        ],
    ),
    vol.Optional(CONF_VERIFY_SSL, default=True):
    cv.boolean,
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)

Exemplo n.º 3
0
NEW_TASK_SERVICE_SCHEMA = vol.Schema({
    vol.Required(CONTENT): cv.string,
    vol.Optional(PROJECT_NAME, default='inbox'): vol.All(cv.string, vol.Lower),
    vol.Optional(LABELS): cv.ensure_list_csv,
    vol.Optional(PRIORITY): vol.All(vol.Coerce(int), vol.Range(min=1, max=4)),
    vol.Optional(DUE_DATE): cv.string,
})

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    vol.Required(CONF_TOKEN): cv.string,
    vol.Optional(CONF_EXTRA_PROJECTS, default=[]):
        vol.All(cv.ensure_list, vol.Schema([
            vol.Schema({
                vol.Required(CONF_NAME): cv.string,
                vol.Optional(CONF_PROJECT_DUE_DATE): vol.Coerce(int),
                vol.Optional(CONF_PROJECT_WHITELIST, default=[]):
                    vol.All(cv.ensure_list, [vol.All(cv.string, vol.Lower)]),
                vol.Optional(CONF_PROJECT_LABEL_WHITELIST, default=[]):
                    vol.All(cv.ensure_list, [vol.All(cv.string, vol.Lower)])
            })
        ]))
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)


def setup_platform(hass, config, add_devices, discovery_info=None):
    """Set up the Todoist platform."""
    token = config.get(CONF_TOKEN)

    # Look up IDs based on (lowercase) names.
Exemplo n.º 4
0
CONF_DEVICE_ID = 'device_id'
CONF_CALENDARS = 'calendars'
CONF_CUSTOM_CALENDARS = 'custom_calendars'
CONF_CALENDAR = 'calendar'
CONF_SEARCH = 'search'

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    # pylint: disable=no-value-for-parameter
    vol.Required(CONF_URL): vol.Url(),
    vol.Optional(CONF_CALENDARS, default=[]):
        vol.All(cv.ensure_list, vol.Schema([
            cv.string
        ])),
    vol.Inclusive(CONF_USERNAME, 'authentication'): cv.string,
    vol.Inclusive(CONF_PASSWORD, 'authentication'): cv.string,
    vol.Optional(CONF_CUSTOM_CALENDARS, default=[]):
        vol.All(cv.ensure_list, vol.Schema([
            vol.Schema({
                vol.Required(CONF_CALENDAR): cv.string,
                vol.Required(CONF_NAME): cv.string,
                vol.Required(CONF_SEARCH): cv.string,
            })
        ]))
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)


def setup_platform(hass, config, add_devices, disc_info=None):
    """Set up the WebDav Calendar platform."""
    import caldav
Exemplo n.º 5
0
CONF_PARSER = "parser"

OFFSET = "!!"

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    # pylint: disable=no-value-for-parameter
    vol.Optional(CONF_CALENDARS, default=[]):
    vol.All(
        cv.ensure_list,
        vol.Schema([
            vol.Schema({
                vol.Required(CONF_URL):
                vol.Url(),
                vol.Required(CONF_NAME):
                cv.string,
                vol.Optional(CONF_INCLUDE_ALL_DAY, default=False):
                cv.boolean,
                vol.Optional(CONF_USERNAME, default=""):
                cv.string,
                vol.Optional(CONF_PASSWORD, default=""):
                cv.string,
                vol.Optional(CONF_PARSER, default="icalevents"):
                cv.string,
            })
        ]),
    )
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)

Exemplo n.º 6
0
CONF_DEVICE_ID = 'device_id'
CONF_CALENDARS = 'calendars'
CONF_CUSTOM_CALENDARS = 'custom_calendars'
CONF_CALENDAR = 'calendar'
CONF_SEARCH = 'search'

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    # pylint: disable=no-value-for-parameter
    vol.Required(CONF_URL): vol.Url(),
    vol.Optional(CONF_CALENDARS, default=[]):
        vol.All(cv.ensure_list, vol.Schema([
            cv.string
        ])),
    vol.Inclusive(CONF_USERNAME, 'authentication'): cv.string,
    vol.Inclusive(CONF_PASSWORD, 'authentication'): cv.string,
    vol.Optional(CONF_CUSTOM_CALENDARS, default=[]):
        vol.All(cv.ensure_list, vol.Schema([
            vol.Schema({
                vol.Required(CONF_NAME): cv.string,
                vol.Required(CONF_CALENDAR): cv.string,
                vol.Required(CONF_SEARCH): cv.string
            })
        ]))
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)


def setup_platform(hass, config, add_devices, disc_info=None):
    """Set up the WebDav Calendar platform."""
    import caldav
Exemplo n.º 7
0
        vol.Exclusive(CONF_TIMESTAMP_IN_STATE,
                      CONF_END_TIME,
                      msg=MSG_TIMESTAMP_CONFLICT):
        cv.boolean
    }),
    vol.Optional(CONF_ALL_DAY):
    cv.boolean,
})

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    vol.Required(CONF_CALENDARS):
    vol.All(
        cv.ensure_list,
        vol.Schema([
            vol.Schema({
                vol.Required(CONF_NAME):
                cv.string,
                vol.Required(CONF_CALENDAR_ENTITIES):
                vol.All(cv.ensure_list, [CALENDAR_ENTITY_SCHEMA])
            })
        ]),
    ),
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)


def setup_platform(hass, config, add_entities, discovery_info=None):
    """Set up the entities platform."""
    calendars = config[CONF_CALENDARS]
    calendar_devices = []
Exemplo n.º 8
0
)

from homeassistant.const import (
    CONF_NAME,
    CONF_PASSWORD,
    CONF_URL,
    CONF_USERNAME,
    CONF_VERIFY_SSL,
)

import homeassistant.helpers.config_validation as cv

from . import DOMAIN

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    vol.Required(CONF_NAME): cv.string,
    vol.Required(CONF_URL): vol.Url(),
})


def setup_platform(hass, config, add_entities, discovery_info=None):
    """Set up the sensor platform."""

    if discovery_info is None:
        return
    config = hass.data[DOMAIN]
    add_entities([ICalendarEventDevice(config[CONF_NAME], config[CONF_URL])],
                 True)


class ICalendarEventDevice(CalendarEventDevice):
    def __init__(self, name, url):
Exemplo n.º 9
0
    SUBJECT,
    LIST_CONF,
    LIST_NAME,
    LIST_ID,
    NOTE,
    DUE_DATE,
    REMINDER_DATE_TIME,
    ALL_TASKS,
)
from .outlook_tasks_api import OutlookTasksApi

_LOGGER = logging.getLogger(__name__)

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
    {
        vol.Required(CONF_CLIENT_ID): cv.string,
        vol.Required(CONF_CLIENT_SECRET): cv.string,
    }
)

NEW_TASK_SERVICE_SCHEMA = vol.Schema(
    {
        vol.Required(SUBJECT): cv.string,
        vol.Exclusive(LIST_NAME, LIST_CONF): cv.string,
        vol.Exclusive(LIST_ID, LIST_CONF): cv.string,
        vol.Optional(NOTE): cv.string,
        vol.Optional(DUE_DATE): cv.date,
        vol.Optional(REMINDER_DATE_TIME): cv.datetime,
    }
)

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)
Exemplo n.º 10
0
PARALLEL_UPDATES = 1

CONF_ENCRYPTION_PASSWORD = '******'
CONF_DEFAULT_TIMEZONE = 'default_timezone'
CACHE_FOLDER = 'custom_components/etesync_calendar/cache'

CALENDAR_ITEM_TYPE = 'CALENDAR'

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    vol.Required(CONF_URL):
    vol.Url(),
    vol.Required(CONF_USERNAME):
    cv.string,
    vol.Required(CONF_PASSWORD):
    cv.string,
    vol.Required(CONF_ENCRYPTION_PASSWORD):
    cv.string,
    vol.Optional(CONF_DEFAULT_TIMEZONE, default='Europe/Amsterdam'):
    cv.string,
    # vol.Optional(CONF_VERIFY_SSL, default=True): cv.boolean,
})

_LOGGER = logging.getLogger(__name__)

DEFAULT_TIMEZONE = ''


def setup_platform(hass, config, add_entities, discovery_info=None):
    url = config[CONF_URL]
    username = config[CONF_USERNAME]
Exemplo n.º 11
0
VERSION = "1.0.0"

_LOGGER = logging.getLogger(__name__)

CONF_DEVICE_ID = 'device_id'
CONF_CALENDARS = 'calendars'
CONF_CALENDAR = 'calendar'

OFFSET = "!!"

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    # pylint: disable=no-value-for-parameter
    vol.Optional(CONF_CALENDARS, default=[]):
    vol.All(
        cv.ensure_list,
        vol.Schema([
            vol.Schema({
                vol.Required(CONF_URL): vol.Url(),
                vol.Required(CONF_NAME): cv.string
            })
        ]))
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)


def setup_platform(hass, config, add_entities, _=None):
    """Set up the ICS Calendar platform """
    _LOGGER.info("Setting up ics calendars")
    calendar_devices = []
    for calendar in config.get(CONF_CALENDARS):
        device_data = {
Exemplo n.º 12
0
STORAGE_KEY = "meal_planner.storage"
STORAGE_VERSION = 1

OFFSET = "!!"

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
    # pylint: disable=no-value-for-parameter
    vol.Required(CONF_PATH):
    cv.string,
    vol.Required(CONF_NAME):
    cv.string,
    vol.Required(CONF_RESET_DAY):
    cv.string,
    vol.Optional(CONF_MEALS, default=[]):
    vol.All(
        cv.ensure_list,
        vol.Schema([
            vol.Schema({
                vol.Optional(CONF_FILTER, None): cv.string,
                vol.Required(CONF_NAME): cv.string,
                vol.Required(CONF_START_TIME): cv.string,
                vol.Optional(CONF_END_TIME, None): cv.string
            })
        ]))
})

MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)


def setup_platform(hass, config, add_entities, _=None):
    """Set up the Meal_Planner Calendar platform """