Ré-écriture de Wifinfo pour traiter le mode standard du Linky
-
@papymo said in Ré-écriture de Wifinfo pour traiter le mode standard du Linky:
Effectivement un coup de reset et c'est reparti.
Personnellement, j'utilise toujours LibTéléinfo.h , mais je traite les erreurs et je fais un reset de la télé-info dès que j'ai une erreur de réception ( Linky en mode historique et ESP8266):
String Nom = me->name; //Lecture etiquette Téléinfo // traitement des erreurs de réception // me->value ne doit pas contenir de texte, si c'est le cas, il y a un pb de synchro dans la réception des trames // Linky. On va donc tester la longueur de la valeur reçue, qui normalement ne doit pas être 7,8,10, ou > 12. String val = me->value; if (val.length() == 7 or val.length() == 8 or val.length() == 10 or val.length() == 11 or val.length() > 12 ) { if (client.connect("clientId")) client.publish(TopicControl, me->value); tinfo.init(); // si erreur, re-init de la TeleInfo Nom = " "; // efface l'étiquette donc pas traitée par la suite }
j'ai quelques reset de la téléinfo par jour, mais c'est transparent pour le programme.
-
@charles
Mon wifinfo envoit une commande json sur mon domoticz, dans le format ci dessous.
Je renvoi simplement l'état de mes compteurs EASF02 et EASF01. Peut on le faire simplement en modifiant le code dans le module energie ?? (quitte à modifier la source dans mon cas)
-
@seb-h Ok je me souviens j'avais écrit ça a l'arrache de mémoire. Normalement tasmota gère domoticz mais via MQTT, t'as un serveur MQTT ?
-
D'un manière plus générale, je pense que la méthode la plus souple (et c'est valable pour TOUS les devices) c'est le couple suivant :
- MQTT
- Node Red
Dans donc cas par exemple Tasmota envoi la téléinfo dans MQTT, Node Red récupère celle qui t'intéresse puis fait un post HTTP (comme le faisait WiFInfo) sur Domoticz
Mais c'est pas limitatif, avec ce couple tu peux vraiment TOUT faire et l'interface graphique de node red est un bonheur
-
@charles En fait, j'ai un NAS Synology ou j'ai domoticz qui est installé dessus. J'ai du installer une appli nommé "Mosquitto" qui doit être le serveur MQTT. Le soucis étant c'est que je n'ai aucune interface graphique (ou une appli) ou je peux me connecter dessus, ne serait ce que pour définir un mot de passe ou un login d'accès à ce serveur. Je comprends ta logique maintenant , le but étant d'intercepter les trames et de les modifier. En revanche, je suis pas sur que je sache installer Node Red sur mon NAS qui est un entrée de gamme DS213j
-
@seb-h ouais j'ai un syno aussi de 10 ans un DS1010 je fait tout tout tourner en docker dessus y compris le broker mosquitto (et c'est le principe, pas d'interface graphique de config c'est un service)
Pour mettre un password sur ton broker MQTT c'est ligne de commande et la config est dans
mosquitto.conf
(faudra générer un fichier avec les password d'accès du coup) je vais pas décrire ici mais tu trouveras bon nombre de tuto pour ça.Pour node red idem, docker, si t'as un syno tu installes docker via DSM (l'interface graphique de synology) et du coup t'as une interface WEB de config docker sur le syno, tu vois je peut être compatissant La encore des tutos partout.
-
@charles Merci pour ton retour . J'ai vu ton message un peu tard et j'ai fait des recherches pendant ce temps. Donc j'ai effectivement trouvé pas mal de tuto donc celui d'installer Docker en 1er. Donc chez moi, je ne trouve pas l'appli Docker et normal car Docker n'est dispo qu'à partir d'une certaine gamme de Syno. Mais chance pour moi, j'ai trouver ce tuto https://www.rs-online.com/designspark/installing-node-red-on-a-synology-nas . En activant le SSH et avec des ligne de commande unix (j'ai quelques connaissance sur cet OS) , je suis arrivé à activer le login et mot de passe pour Mosquitto impec , et je suis arrivé a installer Node Red C'est donc un service que tu appelles via le navigateur avec un port spécifique ! On peut dire qu'il arrive à "sniffer" tout ce que mosquitto fait transité et peut aussi réemettre des trames comme il le désire ? . Je ne suis pas encore arrivé à activer la connexion sécurisé sur NodeRed avec login et mot de passe, pourtant j'ai suivi le tuto comprend pas (avec génération du mot de passe), faudra que je revois....
Dans l'idée , je désactive la trame DOMOTICZ/IN que tasmota envoit, je réceptionne uniquement la trame standard que tasmota envoit, j'extrait les 2 compteurs qui m’intéresse et je renvoi dans une trame DOMOTICZ/IN . Tu as pas un tuto qui irait super bien pour expliquer les différentes macro que utilise node red ? -
@seb-h ouais c'est l'idée, et le but de node red.
Non j'ai pas de tuto, mais du mets un node MQTT listener (pour subscribe sur le topic ou tasmota envoi la téléinfo) puis ensuite une fonction JS pour traiter et faire ce que tu veux puis un post http sur domoticz
Regarde tu dois pouvoir trouver des exemples nodered domoticz déja ca va t'aider à comprendre le principe.