Aufgrund einer Fehlfunktion, die ich seit wenigen Wochen beobachte, habe ich mir eine Bestandslogik-Kette (mehrere verbundene Logikzellen) über Tags herausgefiltert, die ich analysieren wollte. Dann aber habe ich zunächst gesehen, dass ich im Feld Beschreibung in einer von mir als möglicher Ursprung des Übels vermuteten Customlogik einen Text stehen hatte, der mir nicht geholfen hat und den habe ich zunächst gelöscht (also auf den Logik-Namen geklickt, den Inhalt des zweiten Textfeldes "Beschreibung" entfernt, auf "Logik Aktualisieren" geklickt) und dann wollte die Logik gespeichert werden . Das hat mich zwar gewundert, weil ich dachte beim Editieren von Namen und Beschreibungen muss nicht mehr gespeichert werden...aber da ich das Feld Beschreibungen eher selten nutze, habe ich es akzeptiert und die Logik gespeichert. Mit dem Ergebnis:
Error
Saved Logik - Logik wurde gespeichert. Logik ist fehlerhaft
Die Logik war, bevor ich sie geöffnet habe, definitiv nicht im Status "modified" sondern 100% sicher auf "ok".
Rein theoretisch kann es aber natürlich trotzdem sein, dass der Code von mir irgendwann vor langer Zeit geändert wurde, ich ihn nicht gespeichert hatte und der TWS es irgendwann bei Updates nicht mehr als Status geführt hat - das halte ich aber für unwahrscheinlich bei dieser speziellen Logik. Auch, weil ich den Error-Grund bisher nicht finden kann und mir das sehr merkwürdig vorkommt:
Code: Alles auswählen
{
"Input": [
["Verzögerungszeit","Zeit in Sekunden bis Klappe offen und geschlossen","$t","u"],
["S Normal","Eingang Schließen Normal","$Input1","a"],
["Ö Normal","Eingang Öffnen Normal","$Input2","a"],
["S Zwang","Eingang Schließen Zwang","$Input3","a"],
["Entr. Treppenhaus","Eingang Entrauchung Treppenhaus","$Input4","a"],
["Entr. Aufzugsschacht","Eingang Entrauchung Aufzugsschacht","$Input5","a"],
["Entr. manuell","Eingang Entrauchung manuell","$Input6","a"]
],
"Output": [
["Aktor zum Schließen","Ausgang zum Schalten des Schließaktor","$Close","c"],
["Aktor zum Öffnen","Ausgang zum Schalten des Öffnenaktor","$Open","c"],
["Status der Öffnung","true = Offen, false = geschlossen","$Out","c"]
],
"Level": [
["$t","integer", 5],
["$Input1","bool", false],
["$Input2","bool", false],
["$Input3","bool", false],
["$Input4","bool", false],
["$Input5","bool", false],
["$Input6","bool", false],
["$Close","bool", false],
["$Open","bool", false],
["$dummy","bool", false],
["$trigger","bool", false],
["$switch","bool", false],
["$constTrue","bool", true],
["$Out","bool", false]
],
"Module": [
["Triggered", "$Input1", "$trigger"],
["Latch","$Input1","$switch","$trigger",0],
["Triggered", "$Input2", "$trigger"],
["Latch","$Input2","$switch","$trigger",0],
["Triggered", "$Input3", "$trigger"],
["Latch","$Input3","$switch","$trigger",0],
["Triggered", "$Input4", "$trigger"],
["Latch","$Input4","$switch","$trigger",0],
["Triggered", "$Input5", "$trigger"],
["Latch","$Input5","$switch","$trigger",0],
["Triggered", "$Input6", "$trigger"],
["Latch","$Input6","$switch","$trigger",0],
["Monoflop", "$constTrue", 0, "$dummy", "$t", 0],
["And", ["$switch","$dummy"], "$Open"],
["And", ["-$switch","$dummy"], "$Close"],
["Latch","$constTrue","$Out","$Open",1],
["Latch",0,"$Out","$Close",2]
]
}
Wenn ich die 7. Zeile von unten
Code: Alles auswählen
["Monoflop", "$constTrue", 0, "$dummy", "$t", 0],
Aber daran kann ich nichts Falsches erkennen oder habe ich Tomaten auf den Augen?!? Hat jemand einen Rat?
Es geht dabei um die Steuerung von Lüftungsklappen und Lamellen um eine innenliegendes Treppenhaus zu lüften. Diese Kette existiert aber bereits sehr lange in meinem Wolf, weil Sie recht essentiell für mein Haus ist und bereits früh eine eher schlecht funktionierende Logik (schlechte programmierung durch mich) im Wiregate-Server ersetzt hat. Seit vielen Monaten war ich mit der Funktion im TWS vollständig zufrieden und habe daran soweit ich mich errinnern kann mindestens 6 Monate - aber wahrschenlich schon viel länger - nichts geändert. Ich habe sie mehrfach getestet und auch regelmässig genutzt - eher im Sommer oder bei ausschließlich trockenem Wetter, diesen Winter aber lange überhaupt nicht, bis irgendwann im Januar.
Fall jemand von Elabnet auf den Server schauen will: Es ist die Logik 324.
Spätere Ergänzung:
Ich habe diese Customlogik übrigens zweimal im Einsatz. Die Zweite ist die ID 192.
Der Code war bis eben noch 1:1 der exakt Gleiche (verglichen mit einem ASCII- Zeichenvergleich für jede Zeile in Excel). Ich habe eben lediglich die Beschriftung der Eingänge geändert, daher ist er jetzt nicht mehr 1:! gleich und das folgende Bild zeigt andere Eingangsbeschriftungen.
Auffällig ist und war mir auch schon vor allen Änderungen und vor dem Vergleich in Excel, dass das eine Mal der Eingang "Verzögerungszeit" oben steht und das andere Mal unten.