Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Plugin Tiers] Plugin Téléinfo

Pour échanger sur les plugins classés en catégorie "Energie"
Avatar de l’utilisateur
ticed35
Actif
Messages : 1343
Inscription : 22 juil. 2014, 21:44
Localisation : Montréal

Re: Plugin Téléinfo

Message par ticed35 » 13 sept. 2016, 10:39

@mika-nt28, je pensais que les 2 modes cohabiterais quelques temps .... je vais voir pour les maj.
Présence / SonyBravia / Téléinfo

Avatar de l’utilisateur
mika-nt28
Actif
Messages : 7995
Inscription : 05 août 2014, 08:58
Localisation : Dreux - France

Re: Plugin Téléinfo

Message par mika-nt28 » 13 sept. 2016, 13:24

Bah sur la beta en tous cas cela ne fonctionne plus.
Du moin l'arriere plan du plugin a l'aire de tourné mais je ne peux plus ouvrir la page de configuration
Pour faciliter la compréhension de votre problème, n’oubliez pas de poster
- Des Screenshots de votre configuration
- Le Log au moment du problème constaté

Encouragez-moi https://www.paypal.me/mikant28

Avatar de l’utilisateur
ticed35
Actif
Messages : 1343
Inscription : 22 juil. 2014, 21:44
Localisation : Montréal

Re: Plugin Téléinfo

Message par ticed35 » 13 sept. 2016, 16:42

@mika-nt28, peux tu me donner la version de ton jeedom core pour que je fasse les modifications.
PS : Je ne peux pas te contacter en mp pour te donner une version a tester.
Présence / SonyBravia / Téléinfo

Avatar de l’utilisateur
mika-nt28
Actif
Messages : 7995
Inscription : 05 août 2014, 08:58
Localisation : Dreux - France

Re: Plugin Téléinfo

Message par mika-nt28 » 14 sept. 2016, 08:13

@ticed35 je suis en beta 2.5.0
Pour faciliter la compréhension de votre problème, n’oubliez pas de poster
- Des Screenshots de votre configuration
- Le Log au moment du problème constaté

Encouragez-moi https://www.paypal.me/mikant28

pbo100
Timide
Messages : 115
Inscription : 07 déc. 2015, 08:58

Re: Plugin Téléinfo

Message par pbo100 » 14 sept. 2016, 19:39

Hello , je souhaite me lancer dans le teleinfo vous avez des retours d'expérience pour les différents type de modems ?
MERCI À L'ÉQUIPE POUR LE TAF

fran6t
Timide
Messages : 20
Inscription : 24 févr. 2015, 16:27

Re: Plugin Téléinfo

Message par fran6t » 14 sept. 2016, 19:49

pbo100 a écrit :Hello , je souhaite me lancer dans le teleinfo vous avez des retours d'expérience pour les différents type de modems ?
Comment souhaites tu remonter tes infos vers JEEDOM ? Port USB ? WIFI ? Cable Ethernet ?
Où est placé ton compteur ?

pbo100
Timide
Messages : 115
Inscription : 07 déc. 2015, 08:58

Re: Plugin Téléinfo

Message par pbo100 » 14 sept. 2016, 20:00

Je pensais mettre modem USB jeedom ( plugins teleinfo+jeelink) en téléporté à côté du compteur dans le garage relié a mon réseau local en ethernet.....
MERCI À L'ÉQUIPE POUR LE TAF

fran6t
Timide
Messages : 20
Inscription : 24 févr. 2015, 16:27

Re: Plugin Téléinfo

Message par fran6t » 14 sept. 2016, 23:06

Si j'ai bien compris tu comptes amener un cable reseau jusque prêt du compteur et faire tourner un jeedom prêt du compteur juste pour faire de la releve teleinfo en se synchronisant avec le jeedom principal.
Si tu as un petit peu de compétence en programmation et que souder 2 ou trois composant ne te font pas peur tu pourrais regarder vers un arduino ethernet et un petit montage interface (opto et 2 resistances).

