In Anlehnung an die Arbeit (http://forum.fhem.de/index.php/topic,18958.msg199927.html#msg199927) von Blackcat (https://forum.fhem.de/index.php?action=profile;u=6779) habe ich mir eine Umsetzung für die HUE Devices gewünscht.
Ihre Ausführung basiert auf dem WifiLight Modul, daher liegen die folgenden Ranges zugrunde:
(0..360) HUE Wert (H)
(0..100) Sättigung (S)
(0..100) Helligkeit (V)
Das HUE Modul hingegen arbeitet mit anderen Werten:
(0-65535) HUE Wert
(0-254) Sättigung
(1-254) Helligkeit
Dementsprechend wurden die vorhandenen Werte grob umgerechnet. Hier die erste Test-Version - die "transitiontime" sollte nach den eigenen Bedürfnissen angepasst werden:
define Sonne dummy
attr Sonne room Test
attr Sonne webCmd on:off
define Sonne_DOIF DOIF \
([Sonne:state] eq "on") \
(set EUER_HUE_DEVICE hue 43690 : sat 254 : bri 5 : transitiontime 100, \
set EUER_HUE_DEVICE hue 43690 : sat 254 : bri 3 : transitiontime 100, \
set EUER_HUE_DEVICE hue 43690 : sat 254 : bri 5 : transitiontime 2000, \
set EUER_HUE_DEVICE hue 43690 : sat 254 : bri 33 : transitiontime 2000, \
set EUER_HUE_DEVICE hue 43690 : sat 254 : bri 20 : transitiontime 2000, \
set EUER_HUE_DEVICE hue 38228 : sat 254 : bri 15 : transitiontime 3000, \
set EUER_HUE_DEVICE hue 34587 : sat 254 : bri 20 : transitiontime 100, \
set EUER_HUE_DEVICE hue 16384 : sat 254 : bri 36 : transitiontime 100, \
set EUER_HUE_DEVICE hue 12743 : sat 254 : bri 41 : transitiontime 100, \
set EUER_HUE_DEVICE hue 1820 : sat 254 : bri 86 : transitiontime 200, \
set EUER_HUE_DEVICE hue 5461 : sat 254 : bri 102 : transitiontime 3000, \
set EUER_HUE_DEVICE hue 7282 : sat 254 : bri 152 : transitiontime 3000, \
set EUER_HUE_DEVICE hue 8192 : sat 254 : bri 203 : transitiontime 3000, \
set EUER_HUE_DEVICE hue 9102 : sat 254 : bri 254 : transitiontime 3000, \
set EUER_HUE_DEVICE hue 9102 : sat 48 : bri 190 : transitiontime 300, \
set EUER_HUE_DEVICE hue 9102 : sat 0 : bri 254 : transitiontime 3000)
attr Sonne_DOIF do always
Mutmaßlich steht "transitiontime 1" für 0,01 Sekunde Dauer; das würde (gefühlt) auch meinem Test entsprechen. Dementsprechend dauert das Beispiel oben 4:10 Minuten. Wenn also der transitiontime im Beispiel noch eine Null hinzugefügt wird, kommen wir auf eine realistischere Zeit, da ein Sonnenaufgang ca. 30-40 Minuten dauert.
Sobald ich mehr Plan habe, kann ich das ganze einmal in ein Skript verpacken - aber vielleicht nützt es euch ja auch schon so. ;D
Hi,
ich habe vor einigen Monaten den Befehl entdeckt und übernommen. Bis zu einem kürzlichen Update der Software der HUE Lampen hat auch alles funktioniert. Seite dem Update auf SWVersion 5.50.1.19085 werden die Farben nicht mehr gesetzt, es werden nur noch die sat und bri Werte geändert.
Hat jemand ein ähnliches Problem?
set LED_StreifenSchlafzimmerBett bri 1 : transitiontime 0; set LED_StreifenSchlafzimmerBett hue 0 : sat 254 : transitiontime 0; set LED_StreifenSchlafzimmerBett hue 14505 : sat 25 : bri 254 : transitiontime 20000
Ich mache meinen Sonnenaufgang immer so.
Das sind so 35 min
ich hab mir auch mal das obige doif angesehen , aber dein "Einzeiler" ist natürlich viel komfortabler.
Kleine Frage am Rande: Gibts eine halbwegs komfortable Art die Farben etc. von HUE nach Milight oder umgekehrt umzurechnen?
Danke und Gruß
H-Man
Das kann ich Dir ehrlich gesagt nicht sagen. Ich weiß noch nicht mal ob der Einzeiler bei Milight überhaupt geht. Aber es gab da mal so eine Funktion hier im Forum. Ich glaube von BlackCat oder so. Findet man sogar bei Youtube als Demo. Die hatte ich mal bei einem anderen User integriert. Schau mal im entsprechenden Unterforen.
Danke für den Hinweis,
wenn das aber die von ganz oben ist, dann muss ich mir die Lösung mal gaaaaaanz in Ruhe ansehen, denn mit dem 99my utils Krams habe ich mich noch nicht beschäftigt
Nein nein das war eine richtige Funktion.
Zitat von: h-man-kl am 06 Dezember 2016, 11:36:31
Kleine Frage am Rande: Gibts eine halbwegs komfortable Art die Farben etc. von HUE nach Milight oder umgekehrt umzurechnen?
Hallo H-Man,
untested, aber HUE nutzt doch HSV, oder? Jedenfalls mit dem Wifilight-Modul sollte es möglich sein, auch Farbverläufe über HSV-Farbwerte darzustellen, ohne selbst groß was rechnen zu müssen. (Ich nutze die MILIGHT/MILIGHT_DEVICE-Ansteuerung, habe aber bislang sowas nicht versucht, und werde das auch nicht, da meine Milights hinter Schaltern sitzen und daher so wenige Sendebefehle erhalten sollen wie irgend möglich).
JAIN :-)
denn die hsv Werte aus dem Beispiel (set EUER_HUE_DEVICE hue 43690 : sat 254 : bri 3 : transitiontime 100, ) kann man nicht einfach für die MiLights nehmen, denn die können z.B. nur Werte zw 0 und 360 für h für s nur bis 100 => Umrechnen, werde mir wohl ne kleine Tabelle bauen müssen
# Sonnenaufgangssimulation für bis zu 4 Devices
# Author : Sandra Ohmayer (http://www.animeschatten.net)
# Aufruf: wakeUp(<Zeit in Minuten>,"<Devicename>"),wakeUp(<Zeit in Minuten>,"<Devicename1>","<Devicename2>") ...
sub
wakeUp {
# Dauer in Minuten (minimum 4 min)
local $dauer = $_[0];
# Initialisiern des Lichterarrays
local @lichter = ($_[1],$_[2],$_[3],$_[4]);
local @farben = (
["240,100,2",1],
["240,100,1",1],
["240,100,2",20],
["240,100,5",20],
["240,100,8",20],
["210,100,6",30],
["190,100,8",1],
["90,100,14",1],
["70,100,16",1],
["10,100,34",2],
["30,100,40",30],
["40,100,60",30],
["45,100,80",30],
["50,100,100",30],
["50,19,75",3],
["50,0,100",30]
);
local $gesamtdauersek = $dauer*60;
local $dauerfarben = 0;
foreach my $farbe ( @farben ) {
$dauerfarben+=$farbe->[1];
}
local $anteiligedauer = $gesamtdauersek/$dauerfarben;
Log3 (undef, 3, "WakeUp: start, angegebene Gesamtdauer in Sekunden $gesamtdauersek, Dauer Farben $dauerfarben, Anteil $anteiligedauer");
# Ausschalten der Lampen (Schalter - off)
foreach my $licht ( @lichter ) {
if(defined $licht) {
fhem("set $licht off");
}
}
# Durchlauf der Farbsimulation
my $i = 0;
foreach my $farbe ( @farben ) {
foreach my $licht ( @lichter ) {
if(defined $licht) {
if($i == 0) {
fhem("set $licht HSV ".($farben[$i][0])." ".ceil($anteiligedauer*($farben[$i][1])));
} else {
fhem("set $licht HSV ".($farben[$i][0])." ".ceil($anteiligedauer*($farben[$i][1]))." q");
}
}
}
$i++;
}
}
Hier ist mal ein wakeUpLight
hmmmm. Danke CoolTux, das ist zwar genau das von "oben" was ich gemeint habe, aber mir ist gerade gekommen, dass ich mich ja nicht mit dem 99my Utils Beschäftigen muss. Ich kann ja einfach mal nur die Werte nehmen, die da drin stehen und die dann in das doif einbauen.
Manchmal muss man einfach nur lange genug über was reden / lesen
Gruß
H-Man
Dann solltest du vielleicht noch mal genauer schauen. Das. Oben ist ein DOIF das hier ist eine myUtils Funktion.
Nö :-)
Ich meine den Link in der 1. Zeile, das geht direkt zu der von dir geposteten My Utils Funktion.
Aus der nehme ich mir jetzt mal die werte und baue sie in das doif das im 1. Post steht ein
dann geb ich nochmal Bescheid
ERGÄNZUNG: ich bekomme es dennoch nicht rund. Habe deswegen einen neuen Beitrag geschrieben: https://forum.fhem.de/index.php/topic,62093.0.html (https://forum.fhem.de/index.php/topic,62093.0.html)
Gruß
H-Man
Zitat von: hobelchen am 03 Dezember 2016, 19:08:53
Hi,
ich habe vor einigen Monaten den Befehl entdeckt und übernommen. Bis zu einem kürzlichen Update der Software der HUE Lampen hat auch alles funktioniert. Seite dem Update auf SWVersion 5.50.1.19085 werden die Farben nicht mehr gesetzt, es werden nur noch die sat und bri Werte geändert.
Hat jemand ein ähnliches Problem?
Hi hobelchen,
kurz zu deiner Frage. Ich hatte bisher keine Probleme und habe es just hier im Büro mit einer kurzen Transitiontime getestet - läuft regulär (diese Lampe ist auch auf 5.50.1.19085). Vielleicht war es nur ein temporäres Problem?