diff --git a/esphomeyaml/components/time/sntp.py b/esphomeyaml/components/time/sntp.py index 2f63891c07..8f9e72971b 100644 --- a/esphomeyaml/components/time/sntp.py +++ b/esphomeyaml/components/time/sntp.py @@ -9,7 +9,7 @@ SNTPComponent = time_.time_ns.class_('SNTPComponent', time_.RealTimeClockCompone PLATFORM_SCHEMA = time_.TIME_PLATFORM_SCHEMA.extend({ cv.GenerateID(): cv.declare_variable_id(SNTPComponent), - vol.Optional(CONF_SERVERS): vol.All(cv.ensure_list, [cv.string], vol.Length(min=1, max=3)), + vol.Optional(CONF_SERVERS): vol.All(cv.ensure_list, [cv.domain], vol.Length(min=1, max=3)), vol.Optional(CONF_LAMBDA): cv.lambda_, }).extend(cv.COMPONENT_SCHEMA.schema) diff --git a/esphomeyaml/config_validation.py b/esphomeyaml/config_validation.py index 6a6cac907f..5a26a4d683 100644 --- a/esphomeyaml/config_validation.py +++ b/esphomeyaml/config_validation.py @@ -441,6 +441,13 @@ def hostname(value): return value +def domain(value): + value = string(value) + if re.match(vol.DOMAIN_REGEX, value) is None: + raise vol.Invalid("Invalid domain: {}".format(value)) + return value + + def domain_name(value): value = string(value) if not value.startswith('.'):