Stéphane
Timide
Messages : 46
Inscription : 17 mai 2016, 09:26
Localisation : Viry 74580

Calcul conso Jour Mois Année

Message par Stéphane » 15 sept. 2016, 17:06

Bonjour
le plugin n'affiche aucune valeur dans Jour, Mois Année
faut il faire quelque chose ?
merci
Stéphane

Stéphane
Timide
Messages : 46
Inscription : 17 mai 2016, 09:26
Localisation : Viry 74580

Plugin Téléinfo pas de HCHC et HCHP

Message par Stéphane » 15 sept. 2016, 17:10

Bonjour
je n'ai pas de remontée HCHC et HCHP dans le plugin teleinfo
j'ai
031228168062 BBRHPJB 020307305 -- 2016-09-15 17:07:15
031228168062 PAPP 00240 OK 2016-09-15 17:06:24
031228168062 IINST 001 OK 2016-09-15 16:56:02
031228168062 OPTARIF BBR, OK 2016-09-15 16:22:43
031228168062 DEMAIN ---- OK 2016-09-15 16:22:43
031228168062 BBRHCJR 001085282 -- 2016-09-15 16:22:44
031228168062 ISOUSC 60 OK 2016-09-15 16:22:44
031228168062 BBRHCJW 003863344 -- 2016-09-15 16:22:44
031228168062 BBRHPJR 001060157 -- 2016-09-15 16:22:44
031228168062 IMAX 061 OK 2016-09-15 16:22:45
031228168062 BBRHPJW 002618992 -- 2016-09-15 16:22:45
031228168062 BBRHCJB 019764491 -- 2016-09-15 16:22:45
031228168062 PTEC HPJB OK 2016-09-15 16:22:45
031228168062 HHPHC Y OK 2016-09-15 16:22:45

je suis en abonnement tempo (Heures Creuses/Pleines, Jour Blanc, Bleu, Rouge)
le calcul HCHC = BBRHCJW +BBRHCJB+BBRHCJR
et
HCHP=BBRHPJW +BBRHPJB+BBRHPJR
est il correct ? (c'est surtout pour Suivi Conso)
merci
Stéphane

Stéphane
Timide
Messages : 46
Inscription : 17 mai 2016, 09:26
Localisation : Viry 74580

Re: Plugin Téléinfo

Message par Stéphane » 16 sept. 2016, 10:03

Je vais répondre à mes propres questions
il suffit de créer une statistiques dans teleinfo HCHC et HCHP
le plugin calcule la valeur toutes les 5 min
HCHC : Statistique Info, Numérique, Conso HC Aujourd'hui
HCHC : Statistique Info, Numérique, Conso HP Aujourd'hui


;)

Avatar de l’utilisateur
llaumgui
Timide
Messages : 406
Inscription : 23 janv. 2016, 13:35
Localisation : Prades le Lez, France
Contact :

Re: Plugin Téléinfo

Message par llaumgui » 16 sept. 2016, 18:00

Bonjour,

la dernière version indique une compatibilité App Mobile. Peut-on avoir plus d'info ?
Mon installation domotique | Contributeur plugin Zigate | Jeedom sur ODroid C2 / Debian 9.

pbo100
Timide
Messages : 115
Inscription : 07 déc. 2015, 08:58

Re: Plugin Téléinfo

Message par pbo100 » 16 sept. 2016, 19:10

fran6t a écrit :Si j'ai bien compris tu comptes amener un cable reseau jusque prêt du compteur et faire tourner un jeedom prêt du compteur juste pour faire de la releve teleinfo en se synchronisant avec le jeedom principal.
Si tu as un petit peu de compétence en programmation et que souder 2 ou trois composant ne te font pas peur tu pourrais regarder vers un arduino ethernet et un petit montage interface (opto et 2 resistances).
Hello, oui oui c'est tout a fait ça, et j'ai déjà un tout petit peu bricolé avec un arduino, tu as un lien ou trouvé le montage et le sketch ? , je vais creusé de mon coté, en tout cas merci, je n'avais pas envisagé cette solution.
MERCI À L'ÉQUIPE POUR LE TAF

