Ankündigung

Einklappen
Keine Ankündigung bisher.

Verhaltensänderung sh.trigger

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Verhaltensänderung sh.trigger

    Früher (V0.9) hieß es noch bei der Beschreibung von sh.trigger:
    But watch out, if something else triggers that logic before the given datetime, it will not be triggered at the specified time!
    Jetzt steht das nicht mehr da und meine Logik steht massenhaft in der Queue, da bei jedem Aufruf getreu dem alten Motto eine neue Ausführungszeit berechnet und neu in die Triggerqueue eingereiht wird.

    Wie transformiert man das alte Verhalten in die neue Welt? Ich habe da auf Anhieb nichts gefunden ...

    Mike

    #2
    Hi Mike,

    das Verhalten sollte sich diesbezüglich nicht seit der 0.9 geändert haben. Die Doku war an der Stelle aber falsch.
    1.0 ist aber massiv schneller bei der Bearbeitung der Logiken/Trigger.
    Vllt. kommt es deshalb zu dem beobachteten Verhalten.

    Das ursprünglich dokumentierte Verhalten kannst Du nicht so einfach wiederherstellen.
    Ich sehe zwei Möglichkeiten:
    - Du triggerst nicht so häufig
    - Du überprüfst am Anfang der - aufgerufenen - Logik die Frequenz. z.B. über einen Vergleich mit der Zeit und dem Delta.

    Bis bald

    Marcus

    Kommentar


      #3
      Hi Marcus,

      danke für die Informationen.

      Eigentlich hatte ich mich auf dieses Verhalten jetzt eingeschossen. Die Logik wird von Item-Änderungen oder halt vom Timer getriggert (ist eine Zirkulationssteuerung).
      Am Ende der Logik berechne ich immer den nächsten Zeitpunkt zum Triggern. Wenn dann vorher die Logik wieder von einem Item getriggert wird, dann ergibt sich halt u.U. ein anderer Zeitpunkt zum triggern. Im Extremfall wird dabei der nächste Triggerzeitpunkt weit nach vorne oder hinten geschoben (Übergang von oder zur Abwesenheit).

      Gibt es die Möglichkeit einen Trigger wieder zu löschen, bzw. alle Trigger mit gleichen Namen?

      Grüße
      Mike

      Kommentar


        #4
        Hi Mike,

        bist Du sicher das Du eine Verhaltensänderung hast? Oder ist es Dir evtl. vorher nur nicht ausgefallen?
        Das alte dokumentierte Verhalten muss aus der Zeit vor 0.7 kommen.

        Wäre autotimer nicht evtl. für Dich passend?

        Bis bald

        Bis bald

        Marcus

        Kommentar


          #5
          Hi Marcus,

          die Verhaltensänderung gibt es dann wohl nicht. Ich hatte mich an die Beschreibung gehalten und nie überprüft, ob es wirklich so ist. Bisher hatte ich auch nie darauf geachtet, ob es mehrfach zu Ausführungen kommt. Als ich mir das jetzt angesehen habe, habe ich halt gemerkt das die Logik mehrfach in der Queue steht.
          Also keine Verhaltensänderung.

          Kann man denn Trigger irgendwie wieder löschen?

          Grüße
          Mike

          Kommentar


            #6
            Hi Mike,

            Zitat von mike Beitrag anzeigen
            Kann man denn Trigger irgendwie wieder löschen?
            nein. Getriggerte Logiken sind in der run queue und die wird abgearbeitet.

            Ich denke es ist besser die Logiken erst gar nicht zu triggern oder eben mit autotimer zu arbeiten.

            Bis bald

            Marcus

            Kommentar

            Lädt...
            X