Rollosteuerung Zeiten programmieren

Begonnen von Tischi, 13 Januar 2014, 13:29:19

Vorheriges Thema - Nächstes Thema

Tischi

Ich habe mir FHEM auf meinem Raspberry PI instaliert und soweit eingerichtet mit einem Raspberry PI HM-CFG-USB.

Im Momen habe ich einen HM-LC-BI1PBU-FM(Bausatz) Rolladenaktor in Betrieb. Der nächste Bausatz ist schon auf dem Weg!

Nun möchte ich gerne schon einmal eine Zeitsteuerung programmiern...

define Rollo_hoch Heating_Control szRollo Mo-Fr|9:00|on Mo-Fr|18:00|off
define Rollo_hoch Heating_Control brRollo Mo-So|9:00|on Mo-So|18:00|off


So habe ich mir das jetzt zusammen gelesen! Ich würde aber gerne einen effizienten code haben.
Am Ende werden es 4 Rollos sein die gesteuert werden.....

Folgendermassen sollte es sein:
-Rollo im Schlafzimmer (szRollo) soll in der Woche um 9:00 Uhr hoch fahren und am liebsten bei Sonnenuntergang wieder runter! Am Wochenende soll es morgens unten bleiben und nur Abends runter fahren...
-Zwei Rollos im Wohnzimmer (wz1Rollo, wz2Rollo) sollen nur am Wochenende um 9:00 hoch fahren und Sonnenuntergang soll nur wz1Rollo runterfahren. In der Woche soll wzRollo2 unten bleiben (Balkontür)
-Das 4 Rollo im Büro (buRollo) Soll wie das wz1Rollo jeden Tag um 9 rauf und Sonnenuntergang wieder runter....

Desweiteren hätte ich gerne einen Schalter der alle Rollos auf einmal Schaltet! Geht das? Feiertage und Urlaub wäre natürlich auch gut aber das würde ich dann später versuchen einzubinden...

Ich wiess nicht ob ich nen Timer programmieren oder Head_Control nehmen soll......
Kann mir jemand einen Tip geben wie ich meine Vorhaben am besten umsetzte? Vorrausgesetzt es steigt jemand hier durch :-)
Vielen Dank erstmal

Rince

Die heating controll zum Rollo steuern?

Am simpelsten geht es wohl mit at.

Lies mal im Einsteigerskript auf Seite 35. Da wird dein Vorhaben mit einer Nachttischlampe erläutert.
Quasi 1:1 was du willst.
Inlusive Wochenende :)

Ich würde es aber zumindest abends nicht so machen!

Stell dir vor du sitzt draußen auf der Terasse, FHEM macht den Rollo zu und sperrt dich aus!
Da sollte noch ne anti-aussperr-Sicherung rein :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Tischi

So hab das jetzt so:

define wakeup at *09:00:00 {\
  if (!$we) {\
   {fhem("set szRollo on") }\
   {fhem("define wakeupOff at *18:00:00 set szRollo off") }\
   {fhem("set buRollo on") }\
   {fhem("define wakeupOff at *18:00:00 set buRollo off") }\
   {fhem("set wz1Rollo on") }\
   {fhem("define wakeupOff at *18:00:00 set wz1Rollo off") }\
}\
}


define wakeup at *09:00:00 {\
  if ($we) {\
   {fhem("set buRollo on") }\
   {fhem("define wakeupOff at *18:00:00 set buRollo off") }\
   {fhem("set wz1Rollo on") }\
   {fhem("define wakeupOff at *18:00:00 set wz1Rollo off") }\
   {fhem("set wz2Rollo on") }\
   {fhem("set szRollo off") }\
}\
}


Könnte das so funktionieren? Abends hätte ich aber gerne nach Sonnenuntergang. Im Juli um 18:00Uhr Rollo runter ist ja nicht so toll! Kann ich das hier im Code noch einfügen?

Aussperren kann ich mich nicht da das Rollo zum Balkon nur am Wochenende hochgefahren wird aber nie runter!


ph1959de

ZitatAbends hätte ich aber gerne nach Sonnenuntergang.
... at *{sunset(-1800,"16:30","21:00")} ...
=> 1800 Sekunden vor Sonnenuntergang, aber frühestens um 16:30, spätestens 21:00
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Rince

Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Tischi

Zitat von: Rince am 13 Januar 2014, 15:11:15

Hier hat jemand wohl exakt das Gleiche gefragt :)

http://forum.fhem.de/index.php/topic,17576.15.html

Hab ich nicht gefunden sorry  :-\

Hab den code nochmals angepasst!

define wakeup at *09:00:00 {\
  if (!$we) {\
   {fhem("set szRollo on") }\
   {fhem("define wakeupOff at *{sunset(-1800,"16:30","21:00")} set szRollo off") }\
   {fhem("set buRollo on") }\
   {fhem("define wakeupOff at *{sunset(-1800,"16:30","21:00")} set buRollo off") }\
   {fhem("set wz1Rollo on") }\
   {fhem("define wakeupOff at *{sunset(-1800,"16:30","21:00")} set wz1Rollo off") }\
}\
}


define wakeup at *09:00:00 {\
  if ($we) {\
   {fhem("set buRollo on") }\
   {fhem("define wakeupOff at *{sunset(-1800,"16:30","21:00")} set buRollo off") }\
   {fhem("set wz1Rollo on") }\
   {fhem("define wakeupOff at *{sunset(-1800,"16:30","21:00")} set wz1Rollo off") }\
   {fhem("set wz2Rollo on") }\
   {fhem("define wakeupOff at *{sunset(-1800,"16:30","21:00")} set szRollo off") }\
}\
}


-In der Woche gehen alle Rollos um 9:00 hoch ausser wz2Rollo!
-Am Wochenende das selbe nur diesmal geht das wz2Rollo mit hoch stattdessen bleibt das szRollo unten!
-Abends werden aber alle ausser das wz2Rollo runter gefahren

Danke für die Hilfe...