Folgendes: Ich möchte gerne 2 Ausgänge meiner Heizungssteuerung UVR1611 auf Hand (ein)schalten. Ich möchte aber, dass diese Ausgänge nach 3 Stunden automatisch wieder auf Auto gestellt werden. Ich mache das alles mit der Snoopy Klasse.
Ich weiß bloß nicht, wie ich diese 3 Stunden hinbekomme?
Kann mir jemand den richtigen Befehl geben?
leider bekommt das skript es nicht hin, beide Ausgänge von AUTO AUS auf HAND EIN zu schalten. Es bricht nach 30 Sekunden ab. Vielleicht zu viel für den Bootloader-NET? oder könnte man as Problem beheben, indem man sagt, dass der zweite Ausgang 10 Sekunden später geschaltet werden soll?
Ich habe die erste if Bedingung noch so umgeschrieben, dass sie nur anläuft, wenn beide Pumpen aus sind: Also so: If (!$Pumpe1 and !$Pumpe2)
Ich habe es dann mit nur einem Ausgang probiert.
Der Ausgang wird jetzt ordnungsgemäß auf HAND EIN geschaltet. Aber es funktioniert nicht, dass er sich nach der eingestellten zeit automatisch wieder auf AUTO stellt.
Ich habe es jetzt geschafft, dass beide Ausgänge gleichzeitig geschaltet werden. Mit diesem befehl: set_time_limit(60); 30 Sekunden waren wohl zu kurz.
Aber trotzdem werden die Ausgänge nach einer bestimmten Zeit nicht wieder auf Auto geschaltet.
Im Objektbaum entsteht auch nach dem Starten des Skriptes ein Ereignis. Ein Skript Timer, der zyklisch auf die eingestellte Zeit (beispielsweise 60 Sekunden) eingestellt ist. Jetzt startet das Skript alle 60 Sekunden. Theoretsich wird der Timer aber doch am ende mit dem Befehl IPS_SetScriptTimer($IPS_SELF, 0); angehalten. Anscheinend kommt er aber nciht bis dahin, da ja nichteinmal die Augänge wieder auf Auto geschaltet werden
hmmm…bin ratlos
Wichtig hier ist das return; in der Schleife vom Timer_Event damit er das Skript beendet wenn der Timer abgelaufen ist, ansonsten würde er unten wieder die Pumpen überprüfen.
Wenn ich das Skript über die Verwaltungskonsole direkt ausführe funktioniert es einwandfrei
Ein Problem tritt aber leider noch auf, wenn ich es über das Webfront starten möchte.
Dort bekomme ich nach ca 20 Sekunden eine Fehlermeldung ( Es ist ein KOmmunikationsproblem aufgetreten. Bitte laden sie die Seite erneut.)
nach weiteren 12 Sekunden kommt diese Fehlermeldung noch einmal.
Ich kann beide Meldungen problemlos wegdrücken und das Skript wird auch ausgeführt.
Aber trotzdem nerven mich diese Meldungen. Kann ich diese irgendwie wegbekommen?
Deine Systemlast müsste danach etwas höher sein und die Box etwas träger auf normale Befehle im Webfront reagieren (Schalter an/aus Visualisierung wird z.B. langsamer)
Ich habe dies schon seit der Version 2.1 und leider war ich immer alleine…das ist wohl aktuell nun nicht mehr so…