コード例 #1
0
    'battery': 'mdi:battery',
    'temperature': 'mdi:thermometer',
}

CONF_SENSOR_TYPE = 'sensor_type'

PLATFORM_SCHEMA = vol.Schema({
    vol.Required(CONF_PLATFORM):
    DOMAIN,
    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.Required(CONF_SENSOR_TYPE):
            cv.string,
            vol.Optional(CONF_UNIT_OF_MEASUREMENT, default=None):
            cv.string,
            vol.Optional(CONF_ALIASSES, default=[]):
            vol.All(cv.ensure_list, [cv.string]),
        },
    }),
})


def lookup_unit_for_sensor_type(sensor_type):
    """Get unit for sensor type.

    Async friendly.
コード例 #2
0
from homeassistant.const import CONF_NAME, CONF_PLATFORM

DEPENDENCIES = ['rflink']

_LOGGER = logging.getLogger(__name__)

PLATFORM_SCHEMA = vol.Schema({
    vol.Required(CONF_PLATFORM):
    DOMAIN,
    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_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 devices_from_config(domain_config, hass=None):
    """Parse config and add rflink switch devices."""
    devices = []
    for device_id, config in domain_config[CONF_DEVICES].items():
コード例 #3
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]),
            vol.Optional(CONF_GROUP_ALIASSES):
            vol.All(cv.ensure_list, [cv.string]),
            vol.Optional(CONF_NOGROUP_ALIASSES):
            vol.All(cv.ensure_list, [cv.string]),
        },
    }),
})
コード例 #4
0
ファイル: rflink.py プロジェクト: loraxx753/skynet
TYPE_SWITCHABLE = 'switchable'
TYPE_HYBRID = 'hybrid'

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):