Retour
Menu utilisateur
Menu

Récupération des données H-link 2

Ce sujet comporte 88 messages et a été affiché 834 fois
Nouveau sujetPicto plus RépondrePicto reply Picto reply
12
abonnés
surveillent ce sujet
 
Env. 20 message Manche
Bonjour,
Je viens ici partager mon travail sur une pompe a chaleur hitachi yutaki s combi solaire 4.3kw.
Je parviens a récupérer des information sur le bus H-LINK 2, afin de "nourrir" un serveur domotique basé sur un réseau MySensors.

Actuellement, je récupère les infos d'à peut près toutes les sondes accessibles via le menu maintenance.

le protocol h-link 2 est communication série classique en 9600 bauds.

Pour récupérer les infos, on devrait pouvoir utiliser un convertisseur rs485 --> rs232. seulement, je n'ai pas réussi avec le matériel que j'ai commandé. Et comme avant ça j'avais trouvé une autre solution, j'ai continué ainsi.
donc je me connecte sur la led h-link jaune sur le PCB de l'UI.
Pour avoir le signal, il faut également être alimenté par le même PCB, (histoire d'avoir a minima une masse commune).
j'ai donc trouvé une alim 5V, une masse sur un connecteur en attente et voila.

photo des connexions alim + signal arduino.

Une fois connecté, il n'y a plus qu'a lire et décoder les trames.
C'est la partie qui a été la plus compliqué, car les trames sont directement des nombres, pas des caractères ASCII.
Il n'y a pas d'identifiant avant le nombre ... bref une chaine de variables.

J'ai donc repéré 4 trames qui se répètent. Une qui contient un paquet de variable.

la fameuse trame :

41 1 1 1 0 -30 69 33 100 0 1 0 0 14 0 27 28 -127 -127 31 -127 28 37 23 15 15 62 9 19 0 30 40 27 1 98

Je vous l'accorde, come ça c'est impossible de savoir qui est quoi. mais lorsqu'on log suffisamment de données, on arrive à en extraire des choses.

liste des sondes :

41 1 1 1 0 -30 --> ceci me sers a repérer le début de la bonne trame. (ne change jamais)[img]no[/img]


69 --> Status (72 --> en chauffage ECS, 70 --> en chauffage, 68 --> arreté, 69 --> en attente, autre --> a déterminer)

33 --> ouverture détendeur intérieur
100 --> ouverture détendeur extérieur
0 --> fréquence compresseur
1 --> cause d'arrêt
0 --> intensité absorbée
0
14
0
27 --> Temp entrée eau
28 --> Temp sortie eau
-127
-127
31 --> Temp ECS
-127
28 --> Temp sortie échangeur
37 --> Temp gaz
23 --> Temp liquide
15 --> Temp extérieur
15 --> Temp moyenne extérieur
62 --> Temp refoulement compresseur
9 --> Temp évaporation
19
0
30
40
27 --> Temp eau corrigée

1 98 --> me sers a être sur de l'intégrité de la trame (ne change jamais)
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
message
Ne vous prenez pas la tête pour une installation de pompe à chaleur...

Allez dans la section devis pompe à chaleur du site, remplissez le formulaire et vous recevrez jusqu'à 5 devis comparatifs de chauffagistes de votre région. Comme ça vous ne courrez plus après les chauffagistes, c'est eux qui viennent à vous

C'est ici : https://www.forumconstruire.com/construire/devis-0-36-devis_pompes_a_chaleur.php
 
Membre super utile Env. 2000 message Haute Garonne
Super merci pour les infos.
La liaison-link c'est celle entre l'UI et l'UE ou alors entre la télécommande et l'UI ?
De mon côté, l'UE se trouve dans les combles de la maison, pas très accessible pour se repiquer sur les liaisons. Je préférerais reprendre le signal sur la télécommande intérieur, ca te semblerait possible ?

Merci !

Jetblack
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 20 message Manche
Signal rs232 pour l'arduino.
<br />
le fil est une simple rallonge dupont soudé directement sur la patte gauche de la led jaune. coupez l'alimentation de la PAC avant de souder.

prise d'alimentation pour l'arduino.
<br />
masse en noir, +5v en rouge, je vous invite a vérifier les tension avant de brancher.

Je ne travail que sur l'unité intérieur.
Voici les photos du cablage.

Pour la télécommande, je pense que les même infos doivent circuler.
Moi je n'ai pas de télécommande intérieur. juste l'UE + UI avec sont écran en mode télécommande
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Membre super utile Env. 2000 message Haute Garonne
Merci beaucoup ! JE vais voir ce que je peux faire et je vous tien au courant.

Jetblak
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Membre utile Env. 500 message Reunion
Avec quel matériel vous lisez les trames ?
Arduino ?
Picto recompense Membre utile
Messages : Env. 500
Dept : Reunion
Ancienneté : + de 3 ans
 
Env. 20 message Manche
Oui un arduino type atmega328p.
dès que j'ai le temps, je vais reprendre mon code, et le transformer pour que vous puissiez l'utiliser directement avec par exemple un UNO connecté au PC. 
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Membre super utile Env. 2000 message Haute Garonne
J'ai retrouvé un convertisseur RS485 vers USB, je vais me connecter sur la télécommande et voir si j'arrive à récupérer des données.
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 20 message Manche
Je ne sais pas si c'est ce qui m'a embêté, mais sur les borne 3-4 de l'UI (connexion entre UI et télécommande).
Il y a le signal, mais une composante 12V est également présente (elle sers d'alimentation). Je pense que j'aurais pu essayer un peu plus de découpler celle-ci, mais comme dit précédemment, mon autre solution était déjà fonctionnelle.
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Env. 20 message Manche
J'ai retouché mon programme.
Je l'ai testé sur un arduino uno 16mhz.
MAJ, du prog avec nettoyage. grosse amélioration de la détection du début des trames.


#define VAR_SIZE 30

static char mesVariables[VAR_SIZE];
bool debug = false;

void setup() 
{
  Serial.begin(9600, SERIAL_8N1);
  Serial.println("H-link 2 Sniffer");
  Serial.println("Send z to switch normal/debug mode\n\n");
  Serial.println("mode normal :");
}

void loop() 
{
  if(!debug)
    PrintVariables();
  else
  {
    uint8_t z = 1;  
    bool spaced = true;
    while(!Serial.available())
    {
      delay(1);
      if(z)
        z++;
      else if(spaced)
      {
        spaced = false;
        Serial.println();
      }
    }
  }
  
}

void serialEvent() 
{
  
  while (Serial.available()) 
  {
    //copy serial char into buffer byte
    char inChar = (char)Serial.read();
    
    static bool started = false;
    static bool busy = false;
    
    static char varAdr = 0;
    static char tmpVar[VAR_SIZE] = "";

    if(inChar == 'z')
    {
      debug = !debug;
      if(debug)
        Serial.println("mode debug");
      else
        Serial.println("mode normal");
    }
    
    if(!debug)
    {
      //detection du début de la trame en cherchant "-30"
      if(!started && (inChar == (-30)))
        {
          varAdr = 1;
          busy = true;
          started = true;
        }
      //le début de la trame a été trouvé, on copie les caractère dans un buffer
      else if(busy)
        {
          if(varAdr < VAR_SIZE)
          {
            tmpVar[varAdr] = inChar;
            varAdr++;
          }
          else
          {
            busy = false;  
          }
        }
      //La copie des 30 variables est faite, on passe a la suite  
      else if(started)
        {
          if((tmpVar[28]==1) && (tmpVar[29]==98))//contrôle de l'intégrité de la trame
          {
            //la trame est intègre, on la copie dans un autre buffer
            char i = VAR_SIZE - 1;
            for(i ; i>=0 ; i--)
            {
              mesVariables[i]=tmpVar[i];
            }
          }
          started = false;
        }
    }
    else
    {
      Serial.print((int8_t) inChar);
      Serial.print(' '); 
    }
  }
}

void PrintVariables()
{
  if((mesVariables[1]!=0))
  {
    MyPrintStatus();
    MyPrint("ODI", 2);
    MyPrint("ODE", 3);
    MyPrint("HZ", 4);
    MyPrint("cause arret", 5);
    MyPrint("courant", 6);
    MyPrint("entree eau", 10);
    MyPrint("sortie eau", 11);
    MyPrint("ECS", 14);
    MyPrint("sortie echangeur", 16);
    MyPrint("gaz", 17);
    MyPrint("liquide", 18);
    MyPrint("exterieur", 19);
    MyPrint("moy exterieur", 20);
    MyPrint("refoul. comp.", 21);
    MyPrint("évaporation", 22);
    MyPrint("eau corrigee", 27);
    mesVariables[1] = 0;
  }
}

void MyPrint(char *text, uint8_t adr)
{
  Serial.print(text);
  Serial.print(" : ");
  Serial.println((int8_t)mesVariables[adr]);
}

void MyPrintStatus()
{
  Serial.print("Status : ");
  if(mesVariables[1] == 72)
  {
    Serial.println("ECS ON");
  }
  else if(mesVariables[1] == 70)
  {
    Serial.println("HEATING");
  }
  else if(mesVariables[1] == 69)
  {
    Serial.println("HEAT WAIT");
  }
  else if(mesVariables[1] == 68)
    Serial.println("HEAT OFF");
  else 
  {
    Serial.println(mesVariables[1]);  
  }
}
Edité 2 fois, la dernière fois il y a +3 ans.
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Env. 20 message Manche
J'obtiens ce genre de sortie :

Status : HEAT WAIT
ODI : 31
ODE : 0
HZ : 0
cause arret : 1
courant : 0
entree eau : 27
sortie eau : 27
ECS : 27
sortie echangeur : 26
gaz : 23
liquide : 20
exterieur : 16
moy exterieur : 15
refoul. comp. : 51
évaporation : 16
eau corrigee : 27

ou 

Status : HEATING
ODI : 34
ODE : 39
HZ : 43
cause arret : 0
courant : 2
entree eau : 27
sortie eau : 29
ECS : 27
sortie echangeur : 29
gaz : 33
liquide : 26
exterieur : 15
moy exterieur : 15
refoul. comp. : 47
évaporation : 6
eau corrigee : 30
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Membre super utile Env. 2000 message Haute Garonne
Aneantisor a écrit:Je ne sais pas si c'est ce qui m'a embêté, mais sur les borne 3-4 de l'UI (connexion entre UI et télécommande).
Il y a le signal, mais une composante 12V est également présente (elle sers d'alimentation). Je pense que j'aurais pu essayer un peu plus de découpler celle-ci, mais comme dit précédemment, mon autre solution était déjà fonctionnelle.

Bonjour,
Alors j'ai ouvert la commande Hitachi et j'ai bien mesuré une composante continue, proche des 15 volts, qui sert à alimenter la télécommande. Je vais tenter de découpler les 2 lignes de signal avec les capas en série, ca devrait couper la composante continue.
A suivre.
Jetblack
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Membre utile Env. 500 message Reunion
@Jetblack Sur la télécommande d'une unité air-air ce n'est pas du H-link2. Prenez vous sur le bornier 1-2 de l'unité intérieure et non A-B.
Picto recompense Membre utile
Messages : Env. 500
Dept : Reunion
Ancienneté : + de 3 ans
 
Env. 20 message Manche
@Jetblack Il y a bien 2 bus H-link, en 1-2 c'est le bus UI/UE. il y a des donnée qui transite, mais bcp moins souvent (une fois toutes les 4 secondes ?)(c'est la led jaune du bas).
En 3-4, c'est le bus UI/télécommande, y'a plein de choses qui passe, et je n'en décode qu'une toute petite partie.

J'ai réessayer les 2 bus via mon convertisseur TTL to RS485.
Même avec capa de découplage, je capte un espèce de gloubiboulga. Rien d'exploitable. peut être que mon interface est foireuse.

Pour faire bien, il faudrait effectivement bosser sur une interface bidirectionnel,
ça serait plus propre que mon montage "sauvage".
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Membre super utile Env. 2000 message Haute Garonne
Aneantisor a écrit:J'ai réessayer les 2 bus via mon convertisseur TTL to RS485.
Même avec capa de découplage, je capte un espèce de gloubiboulga. Rien d'exploitable. peut être que mon interface est foireuse.

Tu as découplé avec 2 capas, une sur chaque ligne ?
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 20 message Manche
Non, une seule.
ça changerai quelque chose ?
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Membre super utile Env. 2000 message Haute Garonne
Spontanément pour respecter la symétrie du montage différentiel, je mettrais une capa en série sur chacune des lignes. Après les capas, et juste avant d'entrer dans le convertisseur, je mettrais une résistance en parallèle assez élevée, genre 10 Kohms, pour ramener le mode commun à 0V.

A _________||___________A'______>
                                   R entre A' et B'
B _________||___________B'______>

Désolé pour la qualité du dessin || représente une capa
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 20 message Manche
Intéressant, je vais retenter ça demain matin. Tu as pus faire des essais ?
Messages : Env. 20
Dept : Manche
Ancienneté : + de 3 ans
 
Membre super utile Env. 2000 message Haute Garonne
Non pas encore, il faut que je me trouve un ordi portable pour aller à côté de la commande Hitachi et qui reconnaisse mon adaptateur USB 485
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Membre super utile Env. 2000 message Haute Garonne
Bonjour,

J'ai continué à creuser le sujet. Au niveau mode de transmission, le H-LINK d'Hitachi est similaire à beaucoup d'autres constructeurs de PAC et clim. C'est une transmission à 9600 bauds, sur support différentiel, codé en mode bipolaire alterné en logique inversée par rapport à du RS232. C'est basé sur le Home Bus System (HBS) japonais, et une tension d'alimentation (10 à 15 V) est superposée à la paire différentielle.

Impossible de le connecter directement à du RS232 ou RS485, ca ne marchera pas.
Uniquement pour la lecture, un circuit simple peut être construit :
https://github.com/LenShuste[...]hematic.pdf

Pour plus d'information :
https://github.com/LenShuste[...]MNET_01.pdf
et
https://github.com/Arnold-n/[...]/P1P2Serial

Jetblack
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 10 message Territoire De Belfort
J'ajoute ma petite contribution,

Le topic m'a bien servi. J'ai utilisé un raspberry pi zero 2 en lieu de place de l'Arduino de Aneantisor.

J'ai utilisé une petite sonde pour me prendre sur la patte de la led pour éviter les soudures. L'alimentation du raspberry se fait avec le 12V du HLINK sur lequel j'ai mis un capa pour avoir du 12V stabilisé puis un convertisseur 12V 5V.

Côté code, j'ai fait du Python avec envoi des données sur un serveur MQTT (que j'exploite ensuite avec node red puis une BDD influx puis un grafana).

Voici le code pour ceux qui veulent des idées :



Citation:
#!/usr/bin/env python
import time
import serial
from paho.mqtt import client as mqtt_client
import json

broker = '192.168.86.40'
port = 1883
client_id = f'pac'

def connect_mqtt():
   def on_connect(client, userdata, flags, rc):
       if rc == 0:
           print("Connected to MQTT Broker!")
       else:
           print("Failed to connect, return code %d\n", rc)
   # Set Connecting Client ID
   client = mqtt_client.Client(client_id)
   client.on_connect = on_connect
   client.connect(broker, port)
   return client

def publish(client, topic, msg):
   result = client.publish(topic, msg)
   # result: [0, 1]
   status = result[0]
   if status != 0:
       print(f"Failed to send message to topic {topic}")

def processTrameNew(trame):
   splits = trame.split()

   tempStr = ""
   for i in range(len(splits)):
       value = splits[i]
       tempStr += value + "\t"
   print(tempStr)

   dictionary = {}
   for i in range(len(splits)):
       value = splits[i]
       publish(client, "/test2/" + str(i), value)
       dictionary[i] = int(value)
       tempStr += value + "\t"
   # print(tempStr)
   publish(client, "/tests3", json.dumps(dictionary, indent=4))


ser = serial.Serial(
   port='/dev/ttyS0',
   baudrate=9600
)
totalCounter = 0

client = connect_mqtt()
totalBytes = ""
while 1:
   totalCounter = totalCounter + 1
   byte = ser.read(1)
   if len(byte) > 0:
       converted = int.from_bytes(byte, "big", signed="True")
       totalBytes += str(converted) + " "
       if "33 0 " in totalBytes:
           if "41 1 1 1 0 -30 " in totalBytes and "33 0 " in totalBytes:
               trame = totalBytes[totalBytes.find("41 1 1 1 0 -30 "):totalBytes.find("33 0")]
               processTrameNew(trame)
           totalBytes = ""
Messages : Env. 10
Dept : Territoire De Belfort
Ancienneté : + de 2 ans
 
Env. 10 message Territoire De Belfort
J'ai tout expliqué et mis sur un repo GitHub pour ceux qui vont chercher ce genre d'infos dans les prochains jours/mois/années/...

https://github.com/hankerspa[...]LinkSniffer

;)
Messages : Env. 10
Dept : Territoire De Belfort
Ancienneté : + de 2 ans
 
