Je contrôle la température de mes frigos

🌡️ Pourquoi j’ai surveillé mes frigos dans Home Assistant

Avec la canicule de l’été, j’ai voulu surveiller mes frigos et mon congélateur pour une raison très simple : éviter la mauvaise surprise.

Une porte mal fermée, une sonde qui dérive ou un appareil qui commence à fatiguer, et on peut vite perdre tout le contenu sans s’en rendre compte.

J’ai choisi de mettre en place un suivi complet dans Home Assistant, avec des capteurs, des notifications, un écran dédié et une alerte visuelle sur le dashboard.

L’idée n’était pas seulement de lire une température, mais de voir tout de suite si quelque chose sort de la normale.

🧊 Les capteurs que j’ai retenus

J’ai séparé la surveillance en plusieurs zones pour garder quelque chose de lisible et facile à maintenir.

J’ai un capteur pour le congélateur, un pour le frigo de gauche, un pour le frigo de droite et un pour le frigo du cellier.

Les entités que j’utilise sont les suivantes, elles sont héritées des différents capteurs de température. Je n’ai pas pris la peine de les rendre homogènes car elles sont utilisées ailleurs :

  • sensor.temperature_congelateur_temperature
  • sensor.frigo_gauche_tdeg_temperature
  • sensor.frigo_droite_tdeg_temperature
  • sensor.frigo_cellier_temperature_frigo_cellier

Pour les frigos, j’ai choisi un seuil d’alerte à 10°C. Pour le congélateur, j’ai retenu -5°C.

Ce n’est pas une logique “générique”, c’est vraiment adapté à ce que je veux surveiller chez moi.

📈 L’écran que j’ai créé

J’ai ensuite regroupé tout ça dans une vue dédiée dans Home Assistant. J’ai appelé cette page Contrôles, avec une icône de frigo, pour avoir tous mes équipements froids au même endroit.

Sur cet écran, j’ai mis des graphiques de température sur 7 jours et un graphique du jour.

Ça me permet de voir rapidement si une variation de température correspond à un comportement anormal ou à une simple ouverture de porte.

J’ai aussi un bouton “Me prévenir”, j’explique cela juste après.

🗓️ Les graphiques de température

Pour chaque frigo et pour le congélateur, j’ai ajouté un graphique de température avec une annotation rouge au niveau du seuil. C’est très pratique parce qu’on voit immédiatement quand la courbe se rapproche de la limite.

J’utilise custom:apexcharts-card pour ça, avec deux vues différentes : une sur 7 jours et une sur la journée en cours. Le tout reste lisible, même quand je compare plusieurs jours d’affilée.

type: custom:apexcharts-card
header:
  show: true
  title: Température du congélateur
  show_states: true
  colorize_states: true
graph_span: 7d
series:
  - entity: sensor.temperature_congelateur_temperature
    color: "#0ba4e9"
    show:
      name_in_header: false
apex_config:
  yaxis:
    - min: -4
      max: -20
  annotations:
    yaxis:
      - y: -5
        borderColor: "#FF0000"
        strokeDashArray: 0
        label:
          borderColor: "#FF0000"
          style:
            color: "#FFF"
            background: "#FF0000"
          text: Seuil Alerte -5°C

🧩 J’ai commencé par créer mes helpers

Avant même de m’occuper des boutons d’alerte, j’ai créé mes helpers dans Home Assistant. J’ai utilisé des input_boolean dans la rubrique Entrées, pour avoir un interrupteur par appareil.

Je voulais quelque chose de simple : si l’alerte est activée, Home Assistant me prévient ; si elle est désactivée, il ne me dérange pas.

Cela me permet aussi de désactiver temporairement la notification si un message a déjà été envoyé.

Ça me permet de garder le contrôle, sans toucher à l’automatisation elle-même.

🔘 Les boutons d’alerte

J’ai aussi ajouté un bouton par appareil pour activer ou désactiver les notifications. Cela correspond aux input_boolean créés juste avant.

Je voulais pouvoir couper temporairement les alertes quand je sais que je vais ouvrir la porte longtemps, ou quand je fais un nettoyage.

Le bouton affiche simplement “Activé” ou “Désactivé”, ce qui évite de se perdre dans les états techniques. C’est un détail, mais pour un usage quotidien, ça rend l’écran plus clair.

type: tile
entity: input_boolean.prevenir_si_souci_de_temperature_congelateur
name: Me prévenir si seuil d'alerte température dépassé
features_position: bottom
vertical: false
tap_action:
  action: toggle
icon_tap_action:
  action: toggle
state_display: >-
  {% if is_state('input_boolean.prevenir_si_souci_de_temperature_congelateur', 'on') %}
    Activé
  {% else %}
    Désactivé
  {% endif %}

