Seite 1 von 1

[erledigt] Alarm obwohl verzögerungszeit noch nicht abgelaufen ist?

Verfasst: 15.01.2020, 19:19
von disky42
Hallo

Anbei ein Programm. Hier soll der Junior überwacht werden, ob er länger am PC ist als eine Stunde - dann soll ein Alarm ausgelöst werden. Realisiert wie im Programm zu sehen durch einen verzögerten Alarm, der resettet wird, sobald "aus" erkannt wird.
Erkannt wird das am Stromverbauch.

Problem: Wenn er vor(!) Ablauf der Stunde - also sagen wir nach 42min - den PC ausmacht, wird dieses auch korrekt erkannt (LoggerMail wird auf "aus" gesetzt) ABER sofort (d.h. nach 42min) erscheint auch der Alarm, der eigentlich ja frühstens nach einer Stunde kommen soll - und der auch eigentlich ja abgerochen sein.

WIe kann das sein?
Jemand einen Tipp?

Gruss -

Re: Alarm obwohl verzögerungszeit noch nicht abgelaufen ist?

Verfasst: 16.01.2020, 08:14
von Sammy
Hallo,

lies bitte die Threads zur Zentralenlogik! (Tipps für Anfänger) Dir scheint überhaupt nicht klar zu sein, wie CCU-Programme funktionieren.
Das letzte SONSTWENN kann nie ausgeführt werden, weil vorher immer das erste SONSTWENN wahr ist.

Ich verstehe aber nicht, was Du mit dieser Beschreibung meinst:
disky42 hat geschrieben:
15.01.2020, 19:19
ABER sofort (d.h. nach 42min) erscheint auch der Alarm
LoggerMail wird also korrekt auf aus gesetzt. Was meinst Du mit "erscheint der Alarm"? Wie und wo erscheint was?

Gruß Sammy

Re: Alarm obwohl verzögerungszeit noch nicht abgelaufen ist?

Verfasst: 16.01.2020, 21:27
von disky42
Hallo,
1) Danke - ja, Logikfehler in der vorletzten SonstWenn Bedingung.
2) Wie nennst Du das, wenn der Alarm auf "1" bzw hier "60MinAn" gesetzt wird? Ich nenne das auslösen...also wenn er dann auch in der UI oben rechts hinter dem Button angezeigt wird.

Nochmal ausführlicher:
Ich möchte ja einen Alarm haben, wenn (und nur wenn) der PC 60min an ist. Wenn mein Sohn den PC nach 42min aus macht und das Programm das erkennt, wird LoggerMail auf AUS gesetzt. Soweit so gut.
Der Alarm wird aber _manchmal_ dann auch auf "60minAn" gesetzt, obwohl das Programm ihn ja eigentlich (mit 2 Sek Verzögerung zum Debugging) auf "keine60MinAn" setzt.

WIe kann das sein?

Gruss -

Re: Alarm obwohl verzögerungszeit noch nicht abgelaufen ist?

Verfasst: 17.01.2020, 08:08
von Sammy
Welcher Button im WebUI? Hat die nur 1 einzigen? Und wie kommt eine Systemvariable als Button ins WebUI?
Du musst schon ausführlicher schreiben und Screenshots zeigen.
Hast Du evtl. die Variable als Typ Alarm angelegt und meinst, dass das dann oben in den Alarmmeldungen auftaucht?
Wenn ja, erzeuge mal eine neue variable vom Typ Bool und bau die stattdessen ins Programm ein.
Mit einem weiteren Programm dann notfalls auf Änderung der neuen Bool-Variable reagieren und die Alarm-Variable entsprechend setzen, wenn die Alarm-Anzeige wichtig ist.

Re: Alarm obwohl verzögerungszeit noch nicht abgelaufen ist?

Verfasst: 17.01.2020, 17:29
von disky42
Hallo

Sorry - da das Wort "Alarm" in der UI und auch Anleitung verwendet wird, habe ich gedacht, dass auch eindeutig sei, wenn ich das verwende:
Anbei 2 Screenshots der "Alarm-Funktion", die ich meine:
1) Der Button auf der HM-UI Seite
2) Die Definition eines Alarms als Systemvariable, was ich meine.

Wenn die Systemvariable "DG-FamilienPC-Alarm60minAn" vom Type Alarm mit einer 60min Verzögerung auf den Wert "60MinAn" gesetzt wird, warum passiert das mit dem obigen Programm schon nach 42min, wenn nach 42min die 2. SonstWenn (also 3. Block) getriggered wird?
Es gibt kein Anderes Programm, was diese SystemVariable nutzt
Ist das präzise genug?

Gruss

Re: Alarm obwohl verzögerungszeit noch nicht abgelaufen ist?

Verfasst: 17.01.2020, 17:37
von Sammy
Ja, alles klar. Wie schon geschrieben haben die Alarmvariablen ein "besonderes" Verhalten. Deshalb mal mit normalem Typ Bool probieren, wie bereits geschrieben.

Re: Alarm obwohl verzögerungszeit noch nicht abgelaufen ist?

Verfasst: 08.02.2020, 11:33
von disky42
...Feedback: Durch neu-anlegen der Alarmvariable hat sich das Problem erledigt.

Danke für die Hilfe