Monitorer une pompe à chaleur Panasonic dans Home Assistant

Mise à jour 29/01/2026 : nouveau calcul de COP.

On a hérité d'une pompe à chaleur Panasonic Aquarea, pour chauffer la maison, voir article précédent. Elle a de nombreux capteurs qui produisent de nombreuses données, dont certaines sont disponibles sur l'écran intégré. Mais on voulait la monitorer dans le temps avec Home Assistant. L'objectif est de vérifier l'efficacité de la PAC et d'éviter une surconsommation, en particulier en mesurant son Coefficient de Performance (COP).


Le cloud Panasonic

Panasonic vend le contrôleur Aquarea Smart Cloud CZ-TAW1 qui se branche à la PAC et dispose d'une interface Wifi ou RJ45, et publie les données dans le cloud Panasonic.

On a commencé par là, mais l'équipement présente de trop nombreux défauts :

  • Un prix excessif (200 € neuf, environ 100 € d'occasion).
  • Un manque de données cruciales : il n'expose que la consommation horaire et la température extérieure (pas de consommation instantanée ni de COP pourtant affichés sur l'écran local).
  • Pas de possibilité de récupérer les donnés en local. Le cloud Panasonic est uniquement accessible via une appli mobile, sans site web. 
  • Changements fréquents. Les intégrations Home Assistant développées par des bénévoles (panasonic_cc et home-assistant-aquarea) sont inutilisables depuis un changement de méthode d'authentification par Panasonic. 

La solution open-source : Heishamon

Heureusement la communauté s'est emparée du sujet. Un Néerlandais a développé un circuit électronique en remplacement du boitier Panasonic. Il se branche sur la PAC et peut envoyer en wifi ses données sur un serveur Home Assistant grâce au protocole MQTT et à une nouvelle intégration.

Les specs sont open-source. Il en vend aussi des tous prêts sur son site au prix de 20$. Avec un câble, un petit boitier imprimé en 3D, et les frais d'expédition en France cela revient à 55$. 

Données disponibles

Le boitier Heishamon exporte de très nombreuses données.

On utilise la donnée "Aquarea Heat Power Consumed Total" pour mesurer la consommation électrique de la PAC dans le tableau Énergie : 


La PAC (turquoise) représente la grande majorité de notre consommation électrique les jours froids


On a aussi produit un graphique de la consommation instantanée, ce qui nous permet de constater que la PAC, bien qu'ayant un mode "inverter", fonctionne par à-coup à puissance élevée (5 minutes à 4000 W toutes les 30 minutes), au lieu de lisser dans le temps la production. Ce qui est réputé peu efficace et mauvais pour la durée de vie de l'appareil (rapport de l'Ademe, section 2.1.3.5)


Consommation électrique, production de chaleur et COP 

Le coefficient de performance exposé par la PAC est instantané. On calcule le COP journalier, mensuel et annuel en fonction de l'index de consommation et de production (détails d'implémentation ci-dessous à la fin du tutoriel). 


Le COP calculé heure par heure


Il y a plein d'autres mesures disponibles :



Tutoriel d'installation

J'ai mis un peu de temps pour tout faire marcher, alors je vous propose un tutoriel d'installation du boitier Heishamon sur Home Assistant.

Connexion 

On commence par couper le courant, on ouvre la PAC, on branche le câble dans le port CN-CNMODE sur la carte-mère. 

Le boitier Heishamon branché sur le port CN-CMODE (entouré en rouge)


Heishamon

Une fois rebranchée, la PAC alimente le boitier, qui va exposer un SSID wifi. Il faut se connecter dessus puis aller à l'adresse http://192.168.1.4 pour voir l'interface d'admin du boitier.

Il faut rentrer le SSID et le mot de passe de votre routeur wifi, puis redémarrer. Le boitier va se connecter à votre réseau wifi et obtenir une adresse IP. 

Si vous avez zeroconf, configuré vous pouvez maintenant vous connecter sur l'interface web du boitier sur http://heishamon.local/. Sinon il faudra trouver son adresse IP sur votre routeur wifi.

