mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Fix KeyError in decora setup (#28279)
* Imported homeassistant.util and slugified address if no name is specified * Added a custom validator function in case name is not set in config * Removed logger.debug line only used for testing
This commit is contained in:
parent
24c29f9227
commit
f8efc2adc6
@ -1,4 +1,5 @@
|
|||||||
"""Support for Decora dimmers."""
|
"""Support for Decora dimmers."""
|
||||||
|
import copy
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
@ -15,17 +16,34 @@ from homeassistant.components.light import (
|
|||||||
)
|
)
|
||||||
from homeassistant.const import CONF_API_KEY, CONF_DEVICES, CONF_NAME
|
from homeassistant.const import CONF_API_KEY, CONF_DEVICES, CONF_NAME
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
import homeassistant.util as util
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
SUPPORT_DECORA_LED = SUPPORT_BRIGHTNESS
|
SUPPORT_DECORA_LED = SUPPORT_BRIGHTNESS
|
||||||
|
|
||||||
|
|
||||||
|
def _name_validator(config):
|
||||||
|
"""Validate the name."""
|
||||||
|
config = copy.deepcopy(config)
|
||||||
|
for address, device_config in config[CONF_DEVICES].items():
|
||||||
|
if CONF_NAME not in device_config:
|
||||||
|
device_config[CONF_NAME] = util.slugify(address)
|
||||||
|
|
||||||
|
return config
|
||||||
|
|
||||||
|
|
||||||
DEVICE_SCHEMA = vol.Schema(
|
DEVICE_SCHEMA = vol.Schema(
|
||||||
{vol.Optional(CONF_NAME): cv.string, vol.Required(CONF_API_KEY): cv.string}
|
{vol.Optional(CONF_NAME): cv.string, vol.Required(CONF_API_KEY): cv.string}
|
||||||
)
|
)
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
PLATFORM_SCHEMA = vol.Schema(
|
||||||
|
vol.All(
|
||||||
|
PLATFORM_SCHEMA.extend(
|
||||||
{vol.Optional(CONF_DEVICES, default={}): {cv.string: DEVICE_SCHEMA}}
|
{vol.Optional(CONF_DEVICES, default={}): {cv.string: DEVICE_SCHEMA}}
|
||||||
|
),
|
||||||
|
_name_validator,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user