Homematic 4 Fach Schalter nacheinander on-for-timer auslösen

Begonnen von kud, 04 Juli 2016, 11:54:27

Vorheriges Thema - Nächstes Thema

kud

Hallo,

beregne meinen Garten (obwohl dieses Jahr nicht notwendig 8) mit einem
4-fach Homatic HM-LC-Sw4-WM.
Jetzt habe ich nun schon ne Menge probiert von "Doif" angefangen bis hin zu "at" , leider ohne Erfolg.
Wenn der Dummy "Gartenwasser" auf "on" geht soll die Beregnung beginnen. (set Ventil1 on-for-timer 60)
Wenn der Timer von Ventil1 abgelaufen ist soll Ventil2 on-for-timer 60 gehen usw.
Wenn das letzte Ventil4 fertig ist soll die Wasserpumpe ausgeschaltet werden, der Dummy "Gartenwasser" auf Off gesetzt und mir ein Telegram gesendet werden.
Wäre auch nett wenn ich den Dummy "Gartenwasser" nicht nur on oder off setzte sondern einen On-for-timer - Wert mitgeben würde.
zB. set Gartenwasser 180 --> schaltet alle Ventile jeweils 180 Sekunden ein.

Also alles einzeln zu erledigen ist nicht das Problem sonder nur die Aufeinanderfolge der on-for-timer.

Kann mir Jemand einen Schubser geben?






Paul

Einfach im ersten at ein zweites, drittes und 4 at setzen.set regnet on-for-timer 60; define R2 .....
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

automatisierer

#2
oder mit DOIF:
define Bewaesserung_doif DOIF ([Gartenw_Dummy]) (set SW_Dummy_Ch1 on-for-timer [Gartenw_Dummy]) (set SW_Dummy_Ch2 on-for-timer [Gartenw_Dummy]) (set SW_Dummy_Ch3 on-for-timer [Gartenw_Dummy]) (set SW_Dummy_Ch4 on-for-timer [Gartenw_Dummy])
attr Bewaesserung_doif do always
attr Bewaesserung_doif wait 0,[Gartenw_Dummy],[Gartenw_Dummy],[Gartenw_Dummy]


wird mit set Gartenw_Dummy 120 getriggert

kud

Das sieht mal gut aus...nur verstehen  tue ich es nicht.
Was macht das

attr Bewaesserung_doif do always
attr Bewaesserung_doif wait 0,[Gartenw_Dummy],[Gartenw_Dummy],[Gartenw_Dummy]

Wartet der Doif bis der On-for-timer abgelaufen ist und aktiviert den nächsten On-for-Timer?


automatisierer

do always, damit es mehr als ein mal funktioniert.

wait, wartet mit dem ausführen des Befehls die angegebene Zeit.

steht aber auch alles sehr schön und ausführlich in der Commandref.

kud

Danke für den Schubser. ;D

Diese "Wait"-Geschichte ist ja mal spannend.

pc1246

Hallo kud
Justme (andre) hat glaube ich eine state-machine kreiert. Ich weiss nur nicht wie weit die Einsetzbar ist!
Gruss Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

kud

danke für den Hinweis. Finde aber dazu von Justme nichts ;-(

Aber die CommadRef sagt ja auch für wait
"Statt Sekundenangaben können ebenfalls Stati, Readings in eckigen Klammen"  ...wäre auch nicht schlecht.
Jedoch ist ja das Problem, dass sich der Status in der Zeit 2 x ändert. Wenn ich möchte, dass Ventil2 beginnt wenn Ventil1 fertig ist

define Bewaesserung_doif DOIF ([Gartenw_Dummy]) (set Ventil1 on-for-timer [Gartenw_Dummy]) (set Ventil2 on-for-timer [Gartenw_Dummy]) (set Ventil3 on-for-timer [Gartenw_Dummy])
attr GartenDOIF wait 0,[Ventil1:off],[Ventil2:off]

Ich denke, dass Ventil1 und Ventil2 nacheinander schalten werden jedoch wird Ventil3 auch gleich mit angehen.... Schade wäre auch nett.

@automatisierer: Der Garten wird gerade mit Deinem Doif beregnet . Top.


betateilchen

man könnte auch einfach per notify auf das "off" eines Ventils triggern und damit das nächste Ventil einschalten :P
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kud

Am Anfang ist alles "off" .... Da gehen alle Ventile an  ??? ...Das hatte ich schon.

automatisierer

Zitat von: kud am 04 Juli 2016, 16:34:30
danke für den Hinweis. Finde aber dazu von Justme nichts ;-(

Aber die CommadRef sagt ja auch für wait
"Statt Sekundenangaben können ebenfalls Stati, Readings in eckigen Klammen"  ...wäre auch nicht schlecht.
Jedoch ist ja das Problem, dass sich der Status in der Zeit 2 x ändert. Wenn ich möchte, dass Ventil2 beginnt wenn Ventil1 fertig ist

define Bewaesserung_doif DOIF ([Gartenw_Dummy]) (set Ventil1 on-for-timer [Gartenw_Dummy]) (set Ventil2 on-for-timer [Gartenw_Dummy]) (set Ventil3 on-for-timer [Gartenw_Dummy])
attr GartenDOIF wait 0,[Ventil1:off],[Ventil2:off]

Ich denke, dass Ventil1 und Ventil2 nacheinander schalten werden jedoch wird Ventil3 auch gleich mit angehen.... Schade wäre auch nett.

@automatisierer: Der Garten wird gerade mit Deinem Doif beregnet . Top.
Das Reading in eckigen Klammern, muss dann allerdings ein Zahlenwert sein, der die wait-Zeit in Sekunden angibt.

Wenn du den Gartenw_Dummy mit 'set Gartenw_Dummy 120' auf "120" setzt, dann wird diese 120 überall dort wo du [Gartenw_Dummy] einsetzt verwendet.
daher:

attr Bewaesserung_doif wait 0,[Gartenw_Dummy],[Gartenw_Dummy]

das würd dann einem 'attr Bewaesserung_doif wait 0,120,120' gleich kommen.
die wait's werden dann nacheinander abgearbeitet und daher passt das.

kud

Das hatte ich schon so verstanden.

Jedoch Dein Satz

<<Das Reading in eckigen Klammern, muss dann allerdings ein Zahlenwert sein, der die wait-Zeit in Sekunden angibt.>>
widerspricht doch der Commandref "Statt Sekundenangaben können ebenfalls Stati, Readings in eckigen Klammen"

Ich werde mal probieren   ;)

Aaaaber es läuft eigentlich schon so wie ich es wollte. :)

automatisierer

Das Stati und Readings genommen wewrden können ist richtig - du kannst aber halt nur Stati und Readings mit Zahlenwerten nehmen. Mit einem Stati oder Reading in dem off oder on oder sonstwas steht, gehts nicht.

kud


pc1246

HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div