Membre super utile Env. 2000 message Haute Garonne
Super ! merci pour le partage. De mon côté je n'ai pas avancé sur ce sujet...
Ce que j'aimerais dans l'idéal, ce serait un module qui se branche en // de la télécommande Hitachi (dans mon cas un gainable), directement sur le bus et qui soit auto-alimenté par le bus HLink, et ensuite derrière un Arduino ou un Raspberry. Je vais regarder ces derniers développements et quand j'aurai eu le temps de développer qq chose, je posterai ici.
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 10 message
Jetblack a écrit:Super ! merci pour le partage. De mon côté je n'ai pas avancé sur ce sujet...
Ce que j'aimerais dans l'idéal, ce serait un module qui se branche en // de la télécommande Hitachi (dans mon cas un gainable), directement sur le bus et qui soit auto-alimenté par le bus HLink, et ensuite derrière un Arduino ou un Raspberry. Je vais regarder ces derniers développements et quand j'aurai eu le temps de développer qq chose, je posterai ici.

Excusez-moi pour Anglais, mais: this is exactly what I am working on, and a first prototype is ready and running. A single PCB with an ESP8266, an ATmega328P, and a MAX22088 powered by the 2-wire HBS (which is the bus used for H-link), interfacing via mqtt/wifi. The project is targeted at Daikin but can be used to read raw data (and reverse engineer?) for the H-link format too. More information is on https://www.github.com/Arnol[...]P1P2Serial.
Messages : Env. 10

