Codehilfe: verzögerte Alarmmodus

Begonnen von Andre0909, 25 März 2018, 10:13:19

Vorheriges Thema - Nächstes Thema

Andre0909

Moin zusammen,
mein Denkapparat kommt gerade nicht weiter.

Ich nutze einen dummy Alarmmodus.
Diesen kann ich über eine Wandsteuerung ein und ausschalten.

Wenn der dummy den Befehl an bekommt sind sämtliche "Melder" Scharfgeschaltet. Also jegliche Außentüren melden eine Öffnung als Push, Bewegung im Raum lässt Lichter angehen und eine Audio-Meldung über das Tablet abgeben. Soweit klappt das wunderbar. Der Modus geht zu programmierten Zeiten n und wieder aus.

Manchmal muss ich diesen aber auch manuell anschalten, weil das Haus z.B. längerfristig verlassen wird.
Wenn ich den schalter anstelle ist aber SOFORT scharf geschaltet sprich da ich im Bewegungsbereich des Melders bin geht sofort das ganze Programm los. Da der Bewegungsmelder 5 Min lang "motion" meldet möchte ich also das der dumy erst nach aktivierung 10 min später angeht.

Ich habe mir also gedacht, dass ich durch das manuelle anwählen des Schalters diesen nicht auf "AN" setze sondern auf "AKTIVIERT" und das aktiviert dann mit einem AT befehl 10 min später den MODUS des Schalters auf "AN" setzt.
Problem hierbei, sollte ich den schalter innerhalb der 10 min wieder auf "AUS" stellen, z.B. durch eine Fehlaktivierung soll natürlich auch nicht in 10 min wieder auf AN gestellt werden.

Hat hier jmd eine Codehilfe für mich? Ich kriegs nicht zusammengebastelt :( DANKE

PS.

Weiteres Problem dass die Lampen bei festgestelltem Alarm nur angehen wenn es dunkel ist. Ich nutze Sunrise und Sunset über die Weekdaytimer zum schalten der Lampen. Soweit so gut, aber wie würde ich das verbinden. Quasi Wenn Modus Alarm dann schalte Licht an (das habe ich schon) aber nur wenn Zeit zwischen Sonnenuntergang und Aufgang (das hab ich nicht)

amenomade

DOIF mit "wait" Attribut wäre eine Option

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Andre0909

Zitat von: amenomade am 25 März 2018, 13:32:01
DOIF mit "wait" Attribut wäre eine Option
Ja aber wenn ich den Modus in der waiting Time ändere wird dann nach der Zeit trotzdem der Befehl durchgeführt oder ?


Gesendet von iPhone mit Tapatalk

amenomade

Nicht wenn Du dich inzwischen in einem anderen Zweig des DOIFs befindest.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Andre0909

Also ich habs jetzt so und werd es gleich testen:

Zitat
define doif_Uberwachungsmodus_Timer1 DOIF ([Ueberwachungsmodus] eq "Timer")( set Tablet ttsmsg Alarm in 10 Min aktiv)

define doif_Uberwachungsmodus_Timer2 DOIF ([Ueberwachungsmodus] eq "Timer")(set Ueberwachungsmodus An)
attr doif_Uberwachungsmodus_Timer timerWithWait 1
attr doif_Uberwachungsmodus_Timer wait 600

Am Tablet schalte ich auf "Timer" oder "Aus". Bei "An" reagieren alle Melder. Problem:

Wenn ich jetzt in den 600 Waiting Time wieder auf "Aus" stelle geht der "Set Überwachungsmodus An" trotzdem durch oder?

helmut

Zitat von: Andre0909 am 25 März 2018, 10:13:19
Ich habe mir also gedacht, dass ich durch das manuelle anwählen des Schalters diesen nicht auf "AN" setze sondern auf "AKTIVIERT" und das aktiviert dann mit einem AT befehl 10 min später den MODUS des Schalters auf "AN" setzt.
Problem hierbei, sollte ich den schalter innerhalb der 10 min wieder auf "AUS" stellen, z.B. durch eine Fehlaktivierung soll natürlich auch nicht in 10 min wieder auf AN gestellt werden.

Ich wuerde im "command"-Teil des "at" den Zustand des Schalters abfragen.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Andre0909

#6
Zitat von: helmut am 25 März 2018, 19:24:38
Ich wuerde im "command"-Teil des "at" den Zustand des Schalters abfragen.

Gruss Helmut

siehe post dadrüber. Habs jetzt mit einem DOIF.. Wie könnte ich da Implementieren dass er nach der WAIt Time nochmal abfragt ob der Schalter immer noch auf "Timer" steht um genau dann auszuführen sonst eben nichts zu machen. Also MArke ist die Bedingung von vor 10 Minuten noch aktuell? dann los jetzt sonst nicht.

BZW ich muss erstmal testen ob er das nicht sowieso macht :D

ach ich Idiot, er prüft nach 10 min nochmal die Bedingung, ich dachte immer nach 10 min wird ausgeführt... Also macht WAIT ja genau was ich will, nix wenn sich es wieder ändert