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."""
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)
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.
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
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)
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
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 = []
) 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):
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)
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]
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 = {
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 """