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

      @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

                        924
                        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