Variable 48h Zeitverzögert setzen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Accuracy
Beiträge: 749
Registriert: 22.05.2013, 16:37
Hat sich bedankt: 1 Mal

Variable 48h Zeitverzögert setzen

Beitrag von Accuracy » 12.05.2018, 10:27

Hi Leute,

hat jemand eine Idee, wie man das Pogramm aufbauen muss, so dass die Bewässerungsanlagen Statusvariable bei einer Regenmenge von über 10mm erst nach 48h wieder auf EIN springt?

Im WENN Teil des Programms frage ich die die tägliche Regenmenge ab. Wenn es am nächsten Tag nicht regnet wird die Anlage sofort wieder eingeschaltet. Ich will sie aber idealerweise nur einschalten, wenn es am Vortag nicht mehr als 10mm am gesamten Tag geregnet hat.
Sind es mehr als 10mm soll die Anlage erst nach 48h wieder eingeschaltet werden.
Bildschirmfoto 2018-05-12 um 10.23.12.png
Statusvariable

Benutzeravatar
robbi77
Beiträge: 13847
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 181 Mal
Danksagung erhalten: 738 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von robbi77 » 12.05.2018, 10:32

Auf das „sofort“ klicken und „verzögert um“ auswählen?


Gruß
Roberto
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

Janniman
Beiträge: 212
Registriert: 08.04.2015, 14:29
Wohnort: Seevetal
Hat sich bedankt: 2 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von Janniman » 12.05.2018, 12:45

Ich habe einen CuxD-Timer gesetzt, der bei EVENT und/oder TIMER-GET eine Variable setzt. Auf diese Variable wird getriggert, dies deshalb, um den vorhergehenden Zustand zu erkennen (bei manchen ist es eine Logikvariable, bei anderen sind es hochgezählte Zahlen/Tage z.B. für die Sickergrubenpumpen).

Das 'verzögert um' hat sich aus dutzenden Gründen leider nicht als brauchbar herausgestellt. Bei mir ist eher das Dumme, ich muss nach einem Neustart der CCU (Stromausfall/Reboot/etc.) den/die Timer neu starten, da diese meist keine brauchbaren Ergebnisse mehr liefern, oder gar nicht mehr funktionieren.

Jan

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von alchy » 12.05.2018, 20:41

Accuracy hat geschrieben:soll die Anlage erst nach 48h wieder eingeschaltet werden.
robbi77 hat geschrieben: Auf das „sofort“ klicken und „verzögert um“ auswählen?
Hast du das schon mal gemacht?

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Accuracy
Beiträge: 749
Registriert: 22.05.2013, 16:37
Hat sich bedankt: 1 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von Accuracy » 13.05.2018, 09:33

sorry -- ich muss meinen Case noch einmal genauer beschreiben.

WENN is nur kurz regnet (Regenmenge_1D < als 10mm) dann reicht es mir aus, wenn der Schalter der Bewässerung sofort EIN/AUS geschalten wird.

WENN aber die Regenmenge größer als 10mm war, dann soll nicht sofort eingeschalten werden sondern erst 48h verzögert.

Die Variable Regenmenge_1D bleibt ohnehin den ganzen Tag stehen, wenn es einmal geregnet hat und wird erst ab Mitternacht wieder umgesetzt.
Damit habe ich 2 Fälle, die ich abbilden möchte.

1. Fall:
Am 1. Tag regnet es 3mm in Summe. Damit soll am nächsten Tag die Anlage wieder eingeschalten werden (mein Programm tut dies aktuell)

2. Fall:
Am 1. Tag regnet es sehr stark. Also mehr als 10mm. Damit ist es nicht nötig die Anlage am nächsten Tag wieder zu schalten. Sie kann 48h aus sein, bis wieder EIN geschalten wird.

@Alchi und Robbi: wenn ich die Verzögerung in mein Programm so einbaue, dann bilde ich Szenario 1 nicht mehr ab und die Anlage wird immer nach 48h erst wieder eingeschalten. Dies soll aber NUR für den Fall sein, dass es am Vortag mehr als 10mm geregnet hat.

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von Xel66 » 13.05.2018, 09:58

Für Deine Problemstellung gibt es zwei Ansätze. Ein Mal kannst Du bei >10mm eine Sperrvariable setzen und nach zwei Tagen verzögert zurück. Problem hierbei ist, die Verzögerung "überlebt" einen eventuellen zwischenzeitlichen Neustart der CCU nicht. Als zweite Möglichkeit könntest Du einen 48 Stunden-CUxD-Timer setzen (dieser arbeitet intern mit realen Uhrzeiten und überlebt einen Reboot) und eine Abfrage TimerGET <1s nur prüfen in Dein Programm einbauen. Somit wird das Programm nur gestartet, wenn der Timer abgelaufen ist.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
robbi77
Beiträge: 13847
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 181 Mal
Danksagung erhalten: 738 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von robbi77 » 13.05.2018, 11:08

alchy hat geschrieben: Hast du das schon mal gemacht?

Alchy
Etwas um 48h verzögert eingeschaltet?
Nee, meine längste Verzögerung sind 30min.
Oder hab ich was falsch verstanden?


Gruß
Roberto
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von alchy » 13.05.2018, 12:58

Na dann Probier mal etwas um 48h zu verzögern im Programm wie du es vorschlägst. :wink:

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Accuracy
Beiträge: 749
Registriert: 22.05.2013, 16:37
Hat sich bedankt: 1 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von Accuracy » 13.05.2018, 14:08

deswegen frage ich ja, ob es eine Möglichkeit gibt die Variable zeitverzögert nach 2 Tagen auf EIN zusetzen?

66er
Beiträge: 3083
Registriert: 23.08.2015, 11:06
System: CCU
Hat sich bedankt: 116 Mal
Danksagung erhalten: 111 Mal

Re: Variable 48h Zeitverzögert setzen

Beitrag von 66er » 13.05.2018, 14:28

Hallo,

wie Janniman schon geschrieben hat, sollte das mit einem CUxD-Timer kein Problem sein.

Und falls die Zeitspanne für den Timer doch zu groß sein sollte, kann man ja mehrere Timer sequentiell starten und mit Ablauf des letzten dann die Variable setzen. :wink:

Xel66 hat's sogar mit der Sperrvariablen erklärt.

LG und schönen Sonntag
Stefan

Antworten

Zurück zu „HomeMatic allgemein“