Ancienneté : + de 1 an
 
Membre super utile Env. 2000 message Haute Garonne
Arnold-n a écrit:
Jetblack a écrit:Super ! merci pour le partage. De mon côté je n'ai pas avancé sur ce sujet...
Ce que j'aimerais dans l'idéal, ce serait un module qui se branche en // de la télécommande Hitachi (dans mon cas un gainable), directement sur le bus et qui soit auto-alimenté par le bus HLink, et ensuite derrière un Arduino ou un Raspberry. Je vais regarder ces derniers développements et quand j'aurai eu le temps de développer qq chose, je posterai ici.

Excusez-moi pour Anglais, mais: this is exactly what I am working on, and a first prototype is ready and running. A single PCB with an ESP8266, an ATmega328P, and a MAX22088 powered by the 2-wire HBS (which is the bus used for H-link), interfacing via mqtt/wifi. The project is targeted at Daikin but can be used to read raw data (and reverse engineer?) for the H-link format too. More information is on https://www.github.com/Arnol[...]P1P2Serial.

Hi,
That's exactly what I would like to do. I will read carefully your GitHub. 
Thank you very much for sharing!
Jetblack
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 100 message Gironde
Bonjour,
Je vais tenter ce montage sur ma combi, tu mettrais quoi comme capa?
Sur cette PAC va falloir aussi que je me penche sur l'ecs pour raccorder sa résistance à mon ecopv. J'en discuterai sur le forum photovoltaïque...

