Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. ESPEasy Rules Mehrfach Trigger und Timer

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ESPEasy Rules Mehrfach Trigger und Timer

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Dieter_P @Maddin77 last edited by Dieter_P

      @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

      Hallo

      kann mir vielleicht jemand helfen,

      ich habe ein Rules erstellt um GPIO´s mit vers, bedingen zu schalten

      jetzt würde ich gerne mehrere Trigger setzten
      do HPStufe#AutoEin on
      endon
      geht noch
      aber weder or oder OR: funktioniert

      gewollt wäre
      do HPStufe#AutoEin or Heizstab_Stufe_ist#Stufe on
      endon
      geht nicht mehr

      Der Teil hinter do ist die Action und nicht der Trigger.

      entsprechen funktioniert:

      ..... do 
      HPStufe#AutoEin on // Schreibweise anpassen um die Aktion auszuführen
      Heizstab_Stufe_ist#Stufe on // Schreibweise anpassen um die Aktion auszuführen
      endon
      
      M 1 Reply Last reply Reply Quote 0
      • D
        Dieter_P @Maddin77 last edited by

        @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

        weiterhin wollte ich 2 Timer nutzen
        damit 2 Gpio´s verzögert geschalten werden, auch das klappt nicht so wie gedacht

        Ein delay konnte ich noch nicht finden und timmer finde ich immer sehr unschön. vom prinzip brauchst du aber für den Timer wieder einen Trigger:

        On System#Boot do    //When the ESP boots, do
          timerSet,1,10      //Set Timer 1 for the next event in 10 seconds
        endon
        
        On Rules#Timer=1 do  //When Timer1 expires, do
          GPIO,1,1
        endon
        
        M 2 Replies Last reply Reply Quote 0
        • M
          Maddin77 @Dieter_P last edited by

          @dieter_p sagte in ESPEasy Rules Mehrfach Trigger und Timer:

          @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

          Hallo

          kann mir vielleicht jemand helfen,

          ich habe ein Rules erstellt um GPIO´s mit vers, bedingen zu schalten

          jetzt würde ich gerne mehrere Trigger setzten
          do HPStufe#AutoEin on
          endon
          geht noch
          aber weder or oder OR: funktioniert

          gewollt wäre
          do HPStufe#AutoEin or Heizstab_Stufe_ist#Stufe on
          endon
          geht nicht mehr

          Der Teil hinter do ist die Action und nicht der Trigger.

          entsprechen funktioniert:

          ..... do 
          HPStufe#AutoEin on // Schreibweise anpassen um die Aktion auszuführen
          Heizstab_Stufe_ist#Stufe on // Schreibweise anpassen um die Aktion auszuführen
          endon
          

          danke erst mal
          ich scheibe später mal die genaue Rule rein

          1 Reply Last reply Reply Quote 0
          • M
            Maddin77 @Dieter_P last edited by

            @dieter_p sagte in ESPEasy Rules Mehrfach Trigger und Timer:

            @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

            weiterhin wollte ich 2 Timer nutzen
            damit 2 Gpio´s verzögert geschalten werden, auch das klappt nicht so wie gedacht

            Ein delay konnte ich noch nicht finden und timmer finde ich immer sehr unschön. vom prinzip brauchst du aber für den Timer wieder einen Trigger:

            On System#Boot do    //When the ESP boots, do
              timerSet,1,10      //Set Timer 1 for the next event in 10 seconds
            endon
            
            On Rules#Timer=1 do  //When Timer1 expires, do
              GPIO,1,1
            endon
            

            auch hier liefere ich die genaue Rule nach
            dann ist es besser

            1 Reply Last reply Reply Quote 0
            • M
              Maddin77 @Dieter_P last edited by Maddin77

              @dieter_p

              Hier nun die Rules 1

              on System#Boot do GPIO,32,0 // Rel1 GPIO,33,0 // Rel2 GPIO,25,0 // Rel3 GPIO,26,0 // Rel4 GPIO,27,0 // Rel5 GPIO,14,0 // Rel6 GPIO,12,0 // Rel7 GPIO,13,0 // Rel8 endon on Heizung_Puffer_mqtt#stufe_soll do If [Heizung_Puffer_mqtt#stufe_soll]<=0 //AUS GPIO,32,0 // Rel1 GPIO,33,0 // Rel2 GPIO,25,0 // Rel3 GPIO,26,0 // Rel4 GPIO,27,0 // Rel5 TaskValueSet 9,1,0 // Status#Stufe Plugin 16,Variable 1,Wert 0 Elseif [Heizung_Puffer_mqtt#stufe_soll]=1 //AUS GPIO,33,0 // Rel2 GPIO,25,0 // Rel3 GPIO,26,0 // Rel4 GPIO,27,0 // Rel5 //EIN GPIO,32,1 // Rel1 TaskValueSet 9,1,1 // Status#Stufe Plugin 16,Variable 1,Wert 1 	 Elseif [Heizung_Puffer_mqtt#stufe_soll]=2 //AUS GPIO,32,0 // Rel1 GPIO,33,0 // Rel2 GPIO,26,0 // Rel4 //EIN GPIO,27,1 // Rel5 timerSet,1,5 // für Rel3 in Stufe 2 TaskValueSet 9,1,2 // Status#Stufe Plugin 16,Variable 1,Wert 2 	 Elseif [Heizung_Puffer_mqtt#stufe_soll]=3 //AUS GPIO,32,0 // Rel1 GPIO,25,0 // Rel3 GPIO,26,0 // Rel4 GPIO,27,0 // Rel5 //EIN GPIO,33,1 // Rel2 TaskValueSet 9,1,3 // Status#Stufe Plugin 16,Variable 1,Wert 3 	 Elseif [Heizung_Puffer_mqtt#stufe_soll]=4 //AUS GPIO,32,0 // Rel1 GPIO,26,0 // Rel4 //EIN GPIO,33,1 // Rel2 GPIO,27,1 // Rel5 timerSet,2,5 // für Rel3 in Stufe 4 TaskValueSet 9,1,4 // Status#Stufe Plugin 16,Variable 1,Wert 4 	 Elseif [Heizung_Puffer_mqtt#stufe_soll]=5 //AUS GPIO,26,0 // Rel4 GPIO,27,0 // Rel5 //EIN GPIO,32,1 // Rel1 GPIO,33,1 // Rel2 GPIO,25,1 // Rel3 TaskValueSet 9,1,5 // Status#Stufe Plugin 16,Variable 1,Wert 5	 	 Elseif [Heizung_Puffer_mqtt#stufe_soll]=6 //AUS GPIO,25,0 // Rel3 GPIO,26,0 // Rel4 GPIO,27,0 // Rel5 //EIN GPIO,32,1 // Rel1 GPIO,33,1 // Rel2 GPIO,26,1 // Rel4 TaskValueSet 9,1,6 // Status#Stufe Plugin 16,Variable 1,Wert 6		 		 Else //AUS GPIO,32,0 // Rel1 GPIO,33,0 // Rel2 GPIO,25,0 // Rel3 GPIO,26,0 // Rel4 GPIO,27,0 // Rel5 TaskValueSet 9,1,0 // Status#Stufe Plugin 16,Variable 1,Wert 0 endif endon On Rules#Timer=1 do If [Heizung_Puffer_mqtt#stufe_soll]=2 //and [GPIO27#value]=1 GPIO,25,1 // Rel3 nach Ablauf Timer1 / St2 endif endon On Rules#Timer=2 do If [Heizung_Puffer_mqtt#stufe_soll]=4 // and [GPIO27#value]=1 GPIO,25,1 // Rel3 nach Ablauf Timer1 / St2 endif endon
              

              Und Rule 3

              on System#Boot do
              //Aus
              TaskValueSet 27,1,0 //Auto
              TaskValueSet 27,2,0 //Man
              TaskValueSet 27,3,1 //Aus
              endon
              
              on Rules#Timer=5 do
              
              //On SWAuto#AutoEin  Do
              
              If [SWAuto#AutoEin]=1 And [SWMan#ManEin]=0
              
              //Auto
              TaskValueSet 27,1,1 //Auto
              TaskValueSet 27,2,0 //Man
              TaskValueSet 27,3,0 //Aus
              
              Elseif  [SWAuto#AutoEin]=0 And [SWMan#ManEin]=1
              //Man
              TaskValueSet 27,1,0 //Auto
              TaskValueSet 27,2,1 //Man
              TaskValueSet 27,3,0 //Aus
              
              Else
              //Aus
              TaskValueSet 27,1,0 //Auto
              TaskValueSet 27,2,0 //Man
              TaskValueSet 27,3,1 //Aus
              Endif
              Endon
              

              Jetzt soll mit der Rule 3 eine
              Manuel / Automatik / Aus
              Erzeugt werden
              Und damit die Rule 1 bei Aus deaktiviert werden
              Bei Automatik ganz normal laufen und bei Manuel eine feste Stufe aktiviert werden

              Einzel läuft alles
              Aber sobald ich Rule 1 trigger hinzufüge geht nichts mehr
              Und die Timer laufen auch nicht wirklich

              1 Reply Last reply Reply Quote 0
              • M
                Maddin77 last edited by

                Das hab ich noch probiert
                Rules alles in eine und

                on System#Boot do
                    GPIO,32,0 // Rel1
                    GPIO,33,0 // Rel2
                    GPIO,25,0 // Rel3
                    GPIO,26,0 // Rel4  
                    GPIO,27,0 // Rel5
                    GPIO,14,0 // Rel6
                    GPIO,12,0 // Rel7
                    GPIO,13,0 // Rel8
                //Aus
                TaskValueSet 27,1,0 //Auto
                TaskValueSet 27,2,0 //Man
                TaskValueSet 27,3,1 //Aus   
                
                  LoopTimerSet,1,6
                endon
                
                on Rules#Timer=1 do
                
                //On SWAuto#AutoEin  Do
                
                If [SWAuto#AutoEin]=1 And [SWMan#ManEin]=0
                //Auto
                TaskValueSet 27,1,1 //Auto
                TaskValueSet 27,2,0 //Man
                TaskValueSet 27,3,0 //Aus
                
                Elseif  [SWAuto#AutoEin]=0 And [SWMan#ManEin]=1
                //Man
                TaskValueSet 27,1,0 //Auto
                TaskValueSet 27,2,1 //Man
                TaskValueSet 27,3,0 //Aus
                
                Else
                //Aus
                TaskValueSet 27,1,0 //Auto
                TaskValueSet 27,2,0 //Man
                TaskValueSet 27,3,1 //Aus
                Endif
                
                
                //Endon
                
                //on Heizung_Puffer_mqtt#stufe_soll do
                
                  If [Heizung_Puffer_mqtt#stufe_soll]<=0 And [HPModus#Auto]=1
                    //AUS
                    GPIO,32,0 // Rel1
                    GPIO,33,0 // Rel2
                    GPIO,25,0 // Rel3
                    GPIO,26,0 // Rel4  
                    GPIO,27,0 // Rel5
                    TaskValueSet 9,1,0 // Status#Stufe Plugin 9,Variable 1,Wert 0
                  
                  Elseif [Heizung_Puffer_mqtt#stufe_soll]=1 And [HPModus#Auto]=1
                    //AUS
                    GPIO,33,0 // Rel2
                    GPIO,25,0 // Rel3
                    GPIO,26,0 // Rel4 
                    GPIO,27,0 // Rel5
                     //EIN
                    GPIO,32,1 // Rel1
                    TaskValueSet 9,1,1 // Status#Stufe Plugin 9,Variable 1,Wert 1
                	
                  Elseif [Heizung_Puffer_mqtt#stufe_soll]=2  And [HPModus#Auto]=1
                     //AUS
                     GPIO,32,0 // Rel1
                    GPIO,33,0 // Rel2
                    GPIO,26,0 // Rel4
                         GPIO,12,0 // Rel7
                     //EIN
                    GPIO,25,1 // Rel3
                    GPIO,27,1 // Rel5
                    TaskValueSet 9,1,2 // Status#Stufe Plugin 9,Variable 1,Wert 2
                     	
                  Elseif [Heizung_Puffer_mqtt#stufe_soll]=3  And [HPModus#Auto]=1
                    //AUS
                    GPIO,32,0 // Rel1
                    GPIO,25,0 // Rel3
                    GPIO,26,0 // Rel4  
                    GPIO,27,0 // Rel5
                         GPIO,12,0 // Rel7
                     //EIN
                     GPIO,33,1 // Rel2
                    TaskValueSet 9,1,3 // Status#Stufe Plugin 9,Variable 1,Wert 3
                	
                  Elseif [Heizung_Puffer_mqtt#stufe_soll]=4  And [HPModus#Auto]=1 or [HPModus#Man]=1
                    //AUS
                    GPIO,32,0 // Rel1
                    GPIO,26,0 // Rel4 
                         GPIO,12,0 // Rel7
                    //EIN
                    GPIO,33,1 // Rel2
                    GPIO,25,1 // Rel3
                    GPIO,27,1 // Rel5
                    TaskValueSet 9,1,4 // Status#Stufe Plugin 9,Variable 1,Wert 4
                	
                  Elseif [Heizung_Puffer_mqtt#stufe_soll]=5  And [HPModus#Auto]=1
                    //AUS
                    GPIO,26,0 // Rel4 
                         GPIO,12,0 // Rel7
                    //timerSet,2,10 // für Rel5 in Stufe 5
                   // GPIO,27,0 // Rel5  nach Ablauf Timer2 / St5
                     //EIN
                    GPIO,32,1 // Rel1
                    GPIO,33,1 // Rel2
                    GPIO,25,1 // Rel3
                    TaskValueSet 9,1,5 // Status#Stufe Plugin 9,Variable 1,Wert 5	
                	
                  Elseif [Heizung_Puffer_mqtt#stufe_soll]=6  And [HPModus#Auto]=1
                    //AUS
                    GPIO,32,0 // Rel1
                    GPIO,27,0 // Rel5
                    //EIN
                    GPIO,33,1 // Rel2
                    GPIO,25,1 // Rel3
                    //timerSet,3,10 // für Rel4 in Stufe 6
                    //GPIO,26,1 // Rel4  nach Ablauf Timer1 / St6
                    TaskValueSet 9,1,6 // Status#Stufe Plugin 9,Variable 1,Wert 6		
                		
                   Else
                      //AUS
                     GPIO,32,0 // Rel1
                     GPIO,33,0 // Rel2
                     GPIO,25,0 // Rel3
                     GPIO,26,0 // Rel4  
                     GPIO,27,0 // Rel5
                     GPIO,12,0 // Rel7
                     TaskValueSet 9,1,0 // Status#Stufe Plugin 9,Variable 1,Wert 0
                  endif
                
                
                Endon
                
                
                On Rel2#State do
                   If [Heitzstab_Stufe_Ist#Stufe]=6
                     GPIO,12,1 // Rel7
                     timerSet,3,10 // für Rel5 in Stufe 6
                   else
                   GPIO,12,0 // Rel7
                  endif
                endon
                
                
                
                
                On Rules#Timer=3 do
                  If [Heizung_Puffer_mqtt#stufe_soll]=6
                     GPIO,26,1 // Rel4  nach Ablauf Timer1 / St6
                  endif
                
                
                On Rules#Timer=2 do
                  If [Heizung_Puffer_mqtt#stufe_soll]=5
                     //GPIO,27,0 // Rel5  nach Ablauf Timer2 / St5
                  endif
                endon
                
                
                
                
                
                
                
                
                
                D 1 Reply Last reply Reply Quote 0
                • D
                  Dieter_P @Maddin77 last edited by

                  @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

                  Das hab ich noch probiert
                  Rules alles in eine und

                  Sorry das ist mir im Spaghetticodestil zu komplex. Vom Bauchgefühl würde ich das aber nicht über einen Timer triggern, sondern über die Änderung von Zuständen zB von Switches oder Variablen bzw. direkt dem angelegten DummyDevice. Das verhält sich dann nachvollziehbarer vom Programmablauf für mich und diese Dauerschleife erscheinen mir höchst Ineffizient vom Programmierstil.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    Maddin77 @Dieter_P last edited by

                    @dieter_p sagte in ESPEasy Rules Mehrfach Trigger und Timer:

                    @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

                    Das hab ich noch probiert
                    Rules alles in eine und

                    Sorry das ist mir im Spaghetticodestil zu komplex. Vom Bauchgefühl würde ich das aber nicht über einen Timer triggern, sondern über die Änderung von Zuständen zB von Switches oder Variablen bzw. direkt dem angelegten DummyDevice. Das verhält sich dann nachvollziehbarer vom Programmablauf für mich und diese Dauerschleife erscheinen mir höchst Ineffizient vom Programmierstil.

                    ja es sollte ja auch über den DummyDevice laufen, aber das wären dann insgesamt 4 Trigger und das klappt gar nicht.
                    Ich hatte probiert
                    If [Heizung_Puffer_mqtt#stufe_soll]<=0 And [HPModus#Auto]=1 or [HPModus#Man]=0 or [HPModus#Aus]=0
                    klappt das aber nicht
                    Die beiden Timer waren nur gedacht 2 Relais etwas verzögert zu schalten 2-3Sek
                    der LoopTimer war nur ein Test

                    Was ist Spaghetticodestil?

                    danke für deine Hilfe soweit

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      Dieter_P @Maddin77 last edited by Dieter_P

                      @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

                      @dieter_p sagte in ESPEasy Rules Mehrfach Trigger und Timer:

                      @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

                      Das hab ich noch probiert
                      Rules alles in eine und

                      Sorry das ist mir im Spaghetticodestil zu komplex. Vom Bauchgefühl würde ich das aber nicht über einen Timer triggern, sondern über die Änderung von Zuständen zB von Switches oder Variablen bzw. direkt dem angelegten DummyDevice. Das verhält sich dann nachvollziehbarer vom Programmablauf für mich und diese Dauerschleife erscheinen mir höchst Ineffizient vom Programmierstil.

                      ja es sollte ja auch über den DummyDevice laufen, aber das wären dann insgesamt 4 Trigger und das klappt gar nicht.
                      Ich hatte probiert
                      If [Heizung_Puffer_mqtt#stufe_soll]<=0 And [HPModus#Auto]=1 or [HPModus#Man]=0 or [HPModus#Aus]=0
                      klappt das aber nicht
                      Die beiden Timer waren nur gedacht 2 Relais etwas verzögert zu schalten 2-3Sek
                      der LoopTimer war nur ein Test

                      Ich verstehe Dein DummyDevice aus der Intention damit 3 Stati abzubilden (Aus, Man, Auto). Reicht dazu nicht ein Switch als DummyDevice? der kann 0,1 oder 2 sein. Dadurch sparst Du dir immer 3 Values dort zu prüfen, da ein value absolute eindeutig ist.
                      113b8f1d-85a6-4657-8b38-b167c5441e45-grafik.png

                      Um die Stati zu ändern bekommst irgendwoher den Trigger. Kommt das über Mqtt Import?
                      Würde das in dieser Richtung versuchen:

                      on System#Boot do
                      
                          GPIO,32,0 // Rel1
                          GPIO,33,0 // Rel2
                          GPIO,25,0 // Rel3
                          GPIO,26,0 // Rel4  
                          GPIO,27,0 // Rel5
                          GPIO,14,0 // Rel6
                          GPIO,12,0 // Rel7
                          GPIO,13,0 // Rel8
                      
                      //Aus
                      
                      TaskValueSet 27,1,0 //Aus 
                      
                      endon
                      
                      on Heizung_Puffer_mqtt#stufe_soll do
                        If [Heizung_Puffer_mqtt#stufe_soll]=0
                           TaskValueSet 27,1,0 //Aus
                       Eslseif [Heizung_Puffer_mqtt#stufe_soll]=1
                           TaskValueSet 27,1,1 //Auto
                       Eslseif [Heizung_Puffer_mqtt#stufe_soll]=2
                           TaskValueSet 27,1,2 //Man
                       Endif
                      
                      on SWAuto#AutoEin do
                        TimerSet,1,6
                      endon
                      
                      on Rules#Timer=1 do
                        If [SWAuto#AutoEin]=0
                           GPIO,32,0 // Rel1 Beispiel
                       Eslseif [SWAuto#AutoEin]=1
                           GPIO,33,0 // Rel2 Beispiel
                       Eslseif [SWAuto#AutoEin]=2
                           GPIO,25,0 // Rel3 Beispiel
                       Endif
                      endon
                      
                      

                      Was ist Spaghetticodestil?

                      Mir persönlich zu langer Programmiercode den am Ende nichtmal mehr derjenige durchblickt, der ihn mal gebaut hat. Empfinde es subjektiv immer nicht so toll sich selbst solche zu komplexen Dinge einzubauen. Das kann später kaum jemand warten, helfen oder debuggen.

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        Maddin77 @Dieter_P last edited by

                        @dieter_p sagte in ESPEasy Rules Mehrfach Trigger und Timer:

                        Ich verstehe Dein DummyDevice aus der Intention damit 3 Stati abzubilden (Aus, Man, Auto). Reicht dazu nicht ein Switch als DummyDevice? der kann 0,1 oder 2 sein. Dadurch sparst Du dir immer 3 Values dort zu prüfen, da ein value absolute eindeutig ist.
                        113b8f1d-85a6-4657-8b38-b167c5441e45-grafik.png

                        Um die Stati zu ändern bekommst irgendwoher den Trigger. Kommt das über Mqtt Import?
                        Würde das in dieser Richtung versuchen:

                        on System#Boot do
                        
                            GPIO,32,0 // Rel1
                            GPIO,33,0 // Rel2
                            GPIO,25,0 // Rel3
                            GPIO,26,0 // Rel4  
                            GPIO,27,0 // Rel5
                            GPIO,14,0 // Rel6
                            GPIO,12,0 // Rel7
                            GPIO,13,0 // Rel8
                        
                        //Aus
                        
                        TaskValueSet 27,1,0 //Aus 
                        
                        endon
                        
                        on Heizung_Puffer_mqtt#stufe_soll do
                          If [Heizung_Puffer_mqtt#stufe_soll]=0
                             TaskValueSet 27,1,0 //Aus
                         Eslseif [Heizung_Puffer_mqtt#stufe_soll]=1
                             TaskValueSet 27,1,1 //Auto
                         Eslseif [Heizung_Puffer_mqtt#stufe_soll]=2
                             TaskValueSet 27,1,2 //Man
                         Endif
                        
                        on SWAuto#AutoEin do
                          TimerSet,1,6
                        endon
                        
                        on Rules#Timer=1 do
                          If [SWAuto#AutoEin]=0
                             GPIO,32,0 // Rel1 Beispiel
                         Eslseif [SWAuto#AutoEin]=1
                             GPIO,33,0 // Rel2 Beispiel
                         Eslseif [SWAuto#AutoEin]=2
                             GPIO,25,0 // Rel3 Beispiel
                         Endif
                        endon
                        
                        

                        Aktuell nutze ich 2 Switch um den Schalter zu erkennen, da ein 3stellungsschalter verbaut ist
                        der Manuell umgeschaltet werden soll, kein MQTT
                        also meinst du aus
                        AutoEin=1 und ManuEin=0 -->Automatik
                        AutoEin=0 und ManuEin=1 -->Manuel
                        AutoEin=0 und ManuEin= oder AutoEin=1 und ManuEin=1 -->Aus

                        die Stufen die geschaltet werden kommen per MQTT aus dem IOB
                        das klappt zuverlässig.

                        müsste ich das mal versuchen um zu setzen irgendwie
                        ja das mit dem langen Code geäfllt mir auch nicht, war nur ein Versuch, da er in Rule3 z.B. den Trigger den ich in Rule1 verwendet hatte ignoriert, als ob er ihn nur einmal abarbeitet.

                        der Plan ist
                        Rule1 die Relais über die Stufen aus MQTT zu schalten
                        Rule2 ist eine Temperatur Sicherung für ein Lastrelai
                        Rule3 war die Umsetzung der 2 Switch auf ein Dummy mit 3 Stellungen

                        danke nochmals

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          Dieter_P @Maddin77 last edited by

                          @maddin77 said in ESPEasy Rules Mehrfach Trigger und Timer:

                          Aktuell nutze ich 2 Switch um den Schalter zu erkennen, da ein 3stellungsschalter verbaut ist
                          der Manuell umgeschaltet werden soll, kein MQTT
                          also meinst du aus
                          AutoEin=1 und ManuEin=0 -->Automatik
                          AutoEin=0 und ManuEin=1 -->Manuel
                          AutoEin=0 und ManuEin= oder AutoEin=1 und ManuEin=1 -->Aus

                          Denke ja. Für mich ist das DummyDevice ein Merker der einen bestimmten Status wiederspiegelt. Der Status wird immer irgendwoher getriggert. Das würde ich logisch separat programmieren über Trigger. Funktionieren die Stati würde ich mich an die Aktionen machen die die Stati auslösen/bedeuten. Hierzu reicht aus meiner Sicht der "saubere"/definierte Grundzustand beim Booten und dann getriggert die Aktionen der GPIO ausgelöst durch Änderung der Stati.

                          Alternativ zum Dummy Device könnte man das auch über ein Event lösen. Deine Schalter lösen ein Event aus und Schreiben Aus, Auto,Man in den Log. Du wiederum triggerst dann für die Aktionen basierent auf diese Events wieder deine GPIOs. Sehe ich nur als Alternative aber keine wirklichen Vorteile...

                          der Plan ist
                          Rule1 die Relais über die Stufen aus MQTT zu schalten
                          Rule2 ist eine Temperatur Sicherung für ein Lastrelai
                          Rule3 war die Umsetzung der 2 Switch auf ein Dummy mit 3 Stellungen

                          Du hast das oben schon mal so geschrieben. Da bin ich nicht genug im Thema, wäre aber vorsichtig übergreifend über mehrere Rules zu arbeiten. Vermute da geht nicht alles und es gibt bestimmt Timingprobleme etc etc. Alle Triggerungen um Stati (DummyDevices) zu setzen auf einer Rule und die Trigger und Aktionen aus einer Statiänderung auf einer anderen Rule dürfte funktionieren. Aber allgemein sollte doch da genug "Platz" sein um das in einer Rule zu lösen....wäre mein Favorit um dort keine Probleme zu erwarten.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          952
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

                          2
                          12
                          823
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo