Hallo zusammen,
FHEM betreffend, bin ich noch relativ unerfahren. Seit gestern schaffe es aber dank der Informationen aus dem Forum, meine Stehlampen über ein Notify anzusteuern, wenn die IP des Fernsehers vom Presence-Modul erkannt wird:
define TVLichtWohnzimmer_an notify TVWohnzimmer:present set StehlampeFernseher,StehlampeSofa on
attr TVLichtWohnzimmer_an room Wohnzimmer
define TVLichtWohnzimmer_aus notify TVWohnzimmer:absent set StehlampeFernseher,StehlampeSofa off
attr TVLichtWohnzimmer_aus room Wohnzimmer
Meine Frage an das Forum: Wie muss ich das Notify erweitern, damit sich die Stehlampen erst ab einem gewissen Helligkeitswert einschalten. Den Helligkeitswert würde ich gern aus dem Twilight-Modul auslesen.
Vielen Dank im Voraus für Eure Unterstützung.
Saludos,
Lutz
Kann dir nur halb helfen, da ich das Twilight Modul nicht benutze und die Parameter daher nicht so kenne.
Folgendes aber würde das Licht nur einschalten wenn es gemäss sunset-uhrzeiten nicht "Tag" ist:
define TVLichtWohnzimmer_aus notify TVWohnzimmer:absent { if (!isday()) { fhem("set StehlampeFernseher,StehlampeSofa off") }}
Da kannst du schonmal das Prinzip erkennen. Noch was:
attr TVLichtWohnzimmer_an room Wohnzimmer
Defines einzelnen Räumen zuzuordnen ist ungewöhnlich. Es mag dafür irgendwelche Gründe geben, die ich gerade nicht erkennen kann, aber funktional NOTWENDIG ist das nicht.
Hallo,
ZitatDefines einzelnen Räumen zuzuordnen ist ungewöhnlich. Es mag dafür irgendwelche Gründe geben, die ich gerade nicht erkennen kann, aber funktional NOTWENDIG ist das nicht.
Ich mach sowas gerne um in der Gesatmübersicht des Stockwerks auch alle defines zu sehen.
In den Unteransichten hab ich sie natürlich dann nicht nochmal drinnen.
Grüße
Hallo Zrrronggg!,
vielen Dank für Deinen Tipp mit !isday. Habe ich umgehend umgesetzt und die Beleuchtung bleibt noch dunkel. Bin gespannt, bei welchen Lichtverhätlnissen die Lampen nachher eingeschaltet werden.
ZitatDefines einzelnen Räumen zuzuordnen ist ungewöhnlich.
Ich habe bisher noch wenig Erfahrung bzgl einer übersichtlichen Strukturierung meiner Anweisungen in FHEM. Ist es übersichtlicher, die Defines alle ohne Raumzuweisung unter "Unsortet" zu belassen?
Saludos,
Lutz
Hallo zusammen,
nachdem ich mein Notify um !isday erweitert habe, werden die Stehlampen eingeschaltet, sobald der Fernseher "present" ist und es dunkel ist.
Was nicht funktioniert: dass die Stehlampen sich automatisch einschalten, wenn der Fernseher bereits vor dem Eintritt der Abenddämmerung eingeschaltet wurde. Ist das Notify hierzu möglicherweise nicht geeignet?
Saludos,
Lutz
ZitatWas nicht funktioniert: dass die Stehlampen sich automatisch einschalten, wenn der Fernseher bereits vor dem Eintritt der Abenddämmerung eingeschaltet wurde. Ist das Notify hierzu möglicherweise nicht geeignet?
Ist es in der Tat nicht. Mir war nicht ganz klar, dass das deine Anforderung ist. Dann wäre es vermutlich einfacher, die Lampen bei Sunset einzuschalten, WENN der Fernseher an ist.
Ist es dass, was du willst?
P.S.: Damit isday und sunrise etc richtig funktionieren, mus du deine koordinaten eingeben, da Sonneuntergang je nach lage variiert. Default ist Frankfurt, Berlin ist z.b.
attr global latitude 52.666
attr global longitude 13.400
ZitatDann wäre es vermutlich einfacher, die Lampen bei Sunset einzuschalten, WENN der Fernseher an ist.
Ist es dass, was du willst?
Ja, genau das möchte ich erreichen. Dabei soll es egal sein, welches Ereignis (Sunset oder Fernseher_an) zuerst eingetreten ist. Meine eigenen Versuche blieben bisher leider erfolglos.
ZitatDamit isday und sunrise etc richtig funktionieren, mus du deine koordinaten eingeben, da Sonneuntergang je nach lage variiert.
Vielen Dank für den Hinweis. Ich habe meine lokalen Werte eingetragen:
attr global latitude xx.xxx
attr global longitude yy.yyy
Saludos,
Lutz
ich bastel dir was, aber morgen. muss jetzt erstmal pennen.
Mal sehen:
Folgendes haben wir schon:
define TVLichtWohnzimmer_aus notify TVWohnzimmer:present { if (!isday()) { fhem("set StehlampeFernseher,StehlampeSofa on") }}
Es schaltet die Lampen an, wenn TVWohnzimmer auf "present" wechselt und es Nacht ist.
Folgendes sollte zusätzlich die Lampen anmachen, wenn es dunkel WIRD und dann TVWohnzimmer schon auf "present" steht:
define TVLicht_an at *{sunset()} {if (Value("TVWohnzimmer") eq "present") { fhem("set StehlampeFernseher,StehlampeSofa on") }}
sunset kannst du auch mit einem Offset versehen, um das anzupassen:
{sunset(-1800)}
sind z.b. 1800 Sekunden nach Sonnenuntergang.
Wenn die das zum Einstellen nicht reicht, dann musst du in der Tat Twighlight verwenden, das ähnlich wie sunset/sunrise funktioniet, aber mehr Einstellmöglichkeiten bietet.
Für mich war sunset / sunrise immer ausreichend.
Auschalten geht analog, indem man gegen absent testet.
Sicherheitshalber kann man noch folgendes machen:
define TVLicht_an at *{sunset()} {if (Value("TVWohnzimmer") eq "present") { fhem("set StehlampeFernseher,StehlampeSofa on") } else { fhem("set StehlampeFernseher,StehlampeSofa off") }}
define TVLichtWohnzimmer_aus notify TVWohnzimmer:present { if (!isday()) { fhem("set StehlampeFernseher,StehlampeSofa on") } else { fhem("set StehlampeFernseher,StehlampeSofa off") }}
Wäre eventuell auch noch eine sinnvolle Ergänzung, das schaltet die Lampen aus, wenn sie noch aus irgendeinem Grund an gewesen sein sollten. wenn es noch hell ist oder es dunkel wird und TVzimmer absent ist.
Hallo Zrrronggg,
Vielen Dank! Funktioniert prima mit den von Dir erstellten Notify und At-Anweisungen. Ich hatte vergeblich versucht, beides in einer Anweisung unterzubringen. Mit dem Offset lässt sich der tatsächliche Schaltpunkt individuell anpassen. Twilight somit (noch) nicht erforderlich.
Nochmals vielen Dank!
Saludos,
Lutz
Das in eine Anweisung zu packen mag möglich sein, die wird dann aber sehr komplex.
In der Regel ist das meiner Auffassung nach nicht übersichtlicher.
Und hier im Forum wimmelt es von Anfragen, wo sich Leute in der Komplexität ihrer eigene "IF"-eben verloren haben ;-)
P.S.: beachte das sunset auf die "bürgerliche Dämmerung" abhebt, d.h. es schaltet nicht, wenn die Sonne hinterm Horizont ist, sondern grob wenn man in normalen Lagen draussen nicht mehr genug Licht hat um Zeitung zu lesen ("wenn der Mittelpunkt der Sonnenscheibe 6 Grad unter dem wahren Horizont steht").
Aber mit Offset kannst du das anpassen wie du willst.
falls du doch eine feinere Steuerung über TW benötigst:
Sieh dir mal die Twilight Readings twilight bzw. twilight_weather an.
Während der Dämmerung verändert sich der Wert von 100 auf 0. Die Formel für die Berechnung findest du in der Reference.