Created
June 21, 2022 15:31
-
-
Save mdegat01/62d0faa9ff1f6b315c747629df9b38ff to your computer and use it in GitHub Desktop.
Auto Check Config package
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
automation: | |
id: cb7d0e035b94403db6b08f7263584b51_config_check_update | |
alias: Run config check on change | |
description: Run a config check when config is changed and reload automations when blueprints change | |
max_exceeded: silent | |
trigger: | |
- id: file_change | |
platform: event | |
event_type: folder_watcher | |
- id: reload | |
platform: event | |
event_type: notification_action | |
event_data: | |
data: | |
tag: invalid_config | |
variables: | |
_anchor_valid_config_data: &valid-config-data | |
title: HA configuration valid | |
data: | |
tag: invalid_config | |
notification_icon: mdi:check-bold | |
channel: Info | |
group: Info | |
url: /developer-tools/yaml | |
ttl: 0 | |
actions: | |
- action: reload-automations | |
title: π Automations | |
authenticationRequired: true | |
- action: reload-scripts | |
title: π Scripts | |
authenticationRequired: true | |
- action: reload-templates | |
title: π Templates | |
authenticationRequired: true | |
action: | |
choose: | |
- alias: Reload action selected | |
conditions: "{{ trigger.id == 'reload' }}" | |
sequence: | |
- alias: Update notification to acknowledge action | |
service: ¬ify-service notify.mobile_app_mikes_phone | |
data: | |
<<: *valid-config-data | |
message: "{{ trigger.event.data.data.action[7:] | capitalize }} reloading" | |
- choose: | |
- alias: π automations | |
conditions: "{{ trigger.event.data.data.action == 'reload-automations' }}" | |
sequence: | |
service: automation.reload | |
- alias: π scripts | |
conditions: "{{ trigger.event.data.data.action == 'reload-scripts' }}" | |
sequence: | |
service: script.reload | |
- alias: π templates | |
conditions: "{{ trigger.event.data.data.action == 'reload-templates' }}" | |
sequence: | |
service: template.reload | |
- alias: A YAML file changed | |
conditions: | |
- "{{ trigger.id == 'file_change' }}" | |
- "{{ trigger.event.data.path is search('[.]ya?ml$') }}" | |
sequence: | |
- alias: Clear invalid config notification if present | |
if: &invalid-config >- | |
{{ not not states['persistent_notification.invalid_config'] }} | |
then: | |
service: *notify-service | |
data: | |
message: clear_notification | |
data: &error-notification-tag | |
tag: invalid_config | |
- alias: Was a blueprint updated | |
if: "{{ trigger.event.data.path is search('^/config/blueprints/') }}" | |
then: | |
choose: | |
alias: Reload automations for automation blueprint updated | |
conditions: "{{ trigger.event.data.path is search('^/config/blueprints/automation/') }}" | |
sequence: | |
- service: automation.reload | |
- alias: Can only get here if reload failed, notify mike about error | |
service: *notify-service | |
data: | |
title: Automations failed to reload after blueprint update | |
message: *error-message >- | |
Trigger was {{ trigger.event.data.path }} being {{ trigger.event.data.event_type }}. Check logs for details. | |
data: &error-notification-data | |
<<: *error-notifiation-tag | |
icon: mdi:alert | |
channel: Errors | |
group: Errors | |
ttl: 0 | |
url: /config/logs | |
default: | |
alias: Notify mike a manual config check is required | |
service: *notify-service | |
data: | |
title: An unexpected type of blueprint was changed | |
message: "{{ trigger.event.data.path }} was {{ trigger.event.data.event_type }}. A manual config check is required." | |
data: | |
tag: ha_blueprint_check | |
icon: mdi:alert | |
channel: Alerts | |
group: Alerts | |
url: /a0d7b954_vscode | |
ttl: 0 | |
else: | |
- service: homeassistant.check_config | |
- alias: Did config check fail | |
if: *invalid-config | |
then: | |
service: *notify-service | |
data: | |
title: HA configuration invalid | |
message: *error-message | |
data: *error-notification-data | |
else: | |
alias: Config check passed, notify all | |
service: *notify-service | |
data: | |
<<: *valid-config-data | |
message: "Trigger was {{ trigger.event.data.path }} being {{ trigger.event.data.event_type }}" | |
folder_watcher: | |
- folder: /config/packages | |
- folder: /config/blueprints | |
- folder: /config/common | |
homeassistant: | |
allowlist_external_dirs: | |
- /config/packages | |
- /config/blueprints | |
- /config/common |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm trying to import this Blueprint, and I'm not able to "preview" it. I'm getting an error:
found undefined alias 'error-message' in "<unicode string>", line 85, column 32: message: *error-message >- ^
I'm not sure how to go about resolving this. Is there a dependency requirement? (HA docker 2022.10.4)