From 89da33d09be0894a2882f12bc412ee764cf00180 Mon Sep 17 00:00:00 2001 From: lars Date: Wed, 13 Nov 2024 14:07:23 +0100 Subject: [PATCH] Update renew_ssl_cert.yaml --- renew_ssl_cert.yaml | 105 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/renew_ssl_cert.yaml b/renew_ssl_cert.yaml index e69de29..e976742 100644 --- a/renew_ssl_cert.yaml +++ b/renew_ssl_cert.yaml @@ -0,0 +1,105 @@ +blueprint: + name: Renew Let's Encrypt Certificate + description: Renew Certificate when due date is below given value + domain: automation + input: + cert_expiry_sensor: + name: Certificate Expiry Sensor + description: Sensor from the Certificate Expiry Integration (https://www.home-assistant.io/integrations/cert_expiry) + selector: + entity: + integration: cert_expiry + renew_date: + name: Certificate renewal date + description: Date when the SSL-Certificate will be renewed + selector: + number: + min: 1 + max: 29 + mode: slider + unit_of_measurement: "days" + default: 5 + time_to_check_cert: + name: Certificate check time + description: Time when the certificate date will be checked. + selector: + time: + restart_after_renewal: + name: Restart Home Assistant + description: Restarts the Home Assistant when the certificate is renewed. (if enabled) + selector: + boolean: + default: true + minuts_till_restart: + name: Minutes until restart + description: Minutes until restart of Home Assistant if restart is enabled + selector: + number: + min: 1 + max: 60 + mode: slider + unit_of_measurement: "minutes" + default: 5 + send_notification: + name: Send notification + description: Sends a notification to a device if enabled + selector: + boolean: + default: false + notification_device: + name: Device to notify + description: Device which will be notified. + selector: + device: + integration: mobile_app + notification_title: + name: Notification title + description: Notification title for notification that is sent when the certificate has been renewed. + notification_message: + name: Notification message + description: Notification that is sent when the certificate has been renewed. +alias: Renew SSL Cert +description: '' +trigger: + - platform: time + at: !input time_to_check_cert +condition: + - condition: template + value_template: '{{ expire_days_var < var_check }}' +action: + - service: hassio.addon_start + data: + addon: core_letsencrypt + - choose: + - conditions: + - condition: template + value_template: '{{ send_notification_var }}' + sequence: + - device_id: !input notification_device + domain: mobile_app + type: notify + title: '{{ message_title_var }}' + message: '{{ message_var }}' + default: [] + - choose: + - conditions: + - condition: template + value_template: '{{ restart_after_renewal_var }}' + sequence: + - delay: + hours: 0 + minutes: !input minuts_till_restart + seconds: 0 + milliseconds: 0 + - service: hassio.host_reboot + default: [] +mode: single +variables: + certificate_var: !input cert_expiry_sensor + var_check: !input renew_date + message_var: !input notification_message + message_title_var: !input notification_title + restart_after_renewal_var: !input restart_after_renewal + send_notification_var: !input send_notification + expire_days_var: >- + {{ ((as_timestamp(states(certificate_var)) - as_timestamp(now())) / 60 / 60 / 24 ) | int }} \ No newline at end of file