Accéder a Home Assistant depuis l’extérieur en HTTPS avec un NDD Freebox et Let's Encrypt

En attendant une « solution définitive » éventuelle pour ces problématiques de mise à jour périodique lorsqu’on est dans la configuration initiale du tuto de @McFly , j’ai réalisé les étapes suivantes

(je documente au cas où ça mérite d’entrer dans la section astuces du tuto en première page):
pensez à remplacer monnomdedomaine.freeboxos.fr par le votre dans les codes si dessous

En suivant le post suivant: Création de l'entité temps restant d'un certificat SSL

  • J’ai ajouté l’entité Certificate Expiry - Home Assistant
  • J’ai créé l’entité « temps restant » de mon certificat en ajoutant dans le fichier sensor.yaml des lignes suivantes:
- platform: time_date
  display_options:
    - 'date'
    
- platform: template
  sensors:
    cert_expiry_delay_monnomdedomaine_freeboxos_fr:
      friendly_name: "Expiration du certificat"
      unit_of_measurement: "Jour(s)"
      icon_template: mdi:timer-sand
      value_template: >-
        {{(strptime(states('sensor.cert_expiry_timestamp_monnomdedomaine_freeboxos_fr_443'), '%Y-%m-%dT%H:%M:%S+00:00')-strptime(states('sensor.date'), "%Y-%m-%d")).days}}
  • J’ai ajouté une petite carte mushroom-template pour aller avec le reste de mon dashboard :
    image
type: custom:mushroom-template-card
primary: Validité Certificat
secondary: '{{ states(entity) }} jours restant'
icon: mdi:certificate
entity: sensor.cert_expiry_delay_monnomdedomaine_freeboxos_fr
icon_color: |-
  {% if (states(entity)|float(0)) >= 30 %} 
  green
  {% elif (states(entity)|float(0)) >= 15 %} 
  yellow
  {% elif (states(entity)|float(0)) >= 0 %}  
  orange
  {% else %}
  red
  {% endif %}

  • ajout d’une automatisation pour envoyer une notification de rappel sur mon smartphone
alias: Surveillance - certificat https
description: Notification entre 20 et 15j avant péremption du certificat.
trigger:
  - platform: numeric_state
    entity_id: sensor.cert_expiry_delay_monnomdedomaine_freeboxos_fr
    below: 20
  - platform: numeric_state
    entity_id: sensor.cert_expiry_delay_monnomdedomaine_freeboxos_fr
    below: 19
  - platform: numeric_state
    entity_id: sensor.cert_expiry_delay_monnomdedomaine_freeboxos_fr
    below: 18
  - platform: numeric_state
    entity_id: sensor.cert_expiry_delay_monnomdedomaine_freeboxos_fr
    below: 17
  - platform: numeric_state
    entity_id: sensor.cert_expiry_delay_monnomdedomaine_freeboxos_fr
    below: 16
  - platform: numeric_state
    entity_id: sensor.cert_expiry_delay_monnomdedomaine_freeboxos_fr
    below: 15
condition: []
action:
  - service: notify.mobile_app_mon_smartphone
    data:
      title: certificat à renouveller
      message: >-
        Le certificat est bientôt périmé. Penser à lancer let's encrypt et à
        rediriger temporairement le port 80 dans les 15j à venir.
mode: single

J’aurai ainsi un rappel pour faire manuellement le renouvellement (4 fois par an…)