Hallo,
ich bin totaler Anfänger und habe das Problem das ich das Modul Twilight eingebunden habe und es nun gerne nutzen würde.
Zunächst falls es wichtig ist, bei mir heißt das Modul Helligkeit.
Nun habe ich eine Funktion wo ein Bewegungsmelder FS20piri2 eine Lampe schaltet. Das klappt bestens, sie soll auch nur eingeschaltet werden.
Das wäre jetzt so angelegt: FS20_02cb00:on-old-for-timer.60 set wz_Stehlampe on
das define etc am Anfang hab ich mal weggelassen.
Nun würde ich gerne aus der Twilight Funktion den Wert der Helligkeit mit einbauen, weiß nur nicht wie ich es machen soll. Ein IF (Helligkeit.light<=6 ) schalte klappt nicht...
Was mach ich falsch oder ist da ein Gedankenfehler drin?
Liebe Grüße
gonzo_6
https://fhem.de/commandref_DE.html#Twilight
Da steht schon mal sehr viel.
Ganz unten ist auch ein Beispiel mit at, und einem Helligkeitswert sr_indoor
Gesendet von meinem Wileyfox Swift mit Tapatalk
Danke schön für deine Antwort, das hatte ich schon. Funktioniert auch, aber ich möchte wissen wie ich beides kombinieren kann.
Also mein Bewegungsmelder und die Helligkeit.
Da fällt mir spontan DOIF ein. Im Wiki zu DOIF sind Beispiele wie man eine Lampe nur an bestimmten Tagen und nach Helligkeit schalten kann. Anstatt nach Tagen könntest du dann deinen Bewegungsmelder einbauen. Sollte vom Prinzip her ähnlich sein.
Edit:
Ach du verwendest ja on-for-timer dann reicht wie du sagtest nur ein notify.
Notify mit IF sollte dann auch gehen.
Ein Beispiel kann ich dir leider jetzt nicht nennen. Schau dur mal IF an.
Ja so etwas hatte ich mir schon gedacht, dann guck ich da mal :-)
Danke schön!
LG gonzo_6
Hab jetzt mal das getestet:
IF((Helligkeit:light<=6) and (FS20_02cb00:on-old-for-timer.60)) set wz_Stehlampe on
Warum laüft das nicht????
Dabei ist Helligkeit mein Name für das Twilight Modul
Was steht im Logfile?
Das Reading light dürfte nicht zielführend sein. Die Stehlampe soll doch bestimmt auch eingeschaltet werden, wenn du mal nach light<=6, also bei light = 7 bis 11 am Bewegungsmelder vorbeilatscht. Da bietet sich das Reading twilight (oder twilight_weather) in Verbindung mit einem Wert an. Als Notify wäre das dann etwa
define <Name desNotify> notify FS20_02cb00:on.* {
if (ReadingsVal("Helligkeit","twilight",0) <= 45)
{fhem "set wz_Stehlampe on-for-timer 60"}\
}
Der Wert (45) kann beliebig geändert werden.
Edit: Oops, obiges ist nicht korrekt: State schreitet voran, aber light nicht
Bis hierher ist light = STATE. Von nun an wird light wieder weniger (es wird ja dunkler) aber STATE schreitet vor
Vielen dank, hab ich jetzt mal so angelegt.
Mal schauen, der twilight Wert ist im Moment auf 100 :-)
Hmmm, hab die 45 jetzt mal auf 145 gesetzt damit er die 100 als gültig anerkennt, er schaltet aber nicht :-(
Ist das bei den readings nicht so, das die Änderung erst eintreffen muss ?
Also muss das twilight Modul sich erst mal aktualisieren bzw. die Daten abrufen ?