示例#1
0
PLATFORM_SCHEMA = vol.Schema({
    vol.Required(CONF_PLATFORM):
    DOMAIN,
    vol.Optional(CONF_IGNORE_DEVICES):
    vol.All(cv.ensure_list, [cv.string]),
    vol.Optional(CONF_DEVICE_DEFAULTS, default=DEVICE_DEFAULTS_SCHEMA({})):
    DEVICE_DEFAULTS_SCHEMA,
    vol.Optional(CONF_AUTOMATIC_ADD, default=True):
    cv.boolean,
    vol.Optional(CONF_DEVICES, default={}):
    vol.Schema({
        cv.string: {
            vol.Optional(CONF_NAME):
            cv.string,
            vol.Optional(CONF_TYPE):
            vol.Any(TYPE_DIMMABLE, TYPE_SWITCHABLE, TYPE_HYBRID, TYPE_TOGGLE),
            vol.Optional(CONF_ALIASES, default=[]):
            vol.All(cv.ensure_list, [cv.string]),
            vol.Optional(CONF_GROUP_ALIASES, default=[]):
            vol.All(cv.ensure_list, [cv.string]),
            vol.Optional(CONF_NOGROUP_ALIASES, default=[]):
            vol.All(cv.ensure_list, [cv.string]),
            vol.Optional(CONF_FIRE_EVENT):
            cv.boolean,
            vol.Optional(CONF_SIGNAL_REPETITIONS):
            vol.Coerce(int),
            vol.Optional(CONF_GROUP, default=True):
            cv.boolean,
            # deprecated config options
            vol.Optional(CONF_ALIASSES):
            vol.All(cv.ensure_list, [cv.string]),
示例#2
0
PLATFORM_SCHEMA = vol.Schema({
    vol.Required(CONF_PLATFORM):
    DOMAIN,
    vol.Optional(CONF_NEW_DEVICES_GROUP, default=None):
    cv.string,
    vol.Optional(CONF_IGNORE_DEVICES):
    vol.All(cv.ensure_list, [cv.string]),
    vol.Optional(CONF_DEVICE_DEFAULTS, default=DEVICE_DEFAULTS_SCHEMA({})):
    DEVICE_DEFAULTS_SCHEMA,
    vol.Optional(CONF_DEVICES, default={}):
    vol.Schema({
        cv.string: {
            vol.Optional(CONF_NAME):
            cv.string,
            vol.Optional(CONF_TYPE):
            vol.Any(TYPE_DIMMABLE, TYPE_SWITCHABLE, TYPE_HYBRID),
            vol.Optional(CONF_ALIASSES, default=[]):
            vol.All(cv.ensure_list, [cv.string]),
            vol.Optional(CONF_FIRE_EVENT, default=False):
            cv.boolean,
            vol.Optional(CONF_SIGNAL_REPETITIONS):
            vol.Coerce(int),
        },
    }),
})


def entity_type_for_device_id(device_id):
    """Return entity class for procotol of a given device_id.

    Async friendly.