[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

Frazzor

Hallo Tom,

genau soetwas meine ich. Hättest du da ein Beispiel für mich?

Danke schonmal.

Gruß
Michael

Frazzor


ih-sqeezer

Hallo zusammen,

ich nutze seit einigen Monaten das YeeLight Modul in Verbindung mit einer YeeLight Stripe. Dies hat bisher immer wunderbar in FHEM und in parallel mit GoogleHome funktioniert. Vor ein paar Wochen gab es jedoch über die YeeLight App ein Firmware update für die Stripe. Seitdem komme ich via FHEM nicht mehr über IP:55443 auf die Stripe ("connection refused"). Mit der App und GoogleHome funktioniert jedoch weiterhin alles.

Kann das jemand bestätigen? Bzw. wird an dem Update für das FHEM Modul bereits gearbeitet?

Danke und beste Grüße,
Ingo

Frazzor

Hallo,

muss man vll wieder den Developmode einschalten?

Gruß
Michael

ih-sqeezer

Hallo Frazzor,

gute Idee gewesen, vielen Dank. Es heißt jedoch jetzt in der App "LAN-Steuerung", die man aktivieren muss. Jetzt funktioniert die Connection wieder via FHEM.

Nochmals danke und einen schönen Abend noch.

Grüße,
Ingo

PingPong

Hallo zusammen,

könnt Ihr mir sagen, wo ich "LAN-Steuerung" aktivieren muss?
Meine Lampe zeigt in fhem leider auch nur disconnected :-(

Danke Euch.

LG
Marc

sledge

In der Yeelight-App auf das entsprechende Gerät gehen, dann unten rechts auf das Menüsymbol, dann "LAN-Steuerung".

Fertig.

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

PingPong

Yeelight-App. Das war dann wohl das Zauberwort. Die habe ich noch gar nicht :-)
Dachte die mi home App würde alles abdecken.

Schau ich mir dann heute abend an.
Danke erstmal.

sledge

Hi,

die aktuelle (durch das Modul erzeugte) Definition des Attributs devStateIcon hat meines Erachtens einen kleinen Schönheitsfehler: Ist die YeeLight-Lampe stromlos, steht sie auf "disconnected" - als devStateIcon wird jedoch der letzte Status angezeigt, da in der Definition der "disconnected"-Zweig nicht abgefragt wird.

Da mich das in der Darstellung ein wenig irritierte, hier Abhilfe:

1. Direkt im Attribut wie folgt ändern (wg. der Escape-Arie habe ich das bei jeder Lampe direkt gemacht und nicht über das FHEM Eingabefeld)
{my $state=ReadingsVal($name,"state","disconnected");my $power=ReadingsVal($name,"power","off");my $mode=ReadingsVal($name,"color_mode","RGB");if($state eq "disconnected"){return ".*:light_exclamation:";}else{if($power eq "off"){Color::devStateIcon($name,"rgb","rgb","power");}else{if($mode eq "RGB"){Color::devStateIcon($name,"rgb","rgb","bright");}elsif($mode eq "color temperature"){Color::devStateIcon($name,"rgb",undef,"bright");}}}}

Damit das auch für neue Lampen bei der Definition korrekt angelegt wird, hier noch der (Trivial-) Patch:


153c153
<     $attr{$name}{devStateIcon}  = '{my $power=ReadingsVal($name,"power","off");my $mode=ReadingsVal($name,"color_mode","RGB");if($power eq "off"){Color::devStateIcon($name,"rgb","rgb","power");}else{if($mode eq "RGB"){Color::devStateIcon($name,"rgb","rgb","bright");}elsif($mode eq "color temperature"){Color::devStateIcon($name,"rgb",undef,"bright");}}}' if (!defined($attr{$name}{devStateIcon}) && (!defined($model) || ($model eq "color") || ($model eq "stripe")));
---
>     $attr{$name}{devStateIcon}  = '{my $state=ReadingsVal($name,"state","disconnected");my $power=ReadingsVal($name,"power","off");my $mode=ReadingsVal($name,"color_mode","RGB");if($state eq "disconnected"){return ".*:light_exclamation:";}else{if($power eq "off"){Color::devStateIcon($name,"rgb","rgb","power");}else{if($mode eq "RGB"){Color::devStateIcon($name,"rgb","rgb","bright");}elsif($mode eq "color temperature"){Color::devStateIcon($name,"rgb",undef,"bright");}}}}' if (!defined($attr{$name}{devStateIcon}) && (!defined($model) || ($model eq "color") || ($model eq "stripe")));


Vielleicht kann es 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, ...

ChHerrm

Hallo,
ich nutze das Xiaomi Yeelight - Modul um die WLAN-Nachttischlampe zu schalten. Die befindet sich auch im Netzwerk, lässt sich anpingen, per Xiaomi-APP bedienen aber nicht mehr per FHEM. Vor einigen Wochen ging es noch, dann hatte sich das irgendwann erledigt.
Läuft das bei euch noch? ???

Hier die Konfiguration:

define Nachttisch YeeLight 192.168.0.XYZ
attr Nachttisch devStateIcon {my $power=ReadingsVal($name,"power","off");;my $mode=ReadingsVal($name,"color_mode","RGB");;if($power eq "off"){Color::devStateIcon($name,"rgb","rgb","power");;}else{if($mode eq "RGB"){Color::devStateIcon($name,"rgb","rgb","bright");;}elsif($mode eq "color temperature"){Color::devStateIcon($name,"rgb",undef,"bright");;}}}
attr Nachttisch eventMap on:an off:aus
attr Nachttisch group Licht
attr Nachttisch icon light_wall_3
attr Nachttisch room Wohnung
attr Nachttisch userReadings keepAlive
attr Nachttisch webCmd an:aus
attr Nachttisch widgetOverride bright:colorpicker,BRI,0,1,100 ct:colorpicker,CT,1700,10,6500 rgb:colorpicker,RGB
attr Nachttisch devStateIcon {my $power=ReadingsVal($name,"power","off");;my $mode=ReadingsVal($name,"color_mode","RGB");;if($power eq "off"){Color::devStateIcon($name,"rgb","rgb","power");;}else{if($mode eq "RGB"){Color::devStateIcon($name,"rgb","rgb","bright");;}elsif($mode eq "color temperature"){Color::devStateIcon($name,"rgb",undef,"bright");;}}}
attr Nachttisch widgetOverride bright:colorpicker,BRI,0,1,100 ct:colorpicker,CT,1700,10,6500 rgb:colorpicker,RGB


Die mangelnde Erreichbarkeit per FHEM äußert sich in der üblichen Meldung: "Can't send command if bulb is not connected. Try "reopen" and check, if bulb is powered. Current state is disconnected", bzw. Log-Eintrag: "Nachttisch: connect to http://192.168.0.xyz:55443 timed out"
Ein "reopen" funktioniert aber nicht. Habt ihr das Problem auch momentan?

Das ist die Nachttischlampe:
https://www.aliexpress.com/item/Original-Smart-Xiaomi-Mijia-Bed-Bedside-Lamp-Bluetooth-WiFI-LED-Light-Touchlight-RGBW-Touch-Control-for/32837652474.html?spm=a2g0s.9042311.0.0.20df4c4ddFedjC

sledge

Mal ins Blaue: Bei einigen meiner Lampen musste ich vor ein paar Wochen den Entwicklermodus neu setzen in der App - die Symptome waren identisch - wurden von FHEM nicht mehr erreicht.

Also das auch mal in der YeeLight App überprüfen.... bei irgendeinem Update hatte sich da was verschoben.

Gruß, Tom

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

ChHerrm

Perfekt, das war's schon! Ich hatte vorher gar nicht die Yeelight-App, das ging aber anfangs trotzdem per FHEM und die Mi-App. Aber jetzt Yeelight-App --> Firmware aktualisieren --> LAN-Steuerung zulassen.
Danke für den Hinweis!  :D

Tardar

Hey zusammen,

ist es geplant, die Strips für Szenen verfügbar zu machen ?
Der Status bleibt immer auf OPEN und ich würde in Szenen gerne Farben einstellen und nutzen - hauptsächlich am Fernseher.

Danke und liebe Grüße

aisberg

von wo genau sollen die Module geladen werden? Könnte man das in der Anleitung im ersten Beitrag so beschreiben, dass man die richtigen Dateien verwendet, es richtig installiert und es dann richtig funktioniert?

In der Anleitung steht ganz am Anfang:
ZitatAktuelle Version hier: https://github.com/thaliondrambor/32_YeeLight.pm

und an anderer Stelle in diesem ersten Beitrag steht:
ZitatDie 32_YeeLightBridge.pm und die 32_YeeLight.pm aus dem Devel-Branch herunterladen (https://github.com/thaliondrambor/32_YeeLight.pm/tree/devel)

Die Versionen unterscheiden sich, unter master ist noch was anderes.
Was ist denn nun richtig und warum gibt es so viele verschiedene Versionen?

Zuvor hatte ich das hier an einer anderen Stelle gefunden:
update add https://raw.githubusercontent.com/thaliondrambor/32_YeeLight.pm/master/controls_yeelight.txt
danach hatte es ganz einfach funktioniert, YeeLight Lampen einzubinden. Aber ich konnte keine YeeLightBridge definieren
define ylb YeeLightBridge
Da kommt immer nur
ZitatCannot load module YeeLightBridge

Wie der Modul geladen werden kann - keine Ahnung. Also habe ich versucht, die Anleitung zu verstehen (erster Beitrag), was man machen soll, damit die YeeLightBridge geladen wird. Verstanden habe ich es immer noch nicht.
Und dann habe ich verschiedene Versionen ausprobiert (master, dev, die aus dem ersten Link), also aus dem Internet geladen, per FTP auf den raspberrypi kopiert, fhem neu gestartet.
Und im Moment funktioniert überhaupt nichts mehr.

bei einem
reload 32_YeeLight.pm
kommt so ein Fehler
ZitatExcessively long <> operator at ./FHEM/32_YeeLight.pm line 21.

bei einem
Zitatshutdown restart
kommt so was:

ZitatMessages collected while initializing FHEM:
configfile: Cannot load module YeeLight
Cannot load module YeeLight
Cannot load module YeeLight

Autosave deactivated


Ich habe keine Ahnung, wie das in FHEM überhaupt mit Modulen funktioniert, die nicht standardmäßig in FHEM dabei sind, das ist sicherlich irgendwo dokumentiert, aber dann doch recht versteckt, so dass ich es mit diversen Suchen nicht gefunden habe.

Es war recht einfach, die Lampen in die YeeLight app zu bekommen, damit auch in die Mi Home App, und mit dem Google Assistent kann man die Dinger sogar per Sprache steuern.  Das mit FHEM hinzubekommen, ist aufwendig, wenn man nur alle paar Jahre Änderungen am FHEM vornimmt und daher kein Spezialist für FHEM ist.

aisberg

ich hatte den Download aus GitHub falsch gemacht, man muss den Code als zip runterladen, nicht die Dateien selbst.
zwischen master und devel habe ich nur einen Unterschied gefunden:
Zitatmy $name = $hash->{NAME};
in Zeile 1333

OK, jetzt funktionieren die Lampen wieder.
Aber eine YeeLightBridge kann ich immer noch nicht definieren. Und es war ja die Hoffnung, dass das irgendwie geht.

Der Fehler lautet nur ohne irgend welche weiteren Hinweise:
ZitatCannot load module YeeLightBridge