Skip to content
  • Blog
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Community Forum

  1. Home
  2. Categories
  3. Téléinfo
  4. Téléinfo
  5. Tasmota

Tasmota

Scheduled Pinned Locked Moved Téléinfo
525 Posts 31 Posters 476.3k Views 14 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Barbu DorB Barbu Dor

    @seb-h C'est pas le backlog
    En fait je me suis planté, j'étais persuadé que Div existait
    Seul les 3 autres existent.
    Donc il faut

    ON tele-Wifi#RSSI do backlog var2 %value%; Mul2 0.1 ENDON
    
    19:53:41.719 MQT: tele/esp32dev3/STATE = {"Time":"2022-02-10T19:53:41+01:00","Uptime":"3T21:30:06","UptimeSec":336606,"Heap":85,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Berry":{"HeapUsed":3,"Objects":34},"Wifi":{"AP":1,"SSId":"BNETWLAN","BSSId":"88:C3:97:F2:25:EC","Channel":1,"Mode":"11n","RSSI":98,"Signal":-51,"LinkCount":1,"Downtime":"0T00:00:09"}}
    19:53:41.774 RUL: TELE-WIFI#RSSI performs "backlog var9 98 ; Mult9 0.1"
    19:53:41.887 MQT: stat/esp32dev3/VAR = {"Var9":"98"}
    19:53:42.142 MQT: stat/esp32dev3/MULT = {"Mult9":"9.800"}
    19:55:00.723 RUL: TIME#MINUTE|5 performs "seriallog 2"
    19:55:00.742 MQT: stat/esp32dev3/SERIALLOG = {"SerialLog":{"2":{"Active":"2"}}}
    
    Seb HS Offline
    Seb HS Offline
    Seb H
    wrote on last edited by
    #277

    @barbu-dor
    etrange chez moi ca ne fonctionne toujours pas..
    56b6c0b7-c381-4a6c-a03a-a412b77cda79-image.png

    Barbu DorB 1 Reply Last reply
    • Seb HS Seb H

      @barbu-dor
      etrange chez moi ca ne fonctionne toujours pas..
      56b6c0b7-c381-4a6c-a03a-a412b77cda79-image.png

      Barbu DorB Offline
      Barbu DorB Offline
      Barbu Dor
      wrote on last edited by
      #278

      @seb-h tu peux faire un Rule0 (tout attaché) et copier le résultat ici en texte (pas en image) ?

      Seb HS 1 Reply Last reply
      • Barbu DorB Barbu Dor

        @seb-h tu peux faire un Rule0 (tout attaché) et copier le résultat ici en texte (pas en image) ?

        Seb HS Offline
        Seb HS Offline
        Seb H
        wrote on last edited by
        #279

        @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"}

        Barbu DorB 1 Reply Last reply
        • Seb HS Seb H

          @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"}

          Barbu DorB Offline
          Barbu DorB Offline
          Barbu Dor
          wrote on last edited by
          #280

          @seb-h C'est Mult3 0.1 , pas Mul

          Seb HS 1 Reply Last reply
          • Barbu DorB Barbu Dor

            @seb-h C'est Mult3 0.1 , pas Mul

            Seb HS Offline
            Seb HS Offline
            Seb H
            wrote on last edited by
            #281

            @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"}
            
            Barbu DorB 1 Reply Last reply
            • Seb HS Seb H

              @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"}
              
              Barbu DorB Offline
              Barbu DorB Offline
              Barbu Dor
              wrote on last edited by
              #282

              @seb-h Désolé là je ne vois pas
              Ou tu jette ton ESP8266 et tu passe à un ESP32 avec Berry 😂

              Seb HS 1 Reply Last reply
              • Barbu DorB Barbu Dor

                @seb-h Désolé là je ne vois pas
                Ou tu jette ton ESP8266 et tu passe à un ESP32 avec Berry 😂

                Seb HS Offline
                Seb HS Offline
                Seb H
                wrote on last edited by Seb H
                #283

                @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 ??

                Barbu DorB 1 Reply Last reply
                • Seb HS Seb H

                  @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 ??

                  Barbu DorB Offline
                  Barbu DorB Offline
                  Barbu Dor
                  wrote on last edited by
                  #284

                  @seb-h Non, les messages domoticz ne passent pas par le RulesEngine, ils sont publiés directement sur MQTT

                  Seb HS 2 Replies Last reply
                  • Barbu DorB Barbu Dor

                    @seb-h Non, les messages domoticz ne passent pas par le RulesEngine, ils sont publiés directement sur MQTT

                    Seb HS Offline
                    Seb HS Offline
                    Seb H
                    wrote on last edited by
                    #285

                    @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 ??

                    1 Reply Last reply
                    • Barbu DorB Barbu Dor

                      @seb-h Non, les messages domoticz ne passent pas par le RulesEngine, ils sont publiés directement sur MQTT

                      Seb HS Offline
                      Seb HS Offline
                      Seb H
                      wrote on last edited by
                      #286

                      @barbu-dor
                      Bon alors j'ai "bidouiller" mais ca ne me plait pas des masses . Voici mon rule

                      rule1 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 exemple

                      On 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 ??

                      Barbu DorB 1 Reply Last reply
                      • Seb HS Seb H

                        @barbu-dor
                        Bon alors j'ai "bidouiller" mais ca ne me plait pas des masses . Voici mon rule

                        rule1 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 exemple

                        On 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 ??

                        Barbu DorB Offline
                        Barbu DorB Offline
                        Barbu Dor
                        wrote on last edited by Barbu Dor
                        #287

                        @seb-h
                        Une rule n'est pas limité en terme de triggers, juste en terme de place. A partir d'une certaine taille il compresse. Tu as 512 octet par rule, ce qui représente environ 1500 à 2000 caractères une fois que la compression est utilisée.
                        Une rule doit démarrer par 1 trigger ON trigger[condition optionelle] DO
                        Il faut bien comprendre qu'une rule réagit à une évenement, pas à un état. Donc mettre des AND dans le trigger n'a aucun sens. Tu n'a jamais 2 évenements qui arrivent en même temps.
                        tele-Wifi#RSSI est un trigger qui correspond à l'évenement "Publication de Wifi.RSSI dans le message de Teleperiod"
                        Tu peux effectivement ensuite y ajouter une condition telle que "<10".

                        Quand un évenement survient (ex publication de STATE), Tasmota prend l'evenement et scanne les rules pour les ON xxx DO qui correspondent a ce trigger.
                        Pour un message type STATE ou SESOR, il y a autant d'évenement que de valeurs dans le JSON.

                        Ta solution avec des conditions sur les trigegrs et des IF est un peu trop compliquée. tu peut faire plus simple notamment en utilisant BREAK (voir https://tasmota.github.io/docs/Rules/#using-break-to-simulate-ifelseifelseendif).
                        Dans ton cas tu devrais pouvoir écrire:

                        rule1
                          ON Wifi#RSSI<10 DO var3 0 BREAK 
                          ON Wifi#RSSI<20 DO var3 1 BREAK 
                          ... etc ...
                          ON Wifi#RSSI<100 DO var3 9 BREAK
                          ON Wifi#RSSI>=100 DO var3 10 ENDON
                        

                        (j'ai écrit sur plusieurs lignes pour la lisibilité mais bien sur il faut taper sur une seule)
                        Le fonctionnement est que BREAK stop l'évaluation de la RULE si trigger+condition sont remplie. C'est l'équivalent de :
                        ON Wifi#RSSI DO IF (%value%<10) var3 0 ELSEIF (%value%<20) var3 1 .... ENDIF ENDON
                        C'est le même trigger qui est utilisé mais avec des conditions différentes.
                        Dans la même rule tu peux avoir un autre trigger après tel que ON tele-ENERGY#Power DO var1 %value% ENDON
                        Il s'agit d'un trigger différent donc lorsque le message SENSOR avec ENERGY#Power est envoyé, les premiers ON sont ignoré et les BREAK aussi.

                        Seb HS 1 Reply Last reply
                        • Barbu DorB Barbu Dor

                          @seb-h
                          Une rule n'est pas limité en terme de triggers, juste en terme de place. A partir d'une certaine taille il compresse. Tu as 512 octet par rule, ce qui représente environ 1500 à 2000 caractères une fois que la compression est utilisée.
                          Une rule doit démarrer par 1 trigger ON trigger[condition optionelle] DO
                          Il faut bien comprendre qu'une rule réagit à une évenement, pas à un état. Donc mettre des AND dans le trigger n'a aucun sens. Tu n'a jamais 2 évenements qui arrivent en même temps.
                          tele-Wifi#RSSI est un trigger qui correspond à l'évenement "Publication de Wifi.RSSI dans le message de Teleperiod"
                          Tu peux effectivement ensuite y ajouter une condition telle que "<10".

                          Quand un évenement survient (ex publication de STATE), Tasmota prend l'evenement et scanne les rules pour les ON xxx DO qui correspondent a ce trigger.
                          Pour un message type STATE ou SESOR, il y a autant d'évenement que de valeurs dans le JSON.

                          Ta solution avec des conditions sur les trigegrs et des IF est un peu trop compliquée. tu peut faire plus simple notamment en utilisant BREAK (voir https://tasmota.github.io/docs/Rules/#using-break-to-simulate-ifelseifelseendif).
                          Dans ton cas tu devrais pouvoir écrire:

                          rule1
                            ON Wifi#RSSI<10 DO var3 0 BREAK 
                            ON Wifi#RSSI<20 DO var3 1 BREAK 
                            ... etc ...
                            ON Wifi#RSSI<100 DO var3 9 BREAK
                            ON Wifi#RSSI>=100 DO var3 10 ENDON
                          

                          (j'ai écrit sur plusieurs lignes pour la lisibilité mais bien sur il faut taper sur une seule)
                          Le fonctionnement est que BREAK stop l'évaluation de la RULE si trigger+condition sont remplie. C'est l'équivalent de :
                          ON Wifi#RSSI DO IF (%value%<10) var3 0 ELSEIF (%value%<20) var3 1 .... ENDIF ENDON
                          C'est le même trigger qui est utilisé mais avec des conditions différentes.
                          Dans la même rule tu peux avoir un autre trigger après tel que ON tele-ENERGY#Power DO var1 %value% ENDON
                          Il s'agit d'un trigger différent donc lorsque le message SENSOR avec ENERGY#Power est envoyé, les premiers ON sont ignoré et les BREAK aussi.

                          Seb HS Offline
                          Seb HS Offline
                          Seb H
                          wrote on last edited by Seb H
                          #288

                          @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 !!

                          Seb HS 1 Reply Last reply
                          • Seb HS Seb H

                            @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 !!

                            Seb HS Offline
                            Seb HS Offline
                            Seb H
                            wrote on last edited by Seb H
                            #289

                            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
                            f597db99-9637-4f39-ab38-e2720a4a3885-image.png
                            Du coup, je vais essayer avec un 1k pour voir si il y a une différence

                            Barbu DorB 1 Reply Last reply
                            • Seb HS Seb H

                              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
                              f597db99-9637-4f39-ab38-e2720a4a3885-image.png
                              Du coup, je vais essayer avec un 1k pour voir si il y a une différence

                              Barbu DorB Offline
                              Barbu DorB Offline
                              Barbu Dor
                              wrote on last edited by
                              #290

                              @seb-h Le mieux serait si tu avais un oscilloscope pour regarder la tête du signal
                              Sinon, il va falloir procéder à tatons

                              Seb HS 1 Reply Last reply
                              • Barbu DorB Barbu Dor

                                @seb-h Le mieux serait si tu avais un oscilloscope pour regarder la tête du signal
                                Sinon, il va falloir procéder à tatons

                                Seb HS Offline
                                Seb HS Offline
                                Seb H
                                wrote on last edited by
                                #291

                                @barbu-dor A priori avec une 1K ca roulerait.... C'est quoi la valeur qu'on doit obtenir à l'oscillo ??

                                Barbu DorB 1 Reply Last reply
                                • Seb HS Seb H

                                  @barbu-dor A priori avec une 1K ca roulerait.... C'est quoi la valeur qu'on doit obtenir à l'oscillo ??

                                  Barbu DorB Offline
                                  Barbu DorB Offline
                                  Barbu Dor
                                  wrote on last edited by
                                  #292

                                  @seb-h Avec un oscillo c'est pas une valeur qu'il faut chercher mais un signal propre en sortie du transistor
                                  Résistance trop forte, la led de l'opto ne s'allume pas ou pas assez et le transistor ne vas pas ou pas assez conduire
                                  Résistance trop faible, tu vas saturer la led, risque d'usure prématurée.
                                  Article de Charles : https://hallard.me/demystifier-la-teleinfo/

                                  Seb HS 1 Reply Last reply
                                  • Barbu DorB Barbu Dor

                                    @seb-h Avec un oscillo c'est pas une valeur qu'il faut chercher mais un signal propre en sortie du transistor
                                    Résistance trop forte, la led de l'opto ne s'allume pas ou pas assez et le transistor ne vas pas ou pas assez conduire
                                    Résistance trop faible, tu vas saturer la led, risque d'usure prématurée.
                                    Article de Charles : https://hallard.me/demystifier-la-teleinfo/

                                    Seb HS Offline
                                    Seb HS Offline
                                    Seb H
                                    wrote on last edited by
                                    #293

                                    @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.

                                    991a9e19-808c-4d2c-9534-c789f57135dc-image.png
                                    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

                                    13344591-eb2a-4747-a4e9-9b1af71858b7-image.png

                                    puis un peu plus bas dans l'article on trouve celui là

                                    bf90a1f7-d523-4808-a99c-ba651db5e718-image.png

                                    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 ....

                                    Barbu DorB 1 Reply Last reply
                                    • Seb HS Seb H

                                      @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.

                                      991a9e19-808c-4d2c-9534-c789f57135dc-image.png
                                      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

                                      13344591-eb2a-4747-a4e9-9b1af71858b7-image.png

                                      puis un peu plus bas dans l'article on trouve celui là

                                      bf90a1f7-d523-4808-a99c-ba651db5e718-image.png

                                      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 ....

                                      Barbu DorB Offline
                                      Barbu DorB Offline
                                      Barbu Dor
                                      wrote on last edited by
                                      #294

                                      @seb-h L'article que je t'ai lié date de 2015
                                      A l'époque Charles avait déterminé une valeur de 1.2K
                                      Plus recemment il est passé à 220 ohms.
                                      La resistance en sortie de l'opto n'a pas grande importance, on n'est pas dans un contexte d'electronique analogique. Elle polarise la Gate du BSS138 vers le 0V quand le transistor de l'opto ne conduit pas. Il ne faut pas qu'elle soit trop faible(<~ 2K) sinon le transistor de l'opto aura du mal a monter la Gate du BSS à VCC et le BSS ne conduira pas. Trop forte (>100K), la polarisation sera trop faible et la Gate ne redescendra pas a 0V a cause des capas internes du BSS.
                                      Pour la résistance série de la LED, la LTV814 est donnée pour un courant max de 50mA (Absolute Maximum Rating)
                                      La tension de fonctionnement de la LED est de 1.2V nominal. Donc en théorie, la valeur minimal de la resistance doit être (Vmax - 1.2V)/0.050
                                      Avec 220 ohms, c'est ok jusqu'à une tension crête de 11V entre les bornes I1 et I2 du Linky (a mesurer en charge avec le circuit teleinfo branché, pas a vide).
                                      Le doc Enedis-NOI-CPT_54E ne donne pas pas les infos de tension mais fait référence à la norme EURIDIS EN 62056-3-1 que jen'ai pas (payante).
                                      Sur mon Liny triphasé, j'ai pratiquement 5V crète a crète sur I1/I2 lorsque le circuit est branché avec une résistance de 220 ohms:
                                      d488c32b-b7aa-4fbf-a46d-6621daa8e4e0-image.png

                                      Seb HS SebHS 2 Replies Last reply
                                      • Barbu DorB Barbu Dor

                                        @seb-h L'article que je t'ai lié date de 2015
                                        A l'époque Charles avait déterminé une valeur de 1.2K
                                        Plus recemment il est passé à 220 ohms.
                                        La resistance en sortie de l'opto n'a pas grande importance, on n'est pas dans un contexte d'electronique analogique. Elle polarise la Gate du BSS138 vers le 0V quand le transistor de l'opto ne conduit pas. Il ne faut pas qu'elle soit trop faible(<~ 2K) sinon le transistor de l'opto aura du mal a monter la Gate du BSS à VCC et le BSS ne conduira pas. Trop forte (>100K), la polarisation sera trop faible et la Gate ne redescendra pas a 0V a cause des capas internes du BSS.
                                        Pour la résistance série de la LED, la LTV814 est donnée pour un courant max de 50mA (Absolute Maximum Rating)
                                        La tension de fonctionnement de la LED est de 1.2V nominal. Donc en théorie, la valeur minimal de la resistance doit être (Vmax - 1.2V)/0.050
                                        Avec 220 ohms, c'est ok jusqu'à une tension crête de 11V entre les bornes I1 et I2 du Linky (a mesurer en charge avec le circuit teleinfo branché, pas a vide).
                                        Le doc Enedis-NOI-CPT_54E ne donne pas pas les infos de tension mais fait référence à la norme EURIDIS EN 62056-3-1 que jen'ai pas (payante).
                                        Sur mon Liny triphasé, j'ai pratiquement 5V crète a crète sur I1/I2 lorsque le circuit est branché avec une résistance de 220 ohms:
                                        d488c32b-b7aa-4fbf-a46d-6621daa8e4e0-image.png

                                        Seb HS Offline
                                        Seb HS Offline
                                        Seb H
                                        wrote on last edited by Seb H
                                        #295

                                        @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 ?

                                        Barbu DorB 2 Replies Last reply
                                        • Seb HS Seb H

                                          @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 ?

                                          Barbu DorB Offline
                                          Barbu DorB Offline
                                          Barbu Dor
                                          wrote on last edited by
                                          #296

                                          @seb-h

                                          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.

                                          Ce n'est pas la tension, c'est le courant que tu contrôle. La résistance ne reduit pas la tension mais le courant. Une résistance s'opposse au passage du courant.
                                          Quand la led est parcourue par un courant suffisant (~1mA), la tension à ses bornes est limitée à 1.2V. C'est une propriété des diodes. Si tu branches une LED sur une source de tension sans résistance, la LED ne limite pas le courant et si le courant dépase le max elle grille.
                                          Donc la résistance est là pour que lorsque la tension au bornes du Linky est max, le courant ne soit pas plus fort que le max qu'elle peut suppporter.
                                          Si la tension crete-a-crete du Linky est de 10V, avec une résistance de 1.2K, le courant qui va traverser la résistance est de (10-1.2)/1200 = 7mA
                                          C'est normalement suffisant pour faire marcher la LED et faire conduire l'opto-transistor.
                                          Par contre si ton linky ne donne que 5Vcac comme le mien, alors le courant n'est plus que de 3mA ce qui pourrait être un peu juste.
                                          Dans mon cas, avec 5Vcac et une resistance de 220 ohm, le courant max qui va traverser le circuit est de 17mA. Ce qui est très bien.

                                          Pour ce qui est des 5m, cela peut être un problème, non pas pour des parasites mais plus pour des déformations de signal que cela peut engendrer.
                                          Ci dessous, en bleu ce que tu dois avoir aux bornes de l'entrée du circuit et en rouge aux bornes de la LED
                                          41213082-1cdd-4f74-9986-184131cb3464-image.png

                                          1 Reply Last reply

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          0

                                          Online

                                          5.8k

                                          Users

                                          565

                                          Topics

                                          5.3k

                                          Posts

                                          Top Topics

                                          Popular Tags

                                          teleinfo
                                          25 topics
                                          arduino
                                          19 topics
                                          remora
                                          16 topics
                                          esp8266
                                          10 topics
                                          arduipi
                                          10 topics
                                          raspberry
                                          8 topics
                                          wifinfo
                                          7 topics
                                          broadcast
                                          7 topics
                                          Copyright © 2022 Charles-Henri Hallard | Return to blog page | Powered by NodeBB
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Blog
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups