Community Forum

    • Register
    • Login
    • Search
    • Blog
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Emulation Téléinfo

    Blog articles comments
    3
    8
    7661
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      cedric2 last edited by

      Bonjour,

      Est-il facile d'émuler de la téléinfo ?

      En effet, J'ai une wallbox (pour la recharge de voiture électrique) qui est capable de recevoir de la téléinfo, pour adapter sa consommation électrique a ce qui est disponible, pour ne pas faire disjoncter le courant.
      Or, mon compteur est au niveau de la route,, très loin de la wallbox, et je ne peux relier le compteur à la téléinfo de la wallbox.

      J'aimerais donc émuler la téléinfo, pour moi même envoyer à la box des commande pour limiter la consommation d'électricité. (quand le ballon d'eau chaude se met en route, par exemple)

      Tout le monde veut en général juste lire de la téléinfo, j'ai jamais vu le contraire...

      1 Reply Last reply Reply Quote
      • F
        Fab_33 last edited by

        Tu utilises quoi comme wallbox ? Certaines sont pilotables en plus de la téléinfo.

        1 Reply Last reply Reply Quote
        • C
          cedric2 last edited by

          Je devrais recevoir une hager... je sais qu'elle a le tic, mais j'ai rien vu d'autre.

          1 Reply Last reply Reply Quote
          • F
            Fab_33 last edited by

            Ah oui du commercial, la je ne sais pas. Perso je suis parti sur une OpenEVSE. L'installation est faite et j'attends les cartes électroniques. Pour ce qui est d'émuler le signal, je ne sais pas. Il reste la solution de mettre un compteur au niveau de ton tableau éléectrique.

            1 Reply Last reply Reply Quote
            • M
              mjeanne last edited by

              Bonjour,

              avez-vous une prise électrique proche du compteur ? Captez-vous votre wifi domestique au niveau du compteur ?

              Parce que chez moi, j'utilise une astuce pour déporter la téléinfo:
              Niveau compteur, j'ai un circuit électronique téléinfo et un Wemos D1 mini, avec un soft basé sur le travail de Charles. C'est 97% de son code, auquel j'ai ajouté un export "brut" des données. voir ici: https://community.hallard.me/topic/151/ajout-de-l-export-xml-et-brut/

              L'export brut est ensuite "lu" à distance par un second D1 Mini, qui converti cette lecture "wifi" en sortie sur le port série. J'utilise les deux ports série: Le port 'classique' (usb) pour un humain et le port serial1 pour la sortie compatible téléinfo (pas de chaines de caractères, pas de débug, juste la téléinfo)

              Voici le code source du soft 'edf 2 serial':
              Fichier 'config.h'

              #ifndef __CONFIG_H__
              #define __CONFIG_H__
              
              # changer l'IP deux fois ci-dessous. C'est celle de l'autre module
              #define IP "192.168.5.229"
              #define URL "GET /raw  HTTP/1.1\r\nHost: 192.168.5.229\r\nConnection: close\r\n\r\n"
              
              #define DEFAULT_WIFI_SSID   "votre reseau privé"
              #define DEFAULT_WIFI_PASS   "votre pass reseau wifi"
              #define DEFAULT_HOSTNAME    "WifiInfo-to-serial"
              
              #define Debug(x)    Serial.print(x)
              #define Debugln(x)  Serial.println(x)
              #define DebugF(x)   Serial.print(F(x))
              #define DebuglnF(x) Serial.println(F(x))
              #define Debugf(...) Serial.printf(__VA_ARGS__)
              #define Debugflush  Serial.flush
              
              // Teleinfo start and end of frame characters
              #define TINFO_STX 0x02
              #define TINFO_ETX 0x03 
              #define TINFO_SGR '\n' // start of group  
              #define TINFO_EGR '\r' // End of group   
              
              #endif
              

              Fichier 'edf2serial.ino'

              // Include Arduino header
              #include <Arduino.h>
              #include <ESP8266WiFi.h>
              #include <ESP8266WebServer.h>
              #include <ESP8266mDNS.h>
              #include <WiFiUDP.h>
              #include <EEPROM.h>
              #include <Ticker.h>
              
              #include "config.h"
              
              void setup() {
                Serial.begin(115200, SERIAL_8E1);
                Serial1.begin(1200, SERIAL_7E1);
                // se connecter au reseau
                if (WiFi.getMode()!=WIFI_STA) {
                    WiFi.mode(WIFI_STA);
                    delay(10);
                }
              
                // Get Wifi Status
                int ret = WiFi.status();  
                while ( ret != WL_CONNECTED ) {
                  WiFi.begin(DEFAULT_WIFI_SSID, DEFAULT_WIFI_PASS);
                  delay(50);
                  ret = WiFi.waitForConnectResult();
                }
                DebuglnF("Connected");
                DebugF("IP address   : "); Debugln(WiFi.localIP());
                DebugF("MAC address  : "); Debugln(WiFi.macAddress());  
              }
              
              void loop() {
                WiFiClient client;
                if (!client.connect(IP, 80)) {
                  Serial.println("connection failed");
                  return;
                }  
                client.print(String(URL));
                delay(100);
                // start trame
                Serial.println("________SOT_____________________");
                Serial.print("\nSTX");
                Serial1.write(TINFO_STX);
                while(client.available()){
                  String line = client.readStringUntil('\r');
              
                  //Serial.println("________SOL_____________________\r\n");
                  line.trim();
                  line.replace("\r","");
                  line.replace("\n","");
                  line.replace(":","");
                  line.replace("\"","");
                  int sum=0;
              
              // nettoyage des trames erronées
                  if ( (line.length()>8) && (! line.startsWith("UPTIME ")) && (! line.startsWith("T ")) && (! line.startsWith("H ")) && (! line.startsWith("200 ")) && (! line.startsWith("Con")) && (! line.startsWith("Acc")) && (! line.startsWith("HTT")) ) {
              
                    String checksumSTR = line.substring(line.length()-2);
                    char checksum = char(checksumSTR.toInt());
                    sum=checksum;      
              
                    line = line.substring(0, line.length()-2);
                    line = line + String(char(sum));
              
                    // start group
                    Serial.print("\nSGR");
                    // group
                    Serial.print(line);      
                    // end group
                    Serial.print("EGR\r");
                    
                    Serial1.write(TINFO_SGR);      
                    Serial1.print(line);
                    Serial1.write(TINFO_EGR);      
                   
                  }
                  //Serial.println("\r\n________EOL_____________________\r\n");    
                  
                }
                // end trame
                Serial.print("ETX");
                Serial1.write(TINFO_ETX);  
                Serial.println("________EOT_____________________\r\n");    
                delay(1000); // attente 1s
                
              
              }
              
              1 Reply Last reply Reply Quote
              • F
                Fab_33 last edited by

                Sinon chez Hager tu as le XEV304 qui fait ce que tu veux. Mais bon c'est un peu cher comparé à un compteur SAGEMCOM que l'on trouve à 40€. Ca prend juste moins de place !

                1 Reply Last reply Reply Quote
                • C
                  cedric2 last edited by cedric2

                  justement, je voudrais me faire un XEV304 moi même. (pour éviter de payer 170 euros...)
                  Avant d'économiser 170 euros avec les heures creuse, autant charger en HP quand il n'y a pas le chauffe eau, je n'aurais alors aucun risque de disjoncter !

                  Pour la borne, j'ai pas eu le choix, c'est une borne offerte par Nissan. Si j'avais du la payer moi même j'aurais pris une OpenEVSE... mais là, c'est gratuit, c'est bête de ne pas en profiter !!!

                  @mjeanne , mon problème n'est pas de lire le téléinfo (avec une prise ampèremétrique, je connais déjà ma consommation en temps reel), mais de re-injecté le signal dans la wallbox.

                  Je me demande si je dois refaire une porteuse à 50kHz, ou si juste envoyer du signal série ASCII émise à 1200 bits/s, 7 bits/caractères, parité paire, 1 bit de stop depuis une sortie d'un arduino peut suffir.

                  1 Reply Last reply Reply Quote
                  • F
                    Fab_33 last edited by

                    Si tu te mets directement sur l'entrée TIC il faut recréer complètement le signal. Si tu arrive a te pettre après leur circuit de démodulation, le signal numérique sera suffisant. Tout dépend de ce que tu es capable et prêt à faire.
                    Pour la petite histoire, Nissan me proposait soit la borne soit un chèque pour le retard de livraison de ma Leaf, j'ai pris le chèque pour une openEVSE et il me reste encore quelques dizaines d'euros...

                    1 Reply Last reply Reply Quote
                    • First post
                      Last post
                    Copyright © 2022 Charles-Henri Hallard | Return to blog page | Powered by NodeBB