Milight automatischer Farbwechsel

Begonnen von dennis_n, 03 Mai 2018, 09:43:46

Vorheriges Thema - Nächstes Thema

dennis_n

Hi,

ich nutze in meinem Garten die Milight RGB Lampen. Ist es eigentlich möglich mit fhem einen weichen dauerhaften Farbwechsel zu realisieren?
Derzeit ist immer nur eine Farbe eingestellt. Aber im Sommer hätte ich es gerne, dass die Lampen gaaaaanz langsam die Farben durchwechselt.

Geht das? Wenn ja, wie?

Danke

Gruss
Dennis

Kusselin

Servus,

probier mal mal das notify hier und wechlse zu Wifilight...Milight wird nicht mehr supported.

Das notify ist von TomLee hier im Forum...

defmod not_Mi_Wecklicht_TVsim notify Mi_Wecklicht:programm:\stvsim\s100 { fhem("set Mi_Wecklicht HSV ".(180+int(rand(180))-int(rand(180))).",".int(rand(21)+80).",".int(rand(30)+71)." ;;set Mi_Wecklicht HSV ".(180+int(rand(180))-int(rand(180))).",".int(rand(21)+80).",".int(rand(30)+71)." ".int(rand(3)+2)." q tvsim");;}

Musst halt den namen durch deinen ersetzen.

dann als set Befehl folgendes mal absetzen:
180,100,100 3 q

also das Mi_Wecklicht durch deinen Namen ersertzen.

Hoffe es geht?
Gruss

Kussel

TomLee

1. Hat das wenig mit weichem Farbwechsel zu tun ( kann möglicherweise angepasst werden)

2. Ist noch unklar welches Modul der Fragesteller nutzt.

3. Ist das nicht mein notify, das hab ich auch nur aus dem Forum

dennis_n

Hi,

ich nutze aktuell das Modul MilightBridge.

Gruss
Dennis


TomLee

Dann kannst, wenn du das testen möchtest, HSV durch hsv ersetzen.

Der set -Befehl sieht dann so aus:


set <devicename> hsv 180,100,100 3 q

Wie gesagt keine weichen Farbwechsel.

dennis_n

OK werde ich mal versuchen.

Kann man den weichen Farbwechsel irgendwie realisieren?

Gruss
Dennis

TomLee


dennis_n

OK mache ich. Aber nur nochmal kurz zu meinem Verständnis: Das Modul MilightBridge kann ich 1:1 durch Wifilight ersetzen zunächst? Richtig?

Gruss
Dennis

TomLee

Richtig und wird auch empfohlen

Übrigens, mit den Milights wird der smoothe Übergang den du dir wünschst wsl. nicht möglich sein, bauartbedingt.

Dazu sollte aber ein Kenner der Materie was sagen.

Beta-User

Na ja, die Einschränkungen sind hier bereits erwähnt: https://wiki.fhem.de/wiki/WifiLight#Erweiterte_Funktionen_.2F_Transitions

Was ggf. ginge, wäre ein internes Programm der Bulbs zu nutzen, damit ist sowas evtl. möglich. Hat aber auch mehrere Haken:
- keine Ahnung, ob Wifilight (oder Milight) die internen Programme starten kann. Ggf. muß man eine Bridge verwenden, die das zuläßt (Sidoh-firmware) und dazu dann ggf. eine andere Art der Ansteuerung verwenden (HTTPMOD oder MQTT)...
- Da die Leuchtmittel nicht denselben Zeitgeber verwenden, kann uU. die Farbwiedergabe mit der Zeit auseinandergehen. Das könnte man zwar von Zeit zu Zeit synchronisieren, aber es dürfte dabei praktisch kaum möglich sein, sowas ohne optisch harten Bruch umzusetzen.

Praktische Erfahrungen habe ich mit solchen Spielereien nicht, da die family nur bedingt auf farbiges Licht steht und ich das Senden von Codes gerne auf das geringstmögliche Maß reduziere (meine Milights hängen hinter Schaltern).

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Du kannst dir das u.a. Sonnenaufgangssimulationsscript auf deine Bedürfnisse anpassen, smooth ist was anderes, für den Garten ggf. aber schon ausreichend.


# 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)
my $dauer = $_[0];
# Initialisiern des Lichterarrays
my @lichter = ($_[1],$_[2],$_[3],$_[4]);

my @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]
);

my $gesamtdauersek = $dauer*60;

my $dauerfarben = 0;
foreach my $farbe ( @farben ) {
$dauerfarben+=$farbe->[1];
}

my $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++;
}
}


Aufruf mit:

wakeUp(30,"<devicename>")

dennis_n

#11
Hi,

ich danke euch und werde erstmal das Milightght Modul entfernen und auf das neue Wifilight umsteigen.
Muss ich dazu das alte Modul zuerst löschen oder kann ich das erstmal parallel drin lassen?

Gruss
Dennis

Beta-User

Das sollte parallel gehen, die Module senden ja nur UDP-Broadcasts.

Btw.: soweit ersichtlich, erlaubt das Milight-Modul, den "Disco-Mode" einzuschalten, wobei das wohl "nur" die Modi 0 und 1 betrifft. Lt. https://hackaday.io/project/5888-reverse-engineering-the-milight-on-air-protocol/log/18529-command-and-control ist "0" "Smooth color fading", wobei ein Startbefehl für Disco-Modes dem Anschein nach alle Empfänger-Bulbs in denselben Modus versetzt; vielleicht hilft das ja.

Mit der Sidoh-Firmware sollte man das auch über einen Http-Request "etwas" direkter ansteuern können (aber direkt einen Speed zu setzten geht wohl nicht).

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

#13
Auch wenn ich das Wifilight-Modul schon lange nutze muss ich zugeben das ich mich bezüglich des Farbwechsel heute erst näher mit beschäftigt habe.

Hier hab ich jetzt eine at-Lösung die ohne Script auskommt und meiner Meinung nach akzeptable Farbverläufe über den ganzen Farbkreis darstellt:

+*00:03:00 set Mi_Wecklicht HSV 300,20,100 30 q; set Mi_Wecklicht HSV 240,20,100 30 q; set Mi_Wecklicht HSV 180,20,100 30 q; set Mi_Wecklicht HSV 120,20,100 30 q; set Mi_Wecklicht HSV 60,20,100 30 q; set Mi_Wecklicht HSV 0,20,100 30 q

Es empfiehlt sich verbose 2 im Device einzustellen.

Viel Spaß