[32_YeeLight.pm][Devel 32_YeeLightBridge.pm] - Modul für Yeelight Wifi Lampen

Begonnen von thaliondrambor, 14 Dezember 2016, 22:21:55

Vorheriges Thema - Nächstes Thema

sledge

Nightmode: Hier muss man laut YeeLight-Doku unterscheiden zwischen der Deckenlampe, die einen besonderen Nightmode hat.

Alle RGB-Lampen werden via Nightmode in der App  - wie von Loctite beschrieben, auf einen RGB-Wert von FF9900 und Brightness von 1% gesetzt.

Die FHEM-Befehle lauten also:

set <device> rgb FF9900; set <device> brightness 1

Fertig - das wäre der Nightmode, wie er in der App gesetzt wird. Laut Doku kann die "bslamp1" nichts weiteres - andererseits ist die Doku schon etwas älter und wurde nicht an allen Stellen aktualisiert.

Naja, dann baue ich mal die Änderungen für die Deckenlampe ein, vielleicht kann das ja jemand gebrauchen.

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

oberlon

Ich habe gerade meine Beside 2 bekommen und mich kurz mit dem Night Mode beschäftigt.
Dieser Modus kann nicht durch setzen von rgb und bri erreicht werden. Er ist noch viel dunkler und es wird die Beleuchtung der Bedienfelder deaktiviert.
Per Telnet konnte ich ihn schalten. Dazu muss bei set_power ein vierter Parameter mit übergeben werden (Seite 13 API Doc).
z.B.
{"id":1,"method":"set_power","params":["on", "smooth", 500, 5]}

oberlon

Quick und Dirty für FHEM
--- 32_YeeLight.pm.orig 2019-03-27 19:56:15.806425650 +0100
+++ 32_YeeLight.pm 2019-03-27 20:01:29.078260901 +0100
@@ -172,6 +172,7 @@
     $list .= "reopen:noArg ";
     $list .= "close:noArg ";
     $list .= "statusrequest:noArg ";