chtikers
Timide
Messages : 463
Inscription : 08 nov. 2015, 21:01

Re: Plugin Téléinfo

Message par chtikers » 18 sept. 2016, 22:24

Bjr à tous.
J'ai un module de chez tindie, que faut il faire pour le faire fonctionner ?
D'avance merci.

fran6t
Timide
Messages : 20
Inscription : 24 févr. 2015, 16:27

Re: Plugin Téléinfo

Message par fran6t » 19 sept. 2016, 00:51

pbo100 a écrit :Hello, oui oui c'est tout a fait ça, et j'ai déjà un tout petit peu bricolé avec un arduino, tu as un lien ou trouvé le montage et le sketch ? , je vais creusé de mon coté, en tout cas merci, je n'avais pas envisagé cette solution.
Le montage est ultra simple il faut trois composants:
Un opto et 2 resistances, j'ai fais le montage décrit ici http://www.magdiblog.fr/gpio/teleinfo-e ... lectrique/
Par contre j'ai reçyclé un arduino ethernet que j'avais, car je trouve que mettre un raspberry pour cela c'est vraiment de la grosse artillerie si c'est juste pour faire remonter les infos, maintenant si c'est lui qui fait tourner jeedom ou s'il sert de jeedom esclave pourquoi pas.

Pour l'opto il semble y avoir mieux que le sh620 voir ici les expli http://hallard.me/demystifier-la-teleinfo/

Pour les sketchs voici ce que j'ai fais mais pas compatible avec le plugin teleinfo (j'ai fais une demande sansréponse ici), car il ne veut que des requetes http via l'api ou alors un interface directe avec un port serie. Cela n'empeche pas jeedom de faire les courbes de conso et de calculé les consomations mois jour... avec l'usage des virtuels

Mon sketch est coupé en 4 parties.

Tu verras parler d'un sens de courant, tu pourras virer cela c'est parce que j'ai des panneaux solaires et que lorsque je surproduit jeedom me permet de mettre en route un chauffe eau.
Attention aussi le sketch ne renvoi des infos que si j'ai plus de 30va d'ecart entre 2 lectures de teleinfo pour mon usage c'est suffisant et cela m'evite de surcharger la bdd de jeedom.

Au passage dans la partie Mqtt tu verras une partie permettant via le plugin Mqtt de piloter la patte 8 de l'arduino pour mettre en route ou stopper le chauffe eau .