Jetblack a écrit:Spontanément pour respecter la symétrie du montage différentiel, je mettrais une capa en série sur chacune des lignes. Après les capas, et juste avant d'entrer dans le convertisseur, je mettrais une résistance en parallèle assez élevée, genre 10 Kohms, pour ramener le mode commun à 0V.

A _________||___________A'______>
                                   R entre A' et B'
B _________||___________B'______>

Désolé pour la qualité du dessin || représente une capa
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Env. 10 message
cocof a écrit:Bonjour,
Je vais tenter ce montage sur ma combi, tu mettrais quoi comme capa?
Sur cette PAC va falloir aussi que je me penche sur l'ecs pour raccorder sa résistance à mon ecopv. J'en discuterai sur le forum photovoltaïque...

Jetblack a écrit:Spontanément pour respecter la symétrie du montage différentiel, je mettrais une capa en série sur chacune des lignes. Après les capas, et juste avant d'entrer dans le convertisseur, je mettrais une résistance en parallèle assez élevée, genre 10 Kohms, pour ramener le mode commun à 0V.

A _________||___________A'______>
                                   R entre A' et B'
B _________||___________B'______>

Désolé pour la qualité du dessin || représente une capa


Google translate:
Bonjour, j'utilise deux capa 22uF, deux diodes Zener 5V8 (entre GND et A', et entre Gnd et B') et une terminaison 250 Ohm dans la circuit analogique  avant le MAX22088. Cela vous donnera deux signaux qui sont raisonnablement mais peut-être pas entièrement dans la plage 0-5V, mais qui ne sont pas encore digital/numériques : ils sont tous les deux autour de 2,5V, ou Lo/Hi, ou Hi/Lo. Le MAX22088 ajoute un traitement à un signal numérique avec seuillage, ainsi qu'un fonctionnement alimenté par bus et un circuit d'écriture.

