Réaliser un WifInfo

Hello
Alors, oui mon historique jeedom reste sur une valeur quand je n’ai plus de nouvelles infos. C’est complètement instable, je le perds, il revient etc etc…
J’ai un Linky et un module de délestage qui lui fonctionne bien.
Je vais tenter de passer un cable 2,5 après ton câble pour le mettre dans le TIC.
Quand mon module marche ma teleinfo est remplie. Quand il tombe, plus rien et l’astuce du système → teleinfo marche mais on peut voir que le flag reste en 4 alors que quand ça marche il est en 8 et donc plus d’actualisation.

Bonjour a tous,

j’ai parfois des souci avec ma remontée WifInfo de blocage de mon module qui n’envoie plus rien dans Jeedom. Je contourne le souci par un reboot sauvage de mon module et la ça repart pour 24 -48 h en moyenne. Je m’en rend compte dans le panel teleinfo la courbe s’arrête comme dans le carré rouge.

Je vous joint mon montage.

Coté Jeedom, je suis en version 4.1.28, tout à jour installé ce weekend, suite à un crash de la partition de mon SSD.

J’ai crée le fichier GWTeleinfo.php car j’avais déjà fait cette modification sur mon ancien Jeedom.

Le compteur s’est recrée sans souci automatiquement.

Mes questions à la communauté sont les suivantes :

Est ce que d’autres ont des soucis de ce type? ou les ont déjà corrigés ?
Est ce que quelqu’un peut m’expliquer pas à pas la marche a suivre pour upgrader vers une nouvelle version de Wifinfo ?

J’ai changé de PC depuis mon installation et je n’ai plus aucune des librairies, ni la version de l’IDE Arduino sur mon PC qui m’ont servi a faire la première installation et quand je cherche les anciens liens de l’époque, je tombe souvent sur des liens morts.

Merci a tous.

Mon montage PCB :

image

Branché sur la broche (D7) je confirme. si besoin je peux vous retrouver les nomenclature exacte des composants, je les ai plus en tête.

Coté soft, j’ai fait ça il y a 2 ans avec l’IDE Arduino mais c’était ma première fois et j’ai pas une grande maitrise de ça, c’est ma seul réalisation en suivant le tuto pas a pas de l’ancien forum.

Ca donne ca coté Wifinfo :

1 « J'aime »

Message important pour ceux qui possèdent un WifInfo !
Jeedom 4.2 va bientôt arriver et avec ça, pas mal de modifications de sécurité.
Les clés API vont passer de 32 à 64 octets.
Les montages avec la version 1.0.7 seront susceptibles de ne plus fonctionner.
2 solutions s’offre à vous:

Je suis désolé pour le dérangement que cela va provoquer, mais cette décision ne vient pas de moi et je m’efforce de trouver une solution pour que nos modules continues de fonctionner correctement

Bonsoir, c’est peut-être contre productif par rapport au travail fait par l’équipe Jeedom qui s’efforce de rendre la sécurisation optimale mais au cas ou , il est toujours possible de générer une clé api de 32 octets en utilisant un bloc code dans un scénario :