Le script ne remonte pas toutes les infos des deux compteurs (juste celles dont j'ai besoins), mais tu trouveras facilement sur le net les autres infos du compteur.

_00_variables

Code : Tout sélectionner

#include <Ethernet.h>         // Pour Internet
#include <PubSubClient.h>     // Pour Mqtt
#include <SoftwareSerial.h>   // Pour lecture teleinfo

//Buffer qui permet de d\Uffffffffder les messages MQTT re\Uffffffff
char message_buff[100];
String NewstrPARAM_temp; // On requettera que si y a difference entre 2 lectures
String OldstrPARAM_temp;
String pubString;

// On requetera que si il y a 0.5 degre d'ecart entre 2 mesure ou 20w pour l'elec
//float fTemp;  // Pour calcul de difference
int iProd = 0;
int iCons = 0;

long lastMsg = 0;   //Horodatage du dernier message publi\Uffffffffur MQTT
long lastRecu = 0;

// Update these with values suitable for your hardware/network.
byte mac[] = { 0x00, 0xAD, 0xBE, 0xEF, 0xFE, 0x50 }; //-- Addresse MAC \Uffffffffdapter
#define mqtt_server "192.168.0.66"
#define temperature_topic "maison/sensor/temp/"  //Topic temp\Uffffffffture

EthernetClient ethClient;
PubSubClient client(ethClient);
long lastReconnectAttempt = 0;


/************************************************
 * Pour la teleinfo */

long Index_BASE=0;
long Index_HC=0;
long Index_HP=0;
long old_Index_HP=0;
int I_A=0;
int P_W=0;
int Val_Ref=0;
char PERIODE=' ';


int inPinSensCourant = 5;   // Fourche optique connect\Uffffffff la broche 5
int SensCourantState = 0;
int inPinCptConso = 2;
int inPinCptProd = 3;


/**************************************************
 * Pour la partie commande chauffe eau
 * */

// Pin 8 is the Relais output pin
int chofoPin = 8;
int chofoStat;
_01_init

Code : Tout sélectionner

void setup()
{
  Serial.begin(115200);
  Serial.println("Maison-Temp-Mqtt-optimi v1");
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);

  if (Ethernet.begin(mac) == 0) {
    //Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    for (;;)
      ;
  }
  //Serial.println("Ethernet DHCP --> Ok");
  delay(1500);
  lastReconnectAttempt = 0;

  //Patte lecture sens courant
  pinMode(inPinSensCourant, INPUT);
  pinMode(chofoPin, OUTPUT);
  // A l'arret par defaut
  digitalWrite(chofoPin, LOW);
  chofoStat = 0;
  
}
_02_main

Code : Tout sélectionner

void loop()
{
  char cMqttTemp[32];       // Permet de transmettre la chaine en Mqtt d'un capteur de temperature
  static char cOutstr[6];   // Permettre la conversion en chaine de la temperature
  
  if (!client.connected()) {
    long now = millis();
    if (now - lastReconnectAttempt > 5000) {
      lastReconnectAttempt = now;
      // Attempt to reconnect
      if (reconnect()) {
        lastReconnectAttempt = 0;
      }
    }
  } else {
    // Client connected


    Serial.println("Lecture conso");
    if (Recupere_la_Teleinfo( inPinCptConso , false )){   // Si lecture compteur conso ok
    //Recupere_la_Teleinfo(inPinCptConso);
      SensCourantState = digitalRead(inPinSensCourant);
      // On transforme le sens courant surproduction en un negatif
      if ( SensCourantState == 0 ){
        P_W = P_W * -1;
        I_A = I_A * -1;
      }
      // On transmet info uniquement sur changement de puissance
      //iSens = SensCourantState;
      // On calcule la difference entre deux mesure
      //iDiff = (iCons - P_W); 
      //if ( abs(iDiff) >= 20){
      if ( abs(iCons - P_W) >= 20){   
        pubString = "{\"HC\":\"" + String(Index_HC) + "\",\"HP\":\"" + String(Index_HP) +"\"";
        pubString += ",\"P\":\""  + String(PERIODE)  + "\",\"IINS\":\"" + String(I_A) +"\"";
        pubString += ",\"PAPP\":\""     + String(P_W)      +  "\",\"SENS\":\"" + String(SensCourantState) +"\"}";
        pubString.toCharArray(message_buff, pubString.length()+1);
        //Serial.println(pubString);
        client.publish("maison/cConso/cptConso",message_buff);
        iCons = P_W;
      }
    }


    Serial.println("Lecture Prod");
    // Maintenant compteur prod
    if (Recupere_la_Teleinfo( inPinCptProd, true )){   // Si Lecture compteur prod
      //iDiff = (iProd - P_W);
      //if ( abs(iDiff) >= 20 ){
      if ( abs(iProd - P_W) >= 20 ){
        pubString = "{\"BASE\":\"" + String(Index_BASE) + "\",\"IINS\":\"" + String(I_A) +"\"";
        pubString += ",\"PPAPP\":\""  + String(P_W)  +"\"}";
        pubString.toCharArray(message_buff, pubString.length()+1);
        //Serial.println(pubString);
        client.publish("maison/cProd/cptProd",message_buff);
        iProd = P_W;
      }
    }
   
    
    // *********************************************
    // Partie chauffe eau (asservissement)
    // Voir dans la fonction recall de _03_Mqtt
        
    client.loop();
    
  }

}
_03_Mqtt

