FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: sylvester am 29 September 2014, 18:43:21

Titel: WeekDayTimer
Beitrag von: sylvester am 29 September 2014, 18:43:21
Hallo!

Ich habe eine Frage zu dem WeekDayTimer.
Ich steuere mit ihm meine Rollläden.
Nun möchte ich, dass die WeekDayTimer nicht ausgeführt werden, wenn das Fenster geöffnet ist.
Bis hier klappt das auch alles schon ganz gut.
Wenn ich nun das Fenster schließe, möchte ich, dass sich der Rollladen entsprechend seinem WeekDayTimer einstellt. Das klappt leider nicht.
Ich habe dafür den Befehl "{WeekdayTimer_SetAllParms()}" benutzt. Dieser wird auch erfolgreich ausgeführt. Leider wird aber auf Grund der Aktualisierung kein Steuerbefehl an die Rollläden gesendet. Muss ich den noch manuell nachschieben? Also so etwas wie "Execute WeekdayTime xy"?

Vielen Dank für eure Tipps!

Viele Grüße

Stephan
Titel: Antw:WeekDayTimer
Beitrag von: Dietmar63 am 29 September 2014, 19:18:29
"{WeekdayTimer_SetAllParms()}"

Ist aus meiner Sicht korrekt, muss nur an ein notify auf den Türkontakt gebunden werden
Titel: Antw:WeekDayTimer
Beitrag von: sylvester am 29 September 2014, 19:20:20
ja, das habe ich. ich sehe auch im Logfile, das es korrekt ausgeführt wird.
Allerdings werden Rollläden, die nach WeekDayTimer offen sein müssten, nicht geöffnet, wenn sie gerade geschlossen sind :(
Titel: Antw:WeekDayTimer
Beitrag von: Dietmar63 am 29 September 2014, 20:05:28
Ich sehe mir nachher mal an was passiert
Titel: Antw:WeekDayTimer
Beitrag von: sylvester am 29 September 2014, 21:05:44
define HWR_Fenster_Closed notify HWR_Fenster:[Cc]losed {if (OldValue("HWR_Fenster") =~ /[Oo]pen/) {WeekdayTimer_SetAllParms()}}
Titel: Antw:WeekDayTimer
Beitrag von: Dietmar63 am 29 September 2014, 21:14:42
Vorweg: WD basiert auf HeatingControl.

ich glaube es liegt an folgendem(Absicht) siehe Codeschnipsel aus HC:
Der Gedanke war, dass nur Heizungen bei einer zufälligen Definiton des WD/HC geschaltet werden sollen.

Würde man es anders machen, dann würde ein Gerät, das  morgen bzw. abends geschaltet werden soll, auch geschaltet werden, wenn tagsüber die Definition angelegt würde.
Titel: Antw:WeekDayTimer
Beitrag von: justme1968 am 29 September 2014, 21:20:37
wie wäre es das per attribut auch für andere devices zu aktivieren?

gruß
  andre

ps: schau mal bitte hier: http://forum.fhem.de/index.php/topic,27471.msg203610.html#msg203610
Titel: Antw:WeekDayTimer
Beitrag von: sylvester am 30 September 2014, 07:25:35
Hallo,

also jetzt habt ihr mich abgehängt ... :(

Kann ich die Aktualisierung denn durch einen Befehl auslösen?

Ansonsten wäre doch so etwas wie
"WeekdayTimer_SetParms(My_WeekDayTimer)"
ganz hilfreich.
Die Funktion schaut, ob das Device entsprechend My_WeekDayTimer gestellt ist und falls nicht, wird ein Stellbefehl geschickt ...

Viele Grüße

Stephan
Titel: Antw:WeekDayTimer
Beitrag von: Dietmar63 am 30 September 2014, 16:37:54
Sehr wahrscheinlich nein. Weil WD vergangene Schaltungen nicht ausführt. Ich müsste ein Attribut einfügen, das dies einstellbar gestaltet.

Das kann allerdings ein wenig dauern.
Titel: Antw:WeekDayTimer
Beitrag von: Newbie am 30 September 2014, 16:53:57
Hallo Stephan,

hast du dir schon einmal das neue DOIF-Modul angeschaut? http://forum.fhem.de/index.php/topic,23833.0.html (http://forum.fhem.de/index.php/topic,23833.0.html)
Bei mir funktioniert es wunderbar mit dem Fensterkontakt und der Rollladensteuerung.

vg Jens
Titel: Antw:WeekDayTimer
Beitrag von: sylvester am 01 Oktober 2014, 15:32:40
Hallo Dietmar,

warum willst du vergangene Schaltungen berücksichtigen?

Wenn die Funktion "WeekdayTimer_SetAllParms()" aufgerufen wird, wird doch jeder WeekDayTimer aktualisiert. Im Rahmen dieser Aktualisierung müsste noch geprüft werden, ob das gesteuerte Device entsprechend dem WeekDayTimer steht. Falls nicht, muss ein entsprechender set-Befehl an das Device geschickt werden.

Viele Grüße

Stephan
Titel: Antw:WeekDayTimer
Beitrag von: justme1968 am 01 Oktober 2014, 15:43:14
es gibt keine möglichkeit aus einem gegebenen set kommando automatisch die passende abfrage für den aktuellen zustand zu erzeugen.

entweder schaltet man immer oder nie. bzw. schafft die möglichkeit per attribut zwischen beiden umzuschalten.

gruß
  andre

Titel: Antw:WeekDayTimer
Beitrag von: sylvester am 01 Oktober 2014, 15:58:24
mhhh ...

ich stelle mir vor, dass irgendwo die Funktion "WeekdayTimer_SetAllParms()" definiert ist. Und in der Definition müsste man doch Zugriff auf den aktuellen WeekDayTimer-Parameter und den aktuellen Device-Paramter haben, oder? Wenn beide voneinander abweichen, schickt man am Ende der Funktionsdefinition einen set-Befehl mit dem WeekDayParameter an das Device.

Das klingt doch in der Theorie ganz einfach ;)

Ansonsten verstehe ich auch den Sinn/Anwendungsfall der Funktion "WeekdayTimer_SetAllParms()" nicht.
Ich dachte, mit der Funktion kann ich Devices, die außerhalb des WeekDayTimers geschaltet wurden, wieder auf den aktuellen Programmstand des WeekDayTimers zurück setzen.
Oder wofür benutze ich die Funktion?

Und wenn HeatingControl das kann, könnte ich dann auch HeatingControl zur Rolladensteuerung benutzen oder kann ich da nur Temperaturen angeben?

Viele Grüße

Stephan
Titel: Antw:WeekDayTimer
Beitrag von: Damian am 01 Oktober 2014, 17:40:33
Gerade für Zeitsteuerung in Verbindung mit Zuständen habe ich das DOIF-Modul programmiert.

Beispiel als Einzeiler:

define di_rollladen DOIF ([08:00-20:00] and [fenster] eq "geschlossen") (set Rollladen hoch) DOELSE (set Rollladen runter)

Hierbei musst du nichts auf enable oder disable setzen.

Um 8:00 Uhr geht der Rollladen hoch, wenn fenster geschlossen ist, sonst bleibt der unten. Sobald Fenster geöffnet wird, geht der Rollladen runter, wenn er oben war. Um 20:00 Uhr geht Rollladen runter, wenn er bis dahin noch oben war. Es wird also zu jedem Zeitpunkt das getan, was der Anwender intuitiv durch die definierte Bedingung erwartet. Dabei wird nie ein Befehl unnötig gesendet, da das Modul zu jedem Zeitpunkt den aktuellen Zustand des Rollladens kennt.

Gruß

Damian