mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Better validation error messages
This commit is contained in:
		| @@ -44,7 +44,8 @@ def validate_recursive_action(value): | |||||||
|         item.setdefault(CONF_ACTION_ID, None) |         item.setdefault(CONF_ACTION_ID, None) | ||||||
|         key2 = next((x for x in item if x != CONF_ACTION_ID and x != key), None) |         key2 = next((x for x in item if x != CONF_ACTION_ID and x != key), None) | ||||||
|         if key2 is not None: |         if key2 is not None: | ||||||
|             raise vol.Invalid(u"Cannot have two actions in one item. Key {} overrides {}!" |             raise vol.Invalid(u"Cannot have two actions in one item. Key '{}' overrides '{}'! " | ||||||
|  |                               u"Did you forget to indent the action?" | ||||||
|                               u"".format(key, key2)) |                               u"".format(key, key2)) | ||||||
|         validator = ACTION_REGISTRY[key][0] |         validator = ACTION_REGISTRY[key][0] | ||||||
|         value[i] = { |         value[i] = { | ||||||
| @@ -94,6 +95,8 @@ def validate_automation(extra_schema=None, extra_validators=None, single=False): | |||||||
|                 try: |                 try: | ||||||
|                     return vol.Schema([schema])(value) |                     return vol.Schema([schema])(value) | ||||||
|                 except vol.Invalid as err2: |                 except vol.Invalid as err2: | ||||||
|  |                     if 'Unable to find action' in str(err): | ||||||
|  |                         raise err2 | ||||||
|                     raise vol.MultipleInvalid([err, err2]) |                     raise vol.MultipleInvalid([err, err2]) | ||||||
|         elif isinstance(value, dict): |         elif isinstance(value, dict): | ||||||
|             if CONF_THEN in value: |             if CONF_THEN in value: | ||||||
|   | |||||||
| @@ -221,6 +221,7 @@ def is_ip_address(host): | |||||||
|  |  | ||||||
| def resolve_ip_address(host): | def resolve_ip_address(host): | ||||||
|     if is_ip_address(host): |     if is_ip_address(host): | ||||||
|  |         _LOGGER.info("Connecting to %s", host) | ||||||
|         return host |         return host | ||||||
|  |  | ||||||
|     _LOGGER.info("Resolving IP Address of %s", host) |     _LOGGER.info("Resolving IP Address of %s", host) | ||||||
| @@ -240,7 +241,7 @@ def resolve_ip_address(host): | |||||||
|                       host) |                       host) | ||||||
|  |  | ||||||
|         _LOGGER.error("(If this error persists, please set a static IP address: " |         _LOGGER.error("(If this error persists, please set a static IP address: " | ||||||
|                       "https://esphomelib.com/esphomeyaml/components/wifi.html#manual-ips") |                       "https://esphomelib.com/esphomeyaml/components/wifi.html#manual-ips)") | ||||||
|         raise OTAError("Errors: {}".format(', '.join(str(x) for x in errors))) |         raise OTAError("Errors: {}".format(', '.join(str(x) for x in errors))) | ||||||
|  |  | ||||||
|     _LOGGER.info(" -> %s", ip) |     _LOGGER.info(" -> %s", ip) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user