Hallo,
ich bin noch recht neu in dem Thema Fhem. Grundsätzliche Funktionen realisiere ich bereits mit Fhem und Homematik Produkten. Nachdem die Automatisierung meiner Beleuchtung und Fußbodenheizung mit Fhem bereits gut funktioniert, versuche ich mich gerade an der Steuerung meiner Rollos und ich komme ich dann auch schon zu meinem Problem.
Ich würde gerne die Rollos an Wochentagen mit Sonnenaufgang + Offset hochfahren und mit Sonnenuntergang + Offset herunterfahren. Das habe ich aktuell mit *at und der Sunrise-Funktion implementiert. Jetzt muss ich aber außerdem noch eine Lüften Funktion realisieren bei der die Rollos , wenn Sie geschlossen sind um 20% auffahren.
Hier soll nun DOIF ins Spiel kommen, leider schaffe ich es nicht die Funktion DOIF mit der Sunrise() / Sunset() Funktion zu verheiraten, kann mir hierbei vielleicht jemand sagen was an meinem Code falsch ist, oder funktioniert es so garnicht und ich muss mich wieder mit einzelnen at und notify quälen?
DEF meines DOIF aus der GUI:
({sunrise("CIVIL",0,"7:30","9:30")} (set Rollos Auf) DOELSEIF ({sunset("CIVIL",0,"17:30","21:30")}) (set Rollos Zu)
Das ganze soll dann noch, wenn dieser einfache Teil funktioniert um den Part Lüften erweitert werden.
Ich hoffe Ihr könnt mir helfen, Tante Google und auch die Forensuche konnten mir leider nicht helfen. Anscheinend bin ich der erste der den Gebrauch von DOIF und Sunrise() probiert und scheitert :-(
Gruß
Thorsten
Hallo,
hier mal das Beispiel aus der (deutschen) Commandref von Damian:
ZitatSchalten bei Sonnenaufgang und Sonnenuntergang:
define di_light DOIF ([{sunset(0,"17:00","21:00")}-{sunset_abs()}]) (set outdoorlight off) DOELSE (set outdoorlight on)
Ich hoffe das hilft dir etwas weiter.
Grüße
Hallo,
danke das genau war es, habe die []-Klammern vergessen.
Danke
Thorsten
Hallo,
nun noch ein gelöst vorne dran und die Lösung im ersten Beitrag einfügen dann haben alle was davon.
Grüße
Hallo,
ich habe auch ein Problem
defmod Logik_Rollo_Wohnen DOIF ([{sunset(-1700,"16:00","21:00")}]-[{sunrise(+5000,"08:00","09:00")}]) (set group=Rollo_Wohnraum value 0) DOELSE (set group=Rollo_Wohnraum value 100)\
Die Auslösung funktioniert nur wenn ich ein Set checkall mache, woran liegt das??
Probier mal ohne das rote:
Zitat([{sunset(-1700,"16:00","21:00")}]-[{sunrise(+5000,"08:00","09:00")}])
Top, super, Danke.
Das War´s, jetzt funktioniert es.
Danke
und auch ich habe ein ähnliches PRoblem:
([{sunrise("HORIZON=+6.0",0,"7:00","11:00")}]) (set rollo open)
Das funktioniert nicht immer, kann jemand helfen?
Das hingegen funktioniert problemlos:
([?11:00-18:00] and [MeinWetter:fc1_high_c] > 25 and ([MeinWetter:condition] eq "teilweise wolkig" or [MeinWetter:condition] eq "sonnig")) (set rollo closed)
Auch wenn sunrise theoretisch geht würde ich hier sunrise_abs nehmen:
([{sunrise_abs("HORIZON=+6.0",0,"7:00","11:00")}]) (set rollo open)
DAnke für die schnelle Antwort :). Meinst du, dass ist das Problem? ICh habe es umgeändert und mal sehen, ob es funktioniert.
Wirf doch dies
{sunrise_abs("HORIZON=+6.0",0,"7:00","11:00")}
und dies{sunrise("HORIZON=+6.0",0,"7:00","11:00")}
jetzt nacheinander in die FHEM Kommandozeile und schau das Ergebnis an.
Je nach wann der Timer gesetzt wird, denke ich es geht oder geht nicht. Kann (wenn das wirklich alle in dem DOIF ist) fast nichts anderes sein.
Der einzige Unterschied ist eben bei ohne Abs, ist der Wert ein Überlauf zum nächsten Tag, also 31h z.B. Das setting Timer_c01_01 ist in beiden Fällen gleich. Ich bin gespannt ob es geht. Vielen Dank.
Leider das Gleiche Problem, am 1. Tag funktioniert es, danach nicht mehr.
do always Attribut gesetzt?
Nein, ich probiere....
https://fhem.de/commandref_DE.html#DOIF_Zu_beachten
Dort steht:
ZitatAngaben, bei denen aufgrund der Definition kein Zustandswechsel erfolgen kann z. B.:
define di_light DOIF ([08:00]) (set switch on)
attr di_light do always
müssen mit Attribut do always definiert werden, damit sie nicht nur einmal, sondern jedes mal (hier jeden Tag) ausgeführt werden.
Vielen Dank, das war mir leider nicht bewusst, bin sehr neu bei dem Them FHEM.