Code : Tout sélectionner

void callback(char* topic, byte* payload, unsigned int length) {
  //Serial.print(topic);
  //Serial.print(" => ");
  char* payload_str;
  payload_str = (char*) malloc(length + 1);
  memcpy(payload_str, payload, length);
  payload_str[length] = '\0';
  //Serial.println(String(payload_str));
  
  if ( String(topic) == "maison/chofo/relay" ) {
    if (String(payload_str) == "On" ) {
      chofoStat = 1;
      digitalWrite(chofoPin, HIGH);   // turn the RELAY on
      client.publish("maison/chofo/relay_state","1");
    } else if ( String(payload_str) == "Off" ) {
      chofoStat = 0;
      digitalWrite(chofoPin, LOW);    // turn the RELAY off
      client.publish("maison/chofo/relay_state","0");
    } else if ( String(payload_str) == "Stat" ) {
      pubString = String(chofoStat);
      pubString.toCharArray(message_buff, pubString.length()+1);
      client.publish("maison/chofo/relay_state", message_buff );  
    } else {
      //Serial.print("I do not know what to do with ");
      //Serial.print(String(payload_str));
      //Serial.print(" on topic ");
      //Serial.println( String(topic));
    }
  }
}

boolean reconnect() {
  if (client.connect("arduinoClient")) {
    // Once connected, publish an announcement...
    client.publish("maison/log/log","Arduino reconnect");
    //Serial.println("maison/log/log Arduino eth start");
    // ... and resubscribe
    client.subscribe("maison/chofo/relay");
  }
  return client.connected();
}
_04_Teleinfo

Code : Tout sélectionner

// On utilise la librairie SoftwareSerialqui permet d utiliser des pattes digitals comme port serie 
// Ici nous utilisons la lecture de la trame teleinfo au travers de la patte passee en parametre de la fonction