Retournez dans les "settings" et configurez les champs "MQTT server" avec l'adresse IP du Home Assistant (http://homeassistant.local marche aussi si vous avez zeroconf), et les champs "MQTT username" et "MQTT password" avec les détails de votre utilisateur Home Assistant, celui que vous utilisez pour vous connecter sur l'interface web de Home Assistant. Ou créez un nouvel utilisateur dédié pour MQTT dans Home Assistant.


La page de configuration heishamon


Home Assistant

Pour récupérer les données publiées par le boitier, il faut installer un broker MQTT dans Home Assistant.

Allez dans le menu Paramètres > Appareil et services > "Ajouter une intégration", cherchez MQTT, puis installez-le.



Pour installer l'intégration Heishamon, j'ai choisi de passer par Home Assistant Community Store (HACS).  

Paramètres > Appareil et services > "Ajouter une intégration" et cherchez "HACS", puis installez-le.

Si vous avez installé les intégrations pour le cloud Panasonic, assurez-vous de les supprimer.

Une fois HACS disponible, une nouvelle entrée apparaît dans le menu latéral. Dans la page HACS,  cherchez le module Heishamon, installez le et redémarrez.



Si tout s'est bien passé, l'intégration affiche 2 appareils, et les valeurs sont disponibles.


Calcul du COP 

Installer l'intégration Utility Meter. Puis éditer le fichier homeassistant/configuration.yaml.
Pour ça j'utilise le module File Editor qui propose un éditeur de texte dans l'interface web. 

Y ajouter:

utility_meter:
  pac_cop_conso_horaire:
    source: sensor.aquarea_heat_power_consumed_total
    cycle: hourly
  pac_cop_prod_horaire: 
    source: sensor.aquarea_heat_power_produced_total
    cycle: hourly
  pac_cop_conso_quotidienne:
    source: sensor.aquarea_heat_power_consumed_total
    cycle: daily
  pac_cop_prod_quotidienne: 
    source: sensor.aquarea_heat_power_produced_total
    cycle: daily
  pac_cop_conso_mensuelle:
    source: sensor.aquarea_heat_power_consumed_total
    cycle: monthly
  pac_cop_prod_mensuelle: 
    source: sensor.aquarea_heat_power_produced_total
    cycle: monthly
    
template:
  - trigger:
      - platform: time_pattern
        minutes: 59
        seconds: 59
    sensor:
      - name: "COP hourly"
        unit_of_measurement: "COP"
        state_class: measurement
        icon: "mdi:gauge"
        state: "{{ states('sensor.pac_cop_prod_horaire')|float(0) / states('sensor.pac_cop_conso_horaire')|float(1) }}"
        availability: "{{ states('sensor.pac_cop_prod_horaire')|is_number and states('sensor.pac_cop_conso_horaire')|is_number }}"
  - trigger:
      - platform: time_pattern
        hours: 23
        minutes: 59
        seconds: 59
    sensor:
      - name: "COP daily"
        unit_of_measurement: "COP"
        state_class: measurement
        icon: "mdi:gauge"
        state: "{{ states('sensor.pac_cop_prod_quotidienne')|float(0) / states('sensor.pac_cop_conso_quotidienne')|float(1) }}"
        availability: "{{ states('sensor.pac_cop_prod_quotidienne')|is_number and states('sensor.pac_cop_conso_quotidienne')|is_number }}"
  - trigger:
        - platform: template
          value_template: "{{ now().day == 1 and now().hour == 0 and now().minute == 0 }}"       
    sensor:
      - name: "COP monthly"
        unit_of_measurement: "COP"
        state_class: measurement
        icon: "mdi:gauge"
        state: "{{ states('sensor.pac_cop_prod_mensuelle')|float(0) / states('sensor.pac_cop_conso_mensuelle')|float(1) }}"
        availability: "{{ states('sensor.pac_cop_prod_mensuelle')|is_number and states('sensor.pac_cop_conso_mensuelle')|is_number }}"        

Puis dans un tableau, ajoutez la carte Historique pour afficher l'entité "COP hourly" sur une journée, "COP daily" sur un mois et "COP monthly" sur un an.





Commentaires

  1. Salut,
    Je viens d'acheter la version small de cette carte. Je me demande si elle est livrée avec un firmware installé ou s'il faut d'abord la flasher avant de l'installer?
    Merci

    RépondreSupprimer
    Réponses
    1. Non rien à faire, le firmware est déjà présent.

      Supprimer

Enregistrer un commentaire