+    $list .= "nightmode:noArg ";
     # Commands supported by color and led stripe
     if (!defined($model) || ($model eq "color") || ($model eq "stripe"))
     {
@@ -314,6 +315,7 @@
         || lc $cmd eq 'reopen'
         || lc $cmd eq 'close'
         || lc $cmd eq 'statusrequest'
+        || lc $cmd eq 'nightmode'
         || lc $cmd eq 'raw'
         || lc $cmd eq 'flush'
         || ((lc $cmd eq 'hsv'
@@ -425,6 +427,11 @@
         YeeLight_StatusRequest($hash);
     }
     
+    elsif (lc $cmd eq "nightmode")
+    {
+        YeeLight_NightMode($hash);
+    }
+   
     elsif (lc $cmd eq "rgb")
     {
         my $sCmd;
@@ -903,6 +910,23 @@
}

sub
+YeeLight_NightMode
+{
+    my ($hash)  = @_;
+    my $name    = $hash->{NAME};
+    my $msgID   = YeeLight_Bridge_GetID($hash);
+    my $send    = '{"id":'.$msgID.',"method":"set_power","params":["on","smooth",500,5]}';
+
+    YeeLight_Open($hash) if ($hash->{STATE} ne "opened");
+    return "$name: Can't do nightmode, if bulb is not connected." if ($hash->{STATE} ne "opened");
+    Add_SendQue($hash,$send,$msgID);
+    DevIo_SimpleWrite($hash, qq($send\r\n), 2);
+    Log3 $name, 4, "$name is sending $send";
+   
+    return undef;
+}
+
+sub
YeeLight_Read
{
     my ($hash) = @_;
@@ -1633,4 +1657,4 @@
     return $rgb;
}


Schaue mir gerade die Forks auf github an.
Anscheinend ist vieles schon vorhanden. Ist thaliondrambor noch aktiv? Pull Req sind ja keine offen. Vielleicht kann verybadsoldier und sledge2019 einen PR schicken um die Codebasis wieder zu vereinheitlichen.

PPP01

Interessant! D.h. der Nachtmodus wird nicht mehr nur bei den Ceilinglights eingesetzt. Ich habe mir den Fork von Eiten geforkt, der unterstützt den Nachtmodus bereits.
Da mich das Dimmen ohne Nachtmodus nervte (viel zu hell bei 1%), habe ich mir einen durchgehenden Dimmer eingebaut: 100-50 entspricht 100->1, 49-10 entspricht 100-10 Nachtmodus und 1-10 ist 1-10 im Nachtmodus.

huhu

Hallo zusammen,

kann die Farbtemperatur mittlerweile für Weiße Yeelights (2) geändert werden? Es funktioniert bei mir nur sporadisch, im ersten Beitrag steht es sei nicht unterstützt, doch mal gehts..

Zitat19.05.12 00:13:17 3: YeeLight YeeLight_Terrasse - set YeeLight_Terrasse ct 5280
2019.05.12 00:13:17 3: YeeLight_Terrasse success sending 31: {"id":31,"method":"set_ct_abx","params":[5280,"sudden",0]}
2019.05.12 00:13:17 3: YeeLight_Terrasse updated readings.
2019.05.12 00:13:21 3: YeeLight YeeLight_Terrasse - set YeeLight_Terrasse ct 3100
2019.05.12 00:13:21 3: YeeLight_Terrasse success sending 32: {"method":"set_ct_abx","id":32,"params":[3100,"sudden",0]}
2019.05.12 00:13:22 3: YeeLight_Terrasse updated readings.

und meistens gehts nicht..
Zitat2019.05.12 00:09:10 3: YeeLight YeeLight_Terrasse - set YeeLight_Terrasse ct 2450
2019.05.12 00:09:10 1: YeeLight_Terrasse error sending 17: {"params":[2450,"sudden",0],"id":17,"method":"set_ct_abx"}
2019.05.12 00:09:19 3: YeeLight YeeLight_Terrasse - set YeeLight_Terrasse ct 2450
2019.05.12 00:09:19 1: YeeLight_Terrasse error sending 18: {"method":"set_ct_abx","id":18,"params":[2450,"sudden",0]}
2019.05.12 00:09:30 3: YeeLight YeeLight_Terrasse - set YeeLight_Terrasse ct 2600
2019.05.12 00:09:30 1: YeeLight_Terrasse error sending 19: {"id":19,"method":"set_ct_abx","params":[2600,"sudden",0]}
2019.05.12 00:09:42 3: YeeLight YeeLight_Terrasse - set YeeLight_Terrasse ct 2000
2019.05.12 00:09:42 1: YeeLight_Terrasse error sending 20: {"params":[2000,"sudden",0],"method":"set_ct_abx","id":20}
2019.05.12 00:09:48 3: YeeLight YeeLight_Terrasse - set YeeLight_Terrasse ct 1700
2019.05.12 00:09:48 1: YeeLight_Terrasse error sending 21: {"params":[1700,"sudden",0],"method":"set_ct_abx","id":21}

Viele Grüße
huhu

ChrisKoh

Hallo zusammen!

Mit der Suche konnte ich leider noch nichts zur Thema Yeelight Meteorite finden.

Gibt es hier schon Erfahrungen? Ich habe eine bestellt und sie ist hoffentlich bald hier und übersteht die erste Hürde (WAF).

Kann ich evtl. Hier irgendwie betragen damit die Meteorite angesteuert werden kann?

Grüße!
ODROID H2 + Docker: Portainer; FHEM; HomeBridge; Node-RED; Nextcloud; PiHole; MQTT.
FS20; HM; ZigBee; Z-Wave

Vaddi

Hi, ich selbst habe die Meteorite seit einigen Tagen und sie lässt sich mit dem Modul bedingt steuern.
Das heißt, das Licht, welches nach unten strahlt, lässt sich steuern, das Licht, welches nach oben strahlt, lässt sich jedoch
garnicht steuern.
Ich habe mir dann die API angeschaut und per RAW befehl das obige Licht Ein- und Ausschalten können, dass bedeutet,
dass das Modul angepasst werden muss, damit man die Meteorite mit diesem Modul komplett steuern kann.
Ich hoffe, dass dies vom Modulersteller gemacht wird  ::), Ansonsten würde ich es selbst versuchen.
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

zYloriC

Ich habe seit heute auch die Meteorite hängen und der WAF ist super.FHEM Integration der Leuchte nach unten klappt auch. Nur die Farbe der Lampe nach oben bekomme ich nicht hin.
Wäre super, wenn das Modul erweitert werden kann. Helfe gern beim DebuggingGruß zYloriC

f-zappa

Dann war ich mal so mutig und habe sie jetzt auch bestellt :-)
Wegen einer eventuellen Modulerweiterung hätte ich den Vorschlag, die Meteorite einfach als zwei Devices abzubilden (einmale direktes Licht, einmal die Ambientebeleuchtung). Die wären dann genau so bedienbar wie die vorhandenen Yeelight-Instanzen und würden sich in bereits vorhandene Scripts gut integrieren.