🔔 Les notifications que j’ai mises en place

Quand la température dépasse le seuil, j’envoie deux types de notifications : une notification visuelle et un SMS.

J’ai voulu quelque chose de fiable, parce qu’un problème de frigo ou de congélateur mérite d’être vu rapidement.

Je déclenche l’alerte uniquement si le input_boolean correspondant est activé. Ensuite, l’automatisation coupe ce même bouton pour éviter de recevoir un flot de notifications tant que le problème n’est pas résolu.

Je ne documente pas ici mes notifications. J’utilise Pushover pour me prévenir avec notify.icone_rouge et ma femme est sur Free, donc notify.sms_christel_via_free.

🧾 L’automatisation du congélateur

Le congélateur fonctionne sur une logique un peu différente des frigos, avec un seuil fixé à -5°C. Dès que la température remonte au-dessus de cette valeur, l’alerte se déclenche si la surveillance est activée.

alias: Contrôle Température Congélateur
description: ""
triggers:
  - trigger: state
    entity_id:
      - sensor.temperature_congelateur_temperature
conditions:
  - condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.prevenir_si_souci_de_temperature_congelateur
        state: "on"
      - condition: numeric_state
        entity_id: sensor.temperature_congelateur_temperature
        above: -5
actions:
  - action: notify.icone_rouge
    data:
      message: >-
        La température actuelle est {{
        states('sensor.temperature_congelateur_temperature') }} °C.
      title: Il faut vérifier le congélateur
  - action: notify.sms_christel_via_free
    data:
      message: >-
        La température actuelle est {{
        states('sensor.temperature_congelateur_temperature') }} °C.
      title: >-
        La température actuelle est {{
        states('sensor.temperature_congelateur_temperature') }} °C.
  - action: input_boolean.turn_off
    target:
      entity_id: input_boolean.prevenir_si_souci_de_temperature_congelateur
mode: single

🌡️ L’automatisation du frigo de gauche

J’ai fait exactement la même logique pour le frigo de gauche, avec un seuil à 10°C. Là encore, l’idée est de ne prévenir que si la surveillance est bien active.

alias: Contrôle Température Frigo Gauche
description: ""
triggers:
  - trigger: state
    entity_id:
      - sensor.frigo_gauche_tdeg_temperature
conditions:
  - condition: and
    conditions:
      - condition: state
        state: "on"
        entity_id: input_boolean.prevenir_si_souci_de_temperature_frigo_gauche
      - condition: numeric_state
        entity_id: sensor.frigo_gauche_tdeg_temperature
        above: 10
actions:
  - action: notify.icone_rouge
    data:
      message: >-
        La température actuelle est {{
        states('sensor.frigo_gauche_tdeg_temperature') }} °C.
      title: Il faut vérifier le frigo gauche
  - action: notify.sms_christel_via_free
    data:
      message: >-
        La température actuelle du frigo de gauche est {{
        states('sensor.frigo_gauche_tdeg_temperature') }} °C.
      title: >-
        La température actuelle du frigo de gauche est {{
        states('sensor.frigo_gauche_tdeg_temperature') }} °C.
  - action: input_boolean.turn_off
    target:
      entity_id: input_boolean.prevenir_si_souci_de_temperature_frigo_gauche
mode: single

🚪 Le frigo de droite et le cellier

J’ai reproduit la même structure pour le frigo de droite et pour le frigo du cellier. Le principe est toujours le même : un capteur, un seuil, un bouton d’alerte, une notification, puis un arrêt automatique pour éviter les doublons.

alias: Contrôle Température Frigo Droite
description: ""
triggers:
  - trigger: state
    entity_id:
      - sensor.frigo_droite_tdeg_temperature
conditions:
  - condition: and
    conditions:
      - condition: state
        state: "on"
        entity_id: input_boolean.prevenir_si_souci_de_temperature_frigo_droite
      - condition: numeric_state
        entity_id: sensor.frigo_droite_tdeg_temperature
        above: 10
actions:
  - action: notify.icone_rouge
    data:
      message: >-
        La température actuelle est {{
        states('sensor.frigo_droite_tdeg_temperature') }} °C.
      title: Il faut vérifier le frigo droite
  - action: notify.sms_christel_via_free
    data:
      message: >-
        La température actuelle du frigo de droite est {{
        states('sensor.frigo_droite_tdeg_temperature') }} °C.
      title: >-
        La température actuelle du frigo de droite est {{
        states('sensor.frigo_droite_tdeg_temperature') }} °C.
  - action: input_boolean.turn_off
    target:
      entity_id: input_boolean.prevenir_si_souci_de_temperature_frigo_droite
