diff --git a/src/data/automation_i18n.ts b/src/data/automation_i18n.ts index 854d8501f7..f2ee1e0f17 100644 --- a/src/data/automation_i18n.ts +++ b/src/data/automation_i18n.ts @@ -81,6 +81,26 @@ export const describeTrigger = ( hass: HomeAssistant, entityRegistry: EntityRegistryEntry[], ignoreAlias = false +) => { + try { + return tryDescribeTrigger(trigger, hass, entityRegistry, ignoreAlias); + } catch (error: any) { + // eslint-disable-next-line no-console + console.error(error); + + let msg = "Error in describing trigger"; + if (error.message) { + msg += ": " + error.message; + } + return msg; + } +}; + +const tryDescribeTrigger = ( + trigger: Trigger, + hass: HomeAssistant, + entityRegistry: EntityRegistryEntry[], + ignoreAlias = false ) => { if (trigger.alias && !ignoreAlias) { return trigger.alias; @@ -625,6 +645,26 @@ export const describeCondition = ( hass: HomeAssistant, entityRegistry: EntityRegistryEntry[], ignoreAlias = false +) => { + try { + return tryDescribeCondition(condition, hass, entityRegistry, ignoreAlias); + } catch (error: any) { + // eslint-disable-next-line no-console + console.error(error); + + let msg = "Error in describing condition"; + if (error.message) { + msg += ": " + error.message; + } + return msg; + } +}; + +const tryDescribeCondition = ( + condition: Condition, + hass: HomeAssistant, + entityRegistry: EntityRegistryEntry[], + ignoreAlias = false ) => { if (condition.alias && !ignoreAlias) { return condition.alias; diff --git a/src/data/script_i18n.ts b/src/data/script_i18n.ts index 90d807fb85..04819d448a 100644 --- a/src/data/script_i18n.ts +++ b/src/data/script_i18n.ts @@ -38,6 +38,32 @@ export const describeAction = ( action: ActionTypes[T], actionType?: T, ignoreAlias = false +): string => { + try { + return tryDescribeAction( + hass, + entityRegistry, + action, + actionType, + ignoreAlias + ); + } catch (error: any) { + // eslint-disable-next-line no-console + console.error(error); + let msg = "Error in describing action"; + if (error.message) { + msg += ": " + error.message; + } + return msg; + } +}; + +const tryDescribeAction = ( + hass: HomeAssistant, + entityRegistry: EntityRegistryEntry[], + action: ActionTypes[T], + actionType?: T, + ignoreAlias = false ): string => { if (action.alias && !ignoreAlias) { return action.alias;