Suivre conso électrique Jmqtt et plugin Telinfo

Bonjour,

Je récupère les données de mon compteur via un wemos mini :

[https://www.amazon.fr/gp/product/B0754N794H/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1]

Le plugin Jmqtt me permet ensuite de récupérer dans jeedom les données jusque là tout va bien.
Apparemment il y a un plugin assez sympa Telinfo mais comment faire pour relier ce pluginfo avec Jmqtt?

Pas grand chose à ajouter dans l’onglet équipement :

Merci.

Bonjour,

Nous voulant pas dire de bêtises, le plugin fonctionne avec des cartes de teleinfo…

Il ne prend pas en charge le mqtt.

Bonjour,
Dans le plugin je ne pense pas.
Mais coté Jmqtt j’ai créé des commandes action auquel je met la commande du plugin teleinfo que je veux publier sur le topic teleinfo sans oublier de cocher pub auto pour que l’info se crée.
J’espère que je ne dis pas de connerie, je suis tout fier d’aider quelqu’un sur Jmqtt que je commence juste à comprendre et utiliser.
Un rien m’amuse :grinning:
Bien cordialement

Tu arrives à récupérer les infos de jmqtt sous le plugin teleinfo ?

Comme je l’ai dit, je crée l’action

et avec pub auto Jmqtt me crée l’info

et dans l’équipement je met Inscrit au Topic : teleinfo/# pour envoyer les infos vers le broker

Hello,

Tu peux me montrer ce qu’il y a dans l’onglet Commandes stp ?

J’ai l’impression que tu as fait ta config pour envoyer ce que récupère le plugin Teleinfo en MQTT, et c’est très bien :+1::wink:

Par contre, j’ai l’impression que @FredD souhaite faire l’inverse : récupérer ses remontées Teleinfo en MQTT et les injecter dans le plugin Teleinfo, correct ?

Bad

Ohhhh bad que je suis … effectivement à relire :grinning:

Normalement le plugin crée les commandes à la réception des trames.

Lorsque je suis passé du plugin teleinfo à MQTT, au niveau des commandes MQTT avec « Action sur valeur » et une condition toujours juste, je venais écrire la valeur de l’index vers la commande créée par le plugin (qui pour le coup existait déjà). Ainsi je continuais d’écrire les valeurs au même endroit.

Tu pourrais faire la même chose. Mais pour moi le plugin a relativement peu d’intérêt en soit au delà de la récupération de valeurs. Il y a certes quelques courbes et le calcul de la puissance à partir des index (pour avoir une vrai puissance active, pas totale comme PAPP), mais on peut faire quasiment la même chose avec des vues, des virtuels et/ou un scénario. Du coup j’ai fini pas désinstaller le plugin avoir transféré petit à petit.

Edit : il y aussi le plugin suivi-conso qui serait peut-être plus intéressant, même si je ne l’ai jamais testé.

1 « J'aime »

Tu me rassures… je croyais avoir loupé un truc avec le #plugin-teleinfo

Effectivement je souhaite récupérer dans le plugin Telinfo les données récupérées de mon wemos via Jmqtt.
Par contre au regard de la remarque de seb821 le plugin Telinfo ne semble pas super, néanmoins pour ma connaissance je voudrai aller jusqu’au bout et essayer de renvoyer ces infos dans ce plugin.

Bonjour,
je viens de migrer d’une solution wifinfo qui envoyait les infos à jeedom en http à tasmota qui envoi en mqtt. Je suis confronté au même soucis d’alimenter le plugin teleinfo.
J’ai pas le temps de me pencher complètement sur le sujet, j’ai donc pondu une solution rapide et moche (selon mes critères).
En ssh ou via l’outil « outils de developpement » sou sJeedom, j’ai créé un fichier nommé « TasmoToTeleinfo.php » que j’ai posé à la racine de Jeedom (chez moi, c’est dans le dossier /var/www/html )
Ce fichier va chercher en pull les données depuis tasmota, puis les injecte dans le plugin teleinfo.
ensuite, depuis Jeedom, j’ai créé un script pour appeler ce fichier toutes les minutes (parce que ça correspond à mon besoin. Mettre 5 minutes ou plus si vous n’avez pas besoin d’une telle charge)

Le contenu de « TasmoToTeleinfo.php »:

<?php
// Les variables ci après sont a configurer
$IP_Wifinfo = "192.168.5.228";   // mettre ici l ip de votre tasmota
$api_key = "6GA4EFGHIFSEFSEFEVEA"; // mettre ici votre clé api teleinfo
(elle se trouve dans jeedom > systeme > config > API)

// votre Jeedom est sur la meme machine que ce script, en théorie
// sinon adaptez ici
$Jeedom = "http://127.0.0.1";
// chemin vers le plugin téléinfo 
$URL_Jeedom = $Jeedom . "/plugins/teleinfo/core/php/jeeTeleinfo.php";

/**************************************************
/* plus rien à configurer à partir d ici
*/
/**************************************************
/*  pull data
*/
$full_URL = "http://".$IP_Wifinfo."/cm?cmnd=status%2010";
$ch = curl_init($full_URL);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5); // pour ne pas attendre à l'infini
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