boolean Recupere_la_Teleinfo( int pin, boolean bSolaire ){


  SoftwareSerial Serial_Teleinfo(pin,4); // Cree une liaison serie sur la pine
  Serial_Teleinfo.begin(1200); // Port se pour liasion Arduino <-> Teleinfo

  unsigned long temps_d_acquisition = 0;
  char charIn_Trame_Teleinfo = 0; // stock chaque charactere recu de la trame teleinfo

  String Ligne;      // stock la ligne complette (entre LF(0x0A) et CR(0x0D))
  String Etiquette;  // stock l'intitule
  String Valeur;     // stock la valeur apres l intitule
  char Checksum;
  boolean bInfini=true;
  /*
  Trame recu par la teleinfo      (Expliquations ! non recu par la teleinfo)
  ADCO 040422040644 5          (N  d identification du compteur : ADCO (12 caracteres))
  OPTARIF HC.. <                  (Option tarifaire (type d'abonnement) : OPTARIF (4 car.))
  ISOUSC 45 ?                 (Intensite souscrite : ISOUSC ( 2 car. unite = amperes))
  HCHC 077089461 0          (Index heures creuses si option = heures creuses : HCHC ( 9 car. unite = Wh))
  HCHP 096066754 >          (Index heures pleines si option = heures creuses : HCHP ( 9 car. unite = Wh))
  PTEC HP..                   (P\Uffffffffode tarifaire en cours : PTEC ( 4 car.))
  IINST 002 Y                 (Intensit\Uffffffffnstantan\Uffffffff: IINST ( 3 car. unite = amperes))
  IMAX 044 G                  (Intensit\Uffffffffaximale : IMAX ( 3 car. unit\Uffffffff amp\Uffffffffs))
  PAPP 00460 +                  (Puissance apparente : PAPP ( 5 car. unit\Uffffffff Volt.amp\Uffffffffs))
  HHPHC E 0                 (Groupe horaire si option = heures creuses ou tempo : HHPHC (1 car.))
  MOTDETAT 000000 B         (Mot d'\Ufffffffft (autocontr\Uffffffff : MOTDETAT (6 car.))
  */


  //RAZ des valeurs \Uffffffff1 car des zero peuvent exister cas du compteur photovoltaique la nuit par exemple
  I_A=P_W=9999;
  Index_BASE=Index_HC=Index_HP=0;
  PERIODE= ' ';

  float c=0; // Sert pour enlever les milliemes des indexes base heures pleines heures creuses
  
  temps_d_acquisition=millis(); // Init temps d'acquisition pour sortir si on arrive pas a lire une trame

  while ( bInfini ) {  
      //Attend un d\Ufffffffft de ligne (0x0A)
      charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; 
      while (charIn_Trame_Teleinfo != 0x0A){ // reste dans cette boucle tant qu'on ne recoit pas le Charactere de d\Ufffffffft de ligne 0x0A
        if ((millis()-temps_d_acquisition)>2000 ) { Serial.println("Teleinfo Inaccessible pin " + pin); return false; } // Affiche un erreur si la teleinfo est inaccesible et retourne 
        if (Serial_Teleinfo.available()){ // Tant qu'il y a des caract\Uffffffffs disponibles
          charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; // Stock 1 caractere recu
        }
      }
      
      //Vide Ligne
      Ligne="";
      //Vide Etiquette
      Etiquette="";
      //Concatene les carateres recus jusqu'a l'espace suivant (0x20)
      charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; 
      while (charIn_Trame_Teleinfo != 0x20){ // reste dans cette boucle tant qu'on ne recoit pas le Charactere Espace
        if (Serial_Teleinfo.available()){ // Tant qu'il y a des caract\Uffffffffs disponibles
          charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; // Stock 1 caractere recu
          if (charIn_Trame_Teleinfo != 0x20){Etiquette += charIn_Trame_Teleinfo;}      // concatene les caract\Uffffffffs re\Uffffffff sauf les espaces
          Ligne += charIn_Trame_Teleinfo;
        }                     
      }
                               
      //Vide Valeur
      Valeur="";     
      //Concatene les carateres recus jusqu a l espace suivant (0x20)
      charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; 
      while (charIn_Trame_Teleinfo != 0x20){ // reste dans cette boucle tant qu'on ne recoit pas le Charactere Espace
        if (Serial_Teleinfo.available()){ // Tant qu'il y a des caracteres disponibles
          charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; // Stock 1 caractere recu
          if (charIn_Trame_Teleinfo != 0x20){Valeur += charIn_Trame_Teleinfo;}      // concatene les caract\Uffffffffs re\Uffffffff sauf les espaces
          Ligne += charIn_Trame_Teleinfo;
        }                     
      }
                
      //Concatene les carateres recus jusqu'a la fin de ligne (0x0D)
      charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; 
      while (charIn_Trame_Teleinfo != 0x0D){ // reste dans cette boucle tant qu'on ne recoit pas le Charactere de fin de ligne
        if (Serial_Teleinfo.available()){ // Tant qu'il y a des caracteres disponibles
          charIn_Trame_Teleinfo = Serial_Teleinfo.read() & 0x7F ; // Stock 1 caractere recu
          if (charIn_Trame_Teleinfo != 0x0D){Ligne += charIn_Trame_Teleinfo;} // concatene les caracteres re\Uffffffff sauf le Charactere de fin de ligne (0x0D)
          if (charIn_Trame_Teleinfo != 0x0D){Checksum = charIn_Trame_Teleinfo;}
        }                     
      }
      //Controle du Checksum (Le dernier caractere de la ligne et un caractere de controle)

      char Controle=0;
      String trame= Etiquette + " " + Valeur;
      for (byte i=0;i<(trame.length());i++){
        Controle += trame[i];
      }  
      Controle = (Controle & 0x3F) + 0x20;
                             
      if (Controle == Checksum) { // Si le checksum correspond bien au code controle 
        //Associe la valeur lue \Uffffffffon etiquette
        if (Etiquette.substring (0,4)=="HCHC") {Index_HC = Valeur.toInt();}
        if (Etiquette.substring (0,4)=="HCHP") {Index_HP = Valeur.toInt();}
        if (Etiquette.substring (0,4)=="PTEC") {PERIODE  = Valeur[1];     }
        if (Etiquette.substring (0,4)=="IINS") {I_A      = Valeur.toInt();}
        if (Etiquette.substring (0,4)=="PAPP") {P_W      = Valeur.toInt();}
        if (Etiquette.substring (0,4)=="BASE") {Index_BASE      = Valeur.toInt();}     
      }

      if ( bSolaire ){  //Si releve compteur solaire (pas d'index HC HP mais BASE
        if ( !(Index_BASE==0 || I_A==9999 || P_W==9999)  ){ 
          bInfini = false;  // On a nos 3 elements on quitte
          // Dans Index_Base du compteur solaire il y a 3 chiffre qui doivent representer de millieme de w en trop \Uffffffffa fin alors on les enleves 
          c = float(Index_BASE)/1000;
          Index_BASE = long(c); 
        }
      } else {
        if ( !(Index_HC==0 || Index_HP==0 || I_A==9999 || P_W==9999 || PERIODE==' ') ){
          bInfini = false;  // On a nos 5 elements on quitte
          c = float(Index_HC)/1000;
          Index_HC = long(c);
          c=0;
          c = float(Index_HP)/1000;
          Index_HP = long(c); 
        }
      }
  }
  return true;

}
Ps: Je met le sketch en zip car je vois qu'il y a un probleme avec les accents dans la balise code
jeedom-tvinfo.zip
Sketch exemple pour releve teleinfo de 2 compteurs et remontée via Mqtt
(5.47 Kio) Téléchargé 22 fois