English:
Hello, I use two 22uF capacitors, two additional 5V8 zener diodes (between GND and A' and B'), and 250 Ohm termination as part of the MAX22088 analog circuitry before the MAX22088. This will give you two signals that are reasonably but perhaps not entirely in the 0-5V range, but that are not digital yet: they are both around 2.5V, or Lo/Hi, or Hi/Lo. The MAX22088 adds processing to one digital signal with thresholding, as well as bus-powered operation and write circuitry.
Messages : Env. 10

Ancienneté : + de 1 an
 
Membre super utile Env. 2000 message Haute Garonne
cocof
EcoPV est un très bon routeur W00t
As tu fait la mise à jour vers MaxPV! ?
Jetblack
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 100 message Gironde
Non quand ça marche bien je touche pas. Ça amène quoi de plus maxpv?
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Membre super utile Env. 2000 message Haute Garonne
cocof a écrit:Non quand ça marche bien je touche pas. Ça amène quoi de plus maxpv?

Si tu as une config EcoPV avec le Wemos, ca t'amène une interface graphique web pour la configuration, le monitoring, avec des graphes. Et aussi une nouvelle API.
Voir : https://forum-photovoltaique.fr/viewtopic.php?f=110&t=55244
et 
https://github.com/Jetblack31/MaxPV
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 100 message Gironde
Super l'interface web mais pas de wemos pour moi je suis en ethernet... Tant pis
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Env. 100 message Gironde
Bonjour tu a aussi une combi? Tu as réussi à lire le bus hi-link?
Jetblack a écrit:
cocof a écrit:Non quand ça marche bien je touche pas. Ça amène quoi de plus maxpv?

