Fenster mit Bedingungen jede Stunde für 5 min. öffen

Begonnen von jan4321, 13 Februar 2016, 13:43:58

Vorheriges Thema - Nächstes Thema

jan4321

Ich kann mein Fenster mit "set fenster offen" öffnen und mit "set fenster geschlossen" schließen.
Nun würde ich gerne eine art timer haben, der das Fenster jede Stunde für 5 Minuten öffnet.
Am besten wäre es, wenn ich diesen timer per fhem an und ausschalten könnte und noch besser (aber warscheinlich komplizierter) wäre es,
wenn das fenster automatisch immer zu geht (und bleibt) wenn mein Handy nicht mehr in Reichweite bzw. im wlan ist.

Ich könnte das ganze natürlich über tasker realisieren, aber direkt in Fhem wäre es deutlich schöner.
Wäre jemand so nett, mir den Code dafür zu schreiben? :)
Danke!

FranzB94

Zitat von: jan4321 am 13 Februar 2016, 13:43:58
Ich kann mein Fenster mit "set fenster offen" öffnen und mit "set fenster geschlossen" schließen.
...und das ganz ohne einen Aktor? Wie geht denn sowas?


jan4321

#2
Na ja, das ist ein dummy der einen script auf dem pi ausführt, welcher dann über gpio den Motor steuert.

define fen_geschlossen notify Fenster:geschlossen {system("bash ./fenster_geschlossen.sh&");;}
define fen_offen notify Fenster:offen {system("bash ./fenster_offen.sh&");;}

ist schon etwas her, dass ich das mal gebastelt habe...

Hollo

Zitat von: jan4321 am 13 Februar 2016, 13:43:58
...Wäre jemand so nett, mir den Code dafür zu schreiben? :)
Die erste Maßnahme hier ist ja erstmal "Hilfe zur Selbsthilfe".
Das ist nicht zum Ärgern gedacht, sondern damit Du verstehst, worum es geht.
Andernfalls kannst Du das ja nie anpassen, wenn Du mal was ändern willst.

Also ein Anfangs-Tipp:

Definiere Dir ein at, welches stündlich Dein Fenster öffnet.
So in der Richtung z.B.
define Fensterauf at +*01:00:00 set fenster offen

Und das gleiche für Fenster schliessen 5 Minuten später.   ;)
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Ellert

Zitat von: jan4321 am 13 Februar 2016, 13:43:58
Ich kann mein Fenster mit "set fenster offen" öffnen und mit "set fenster geschlossen" schließen.
Nun würde ich gerne eine art timer haben, der das Fenster jede Stunde für 5 Minuten öffnet.
Am besten wäre es, wenn ich diesen timer per fhem an und ausschalten könnte und noch besser (aber warscheinlich komplizierter) wäre es,
wenn das fenster automatisch immer zu geht (und bleibt) wenn mein Handy nicht mehr in Reichweite bzw. im wlan ist.

Ich könnte das ganze natürlich über tasker realisieren, aber direkt in Fhem wäre es deutlich schöner.
Wäre jemand so nett, mir den Code dafür zu schreiben? :)
Danke!

Schau Dir mal DOIF an, das ist dazu gemacht, um komplexe Abläufe zu realisieren, s. http://fhem.de/commandref_DE.html#DOIF

di DOIF ([Anwesend]) (set Fenster auf) (set Fenster zu)
DOELSEIF (![Anwesend]) (set Fenster zu)

und die Attribute
wait 3300,300:0
repeatcmd 3300:0

jan4321

#5
DOIF sieht ziemlich vielversprechend aus.
zum testen habe ich folgendes ausprobiert:
define di_fenster DOIF ([+:10]) (set Fenster offen)
attr di_fenster do always

allerdings passiert nach 10 Minuten leider nichts..
der status vom DOIF ist immer "? ? ?"

Ellert


jan4321

#7
es ist ein kleines Fenster aber ein großes F enster :D
das habe ich schon probiert. Der set code ist richtig.
wenn ich statt der Zeit ein anderes event als trigger nehme, funktioniert alles.
was könnte der Grund sein, dass es mit der Zeitsteuerung nicht funktioniert?

Ellert

Mach mal ein Listing des DOIF. Kann ich davon ausgehen, dass Dein FHEM aktuell ist, also beim  Update "nothing to do" angezeigt wird?

jan4321