Hue - verschiedene Helligkeit je nach Tageszeit

Begonnen von Shortie, 30 November 2020, 17:31:58

Vorheriges Thema - Nächstes Thema

Shortie

Ich habe im Schlafzimmer 2 Hue RGB verbaut, welche als normale Beleuchtung und als Wakeup Light dienen. Die beiden Lampen sind mit einer Hue Bridge gekoppelt, welche wiederum auch in fhem eingebunden ist. Geschaltet werden können sie mit Tradfri Tastern, einer am Bett, einer an der Tür.

Ich möchte nun das, wenn ich das Licht einschalte, die Helligkeit je nach Tages/Nachtzeit unterschiedlich ist (Nachts dunkler), die beiden Fernbedienungen sollen aber weiterhin auch ohne fhem funktionieren, damit ich bei einem fhem Ausfall nicht ohne Licht dastehe.

Ich hab dazu bereits im Internet gesucht und auch Ähnliche vorhaben gefunden, die anscheinend auch erfolgreich umgesetzt wurden. Wie es aber nun genau gemacht wird stand leider nirgends dabei, teilweise wird dort von einer iPhone App geredet. Da ich Android habe, habe ich mir gestern auch schon die Hue Essentials App in der Pro Version geholt, bin damit aber leider auch nicht weitergekommen.

Daher habe ich nun selbst versucht das ganze umzusetzen, die Idee war das fhem zu festgelegten Zeiten prüft ob das Licht an ist und wenn nicht die beiden Lampen entsprechend konfiguriert, da sie beim nächsten Einschalten ja die Werte vom letzten mal behalten.

Versucht habe ich es erstmal über die Hue API direkt. Dort lassen sich die Werte auch setzen, allerdings nur wenn die Lampe dabei auch den Status on gesetzt bekommt. Ich habe nun versucht schnell hintereinander die Werte zu setzen und die Lampen direkt wieder auszuschalten, aber selbst dabei blinken sie kurz auf, die transitiontime habe ich auch schon auf 0 gesetzt.

Hat jemand von euch sowas schon erfolgreich umgesetzt oder Ideen was ich noch versuchen könnte?

Shortie

Nach vielem weiteren rumprobieren hatte ich gerade einen Erfolg.

Wenn man sich über die Hue API eine Scene baut welche die Werte entsprechend setzt, aber den State auf off hat und diese Scene dann über die Gruppe aktiviert werden die Werte gesetzt auch wenn die Lampe aus ist. Ich verstehe zwar weiterhin nicht warum es nicht direkt erlaubt ist (was anderes macht man ja auch nicht wenn man die States direkt so setzt wo die API sagt geht nicht), aber wenigstens funktioniert es.

Jetzt muss ich nur noch sehen wie ich am sinnvollsten aus fhem die Umschaltung der Szenen vornehme. Ist at dafür eine gute Wahl, da ich ja noch eine Bedingung einbauen möchte das es nur gesetzt wird wenn das Licht aus ist und wenn nicht soll fhem x Minuten später erneut versuchen die Szene zu aktivieren.

slor

Wir hast du das mit der Szene genau gemacht? Versuche das auch gerade zu bauen. Wenn die Szene aus ist passiert nichts. Ich habe diese über einen Timer in der Bridge selbst aufgerufen.
Nutze PhosCon als Bridge und HueEssential zum Einstellen

Shortie

Ich habe mir über die Api 2 Szenen angelegt.
Die Api ist erreichbar über http://<hue bridge ip>/debug/clip.html
URL auf der Api Seite: /api/<user>/scenes
Anstatt <user> muss ein auf der Bridge bekannter User/id rein, ich hab mir einfach die ID aus der Anbind der Hue Bridge an fhem geholt, sie ist im Attribut key gespeichert.
Bei Body kommt dann das json für die Scene rein. Bei group muss die ID der Gruppe auf der Bridge gesetzt werden, pro Lampe in der Gruppe muss dann unten jeweils ein entsprechender Block rein der die Werte für diese Lampe setzt.


{
   "name":"Nachtlicht",
    "recycle":false,
    "group":"1",
   "type":"GroupScene",
   "lightstates":{
      "1":{
        "on":false,
        "bri": 38,
    "hue": 8404,
    "sat": 140,
    "effect": "none",
    "xy": [
    0.4575,
    0.4099
    ],
    "ct": 366,
      },
      "2":{
         "on":false,
         "bri": 38,
      "hue": 8404,
      "sat": 140,
      "effect": "none",
      "xy": [
      0.4575,
      0.4099
      ],
      "ct": 366,
      }
   }
}


Die Scene kann dann per set in fhem auf der entsprechenden Gruppe ausgewählt werden. Wenn danach das Licht per Schalter eingeschaltet wird, werden die Werte aus der Scene verwendet.

An der Zeit gesteuerten Einbindung in fhem, die nur durchgeführt wird wenn das Licht gerade aus ist und ansonsten x Minuten später nochmal probiert wird hänge ich gerade noch. Dazu experimentiere ich gerade mit DOIF, das erneute triggern wenn das Licht an war gelingt mir aber noch nicht.

Shortie

#4
Ich glaube das DOIF habe ich nun auch hinbekommen:

defmod Nachtlicht_setzen DOIF ([20:31-20:45] and [Device_Group_Schlafzimmer_Hue_Decke:state] eq "off")   (set Device_Group_Schlafzimmer_Hue_Decke scene sjbSDf-UkbaImLw) DOELSEIF ([21:00])


Edit: Das müsste auch in einem DOIF gehen anstatt einer für Tag und einer für Nacht. Mal sehen wie es klappt (wenn ich den Nachts mal wach werde und das Licht einschalte)

define Nachtlicht_setzen DOIF ([0:00-6:00] and [Device_Group_Schlafzimmer_Hue_Decke:state] eq "off") (set Device_Group_Schlafzimmer_Hue_Decke scene sjbSDf-UkbaImLw) DOELSEIF ([6:01-23:59]  and [Device_Group_Schlafzimmer_Hue_Decke:state] eq "off") (set Device_Group_Schlafzimmer_Hue_Decke scene moaan5y--hlAb2t)