Avatar de l’utilisateur
ticed35
Actif
Messages : 1343
Inscription : 22 juil. 2014, 21:44
Localisation : Montréal

Re: Plugin Téléinfo

Message par ticed35 » 19 sept. 2016, 08:47

@fran6t, des sketch ont déjà été réalisé par d'autres utilisateurs jeedom et font bien remonter la téléinfo. Tu trouveras l'information sur le fil.
Présence / SonyBravia / Téléinfo

fran6t
Timide
Messages : 20
Inscription : 24 févr. 2015, 16:27

Re: Plugin Téléinfo

Message par fran6t » 19 sept. 2016, 09:22

ticed35 a écrit :@fran6t, des sketch ont déjà été réalisé par d'autres utilisateurs jeedom et font bien remonter la téléinfo. Tu trouveras l'information sur le fil.
Ah j'ai du louper pourtant j'ai bien fait les recherches avant de poster ma demande ici on parle bien de remontée téléinfo via MQTT ? ( en requette http j'ai tourné avec pendant 6 ans avant même de connaître jeedom qui a remplacé plus qu'avantageusement un truc que j'avais fait maison j'avais remodifié mes requêtes http pour les rendre compatible avec l'api du plugin teleinfo) mais maintenant avec les objet connectés j'ai remplacé ma remontée http via MQTT qui permettent ainsi a des petits afficheurs hors ou via Jeedom d'afficher aussi les infos teleinfo cela permet aussi d'avoir deux ou X jeedom entierement autonome qui peuvent s'alimenter avec ces MQTT.
Un fonctionnement dégradé aussi, ainsi un afficheur avec un simple esp8266 sans Jeedom continu aussi a afficher la teleinfo, pour mettre en route le chauffe eau idem des applis MQTT ANDROID ou IOS permettent aussi du coup de mettre en route le chauffe eau bref j'y trouve une plus grande souplesse. Le petit point noir c'est le serveur MQTT qui néanmoins reste plus simple moins gourmand en ressource qu'un serveur http.

pbo100
Timide
Messages : 115
Inscription : 07 déc. 2015, 08:58

Re: Plugin Téléinfo

Message par pbo100 » 19 sept. 2016, 09:47

merci fran6t , je vais digérer tout ça , a première vue cela me semble a ma portée, surtout pas trop cher...
MERCI À L'ÉQUIPE POUR LE TAF

Avatar de l’utilisateur
ticed35
Actif
Messages : 1343
Inscription : 22 juil. 2014, 21:44
Localisation : Montréal

Re: Plugin Téléinfo

Message par ticed35 » 19 sept. 2016, 10:54

D'accord, non ce n'était pas sur du principe MQTT. A première vue je dirais qu'il faudrait un plugin mqtt qui gère des abonnement depuis Jeedom plutôt que d'abonner le téléinfo sur le serveur.
Présence / SonyBravia / Téléinfo

fran6t
Timide
Messages : 20
Inscription : 24 févr. 2015, 16:27

Re: Plugin Téléinfo

Message par fran6t » 19 sept. 2016, 12:05

ticed35 a écrit :D'accord, non ce n'était pas sur du principe MQTT. A première vue je dirais qu'il faudrait un plugin mqtt qui gère des abonnement depuis Jeedom plutôt que d'abonner le téléinfo sur le serveur.
C'est dommage car le plugin mqtt sais mettre les infos comme il faut dans jeedom, faudrait bien que ce soit le plugin teleinfo qui sache en plus du modem ou de l'api http avoir une petite interface disant que tel variable jeedom déjà mis à jour par le plugin mqtt est la donnée pour index Heures pleines par exemple.

Voici ce que j'ai pour ma part avec le plugin mqtt en faisant ensuite des virtuels je recup bien ma conso d'hier ou annuel ou autre mais dommage faut que je fasse virtuel pour quelque chose qui est déjà super bien fait dans le plugin teleinfo.

Dans mon exemple avec la copie d'ecran ci-dessous il faudrait simplement en plus du modem et de l'api un ecran de config du plugin teleinfo qui ressemblerai a ça

HPHP = #[Maison][Edf Conso][HP]#
HCHC = #[Maison][Edf Conso][HC]#
...

Pour bien comprendre le fonctionnement :
1/ Actuellement mon arduino fait remonter sur le reseau la trame teleinfo sous forme de message MQTT suivante :
maison/cConso/cptConso {"HC":"28755385","HP":"49235582","P":"P","IINS":"3","PAPP":"640","SENS":"0"}
2/ Le plugin actuel de Jeedom MQTT eclate les variables et les historises dans Jeedom Exemple config du plugin mqtt ci-dessous

Toutes les données dont a besoins le plugin teleinfo sont donc déjà en base de donnée c'est donc dommage pour moi pour savoir
ma conso du jour je fais donc un virtuel avec :
maxBetween(#[Maison][Edf Conso][HP]#,today 00:00:00,today 23:59:00)-minBetween(#[Maison][Edf Conso][HP]#,today 00:00:00,today 23:59:00)

Ps: Quelqu'un sait-il si il y a un github pour le plugin teleinfo ?
jeedom-mqtt.jpg
Capture de la configdu plugin mqtt qui reçoit la teleinfo
jeedom-mqtt.jpg (145.5 Kio) Consulté 1919 fois

Répondre

Revenir vers « [Catégorie] Energie »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 27 invités