Sonnenaufgang mit Philips HUE

Begonnen von Tyllux, 26 Mai 2016, 23:36:50

Vorheriges Thema - Nächstes Thema

Tyllux

In Anlehnung an die Arbeit von Blackcat 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

hobelchen

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?


CoolTux


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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

h-man-kl

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
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

h-man-kl

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
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

CoolTux

Nein nein das war eine richtige Funktion.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

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).
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

h-man-kl

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
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

CoolTux


# 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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

h-man-kl

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
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

CoolTux

Dann solltest du vielleicht noch mal genauer schauen. Das. Oben ist ein DOIF das hier ist eine myUtils Funktion.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

h-man-kl

#12
:-)
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

Gruß
H-Man
RasPi 3 mit MaxCube für FS20 , HM-Urart, HM-LAN, MiLight, HUE, Lightify, SONOS, Harmony, Unifi, FritzBox 7490... :-)
Ganz nach dem Motto: Normal? Normal is langweilig....

Tyllux

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?