Si tu as une config EcoPV avec le Wemos, ca t'amène une interface graphique web pour la configuration, le monitoring, avec des graphes. Et aussi une nouvelle API.
Voir : https://forum-photovoltaique.fr/viewtopic.php?f=110&t=55244
et 
https://github.com/Jetblack31/MaxPV
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Env. 10 message Doubs
Aneantisor a écrit:Bonjour,
Je viens ici partager mon travail sur une pompe a chaleur hitachi yutaki s combi solaire 4.3kw.
Je parviens a récupérer des information sur le bus H-LINK 2, afin de "https://www.forumconstruire.com/img/nologo.pngurrir" un serveur domotique basé sur un réseau MySensors.

Actuellement, je récupère les infos d'à peut près toutes les sondes accessibles via le menu maintenance.

le protocol h-link 2 est communication série classique en 9600 bauds.

Pour récupérer les infos, on devrait pouvoir utiliser un convertisseur rs485 --> rs232. seulement, je n'ai pas réussi avec le matériel que j'ai commandé. Et comme avant ça j'avais trouvé une autre solution, j'ai continué ainsi.
donc je me connecte sur la led h-link jaune sur le PCB de l'UI.
Pour avoir le signal, il faut également être alimenté par le même PCB, (histoire d'avoir a minima une masse commune).
j'ai donc trouvé une alim 5V, une masse sur un connecteur en attente et voila.

photo des connexions alim + signal arduihttps://www.forumconstr[...]nologo.png.

Une fois connecté, il n'y a plus qu'a lire et décoder les trames.
C'est la partie qui a été la plus compliqué, car les trames sont directement des https://www.forumconstruire.[...]o.pngmbres, pas des caractères ASCII.
Il n'y a pas d'identifiant avant le https://www.forumconstruire.[...]ogo.pngmbre ... bref une chaine de variables.

J'ai donc repéré 4 trames qui se répètent. Une qui contient un paquet de variable.

la fameuse trame :

41 1 1 1 0 -30 69 33 100 0 1 0 0 14 0 27 28 -127 -127 31 -127 28 37 23 15 15 62 9 19 0 30 40 27 1 98

Je vous l'accorde, come ça c'est impossible de savoir qui est quoi. mais lorsqu'on log suffisamment de données, on arrive à en extraire des choses.

liste des sondes :

41 1 1 1 0 -30 --> ceci me sers a repérer le début de la bonne trame. (ne change jamais)


69 --> Status (72 --> en chauffage ECS, 70 --> en chauffage, 68 --> arreté, 69 --> en attente, autre --> a déterminer)

33 --> ouverture détendeur intérieur
100 --> ouverture détendeur extérieur
0 --> fréquence compresseur
1 --> cause d'arrêt
0 --> intensité absorbée
0
14
0
27 --> Temp entrée eau
28 --> Temp sortie eau
-127
-127
31 --> Temp ECS
-127
28 --> Temp sortie échangeur
37 --> Temp gaz
23 --> Temp liquide
15 --> Temp extérieur
15 --> Temp moyenne extérieur
62 --> Temp refoulement compresseur
9 --> Temp évaporation
19
0
30
40
27 --> Temp eau corrigée

1 98 --> me sers a être sur de l'intégrité de la trame (ne change jamais)


Salut @aneantisor,

Je me lance moi aussi dans le reverse engineering de mon chauffe eau de marque Aldes vu que personne ne l'a fait. Je voulais savoir ce que tu avais utilisé comme software pour enregistrer les trames dans le temps. 

Aujourd'hui j'arrive à récupérer les trames via un analyseur logique, ce qui m'a permis d'identifier la vitesse de com 2400b/s avec 8bit de data, 1 bit de parité even et 1 bit de stop. Je vais passer prochainement via un port série cependant je ne sais pas encore comment enregistrer les trames dans le temps...

Je partage toutes mes avancés içi :
https://forum.hacf.fr/t/reverse-engineering-besoin-daide-bus-aldes-b200-fan-t-flow-hygro/15188?u=neuvidor
Messages : Env. 10
Dept : Doubs
Ancienneté : + de 7 ans
 
Env. 100 message Gironde
Bonjour
J'habite besoin d'aide pour arriver à relire les trames hlink de ma PAC Hitachi. J'ai un esp8266, j'ai suivi un tuto (https://github.com/projetsdiy/esp8266-dht22-mqtt-home-assistant ) pour qu'il communique avec ha en mqtt ( envoie des infos d'une sonde de température dht) ça marche ( même si mon esp8266 ne remonte pas automatiquement comme un appareil dans le brokers mqtt mosquito comme le fait maxpv!). Mais après je bloque dans le code de l'esp pour adapter le code de Aneantisor et renvoyer les infos vers ha.
J'ai tenté de partir aussi de maxpv3.ino de Jetblack, mais arrive pas a le televerser dans mon esp pour qu'il tourne ( puis y faire des modifs pour y greffer les données de Aneantisor.) J'ai vite abonné cette solution...
Enfin j'ai tenté via esphome, arrive bien a récup les données de ma sonde de température connecté à mon esp mais j'ai pas compris si on pouvez y ajouter un code du type de Aneantisor pour que ha récupère les données. Bref j'ai passé mon WE a bidouiller sans succès.
L'un de vous pourrait m'aider pour que mon esp8266 récup les datas de la PAC et les envoie vers ha? A priori la 1 er solution est la plus adapté !
Nota je tente cette méthode car la passerelle modbus Hitachi que j'ai en commandé tarde à venir ( si elle arrive un jour)
Merci
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Membre super utile Env. 2000 message Haute Garonne
Bonjour,

Je suis actuellement sur le coup également. 
Je viens de faire l'acquisition de cette carte :
https://github.com/Arnold-n/[...]/P1P2Serial
Et il me reste à adapter le code pour HLINK Hitachi.
Pour le moment je vois bien les trames remonter, j'ai identifié les principaux paramètres.
Reste à décoder avec l'interface et renvoyer par MQTT.

Jetblack


cocof a écrit:Bonjour
J'habite besoin d'aide pour arriver à relire les trames hlink de ma PAC Hitachi. J'ai un esp8266, j'ai suivi un tuto (https://github.com/projetsdiy/esp8266-dht22-mqtt-home-assistant ) pour qu'il communique avec ha en mqtt ( envoie des infos d'une sonde de température dht) ça marche ( même si mon esp8266 ne remonte pas automatiquement comme un appareil dans le brokers mqtt mosquito comme le fait maxpv!). Mais après je bloque dans le code de l'esp pour adapter le code de Aneantisor et renvoyer les infos vers ha.
J'ai tenté de partir aussi de maxpv3.ino de Jetblack, mais arrive pas a le televerser dans mon esp pour qu'il tourne ( puis y faire des modifs pour y greffer les données de Aneantisor.) J'ai vite abonné cette solution...
Enfin j'ai tenté via esphome, arrive bien a récup les données de ma sonde de température connecté à mon esp mais j'ai pas compris si on pouvez y ajouter un code du type de Aneantisor pour que ha récupère les données. Bref j'ai passé mon WE a bidouiller sans succès.
L'un de vous pourrait m'aider pour que mon esp8266 récup les datas de la PAC et les envoie vers ha? A priori la 1 er solution est la plus adapté !
Nota je tente cette méthode car la passerelle modbus Hitachi que j'ai en commandé tarde à venir ( si elle arrive un jour)
Merci
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 100 message Gironde
Bonjour 
la carte c'est la version p1p2- interface v1.1 que tu as pris? Tu l'as contacté direct par mail? Où tu t'es fait toi même ton pcb? Car trouver les composants qu'il faut est assez difficile ( pénurie).
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Membre super utile Env. 2000 message Haute Garonne
J'ai acheté directement l'interface auprès de Arnold, il faut le contacter par mail.

Jetblack



cocof a écrit:Bonjour 
la carte c'est la version p1p2- interface v1.1 que tu as pris? Tu l'as contacté direct par mail? Où tu t'es fait toi même ton pcb? Car trouver les composants qu'il faut est assez difficile ( pénurie).
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Membre utile Env. 300 message Aube
Jetblack a écrit:Bonjour,

Je suis actuellement sur le coup également. 
Je viens de faire l'acquisition de cette carte :
https://github.com/Arnold-n/[...]/P1P2Serial
Et il me reste à adapter le code pour HLINK Hitachi.
Pour le moment je vois bien les trames remonter, j'ai identifié les principaux paramètres.
Reste à décoder avec l'interface et renvoyer par MQTT.

Jetblack

Bonjour,
Idem, ça fait trop longtemps que j'ai ce projet dans les cartons et pour lequel je n'ai pas eu le temps d'avancé.
Tu as reçu la dernière version P1P2-ESP-interface v1.1 ou ou tu es resté sur l'ancienne P1P2-adapter ?
Tu l'as contacté sur arnold.nX-at-gX-dot-com  ?  X = caractères cachés.
Car j'aimerais bien mettre ma pierre à l'édifice.

Hitachi utilise bien un MM1192 pour contrôler son bus de communication.
J'avais failli acheter la passerelle modbus Hitachi, mais je n'avais pas été jusqu'au bout car de mémoire, il y a un ou plusieurs paramètres dont on n'a pas accès ou qu'on ne peut pas modifier.
Picto recompense Membre utile
Messages : Env. 300
Dept : Aube
Ancienneté : + de 3 ans
 
Membre super utile Env. 2000 message Haute Garonne
loupium
J'ai une V1.1, une toute dernière version. Pour l'adresse de contact, c'est bien ca.
Je l'ai branché, ca fonctionne, il me reste juste à trouver un peu de temps pour ajuster le programme aux spécificités Hitachi.
Un exemple de trame qui contient des infos intéressantes en provenance de l'UE :
12002D010101020102061628201609340406418080871728

Jetblack
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 100 message Gironde
Et il réponds vite. Mail envoyé ce matin , réponse a l'instant. Autour des 100€ c'est tout de même pas donnee.
Question : c'est bidirectionnelle ? ( On peut  y envoyer une commande ? )
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Membre super utile Env. 2000 message Haute Garonne
cocof a écrit:Et il réponds vite. Mail envoyé ce matin , réponse a l'instant. Autour des 100€ c'est tout de même pas donnee.
Question : c'est bidirectionnelle ? ( On peut  y envoyer une commande ? )


Oui bi directionnel. En effet c'est le prix, mais j'ai investi car ca va me faire gagner un temps fou sen développement !
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
 
Env. 200 message Haute Garonne
Bonsoir,
J'aimerais piloter aussi ma pac hitachi air/eau yutaki 2.
J'ai le choix entre votre projet avec l'achat de la passerelle toute faite pour 100 euros ou le module officiel ATW-MBS-02.

Est-ce-que le module home made a besoin d'être soudé à la carte mère ?
Messages : Env. 200
Dept : Haute Garonne
Ancienneté : + de 5 ans
 
Env. 100 message Gironde
Bonjour le module modbus ATW-MBS-02 n'est plus dispo a la vente ( Hitachi n'arrive pas a fournir, sans date de délais précis, peut être 15 j, peut être 6 mois).
Pour la carte a 100€ non pas de soudure il suffit de se connecter avec 2 fil a un bornier déjà présent. Mais c'est pas cles en main car ce module est fait pour Daikin. Faut soit attendre au Jetblack avance dans son intégration soit que tu mettent les main dans le cambouis pour adapter le code toi même.
J'installe le mien pendant le vacances je verrais bien ce que j'arrive à en faire ( suis pas aussi douée en programmation que Jetblack donc pas de garantie que j'y arrive)
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Env. 100 message Gironde
Jetblack a écrit:
cocof a écrit:Et il réponds vite. Mail envoyé ce matin , réponse a l'instant. Autour des 100€ c'est tout de même pas donnee.
Question : c'est bidirectionnelle ? ( On peut  y envoyer une commande ? )


Oui bi directionnel. En effet c'est le prix, mais j'ai investi car ca va me faire gagner un temps fou sen développement !

Bonjour Jetblack, je suis en train de monter le module, j'ai un doute sur son cablage sur la PAC, il faut bien le brancher sur le bus hi-link de la télécommande qui contient la composante continue de 15v? Il devrait donc un sens de cablage? ( Un + et un -)
Messages : Env. 100
Dept : Gironde
Ancienneté : + de 6 ans
 
Env. 200 message Haute Garonne
Ah mince ! J'ai deporté la télécommande en façade.
Elle est dans le salon. Si c'est le cas, je devrai tirer un autre câble pour le réseau.
Messages : Env. 200
Dept : Haute Garonne
Ancienneté : + de 5 ans
 
Membre super utile Env. 2000 message Haute Garonne
cocof a écrit:
Jetblack a écrit:
cocof a écrit:Et il réponds vite. Mail envoyé ce matin , réponse a l'instant. Autour des 100€ c'est tout de même pas donnee.
Question : c'est bidirectionnelle ? ( On peut  y envoyer une commande ? )


Oui bi directionnel. En effet c'est le prix, mais j'ai investi car ca va me faire gagner un temps fou sen développement !

Bonjour Jetblack, je suis en train de monter le module, j'ai un doute sur son cablage sur la PAC, il faut bien le brancher sur le bus hi-link de la télécommande qui contient la composante continue de 15v? Il devrait donc un sens de cablage? ( Un + et un -)


Oui c'est cela, et il n'y a pas de sens de branchement, le module se débrouille ;)
Picto recompense Membre super utile
Messages : Env. 2000
Dept : Haute Garonne
Ancienneté : + de 6 ans
En cache depuis le mercredi 10 avril 2024 à 06h36
Ce sujet vous a-t-il aidé ?
0
0

Picto forum C'est intéressant aussi !

Devis pompe à chaleurArtisan
Devis pompe à chaleur
Demandez, en 5 minutes, 3 devis comparatifs aux professionnels de votre région. Gratuit et sans engagement.
Guide pompe à chaleur
Guide pompe à chaleur
Les guides vous aident à y voir plus clair sur la construction.
Photos installations chauffages
Photos installations chauffages
Picorez des idées en parcourant les photos des constructions des autres !
Quel chauffage choisir ?
Quel chauffage choisir ?
Les guides vous aident à y voir plus clair sur la construction.

Picto forum Autres discussions sur ce sujet :

12
abonnés
surveillent ce sujet
Voir