mode: single
alias: Contrôle Température Frigo Cellier
description: ""
triggers:
  - trigger: state
    entity_id:
      - sensor.frigo_cellier_temperature_frigo_cellier
conditions:
  - condition: and
    conditions:
      - condition: state
        state: "on"
        entity_id: input_boolean.prevenir_si_souci_de_temperature_frigo_cellier
      - condition: numeric_state
        entity_id: sensor.frigo_cellier_temperature_frigo_cellier
        above: 10
actions:
  - action: notify.icone_rouge
    data:
      message: >-
        La température actuelle est {{
        states('sensor.frigo_cellier_temperature_frigo_cellier') }} °C.
      title: Il faut vérifier le frigo du cellier
  - action: notify.sms_christel_via_free
    data:
      message: >-
        La température actuelle du frigo du cellier est {{
        states('sensor.frigo_cellier_temperature_frigo_cellier') }} °C.
      title: >-
        La température actuelle du frigo du cellier est {{
        states('sensor.frigo_cellier_temperature_frigo_cellier') }} °C.
  - action: input_boolean.turn_off
    target:
      entity_id: input_boolean.prevenir_si_souci_de_temperature_frigo_cellier
mode: single

🟥 Les cartes conditionnelles sur le dashboard

J’ai voulu aller un peu plus loin que les simples notifications. Sur ma vue principale du dashboard, j’affiche aussi un badge rouge clignotant directement sur le plan quand un frigo dépasse son seuil.

Le principe est simple : tant que tout va bien, rien n’apparaît. Dès qu’un capteur passe au-dessus du seuil, la carte s’affiche à l’endroit prévu et attire immédiatement l’œil.

🧩 Le template decluttering que j’utilise

Pour éviter de répéter le même bloc pour chaque appareil, j’ai créé un template decluttering. Il me permet de réutiliser la même structure avec seulement le capteur, le nom, la position et le seuil qui changent.

decluttering_templates:
  frigo:
    element:
      type: conditional
      conditions:
        - condition: numeric_state
          entity: "[[capteur]]"
          above: "[[seuiltemperature]]"
      style:
        top: "[[top]]"
        left: "[[left]]"
      elements:
        - type: state-badge
          entity: "[[capteur]]"
          name: "[[nom]]"
          style:
            font-size: 15px
            text-align: center
            font-weight: bold
            color: white
            "--label-badge-text-color": white
            "--label-badge-background-color": red
            "--ha-label-badge-label-color": white

Ensuite, je l’appelle simplement avec les variables de chaque appareil :

- type: custom:decluttering-card
  template: frigo
  variables:
    - capteur: sensor.frigo_gauche_tdeg_temperature
    - nom: Gauche
    - top: 62%
    - left: 29%
    - seuiltemperature: 10
  card_mod:
    style: |
      @keyframes blinker {
        50% {
          opacity: 0;
        }
      }
      :host {
        animation: blinker 2s linear infinite;
      }

À noter que je ne suis pas arrivé à intégrer card_mod dans le decluttering. Je l’ai donc reproduit directement sur le dashboard.

J’ai repris le même principe pour le frigo de droite, le cellier et le congélateur, avec leurs positions respectives sur le plan.

Pour le congélateur, le seuil reste bien sûr à -5°C, puisque la logique de surveillance n’est pas la même que pour les frigos.

✅ Ce que j’ai gagné avec cette mise en place

Au final, j’ai maintenant une surveillance claire, visuelle et utile de mes équipements froids.

Je vois l’historique, je reçois une alerte si besoin, et j’ai un indicateur visuel immédiat sur le plan général si quelque chose dépasse le seuil.

Ce que j’aime surtout, c’est que tout reste simple à lire au quotidien.

Je n’ai pas besoin d’aller chercher dans les menus pour savoir si un frigo commence à chauffer : soit je le vois sur le dashboard, soit je reçois une notification.

🛠️ Les petits choix qui font la différence

Le mélange entre graphiques, notifications et badges conditionnels fonctionne vraiment bien pour ce cas d’usage.

Ce n’est pas un gadget : c’est une vraie supervision de confort et de sécurité pour la maison.

Et comme j’ai gardé une structure réutilisable, je peux facilement ajouter un autre appareil plus tard sans tout recommencer.

🎯 Conclusion

Je n’ai pas cherché à faire quelque chose de compliqué.

J’ai simplement voulu savoir, à tout moment, si mes frigos et mon congélateur restent dans la bonne plage de température, et être prévenu dès qu’un seuil est dépassé.

Avec Home Assistant, quelques capteurs, des automatisations bien pensées et un dashboard clair, j’ai maintenant un système qui me parle tout de suite quand il faut agir.

Et pour moi, c’est exactement ce qu’on attend d’une bonne domotique : être utile, discrète et fiable.