welche ZigBee-Anbieter und welche ZigBee-Geräte kann man mittlerweile mit deinem HUE-Modul steuern ?
Braucht man DeConZ ?
Gruß
Bernd
welche ZigBee-Anbieter und welche ZigBee-Geräte kann man mittlerweile mit deinem HUE-Modul steuern ?
Braucht man DeConZ ?
Gruß
Bernd
Hi,
Du brauchst dafür die Hue-Bridge. Hue ist recht wählerisch welche Geräte es zulässt. Neben Hue waren es bei mir noch einige Osram-Sachen aber auch nicht alle.
Ralf
Da ich aktuell noch dieses, ich sag mal „ältere Hue Modul“ nutze, und dafür testweise ein Adaptive Lightning Script gebaut habe, wollte es gerne hier zur Verfügung stellen. Ich triggere das Script alle 1 min und durch auslösen einer der im Array definierten Lampen.
Skriptbeschreibung
Das Skript „Adaptive Lighting für IP-Symcon mit symconHUE Modul von traxanos (Version 4.13)“ passt die Farbtemperatur von Hue-Lampen im Laufe des Tages an, um eine natürliche Beleuchtungsumgebung zu simulieren. Es verwendet durchschnittliche Sonnenaufgangs- und Sonnenuntergangszeiten, die basierend auf dem aktuellen Monat saisonal angepasst werden. In der Nacht wird eine warme Farbtemperatur verwendet, während am Tag die Farbtemperatur graduell von warm zu kalt und wieder zu warm übergeht, wobei die kälteste Farbtemperatur um die Mittagszeit erreicht wird.
Definierte Variablen
Funktionsweise
Hinweis:
Wenn man den Wert der Variable $minutesAdjustmentPerMonth
von 10 auf 30 Minuten ändern, hat das zur Folge, dass die saisonale Anpassung der Sonnenuntergangszeit stärker ausfällt. Im Juni, dem sechsten Monat des Jahres, würde dies bedeuten, dass die Sonnenuntergangszeit um 6 x 30 Minuten = 180 Minuten, also 3 Stunden, nach hinten verschoben wird.
<?php
// Version 4.13 des Adaptive Lighting Scripts für IP-Symcon mit symconHUE Modul von traxanos
// Definiere den Bereich der Farbtemperaturwerte
define('WARM_COLOR_TEMP', 500); // Wärmste Farbtemperatur
define('COLD_COLOR_TEMP', 153); // Kälteste Farbtemperatur
###### Variablen ID´s und Anpassungen pflegen ab hier #######
// Bridge-ID für den Abgleich des Status aller Lampen
$bridgeId = 44142;
HUE_SyncStates($bridgeId);
// Array der Lampen-Instanz IDs der Hue Lampen
$lightIDs = [ 29078,
25604,
26644];
// Variable zur Anpassung der Zeit (Minuten pro Monat für saisonale Anpassung)
$minutesAdjustmentPerMonth = 30; // Standardwert ist 10 Minuten
###### Variablen ID´s und Anpassungen pflegen endet hier #######
// Aktuelle Zeit und Monat definieren
$currentTime = time();
$currentHour = intval(date('G', $currentTime));
$currentMonth = intval(date('n', $currentTime));
// Berechnung der saisonalen Anpassung der Zeiten
$seasonalAdjustment = ($currentMonth <= 6) ? ($currentMonth - 1) * $minutesAdjustmentPerMonth : (12 - $currentMonth) * $minutesAdjustmentPerMonth;
$sunriseTime = max(6 - $seasonalAdjustment / 60, 4); // Sonnenaufgang nicht früher als 4 Uhr
$sunsetTime = min(18 + $seasonalAdjustment / 60, 22); // Sonnenuntergang nicht später als 22 Uhr
// Farbtemperatur basierend auf der Tageszeit berechnen
if ($currentHour < $sunriseTime || $currentHour >= $sunsetTime) {
// Nachtzeit
$currentColorTemp = WARM_COLOR_TEMP;
} else {
// Tageszeit
$dayProgress = ($currentHour < 12) ? ($currentHour - $sunriseTime) / (12 - $sunriseTime) : ($currentHour - 12) / ($sunsetTime - 12);
$currentColorTemp = intval(($currentHour < 12) ? WARM_COLOR_TEMP - ($dayProgress * (WARM_COLOR_TEMP - COLD_COLOR_TEMP)) : COLD_COLOR_TEMP + ($dayProgress * (WARM_COLOR_TEMP - COLD_COLOR_TEMP)));
}
// Stelle sicher, dass die Farbtemperatur innerhalb des gültigen Bereichs bleibt
$currentColorTemp = max(min($currentColorTemp, WARM_COLOR_TEMP), COLD_COLOR_TEMP);
// Konvertiere Timestamp in lesbare Datums- und Zeitformate
$currentDateTime = date('Y-m-d H:i:s', $currentTime);
// Ausgabe der aktuellen und berechneten Werte
// echo "Aktuelle Uhrzeit: " . $currentDateTime . "\n";
// echo "Aktuelle Farbtemperatur: " . $currentColorTemp . "\n";
// Wende die Farbtemperatur nur auf eingeschaltete Hue Lampen an
foreach ($lightIDs as $lightId) {
// Überprüfe, ob die Lampe eingeschaltet ist
$isLightOn = HUE_GetValue($lightId, 'STATE');
// Aktualisiere die Farbtemperatur der Lampe, wenn sie eingeschaltet ist
if ($isLightOn) {
HUE_SetValue($lightId, 'COLOR_TEMPERATURE', $currentColorTemp);
}
}