Zeitabhängige Helligkeit bei dimmbarer Beleuchtung

Begonnen von ronzo, 16 Februar 2021, 16:17:41

Vorheriges Thema - Nächstes Thema

ronzo

Ich schalte ein paar dimmbare HUE-Leuchtmittel über Homematic-Fernbedienungen. Bei den Lampen im Stiegenhaus und am Flur habe ich mir gedacht es wäre schön, wenn diese z.B. ab 22:00 Uhr nicht mehr mit 100% Intensität angehen sondern vielleicht nur mehr mit 70%. Ab Mitternacht vielleicht überhaupt nur mehr mit 30%.

Derzeit schalte ich über ein einfaches notify. Wenn der Tastendruck kommt, dann mach ich ein simples "set HUEDevice## on".

Mit einem DOIF würde ich hier vermutlich schon wesentlich weiter kommen. Aber ist das der beste Weg? Welche Ideen/Vorschläge/Anregungen hättet ihr hierzu?

Otto123

Hi,

Idee: mach ein Reading im notify, das setzt Du über die Zeit.
setreading DeinNotify bri 70
Das Reading übergibst Du dann dem Befehl mit set magic:
set HUEDevice## bri [$SELF:bri]
könnte man auch so in der Art berechnen:
set HUEDevice## bri {($hour <= 8?30:($hour >= 22)?70:100)}
Ist etwas steif - also nur als Idee

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ronzo

Ich habe bislang noch nichts mit einem Dummy-Device gemacht (shame on me) aber böte sich sowas nicht an um verschiedene Zeitspannen zu definieren und zu benennen und die dann in meinem Notify oder DOIF zu verwenden?

betateilchen

Es gibt viele Möglichkeiten, das zu lösen. Aber ein dummy-device braucht man dazu sicher nicht. Die Definition von Zeitspannen in readings könnte man auch in einem beliebigen anderen device (z.B. dem notify oder der HUE Lampe) vornehmen.

Anderer möglicher Ansatz:
Man definiert zwei notify und setzt jeweils das Attribut disabledForIntervals entsprechend.
Das eine notify ist dann von 8-22 Uhr aktiv und das andere von 22-8 Uhr.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ronzo

Ein Dummy-Device kam mir deshalb in den Sinn, da ich wo las dass ich es ohnehin verwenden sollte und nicht direkt das HUE-Device über das notify schalten soll. (Weil ich auf der Homematic-Fernbedienung sonst nur immer ein rotes Blinken anstatt einer grünen Bestätigung bekommen würde.)

Otto123

#5
Naja was Du im Dummy machen kannst geht prinzipiell auch in jedem anderem Device.
Viele denken immer in der Kategorie "set Dummy wert" und haben dann für 25 Werte 25 Dummies.
man kann auch einen Dummy nehmen und dort Readings setzen.
setreading Dummy wert1 17
...
setreading Dummy wert25 29

Aber genau das setreading kann man auch woanders unterbringen. Letztlich musst Du Dir die Zuordnung und das auslesen leicht machen.
Du kannst für jede Stunde irgendwo ein Reading hinpacken und dann einheitlich den Wert auslesen:
set HUEDevice2 bri {(ReadingsVal('irgendwo',$hour,99))}
Ich sehe gerade, Du willst eher pct als bri nehmen. Aber ist ja egal.

Zitat(Weil ich auf der Homematic-Fernbedienung sonst nur immer ein rotes Blinken anstatt einer grünen Bestätigung bekommen würde.)
Das ist aber wieder eine andere Baustelle :) daran ändert ein Dummy nichts - zumindest fällt mir der Zusammenhang nicht ein.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ronzo

#6
Wenn ich so recht darüber nachdenke wäre sowas auf globaler Ebene praktisch, damit ich die verschiedenen Zeitspannen für mehrere Devices nutzen kann. Eignet sich ein globales Attribut dafür?

Otto123

Es gibt eigentlich keine Ebenen in FHEM. Du kannst es machen wo Du willst. Du musst mit Deiner Struktur klar kommen.
Wenn Dir das gefällt dann definiere einen Dummy und setze dort dein "globalen" Readings. ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Gibt sicher viele Möglichkeiten dafür...

Eine andere Variante, um den Tagesablauf (bzw. die Helligkeit) abzubilden wäre z.B. Twilight. Hat den Vorteil, dass man sich nicht überlegen muss, wie man es befüllt, das geschieht weitgehend automatisch.

Und um "aus vielen Inputs errechnete Helligkeitswerte" zu setzen, könnte man vermutlich auch "combine" einsetzen: https://forum.fhem.de/index.php/topic,110165.msg1041882.html#msg1041882 (das "Treppen-Beispiel" dort).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors