From da66a4e933c41d376c00716c0c77b057042716c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Thu, 31 Dec 2020 01:02:14 +0200 Subject: [PATCH] Device automation config error message improvements (#44656) Refs #44654, #44655 --- homeassistant/components/deconz/device_trigger.py | 10 +++++++++- homeassistant/components/sensor/device_condition.py | 5 ++++- homeassistant/components/sensor/device_trigger.py | 5 ++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/deconz/device_trigger.py b/homeassistant/components/deconz/device_trigger.py index 869a6ef3594..9fc6e956963 100644 --- a/homeassistant/components/deconz/device_trigger.py +++ b/homeassistant/components/deconz/device_trigger.py @@ -417,7 +417,15 @@ async def async_validate_trigger_config(hass, config): or device.model not in REMOTES or trigger not in REMOTES[device.model] ): - raise InvalidDeviceAutomationConfig + if not device: + raise InvalidDeviceAutomationConfig( + f"deCONZ trigger {trigger} device with id " + f"{config[CONF_DEVICE_ID]} not found" + ) + raise InvalidDeviceAutomationConfig( + f"deCONZ trigger {trigger} is not valid for device " + f"{device} ({config[CONF_DEVICE_ID]})" + ) return config diff --git a/homeassistant/components/sensor/device_condition.py b/homeassistant/components/sensor/device_condition.py index d58381a2f40..a9d44f2f860 100644 --- a/homeassistant/components/sensor/device_condition.py +++ b/homeassistant/components/sensor/device_condition.py @@ -169,7 +169,10 @@ async def async_get_condition_capabilities(hass, config): ) if not state or not unit_of_measurement: - raise InvalidDeviceAutomationConfig + raise InvalidDeviceAutomationConfig( + "No state or unit of measurement found for " + f"condition entity {config[CONF_ENTITY_ID]}" + ) return { "extra_fields": vol.Schema( diff --git a/homeassistant/components/sensor/device_trigger.py b/homeassistant/components/sensor/device_trigger.py index 77f6afd9acf..86dda53cd2b 100644 --- a/homeassistant/components/sensor/device_trigger.py +++ b/homeassistant/components/sensor/device_trigger.py @@ -168,7 +168,10 @@ async def async_get_trigger_capabilities(hass, config): ) if not state or not unit_of_measurement: - raise InvalidDeviceAutomationConfig + raise InvalidDeviceAutomationConfig( + "No state or unit of measurement found for " + f"trigger entity {config[CONF_ENTITY_ID]}" + ) return { "extra_fields": vol.Schema(