Pour ceux qui comme moi on beaucoup d'interruptions de com avec socat, j'ai remplacé espeasy --> socat --> domoticz par Tasmota Sensor avec téléinfo--> MQTT Mosquito --> Node Red --> domoticz
Avec cette configuration Je n'ai plus aucune déconnexion entre le compteur Linky et domoticz
télécharger la branche development de tasmota (directement depuis le github tasmota).
décommenter la ligne #define USE_TELEINFO du fichier my_user_config.h pour activer la com avec Teleinfo dans le firmware
Ensuite une fois ton module opé, tu lances la commande suivante dans la console :
template {"NAME":"WifInfo","GPIO":[7,255,255,208,6,5,255,255,255,255,255,255,255],"FLAG":15,"BASE":18}
attention il faut donc déconnecter la teleinfo quand tu flash l'ESP sinon conflit.
installer node red et importer le flow Teleinfo qui permet d'animer les sondes virtuelles dans domoticz:
Ce Flow gère les données d'un compteur HP/HC 12 KVA avec un envoi des données toutes les 5 secondes à Domoticz (vous pouvez adapter facilement ce Flow suivant vos besoins, les instructions de paramétrage son intégrées dans le Flow)
Code : Tout sélectionner
[{"id":"34f140f8.a2bfa","type":"tab","label":"TeleInfo","disabled":false,"info":""},{"id":"575d538c.749d6c","type":"mqtt in","z":"34f140f8.a2bfa","name":"","topic":"tele/TeleInfo/#","qos":"2","datatype":"auto","broker":"f9ca7352.9abe8","x":90,"y":120,"wires":[["e06a0bfe.7bf398"]]},{"id":"e777bc5.9f4d44","type":"comment","z":"34f140f8.a2bfa","name":"Instructions de paramétrage pour domoticz dans l'ESP Tasmota-sensor-Teleinfo il faut activer \"SetOption108 1\"","info":"Dans domoticz:\nCréer le matériel téléinfo en USB pour créer automatiquement les capteurs de mesure\n\nModifier le matériel en dummy pour rendre les capteurs virtuels\nRelever l'IDX de chaque capteur virtuel dans domoticz\n\nDans L'ESP Tasmota:\n\nParamétrer tasmota sensor avec telefinfo et vérifier que les données du compteur sont affichées sur la page web de l'ESP\nConfiguration MQTT: Renseigner Topic= TeleInfo\n\ndans le menu Console:\n\nSaisir la commande setOption108 1\n\n_______________________________\npour info:\n0 = Teleinfo telemetry into Energy MQTT JSON (default)\n1 = Teleinfo raw data only\n_______________________________\n\nVérifier la présence de trames qui commencent par:--> MQT: tele/TeleInfo/RESULT = {...\n\nDans Node-Red:\n\nDans chaque bloc fonction \"Décode Trame...\"\"\nRenseignger l'IDX Domoticz de chaque capteur virtuel associé\nAdapter les infos et les seuils au contrat\n\nDans chaque bloc \"tele/TeleInfo\" et \"mqtt/in\"\nAdapter les paramètres au serveur domtoticz\nDéployer le Flow\n\nDans Domoticz:\n\nVérifier dans les log si les messages MQTT sont bien réceptionnés\nVérifier si les capteurs affichent les données\n","x":410,"y":40,"wires":[]},{"id":"7c350d74.193bc4","type":"switch","z":"34f140f8.a2bfa","name":"RESULT","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"tele/TeleInfo/RESULT","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":100,"y":280,"wires":[["1b669ddb.c2c732"]]},{"id":"1b669ddb.c2c732","type":"json","z":"34f140f8.a2bfa","name":"","property":"payload","action":"","pretty":false,"x":110,"y":360,"wires":[["b13a5fad.22bef","4928abc7.9f50b4","b8bae6b1.845d78","9bd3142f.05cf98","ea2010a9.53948","91aaccbd.44a7","c9b9361f.3f2328","3906e2c8.df91ce"]]},{"id":"b13a5fad.22bef","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":470,"y":120,"wires":[]},{"id":"4928abc7.9f50b4","type":"function","z":"34f140f8.a2bfa","name":"Decode Trame Total","func":"// Récupération des données\n//Préparation requête pour Domoticz\nvar XValue\nXValue= \"\"+ msg.payload.HCHP + \";\" + msg.payload.HCHC +\";0;0;\" + msg.payload.PAPP + \";0\";\n\nmsg.payload = {};\nmsg.payload.idx = 69;\nmsg.payload.svalue = XValue;\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":500,"y":200,"wires":[["566c815d.a5a5d","4e116d.9133ce94"]]},{"id":"566c815d.a5a5d","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":180,"wires":[]},{"id":"e06a0bfe.7bf398","type":"throttle","z":"34f140f8.a2bfa","name":"","throttleType":"time","timeLimit":"5","timeLimitType":"seconds","countLimit":"3","blockSize":0,"locked":false,"x":110,"y":200,"wires":[["7c350d74.193bc4"]]},{"id":"4e116d.9133ce94","type":"mqtt out","z":"34f140f8.a2bfa","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"9a37d1dd.66c5a","x":1090,"y":200,"wires":[]},{"id":"b8bae6b1.845d78","type":"function","z":"34f140f8.a2bfa","name":"Decode Trame KWh HC","func":"// Récupération des données\n//Préparation requête pour Domoticz\nvar XValue\nXValue= msg.payload.PAPP +\";\"+ msg.payload.HCHC;\n\nmsg.payload = {};\nmsg.payload.idx = 67;\nmsg.payload.svalue = XValue;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":510,"y":280,"wires":[["25b79187.4c9bde","4fbad9ef.4d29e8"]]},{"id":"4fbad9ef.4d29e8","type":"mqtt out","z":"34f140f8.a2bfa","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"9a37d1dd.66c5a","x":1090,"y":280,"wires":[]},{"id":"a93412bc.bf78d","type":"mqtt out","z":"34f140f8.a2bfa","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"9a37d1dd.66c5a","x":1090,"y":520,"wires":[]},{"id":"25b79187.4c9bde","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":260,"wires":[]},{"id":"9bd3142f.05cf98","type":"function","z":"34f140f8.a2bfa","name":"Decode Trame KWh HP","func":"// Récupération des données\n//Préparation requête pour Domoticz\nvar XValue\nXValue= msg.payload.PAPP +\";\"+ msg.payload.HCHP;\n\nmsg.payload = {};\nmsg.payload.idx = 68;\nmsg.payload.svalue = XValue;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":510,"y":360,"wires":[["e789ba4a.f437d8","59372fcf.4eb3b"]]},{"id":"59372fcf.4eb3b","type":"mqtt out","z":"34f140f8.a2bfa","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"9a37d1dd.66c5a","x":1090,"y":360,"wires":[]},{"id":"e789ba4a.f437d8","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":340,"wires":[]},{"id":"ea2010a9.53948","type":"function","z":"34f140f8.a2bfa","name":"Decode Trame Charge","func":"// Récupération des données\n//Préparation requête pour Domoticz\nvar XValue\nXValue= \"\"+ Math.round((msg.payload.IINST/msg.payload.ISOUSC)*100);\n\nmsg.payload = {};\nmsg.payload.idx = 71;\nmsg.payload.svalue = XValue;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":500,"y":440,"wires":[["3b94d44c.87a34c","f45557f4.05a298"]]},{"id":"f45557f4.05a298","type":"mqtt out","z":"34f140f8.a2bfa","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"9a37d1dd.66c5a","x":1090,"y":440,"wires":[]},{"id":"3b94d44c.87a34c","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":420,"wires":[]},{"id":"91aaccbd.44a7","type":"function","z":"34f140f8.a2bfa","name":"Decode Trame Current","func":"// Récupération des données\n//Préparation requête pour Domoticz\nvar XValue\nXValue= msg.payload.IINST+\";0;0\";\n\nmsg.payload = {};\nmsg.payload.idx = 70;\nmsg.payload.svalue = XValue;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":500,"y":520,"wires":[["72ded3b2.4e5e1c","a93412bc.bf78d"]]},{"id":"72ded3b2.4e5e1c","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":500,"wires":[]},{"id":"b4e3e8af.7a2818","type":"mqtt out","z":"34f140f8.a2bfa","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"9a37d1dd.66c5a","x":1090,"y":600,"wires":[]},{"id":"c9b9361f.3f2328","type":"function","z":"34f140f8.a2bfa","name":"Decode Trame PTEC","func":"// Récupération des données\n//Préparation requête pour Domoticz\nvar XValue\nif (msg.payload.PTEC==\"HP..\") {\n XValue= \"(2) Heures Pleines\";\n}\nelse XValue= \"(1) Heures Creuses\";\n\nmsg.payload = {};\nmsg.payload.idx = 72;\nmsg.payload.svalue = XValue;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":500,"y":600,"wires":[["f762a514.7927c8","b4e3e8af.7a2818"]]},{"id":"f762a514.7927c8","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":580,"wires":[]},{"id":"aa682529.bceab8","type":"mqtt out","z":"34f140f8.a2bfa","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"9a37d1dd.66c5a","x":1090,"y":680,"wires":[]},{"id":"3906e2c8.df91ce","type":"function","z":"34f140f8.a2bfa","name":"Decode Trame Gestion alerte courant","func":"// Récupération des données\n//Préparation requête pour Domoticz\nvar XValue\nif (msg.payload.IINST<48) {\n XValue= \"(1) < 80% de 60A souscrits\";\n}\nelse if (msg.payload.IINST>=48 & msg.payload.IINST<52) {\n XValue= \"(2) >80% et <90% de 60A souscrits\";\n}\nelse XValue= \"(3) >90% de 60A souscrits\";\n\nmsg.payload = {};\nmsg.payload.idx = 73;\nmsg.payload.svalue = XValue;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":550,"y":680,"wires":[["899a138.e5c52f","aa682529.bceab8"]]},{"id":"899a138.e5c52f","type":"debug","z":"34f140f8.a2bfa","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":660,"wires":[]},{"id":"f9ca7352.9abe8","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.200","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"9a37d1dd.66c5a","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"{\"hwid\":\"19\",\"idx\":56,\"nvalue\":0,\"svalue\":\"959\"}","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Je n'ai pas détaillé comment installer node red, mosquito, platform.io dans VStudio code....
Une recherche sur le net et vous trouverez toutes les infos utiles.
J'espère quand même que ça pourra aider ceux qui comme moi avaient des problèmes avec socat