$data_plugin = 'teleinfo'; // nom du plugin ou core
$format = 32; // 32 ou 64, utilisé que si $injection n'est pas renseignée.
$injection = ''; // a remplir que si vous voulez injecter une clé perso [32 ou 64 octets]
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////// NE PAS MODIFIER /////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
$scenario->setLog('┌───────────────────[ Regeneration cle API ]');										//
$version = jeedom::version();																			//
if ($version >= '4.2') {																				//
  if (class_exists($data_plugin) || $data_plugin == 'core') {											//
    $scenario->setLog('| [Info] Type --> '.$data_plugin);												//
    $OldKey = config::byKey('api', $_plugin = $data_plugin);											//
    if ($OldKey!='') $scenario->setLog('| [Info] Ancienne clé api --> '.$OldKey);						//
    if ($injection!='' && (strlen($injection)==32 || strlen($injection)==64))							//
    {																									//
      $NewsKey = $injection;																			//
      $format = strlen($injection);																		//
      $scenario->setLog('| [Info] Méthode --> Injection clé perso');									//
    }																									//
    else																								//
    {																									//
      $NewsKey = config::genKey($_car=$format);															//
      $scenario->setLog('| [Info] Méthode --> Random');													//
    }																									//
    $save_key = config::save('api', $NewsKey, $data_plugin);											//
    $VerifKey = config::byKey('api', $_plugin = $data_plugin);											//
    $scenario->setLog('| [Info] Format --> '. $format . ' octets');										//
    if ($VerifKey == $NewsKey) {																		//
      $scenario->setLog('| [Info] Nouvelle clé API --> '. $NewsKey);									//
      $scenario->setLog('| [OK] Clé Api sauvegardé avec succès');										//
    }																									//
    else $scenario->setLog('| [Erreur] l\'enregistrement de la nouvelle clé a échoué !!!');				//
  }																										//
  else $scenario->setLog('| [Erreur] Veuillez activer/verifier le nom du plugin !!!');					//
}																										//
else $scenario->setLog('| [Erreur] Version de Jeedom insuffisante '. $version .' < 4.2');				//
$scenario->setLog('└────────────────────────────');														//
//////////////////////////////////////////////////////////////////////////////////////////////////////////
1 « J'aime »

Du coup quand vous dites « faire la maj vers 4.2 sans toucher aux clefs API existantes », concrètement, en quoi ça consiste ?
Est-ce que l’update d’une stable 4.1 vers 4.2 change d’office les clefs API existantes vers du 64 octets ? Est-ce que l’update laisse le choix ? Si oui comment ?

1 « J'aime »

Merci @Phpvarious pour ce code ! Ça va être grandement utile pour ceux qui ne peuvent faire la MAJ de l’ESP.

@Dreaky j’ai fais un test sur ma machine de prod, installe de jeedom 4.1, import de ma sauvegarde de mon jeedom, puis mise à jour vers jeedom 4.2. Ensuite dans l’onglet « Réglages, Système, Configuration » les API n’ont pas bougés. Par contre en cliquant sur le bouton « régénérer » la clé passe en 64 octets.

Je pense que dès que la version 4.2 sera sortie en stable, si on fait une nouvelle installation, d’office la clé sera en 64 octets.

1 « J'aime »

Hello,

J’ai le meme souci que toi tres aléatoire, la dernière remontée s’est arrêté après 169h de fonctionnement.

je pense pour un micro perte du wifi ou une micro coupure de courant de mon module car je n’ai pas eu de coupure de courant franche ni de perte d’internet a ce moment la.

De mon coté je fait une remontée chaque 15 secondes vers mon jeedom.

Est ce que tu a toujours ce souci ?

Je pense que je vais tenté l’upgrade avec la version de @tibo.percin avec son tuto qui me parait a ma portée ^^

Salut @Phpvarious ,

