1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-23 20:39:01 +00:00

Add support for outlets in HomeKit (#14628)

This commit is contained in:
Matt Schmitt
2018-06-01 12:04:54 -04:00
committed by cdce8p
parent 0a724a5473
commit f5d74e07d5
7 changed files with 123 additions and 22 deletions

View File

@@ -6,12 +6,13 @@ import voluptuous as vol
import homeassistant.components.media_player as media_player
from homeassistant.core import split_entity_id
from homeassistant.const import (
ATTR_CODE, ATTR_SUPPORTED_FEATURES, CONF_NAME, TEMP_CELSIUS)
ATTR_CODE, ATTR_SUPPORTED_FEATURES, CONF_NAME, CONF_TYPE, TEMP_CELSIUS)
import homeassistant.helpers.config_validation as cv
import homeassistant.util.temperature as temp_util
from .const import (
CONF_FEATURE, CONF_FEATURE_LIST, HOMEKIT_NOTIFY_ID, FEATURE_ON_OFF,
FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE)
FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE, TYPE_OUTLET,
TYPE_SWITCH)
_LOGGER = logging.getLogger(__name__)
@@ -35,6 +36,11 @@ MEDIA_PLAYER_SCHEMA = vol.Schema({
FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE))),
})
SWITCH_TYPE_SCHEMA = BASIC_INFO_SCHEMA.extend({
vol.Optional(CONF_TYPE, default=TYPE_SWITCH): vol.All(
cv.string, vol.In((TYPE_OUTLET, TYPE_SWITCH))),
})
def validate_entity_config(values):
"""Validate config entry for CONF_ENTITY."""
@@ -62,6 +68,9 @@ def validate_entity_config(values):
feature_list[key] = params
config[CONF_FEATURE_LIST] = feature_list
elif domain == 'switch':
config = SWITCH_TYPE_SCHEMA(config)
else:
config = BASIC_INFO_SCHEMA(config)