if (! $tasmotaData=curl_exec($ch))
{
  trigger_error(curl_error($ch));
}
curl_close($ch);
$tasmotaData=json_decode($tasmotaData, true);

/**************************************************
/* transformation des données en format json
*/
$data=array();
$TIC=$tasmotaData["StatusSNS"]["TIC"];
// rajout de "device"
$TIC["device"]=$tasmotaData["StatusSNS"]["TIC"]["ADCO"];

$data_json= json_encode($TIC);
// on rajoute les infos demandées par le plugin teleinfo
$post_data = "{\"device\":{\"".htmlspecialchars($TIC["device"])."\":".$data_json. "}}";
// on renvoi en POST au plugin teleinfo
$full_URL = $URL_Jeedom . "?apikey=". $api_key;
$ch = curl_init($full_URL);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($post_data)));
curl_setopt($ch, CURLOPT_TIMEOUT, 5); // pour ne pas attendre à l'infini
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

if (curl_exec($ch) === false)
{
  trigger_error(curl_error($ch));
}
curl_close($ch);

?>

Screens de l’appel du script:

Bonjour,
Très intéressant, merci du partage. Même cas que toi et donc même besoin donc je vais essayer.
Je viens juste d’installer mes tasmota et j’allais laisser tomber le plugin pour partir sur scénario et virtuel donc ça tombe juste à pic.
Dommage qu’on ne puisse dans le plugin indiquer le topic mqtt du json tasmota directement à la place du modem. Si Noyax37 nous lit et peu dire ce qu’il en pense ?
Bien cordialement

Salut @rennais35000 , oui ça serait bien mais je n’ai rien sous la mais pour tester ça… Sinon il y a la solution d’alimenter les différents index directement via un scénario.

Tu as un json de ton mqtt pour voir à quoi ça ressemble?

Bonjour @Noyax37 ,
voici le retour json (renvoyé via teleinfo/stat/STATUS10 ):
{"StatusSNS":{"Time":"2023-01-27T13:30:39","ENERGY":{"TotalStartTime":"2023-01-26T19:26:24","Total":0.000,"Yesterday":0.000,"Today":0.000,"Power":3550,"Current":16.000,"Load":35},"TIC":{"ADCO":"060122120000","OPTARIF":"BBR(","ISOUSC":45,"BBRHCJB":105800741,"BBRHPJB":208617473,"BBRHCJW":4071685,"BBRHPJW":5002054,"BBRHCJR":900320,"BBRHPJR":1318360,"PTEC":"HCJB","DEMAIN":"ROUG","IINST":16,"IMAX":53,"PAPP":3550,"HHPHC":"Y","MOTDETAT":5500},"DHT11":{"Temperature":10.6,"Humidity":88.0,"DewPoint":8.7},"TempUnit":"C"}}
(il faut ignorer la partie DHT11, c’est un ajout de ma part, j’ai raccordé un capteur de température )

Du coup, ce serait vraiment pratique de pouvoir alimenter le plugin via l’objet mqtt directement.

(ps: sans rapport avec le topic, ce serait bien d’intégrer l’option tarifaire tempo dans le plugin, car le calcul des coûts m’est inutile actuellement, je ne peux entrer mes 6 tarifs)

Voici le json du tasmota que je décode avec jmqtt. Je suis en triphasé.

{"Time":"2023-01-27T14:25:56","ENERGY":{"TotalStartTime":"2023-01-27T08:44:09","Total":28365.961,"Yesterday":1.982,"Today":2.129,"Period":[0,0,0],"Power":[263,0,0],"Current":[0.000,0.000,0.000],"Load":0},"TIC":{"ADCO":"021530004454","OPTARIF":"BASE","ISOUSC":30,"BASE":28365960,"PTEC":"TH..","IINST1":0,"IINST2":0,"IINST3":0,"IMAX1":32,"IMAX2":25,"IMAX3":21,"PMAX":14550,"PAPP":263,"MOTDETAT":0,"PPOT":0}}

salut @mjeanne , il y a tout là dedans pour que ça puisse fonctionner. Faut voir comment intercepter ça mais à part ça je ne vois pas trop de difficulté. Y a moyen que je récupère sur mon jeedom vos trames en direct ? J’ai JMQTT chez moi mais franchement j’ai un peu de mal avec le concept.

Pour le plugin, tu es sous la version béta du plugin? Cette version le permet :wink:

@rennais35000 , tu n’as pas qq chose avant le premier {« time » ?

ce qui est publié les données sont sur sensor :

ok, je pense qu’il faut avoir le nom de l’objet « LWT » pour toi je pense et le nom de je sais pas quoi « SENSOR ». chez @mjeanne le je ne sais pas quoi est « StatusSNS »

ok, je commence à y voir plus clair. Pouvez vous me donner accès à vos broker jmqtt?