Tutoriel/retour expérience intégration bus P1P2 Pompe à chaleur Daikin

Tags: #<Tag:0x00007f3853796750> #<Tag:0x00007f3853796688>

Les différentes passerelles, pour ce protocole, existant sur le marchés sont vendues à un prix exorbitant (facilement plus de 100€). Je cherchais donc une autre solution.

La méthode indiquée utilise un arduino uno et le projet suivant : https://github.com/Arnold-n/P1P2Serial
Le développeur m’a vendu la carte servant d’interface à un prix de 37€, frais de ports inclus, ce qui me revient à environ 50€ au total. Il en assure la vente.
La carte se présente comme ceci :
IMG_20200213_205143
Les deux fils de bus se connectent sur les broches situées en haut à gauche, la carte s’enfiche sur les broches 0 / +5V et entrées 8 et 9 de l’arduino. Il y a aussi deux broches sur lesquels on peut mettre un cavalier pour rajouter une résistance de terminaison de ligne, en cas de problème pour lire les données.
Pour la connexion du bus, c’est simple, il faut se connecter en parallèle de l’IHM Daikin ; Sur le schéma de raccordement de ma PAC, cela équivaut à l’interface utilisateur P1P2 en option :
Screenshot_20200213_212323
La polarité n’a pas d’importance.

Il faut ensuite modifier le sketch arduino P1P2Monitor.ino du répertoire P1P2Serial/example/P1P2Monitor/ :

  • commenter (//) la ligne #define MONITORSERIAL décommenter la ligne //#define JSON du fichier P1P2Config.h ;
  • supprimer le caractère J et l’espace de la ligne 282 (Serial.print(F(« J { »")); ) du fichier P1P2Monitor.ino ;
  • Pour pouvoir compiler l’ensemble, il faut aussi rajouter la librairie P1P2Serial.h à l’IDE Arduino.
    Téléverser le sketch sur l’arduino.

Pour intégrer à Jeedom les valeur lues sur le bus, le plugin JMQTT et la commande mosquitto_pub sont utilisés :
cat /dev/ttyACM0 | /usr/bin/mosquitto_pub -h localhost -t P1P2 --stdin-line
Je fais tourner cette commande en démon, via systemd.

L’arduino est connecté sur le bus USB de mon PC Jeedom, mais il semble possible d’utiliser une liaison wifi.

Le résultat est assez intéressant, je lis les valeurs suivantes :

  • Température de départ ;
  • Température de retour ;
  • Température de l’ECS ;
  • Débit du circulateur ;
  • Etat compresseur ;
  • Etat circulateur ;
  • Température extérieure …

Par contre, je n’ai pas encore compris comment envoyer des commandes vers la pompe à chaleur, et notamment si la commande mosquitto_pub pouvait être utilisée.

2 J'aimes

Bonjour

Merci pour ce retour d’expérience très intéressant.
Est-ce que tu as pu avancer sur le fait d’envoyer des commandes? Je suis intéressé par le même module mais je voudrais au moins pouvoir allumer/éteindre mon chauffage/clim.

Merci

Bonjour,

Désolé pour le délai de réponse, j’étais en vacances.
Je n’ai pas eu le temps ni les compétences pour trouver le moyen d’envoyer des commandes vers la pompe à chaleur. Je pense qu’il est possible de faire ce que tu souhaite, je ne sais juste pas comment (mosquitto_sub est peut-être à creuser ?).

D’après ce que je lis ici, il est visiblement possible d’utiliser MQTT pour écrire sur le bus.

Je peux peut-être tenter ma chance en écrivant un courriel au développeur, sans certitude d’obtenir une réponse.

Merci pour ta réponse. Si tu obtiens plus d’informations, je suis interessé!

Je viens de revoir les exemples du projet. Si un réseau wifi fonctionnant en permanence est disponible, il semble possible d’utiliser directement l’exemple avec l’ esp8266. Auquel cas, il est possible d’écrire sur le bus Dailin avec des messages MQTT du type P1P2/W/…
Dans mon cas, je me complique la vie à tirer des câbles entre ma PAC et mon PC jeedom et à utiliser l’USB…