Philips Hue: Update für adaptive Beleuchtung wird verteilt

1 Like

Sowas in der Art wird aktuell versucht in der Sonnenereignisse App umzusetzen.

Cool, danke für den Hinweis.

Wenn ich das richtig verstanden habe, kommt die Funktionalität aber eigentlich von HomeKit oder?

Weiß jemand, wie ich dem lokalen Tag Lichtstärke % einen Wert zuordnen kann?
Ich kann diesen lediglich in der Wenn Bedingung auswählen und sehe keinen Sinn, wenn die Variable keinen Wert bekommt.

Den Logikwert „verknüpfst“ Du im Und… Bereich.
Im Wenn… Bereich werden quasi beispielhaft die Logikwerte angezeigt, die im Wenn… Bereich Bezug auf die Aktionskarte nehmen können.
Was willst Du denn machen?

Wollte einfach den Sinn von Lichtanteil in % verstehen.
Geplant war die Lichtfarbe auf Basis von Veränderung Sonnenlicht zu ändern

Das ist ja noch in der Testphase. Ted, der diese Option auf GitHub als Anfrage eingereicht hatte, hatte zumindest öffentlich sich dazu auch noch nicht geäußert.
Ausprobiert habe ich es selber auch noch nicht.
Vermutlich muß durch eine Berechnung ein Bezug zwischen der geänderten Lichtintensität und einer (oder mehreren) selbst erstellten Variable/n hergestellt werden.
Mit diesen berechneten Variablen musst Du dann im Bereich Dann… die Lichtwerte Deiner Lampe neu setzen.

Ich habe ein Skript mit Homeyscript erstellt, welches eine neue Lichtfarbe, abhängig von der Lichtfarbe aus der App Sonnenereignisse, berechnet und beim Einschalten setzt.

Falls jemand Bedarf/Interesse hat Das “>”-Zeichen muss beim einfügen des Codes entfernt werden:

// Übernahme Kelvin Wert aus dem flow aus der App Sonnenereignisse (Run Script with Argument Kelvin)
var ctToken = parseFloat(args[0]);

//Funktion zur Berechnung der neuen Lichtfarbe auf Basis der übergebenen Lichtfarbe aus der App Sonnenereignisse
const calcCt = (actCT) =>{
// Definition der min/max Kelvin-Werte der Lampen (Hier eigene Werte eintragen)
let ctMin = 2200;
let ctMax = 4000;

// Berechnung der neuen CT
let newCTValue = 1 - ((actCT - ctMin) / (ctMax - ctMin))
// runden auf 2 Nachkommastellen, um Fehler zu vermeiden
.toFixed(2);

// Check ob Wert > 1 oder < 0, dann entsprechende Korrektur
if (newCTValue < 0){
newCTValue = 0;
}
else if (newCTValue > 1){
newCTValue = 1;
};

return newCTValue;
}
//Speicherung errechneter Wert in einem local Tag, welcher zum Setzen der Lichtfarbe verwendet werden kann
tag(‘LichttempEssraum’, calcCt(ctToken));

return(true);

Die Flows dazu sehen wie folgt aus:

  1. Anstoßen der Berechnung der neuen Lichtfarbe
  1. Setzen der neuen Lichtfarbe
    Shared Flow | Homey
3 Likes