@barbu-dor
Hier j'étais en v10 et je viens de passer ce matin à la même version que toi et j'ai pas constater de différence.
Par le passé j'étais en v9.5 et j'avais déjà ce soucis de temps à autre d'erreur de checksum de temps à autre. Hier en v10 et c'est la que j'ai testé la 220 ohms sur wemos d1 esp8266
En tout cas, merci pour tout tes détails, je vais regarder à l'oscillo de plus prêt
Posts made by Seb H
-
RE: Tasmota
-
RE: Tasmota
@barbu-dor
Ok je vais brancher l'oscillo à l'entrée du module téléinfo pour voir la tension crête à crête . Donc tu dis 11v max avec une 220 ohms ?Au final, l'objectif c'est d'avoir un maxi de 1.2V mesuré entre les pin 1 & 2 de l'opto !
La résistance te permet de faire chuter la tension d'entrée .Maintenant, ce que je pige pas, c'est qu'avec une résistance de 1.5K traversé par une intensité de 50Ma , donc tu dois avoir 75V à ses bornes ce qui est énorme. Plus tu augmentes cette résistance plus tu fais chuter la tension du signal en entrée, plus tu la réduis puis ta tension augmente aux bornes de l'opto.
Donc pourquoi avec une 1.5K, j'ai des erreurs de checksum temps a autre, et avec une 330 , les erreurs sont explosives !! Je suis redescendu a 1K depuis , et ca avait l'air de rentrer dans l'ordre mais ce matin j'ai revu une erreur passé, donc j'ai du mal à comprendre...
Maintenant, il faut noté que j'ai plus de 5m de distance entre le linky et mon module de décodage, et c'est du cable de téléphone sans blindage qui assure la liaison. Je récupère peut être des parasites sur la distance tout simplement. Qu'en pense tu ?
-
RE: Tasmota
@barbu-dor
Merci pour le lien , j'ai pu suivre toutes les évolutions sur le développement du module depuis le départ (sans le transistor et maintenant avec).D'origine, dans mon cas, voici le schéma que j'utilise.
Je n'ai jamais eu de problème avec les vieux compteurs blanc, uniquement avec mon linky en mode standard ou de temps à autre j'avais un checksum err qui remontait dans le log (après à noter que j'ai au moins 5m de liaison entre le compteur et le module de décodage ).J'ai pu voir sur les dernières platines de Charles, que c'est une résistance de 1.2K qui était utilisé.
Sur la doc de tasmota/téléinfo, 2 schémas sont communiqués. En tout 1er, celui ci
puis un peu plus bas dans l'article on trouve celui là
Donc , 2 schémas différents sur la même page, donc j'en déduis que le bon a prendre est bien celui avec une résistance de 1.2K ? Par contre, qu'en est il pour la résistance entre la broche 3 de l'opto et la mase , car chez moi je suis à 10K ?? Ma tension Vcc d'alim est +5V , aucun impact en fonction des résistances ?
Je vais récupérer un oscillo pour jeter un coup d’œil, mais quoi qu'il en soit en dessous de 1.2K çà commence a devenir chaud pour l'opto au risque d'usure ....
-
RE: Tasmota
@barbu-dor A priori avec une 1K ca roulerait.... C'est quoi la valeur qu'on doit obtenir à l'oscillo ??
-
RE: Tasmota
sinon pour info sur mon linky dans la console de temps à autre, je pouvais voir une erreur qui passait de temps a autre. J'avais une résistance de 1.5K en amont de l'optocoupleur. Je l'ai remplacé par une 220 ohms et c'est le drame !! Ca n'arrête plus
Du coup, je vais essayer avec un 1k pour voir si il y a une différence -
RE: Tasmota
@barbu-dor
Super merci beaucoup. Je ne voyais pas trop comment fonctionnait le BREAK au départ, mais a tête bien posé et écris comme tu la fait ligne par ligne, c'est super visible et compréhensible
Du coup, tu n'écris qu'une seule fois dans VAR3 !!
Ca fonctionne top !! -
RE: Tasmota
@barbu-dor
Bon alors j'ai "bidouiller" mais ca ne me plait pas des masses . Voici mon rulerule1 On tele-ENERGY#Power do var1 %value% endon On tele-Wifi#RSSI<30 do If Wifi#RSSI>=20 ; Var3 2 endif endon On tele-Wifi#RSSI<40 do If Wifi#RSSI>=30 ; Var3 3 endif endon On tele-Wifi#RSSI<50 do If Wifi#RSSI>=40 ; Var3 4 endif endon On tele-Wifi#RSSI<60 do If Wifi#RSSI>=50 ; Var3 5 endif endon On tele-Wifi#RSSI<70 do If Wifi#RSSI>=60 ; Var3 6 endif endon On tele-Wifi#RSSI<80 do If Wifi#RSSI>=70 ; Var3 7 endif endon On tele-Wifi#RSSI<90 do If Wifi#RSSI>=80 ; Var3 8 endif endon On tele-Wifi#RSSI<=100 do If Wifi#RSSI>=90 ; Var3 9 endif endon On tele-TIC#EASF01 do publish domoticz/in {"idx":26,"nvalue":0,"svalue":"0;%value%;0.0;0.0;%var1%;0","Battery":100,"RSSI":%var3%} endon
Voici le retour que ca me donne
09:09:47.433 RUL: TELE-WIFI#RSSI<80 performs "If Wifi#RSSI>=70 ; Var3 7 endif" 09:09:47.437 MQT: stat/tasmota_A1AE2F/RESULT = {"If":"Done"} 09:09:47.444 RUL: TELE-WIFI#RSSI<90 performs "If Wifi#RSSI>=80 ; Var3 8 endif" 09:09:47.448 MQT: stat/tasmota_A1AE2F/RESULT = {"If":"Done"} 09:09:47.454 RUL: TELE-WIFI#RSSI<=100 performs "If Wifi#RSSI>=90 ; Var3 9 endif" 09:09:47.460 MQT: stat/tasmota_A1AE2F/RESULT = {"If":"Done"}
Dès que j'ai un trigger qui rempli ma condition, il execute la commande !
En fait ce qui m'arrangerait c'est dans le TRIGGER de tester de suite la plage ou se trouve WIFI#RSSI , par exempleOn tele-Wifi#RSSI>20 AND tele-Wifi#RSSI <30 do Var3 2 endon
J'ai testé cette commande , mais il ne prend en compte que tele-Wifi#RSSI>20
Concernant chaque RULE , c'est limité a 10 trigger ??
-
RE: Tasmota
@barbu-dor
Si je déclare une variable publique dans la source ou je recopie la valeur de DomoticzRssiQuality et je réutilise cette variable pour le rule ?? Bon j'avoue que ca commence a être compliqué..Sinon peut être une autre idée plus simple mais très certainement plus longue à écrire.
Si Wifi#RSSI<20 DO var3=1 ENDON Si Wifi#RSSI<30 AND >20 DO var3=2 etc...
En fait, le but est de d'obtenir un chiffre unique entre 1 et 10 à partir du RSSI sur 2 chiffre.. Je vais regarder pour essayer de m'en sortir, sinon je viendrais demander de l'aide. C'est beaucoup plus faisable ma 2è option ??
-
RE: Tasmota
@barbu-dor
C'est ballot ca dis donc... on peut pas faire d'arrondi avec un esp8266 !! LOL !!
Pourtant dans la trame domoticz/in que tasmota te fait en renseignant un numéro idx, il te sort bien en dernier un chiffre représentatif de la qualité de réception du signal. On pourrait récupérer directement cette variable utilisé pour l'utiliser directement dans le rule au lieu de s'ennuyer a calculer ?? Dans le module xdrv_07_domoticz, la valeur qui m'interesse est stocker dans DomoticzRssiQuality. On a pas un moyen simple de la récupérer pour mon rule ?? -
RE: Tasmota
@barbu-dor
Rohh le blaireau qui a de le m.... dans les yeux.
Effectivement ca fonctionne !!
En revanche, maintenant domoticz m'ennuye car il y a une virgule... Tu aurais pas une fonction qui me permet d'arrondir l'ensemble sans virgule stp ?21:25:26.470 MQT: domoticz/in = {"idx":26,"nvalue":0,"svalue":"0;2747719;0.0;0.0;337;0","Battery":100,"RSSI":6.800} 21:25:26.671 MQT: stat/tasmota_A1AE2F/RESULT = {"Var3":"70"} 21:25:26.873 MQT: stat/tasmota_A1AE2F/RESULT = {"Mult3":"7.000"}
-
RE: Tasmota
@barbu-dor
Aucun soucis désolé
20:43:46.216 CMD: rule0
20:43:46.221 MQT: stat/tasmota_A1AE2F/RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":236,"Free":275,"Rules":"on tele-ENERGY#Power do var1 %value% endon on tele-Wifi#RSSI do backlog Var3 %value%; Mul3 0.1 endon on tele-TIC#EASF01 do publish domoticz/in {"idx":26,"nvalue":0,"svalue":"0;%value%;0.0;0.0;%var1%;0","Battery":100,"RSSI":%var3%} endon"}}
20:43:46.230 MQT: stat/tasmota_A1AE2F/RESULT = {"Rule2":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
20:43:46.237 MQT: stat/tasmota_A1AE2F/RESULT = {"Rule3":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
20:43:46.416 MQT: tele/tasmota_A1AE2F/STATE = {"Time":"2022-02-10T20:43:46","Uptime":"0T02:44:14","UptimeSec":9854,"Heap":22,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Wifi":{"AP":1,"SSId":"Sylvia&Seb","BSSId":"14:91:82:FC:0E:ED","Channel":1,"Mode":"11n","RSSI":64,"Signal":-68,"LinkCount":1,"Downtime":"0T00:00:03"}}
20:43:46.426 RUL: TELE-WIFI#RSSI performs "backlog Var3 64; Mul3 0.1"
20:43:46.441 MQT: tele/tasmota_A1AE2F/SENSOR = {"Time":"2022-02-10T20:43:46","ENERGY":{"TotalStartTime":"2022-02-10T17:59:38","Total":3860.279,"Yesterday":0.000,"Today":1.335,"Period": 1,"Power":394,"ApparentPower":444,"ReactivePower":205,"Factor":0.89,"Voltage":222,"Current":2.000,"Load":33},"TIC":{"ADSC":"061961361253","VTIC":2,"NGTF":" BASE ","LTARF":" BASE ","EAST":3860279,"EASF01":2747544,"EASF02":1112735,"EASF03":0,"EASF04":0,"EASF05":0,"EASF06":0,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":2747544,"EASD02":1112735,"EASD03":0,"EASD04":0,"IRMS1":2,"URMS1":222,"PREF":6,"PCOUP":6,"SINSTS":394,"SMAXSN":2608,"SMAXSN-1":2180,"CCASN":810,"CCASN-1":268,"UMOY1":221,"STGE":"003A0001","PRM":2147483647,"RELAIS":0,"NTARF":1,"NJOURF":0,"NJOURF+1":0}}
20:43:46.448 RUL: TELE-ENERGY#POWER performs "var1 394"
20:43:46.453 MQT: stat/tasmota_A1AE2F/RESULT = {"Var1":"394"}
20:43:46.464 RUL: TELE-TIC#EASF01 performs "publish domoticz/in {"idx":26,"nvalue":0,"svalue":"0;2747544;0.0;0.0;394;0","Battery":100,"RSSI":70}"
20:43:46.469 MQT: domoticz/in = {"idx":26,"nvalue":0,"svalue":"0;2747544;0.0;0.0;394;0","Battery":100,"RSSI":70}
20:43:46.671 MQT: stat/tasmota_A1AE2F/RESULT = {"Var3":"64"}
20:43:46.872 MQT: stat/tasmota_A1AE2F/RESULT = {"Command":"Unknown"} -
RE: Tasmota
@barbu-dor
ON tele-Wifi#RSSI do backlog var2 %value%; div2 10 ENDON
Il n'aime pas l'insertion de "backlog" et du coup il me rajoute textuellement dans l'envoie de la commande ; div2 10 -
RE: Tasmota
@barbu-dor
Je viens de tester le rule que tu m'as écrit. Ca fonctionne impeccable. Par contre j'aimerais faire une petite modif ou je ne m'en sort pas seul. La valeur que me renvoit Wifi#RSSI doit être divisé par 10 et doit être arrondi. En gros je dois avoir une valeur entre 1 et 10. J'ai tenté " tele-Wifi#RSSI do var2 %value%/10" mais en fait il ne fait pas le calcul et me rajoute "/10" tout simplement. Comment pourrais je faire stp ?? -
RE: Tasmota
@barbu-dor
Super simple, faut connaitre le groupe et le non de la variable que tu veux stocker dans une VAR. Tu as une doc qui regroupe toutes ces infos ??En tout cas merci beaucoup , je vais pouvoir tester ça.
-
RE: Tasmota
@barbu-dor
Merci de t'être plongé dans le code. Il y a donc bien un soucis avec l'envoit automatique de la trame domoticz et teleinfo.. En tout cas, ça fonctionnait en v9.4, sauf qu'il fallait bien réinitialiser les compteurs à la première mise sous tension, sinon il y avait aussi un décalage...
Bah je vais tester par les rules , je vous dirais. Donc pour la puissance ENERGY#Power, pour les index TIC#EASF01 ou EASF02 etc... par contre tu récupères comment la valeur du RSSID de ton wifi(afin de le mettre dans une VAR comme pour le reste ) pour le mettre à jour en auto dans la trame domoticz ?? -
RE: Tasmota
@barbu-dor Oui bien sur , setoption72 à 1, te permet de dupliquer l'index de ton compteur dans le compteur total de tasmota.
Question : Toujours dans le cadre de la tarification HP/HC, comment cela doit se passer avec cette option active ??
Car aujourd'hui dans la trame domoticz, c'est le compteur total tasmota qui est envoyé (du moins en v 9.4) -
RE: Tasmota
@barbu-dor
Ok ca marche, pour activer l'envoie d'une trame domoticz (même si tu l'utilises pas), il suffit d'aller dans la config , tu choisis domoticz, et dans l'onglet P1 SmartMeter , tu renseignes un numéro idx (normalement fournit par domoticz quand tu créer ton compteur)
Je t'ai fait un petit recap des informations qui peuvent être renseigner dans la trame domoticz
Tu as aussi ce lien qui explique le contenue de la trame
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's#Electricity_P1_smart_meter
Merci d'avance -
RE: Tasmota
@barbu-dor
Voici une copie de mon tasmota fonctionnel en v 9.4
Donc dans cet exemple energytotal est a 2717233 , donc sur la ligne juste au dessus, tu retrouves la trame qui part vers domoticz et tu trouve la copie conforme du compteur total de tasmota.Avec la nouvelle version, tu as un décalage entre le compteur total de tasmota et le compteur qui est envoyé a domoticz. Sur mon précédent exemple, dans les 2 dernières lignes le compteur total est a 3829905 et il est envoyé a domoticz 3791606, j'arrive pas a expliquer cette différence de comptage
Et l'autre chose, c'est dans le cas d'une tarification HP/HC, en v9.4, l'envoit vers domoticz ne fonctionnait pas non plus alors qu'il me semble que le code est prévu pour . Mais bon chez moi je suis passé en tarif unique . J'irais testé chez un pote avec les rules que tu m'as écris
Sinon ok pour la commande energyreset , mais pourtant cette commande apparait toujours sur la doc du site..
-
RE: Tasmota
@barbu-dor fausse alerte, aucun problème de code mais plutot un problème avec mon Wemos qui est défectueux (pourtant il est tout neuf). J'ai repris la dernière version , j'ai reflashé, j'ai retesté en historique et ca ne fonctionnait plus. Du coup, j'ai flashé la v9 et idem.
J'ai retesté avec un nouveau wemos, et ca fonctionne bien soit en standard soit historique, donc toutes mes excuses c'était mon wemos qui fichait le cirque. Par contre l'envoit de données vers domoticz ne fonctionne plus avec cette version, et ca fonctionnait bien en 9.4. A savoir j'ai la setoption72 qui est actif
En fait dans la trame de domoticz on doit retrouver l'état de l'index du compteur total et c'est pas le cas, on est un petit peu différent...
Autre chose que je relève, la commande energyreset ne fonctionne plus