Ich komme gerade mit dem Start- Triggerverhalten der Logik nicht klar.
Hintergrund: Ich möchte eine Logic erstellen, die nach dem Reboot einmalig einen Trigger sendet.
Idee: Der Eingang steht auf False und wird nach dem ersten Ausführen vom Ausgang mit True überschrieben und kann danach kein false mehr annehmen, außer beim Reboot o.ä. wo der Wert wieder mit false initialisiert wird (keine Persistenz!!)
Die Option "Startverhalten" beim Eingang habe ich auf Startwert: False gesetzt.
Damit würde ich erwarten, dass die Logik beim Speichern und bei einem Neustart des Logic-Services bzw. Reboot mit diesem Wert "False" getriggert wird. Der Eingang steht zur Sicherheit auf Triggerverhalten "a" (always).
Die Logik wird aber weder nach dem Speichern noch nach einem Restart des Services getriggert.
Testfall 1:
Code: Alles auswählen
{
"Input": [
["State","Status 0 nach Reboot","$State","a"]
],
"Output": [
["State Out","Wird nach Reboot auf 1 gesetzt","$State_Out","c"]
],
"Level": [
["$State","bool",false],
["$State_Out","bool",false],
["$KonstTrue","bool",true]
],
"Module": [
["Multiplexer",["$KonstTrue","$State_Out"],"$State_Out","$State"]
]
}
Da ich an dieser Stelle nicht aufgeben wollte, habe ich testweise einen Timer eingebaut, der nach einer einstellbaren Zeit zB 5sec. abläuft.
Die Sendeoption habe ich auf CT gestellt. Damit wollte ich sichergehen, dass ich nicht am Senden scheitere.
Testfall 2:
Code: Alles auswählen
/**===========================================================
Trigger nach Reboot
============================================================*/
{
"Input": [
["State","Status 0 nach Reboot","$State","c"],
["Verzögerungszeit","Verzögerung bis Trigger gesendet wird","$I_Dauer","c"]
],
"Output": [
["State Out","Wird nach Reboot auf 1 gesetzt","$State_Out","ct"]
],
"Level": [
["$State","bool",false],
["$State1","bool",false],
["$State_Out","bool",false],
["$I_Dauer","float",5.0],
["$KonstTrue","bool",true]
],
"Module": [
["Monoflop","-$State","$State","$State1","$I_Dauer",0],
["Multiplexer",["$State_Out","$KonstTrue"],"$State_Out","$State1"]
]
}
Ein manuelles Umsetzen am Eingang bzw. via Telegramm triggert aber korrekt.
Ich habe zwar eine funktionierende Lösung mit "Clocksignal", würde aber gerne verstehen, was beim Startverhalten anders läuft, als ich erwarten würde.
Danke für eure Hilfe
Robert