Ce scénario, tu le gères comment? Déclencheur?
Comment jeedom saura que c’est réservé au plugin téléinfo?
Si tu peux m’en dire plus, car je suis coincé avec mon NodeMCU qui remonte la téléinfo (impossible de le faire fonctionner correctement avec une clef à 64 bits…

Merci d’avance

Bonsoir,

$data_plugin = 'teleinfo'; // nom du plugin dont tu veut modifier la clé.
$format = 32; // format de sortie souhaité (64 ou 32) pour ton cas 32.
$injection = ''; // a remplir que pour injecter une clé perso (exemple l’ancienne clé que tu utilisais avant)

une fois ces infos renseignées, il te suffit d’enregistrer et de lancer le scénario manuellement.
tu pourra constater le résultat dans les log du scénario.

Bonjour, est-ce que votre version fonctionne ? Avec quel plugin ?
Personnellement j’utilise le plugin Téléinfo version 2021-02-04 01:01:47 mais je ne sais pas comment faire pour le paramétrer ou le configurer pour qu’il accepte les données depuis wifinfo…
Un conseil ou une explication serait bienvenu.

Bonjour,

Je possède un Wifinfo de Rol-rider et je souhaite le mettre à jour pour le rendre compatible d’une fresh installation de Jeedom (pour le pb de clé API 64 bit il me semble)
Le pb c’est qu’en suivant soit le Tuto initial ou celui-ci, il m’est impossible de téléverser à partir de l’IDE Arduino, que ce soit à partir de Mac ou de Windows.

Voici l’erreur et malheureusement, je manque de connaissance pour résoudre ce pb.
Auriez-vous une piste à me proposer ?
J’ai essayé les dernières versions des sources ou celles utilisées dans le Tuto initial de Rol-rider mais même problème :thinking:

Wifinfo:61:20: error: Syslog.h: No such file or directory
Syslog.h: No such file or directory

Merci

Salut

Malgré toutes les actions, impossible de faire fonctionner mon NodeMCU avec une clef de 64 bits.
Du coup, j’ai utuliser le script de @Phpvarious (merci ebncore à toi).
Voici le résultat du log :

[2022-04-04 09:14:25][SCENARIO] -- Start : Scenario lance manuellement.
[2022-04-04 09:14:25][SCENARIO] - Exécution du sous-élément de type [action] : code
[2022-04-04 09:14:25][SCENARIO] Exécution d'un bloc code 
[2022-04-04 09:14:25][SCENARIO] ┌───────────────────[ Regeneration cle API ]
[2022-04-04 09:14:25][SCENARIO] | [Info] Type --> teleinfo
[2022-04-04 09:14:25][SCENARIO] | [Info] Ancienne clé api --> zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
[2022-04-04 09:14:25][SCENARIO] | [Info] Méthode --> Random
[2022-04-04 09:14:25][SCENARIO] | [Info] Format --> 32 octets
[2022-04-04 09:14:25][SCENARIO] | [Info] Nouvelle clé API --> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[2022-04-04 09:14:25][SCENARIO] | [OK] Clé Api sauvegardé avec succès
[2022-04-04 09:14:25][SCENARIO] └────────────────────────────
[2022-04-04 09:14:25][SCENARIO] Fin correcte du scénario

La nouvelle clef 32bits apparait bien dans la configuration/API.
Après modif dans le nodeMCU, celui-ci est toujours en vie après 10mn, alors que j’ai mis une fréquence de rafraichissement à 01minute :slight_smile:
Encore MERCI @Phpvarious

1 « J'aime »

Ne t’embêtes pas @solex4ever, j’ai voulu faire comme toi, fresh install, 64bits et tout, mais ce n’est pas stable.
En fait le Wifinfo perd la connexion avec ton SSID au bout du temps que tu as paramétré pour remonter les données à Jeedom (si c’est 15sec, reboot du wifinfo au bout de 15sec).
Du coup mon conseil, reste comme tu es, en plus il te manque des librairies, d’ou ton erreur "Syslog.h’ qu’il ne trouve pas.

Merci pour ton code. J’ai pu récupérer de façon simple mon wifinfo après une réinstallation propre de mon installation.

1 « J'aime »

Salut a tous,

Suite a un arret brutal de la remontée de teleinfo il y a quelque semaine, je me suis motivé a réinstaller mon Wifinfo; je suis passé en 1.0.7 grave a vos tutos et au retour d’expérience de chacun, pas facile de s’y remettre.

J’ai du modifier le fichier comme @ Forhorse pour contourner les erreurs de téléversement.

Le wifi se crée bien et j’ai la bonne page web en 1.0.7 par contre toujours aucune donnée dans la partie téléinfo. ça s’est arrêté du jour au lendemain.

Coté compteur rien a changé physiquement mais est ce que la téléinfo a pu cramer? ou se désactiver ?
Comment savoir si ça vient de mon PCB ? octocoupleur ou transistor ou résistance ?

J’ai testé avec un autre esp8266, je n’ai aucune remontée non plus.

Edit : En fait j’avais activé la « collecte de donnée a l’heure » sur le site d’Enedis. ce qui a pour effet de basculer la téléinfo en standard. j’ai utilisé le formulaire EDF pour leur demander la bascule en mode « historique ». c’est revenu depuis ce matin.

Bonjour,

J’essaie en vain de me faire un module wifinfo à base de wemos D1 mini.
Je pense avoir bien suivi toutes les étapes du tuto avec les fichiers pour le version 1.0.7, mais je n’arrive pas à me connecter au point d’accès Wifino - XXXX créé.
Connexion impossible.

J’ai l’impression d’avoir testé plein de combinaison de bibliothèques d’esp 8266 ( dont la 2.6.3) et j’ai du modifier le sketch comme @ Forhorse pour contourner les erreurs de téléversement.

Donc si vous avez une idée…

Merci !

EDIT :
J’ai réussi à accéder au 192.168.4.1 sur une version 1.0.1 de Wifinfo.
Pourquoi ça ne marche pas avec les fichiers de le version 1.0.7 ?!! Mystère.
Je continue mes recherches… car apparement pour que ça fonctionne il faut mieux être en 1.0.7

@obi je sais que c’est un peu off topic (et ça ne va pas régler ton soucis) mais j’ai effectivement arrêté WifInfo il y a longtemps (et c’est cool que ça ai été repris) mais je vais évoquer les raisons:

l’ESP c’est top mais ça évolue et à chaque fois il faut suivre tous les changements du framework, de l’IDF puis toutes les librairies associés. Souvent les appels API changent aussi, bref c’est un vrai travail permanent (et je parle pas de la WEB UI) de maintenir une version fonctionnelle et à jour et je ne pouvais plus passer mon temps à ça.
Faire marcher un (vieux) WifInfo avec des API dépréciées et un code relativement ancien est j’imagine bien un vrai challenge que je laisse aux férus (j’ai suffisamment eu ma dose de galères avec ça) et je suis passé sur des chose plus simples et stables.

Du coups le soft Tasmota (d’une stabilité exemplaire, je le met dans tous mes modules Sonoff et autres, tous ceux avec un chip ESP). La team gère toute cette partie parfaitement bien c’est pour ça que j’y ai greffé la partie téléinfo (du coups je n’ai plus que cette partie à gérer) ce qui simplifie le tout.
Maintenant tasmota est tellement complet que je pense qu’il n’est pas compliqué de le faire causer avec un plugins existant jeedom. Il sait faire des requêtes HTTP, du MQTT (et certainement plein d’autre), et de plus il sait gérer un nombre incroyable de capteurs

Donc mon conseil à 2 balles, passez aussi sur ESP32 (mini) parce que pour debug c’est plus simple vous avez 2 Serial une pour la téléinfo et une pour la console, il a plus de ressources donc HTTPS et MQTTS ne sont pas à la peine et vous pourrez faire du scripting (via berry) sans avoir à reflasher quoi que ce soit et ça c’est un vrai plus. Il doit même pouvoir être possible de faire un driver berry (donc sans reflasher de firmware) pour jeedom.

Et puis j’ai aussi pensé à ceux qui ne veulent pas souder un juste avoir un module autonome fonctionnel, voici le premier proto Tasmota compatible bien sur.
C’est un ESP32 Pico V3 -02 avec tenez vous bien:

  • 8Mb de Flash
  • 2Mb de PSRAM (idéal pour berry et micropython)
  • Connecteur USB-C
  • RGB Led mini WS2812
  • QWIIC Connecteur (pour tous les modules SparkFun/Adafruit I2C Stemma/QWIIC)
  • Chip USB/SERIAL
  • Antenne dédiée et performante
  • Connecteur easy plug pour la téléinfo
  • Sa taille 3.2cm x 2.8cm

j’ai quelques protos si intéressé n’hésitez pas à me MP et si un membre de la core team jeedom veut developper un plugins jeedom pour tasmota, qu’il se manifeste je lui envoi un module gracieusement.

Merci pour votre réponse détaillée.
Effectivement, j’avais vu votre post (95) sur le tasmota.

J’avais donc testé et flashé mon esp via l’outil en ligne en prenant bien soin de choisir « Tasmota Téléinfo »:
https://jason2866.github.io/Tasmota-specials/

Ca avait très bien marché, mais quand je me connecte sur l’esp, je me retrouve avec un module type SONOFF BASIC prise on/off.
Et je ne vois pas dans « Configuration Module » ou je peux le paramètrer en module de Téléinformation… (en tout cas rien n’y ressembe dans la liste proposée).
J’ai du louper un truc…

1 « J'aime »