Zitat von: zYloriC am 17 September 2019, 23:48:55
Ich habe seit heute auch die Meteorite hängen und der WAF ist super.FHEM Integration der Leuchte nach unten klappt auch. Nur die Farbe der Lampe nach oben bekomme ich nicht hin.
Wäre super, wenn das Modul erweitert werden kann. Helfe gern beim DebuggingGruß zYloriC

Vaddi

Der Modulersteller war das letzte mal im März online, also habe ich mich mal dran gesetzt und die Idee von f-zappa umgesetzt.
Das ganze befindet sich noch in der Testphase und wenn jemand bei der Fehlersuche helfen möchte, oder das Modul einfach nur
testen möchte, der kann sich das Modul hier runterladen
https://github.com/Vaddi-fhem/YeeLight
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

f-zappa

Zitat von: Vaddi am 19 September 2019, 21:31:09
Ja geil, das probier ich direkt mal aus :-)
Magst du eventuell noch ein controls_yeelight.txt erstellen?

f-zappa

Zitat von: Vaddi am 19 September 2019, 21:31:09
Der Modulersteller war das letzte mal im März online, also habe ich mich mal dran gesetzt und die Idee von f-zappa umgesetzt.
https://github.com/Vaddi-fhem/YeeLight
Grundsätzlich funktioniert das ja schon prima! Danke, dass du dir die Arbeit machst!
Was mir bisher aufgefallen ist: Irgendwas passt mit dem Reading "bright" nicht. Beim Auslesen nimmt bright maximal den Wert 5 an. Wenn man manuell auf 5 setzt, ist die Lampe relativ dunkel, scheint aber bereits bei ca. 30 die maximale Helligkeit zu erreichen.
Hast du eine aktuellere API-Referenz oder ist das reverse engineering? Ich habe nur die alte gefunden ...

Vaddi

Hey, danke für das Feedback.
Ich habe auch nur diese API.
Bei welcher Lampe passt der Wert nicht? Bei der meteorite oder der ambiente?
Werde morgen mal weiter dran basteln und auch
eine controls Datei erstellen.

Gn8
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

f-zappa

Zitat von: Vaddi am 19 September 2019, 23:25:35
Bei welcher Lampe passt der Wert nicht? Bei der meteorite oder der ambiente?
Die komischen Werte sind bei der Ambiente.
Sag mal, wäre das viel Aufwand, den Mond-Modus einzufügen?  ;D

Vaddi

Also, dass mit der Helligkeit ist mir auch schon aufgefallen, allerdings ist dieses Verhalten auch in der APP so
und nicht bei allen Farben. Rot, Grün, Blau, usw. kann man eine Veränderung der Helligkeit zwischen 0-100
wahrnehmen, bei weiß ist dies aber nur zwischen 0-30 Wahrnehmbar.

Ich habe noch einen Fehler gefunden, und zwar wird bei der Ambiente die Helligkeit der normalen angezeigt
und auch die ganzen Readings der Ambiente sind noch verkehrt, da kümmer ich mich momentan drum.

Mit Mond-Modus meinst du den Nightmode? Wie die Scene bei der normalen Lampe? Also ein Knopf
um die Lampe auf 1% Helligkeit und warmweiß zu setzen?
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte