Tech-Quickies: Xiaomi Yeelight + FHEM Integration

Blogbanner XIAOMI YeeLight

Neben den beiden Birnen existieren noch weitere Produkte aus der Yeelight-Reihe. Dazu gehören die

  • LED Deckenlampe
  • LED Schreibtischlampe
  • LED Nachttischlampe
  • LED Light Strip

Technische Daten

  • Fassung: E27
  • Leistung: 9W
  • Lichtstrom: 600lm
  • Farbtemperatur: 1700K-6500K
  • Farbendarstellung: 16 Mio.
  • Lebensdauer: 11 Jahre
  • Funktionen: Dimmbar, Remote Control, WiFi

Ich denke schon eine ganze Weile über Alternativen zu meinen Philips Hue Birnen nach. Von den Hue-Birnen hab ich vor ca. 2 Jahren mal ein 3er Set gekauft. Die Hue Birnen sind leider sehr teuer und kosten über 50€ pro Stück.

Daneben haben mich an den Hue-Birnen auch technische Mängel gestört. So haben sie z. B. beim einschalten immer die gleiche und nicht einstellbare gelb-weiße (ca. 2700K) Farbe. Auch tiefblaue Farbtöne konnten sie nicht richtig darstellen, wobei dies mit neueren Generationen besser geworden sein soll.


Mein Testequipment

Für den Test der Yeelight-Birne habe ich meine alte Infrarot-Wärme Lampe von Beurer mit E27-Fassung aus dem Schrank geholt. Danach die große Infrarot-Birne herausgeschraubt und die Yeelight-Birne reingeschraubt.





Nach dem ersten einschalten leuchtet die Yeelight-Birne in einem hellen weißen Farbton. Die Helligkeit der Birnen ist wirklich gut.


Einrichten der Yeelight-Birne

Ich verwende zur Zeit ein Lenovo Zuk Z2 Pro mit Android 7.0.

Die Lampe wird zunächst mit der der Yeelight oder MiHome Android App eingerichtet. Ich habe mich direkt für die Yeelight-App entschieden, da diese speziell für die Yeelight Produkte veröffentlicht wurde. Mit der Yeelight-App kann die Birne neben dem Einrichten auch noch gesteuert werden.

In der MiHome App können die Yeelight-Produkte auch konfiguriert werden, aber nicht so komfortabel. Mit MiHome App können auch noch weitere Produkte von Xiaomi neben Yeelight konfiguriert werden.



Nach dem Starten der App wird gleich nach der ersten Berechtigung für den Zugriff auf das Google-Konto gefragt. Diese Berechtigung ist nicht notwendig und kann abgelehnt werden.



Ist man auf der Startseite angelangt kann auch schon mit dem Hinzufügen der Yeelight-Birne in das eigene WLAN begonnen werden. Dazu drückt man oben rechts die drei Punkte und dann auf "Add Device".





Jetzt muss man sich mit seinem Xiaomi-Account anmelden. Ich hatte meinen Account vor einiger Zeit für das Xiaomi Mi Band erstellt und kann diesen hier wieder verwenden.

Die Frage warum man eine Anmeldung braucht um seine Birne im eigenen WLAN anzumelden stellt sich hier schon. Ich hab jetzt keine Tests gemacht welche Daten übertragen werden, aber im Zweifel sollte man den Zugriff der Birne ins Internet unterbinden.



Danach muss man der Berechtigung für den Zugriff auf den Standort zustimmen, da sonst die Yeelight-Birne nicht gefunden werden kann.



Jetzt sollte die Yeelight-Birne in der Liste auftauchen.




Zum Verbinden mit dem WLAN einmal auf das gefundene Gerät drücken und danach in der Liste das eigene WLAN auswählen. Ist dies geschehen muss noch das WLAN-Passwort eingegeben werden. Im Anschluss verbindet sich die Yeelight-Birne mit dem WLAN.










Wer hier angekommen ist hat den schwierigsten Teil der Einrichtung geschafft.

Sollte sich die Yeelight-Birne aus irgendeinem Grund nicht verbinden lassen kann sie zurückgesetzt werden. Dies geschieht über ein 5-maliges ein- und ausschalten. Zwischen den Schaltvorgängen sollte ca. 2 sek. gewartet werden. Danach signalisiert die Yeelight-Birne das zurücksetzen mit einem bunten Farbwechsel.

In der Yeelight App existieren drei verschiedene Modis zum Anzeigen von Farben.
Im "Hue"-Modus kann die Farbe über einen Farbslider ausgewählt werden.



Im "White"-Modus können die verschiedenen Weiß-Farbtemperaturen sowie die Helligkeit geregelt werden.





Der dritte Modus "Flow" stellt einen permanenten Farbwechsel zur Verfügung für den das Zeitintervall eingestellt werden kann.



Über die drei Punkte oben rechts gelangt man zu weiteren Einstellungsmöglichkeiten der Yeelight-Birne.



Herauszuheben ist die Einstellung "Default State Upon Power". Hierüber kann eingestellt werden welche Farbe, Helligkeit usw. die Birne direkt nach dem Einschalten über einen manuellen Wandlichtschalter haben soll.



Eine weitere und wichtige Einstellung ist unter "Developer Mode" zu finden. Diesen Modus muss man aktivieren damit später die Yeelight-Birne mit FHEM kommunizieren kann.

Technisch gesehen öffnet der "Developer Mode" einen Telnet-Zugang auf Port 55443. Hierbei wird auch die Verschlüsselung der Kommunikation aufgehoben. Innerhalb meines Netzwerkes kann ich damit leben. Wer die Birne anders betreibt z. B. in öffentlichen WLANs sollte dies beachten.

Das Yeelight-Modul in FHEM installieren

Damit die Yeelight-Birne in FHEM angesprochen werden kann wird ein zusätzliches Modul benötigt. Dieses Modul gehört noch nicht zum Standardumfang von FHEM und muss manuell installiert werden.
Das Modul und alle notwendigen Infos zum Modul findet Ihr hier im FHEM Forum.
Ich zeige hier jetzt wie ich das Modul installiere. Es gibt natürlich noch andere Wege und es kann jeder machen wie er möchte.

Zuerst logge ich mich mit Name und Passwort in meinen RaspberryPi mittels SSH ein. Ich verwende dafür PuTTY bzw. ExtraPuTTY. Bin ich eingeloggt stoppe ich zuerst FHEM mittels

Code
  1. sudo /etc/init.d/fhem stop

Dann wechsle ich das Verzeichnis in dem FHEM standardmäßig die Module hinterlegt hat.

Code
  1. cd /opt/fhem/FHEM

Danach wird das Modul heruntergeladen

Code
  1. wget https://raw.githubusercontent.com/thaliondrambor/32_YeeLight.pm/master/32_YeeLight.pm

und FHEM wieder gestartet

Code
  1. sudo /etc/init.d/fhem start

Yeelight-Birne in FHEM einbinden

Nach der Installation des Moduls kann mit der Definition in FHEM weitergemacht werden. Die Standarddefiniton des Moduls lautet:

Code
  1. define [NAME] YeeLight [IP]

Der Definition sollte nun also ein Namen gegeben werden ebenso wie die IP-Adresse der Yeelight-Birne.



Die IP-Adresse der Birne findet ihr z.B. in Eurem Router. Ich verwende eine Fritzbox. Dort kann ich der Fritzox auch mitteilen, dass die Birne immer die gleiche IPv4-Adresse verwenden und der Internetnutzung gesperrt sein soll.

Mein Code in FHEM sieht dann so aus:

Code
  1. define EG.Wohnzimmer.Decke.Yeelight.1 YeeLight 192.168.178.46
  2. attr EG.Wohnzimmer.Decke.Yeelight.1 devStateIcon {Color_devStateIcon(ReadingsVal($name,"rgb","000000"))}
  3. attr EG.Wohnzimmer.Decke.Yeelight.1 event-on-change-reading *
  4. attr EG.Wohnzimmer.Decke.Yeelight.1 webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb FFFFFF:ct 2700: ct 4000:toggle:on:off
  5. attr EG.Wohnzimmer.Decke.Yeelight.1 widgetOverride rgb:colorpicker,RGB



Zeile 2 färbt das Icon entsprechend der eingestellten Farbe ein. Zeile 5 ist notwendig damit der Colorpicker gemäß den WebCmds in Zeile 4 auch angezeigt wird.
Wer möchte kann auch auf die Farbtemperatur oder die Hue-Farbtöne wechseln.




Fazit

Die Yeelight-Birnen haben mich echt überrascht. Die Farbdarstellung und besonders das dunkle Blau, welche bei den Hue-Birnen immer türkis war, gefallen mir besonders gut.

Auch die Möglichkeit einen Farbton oder eine Farbtemperatur fest einstellen zu können und die nach einem Aus- und Wiedereinschalten zu sehen sein soll ist für mich ein großer Pluspunkt. Dies mag zwar auf den ersten Blick nicht so wichtig sein, ist aber meiner Meinung nach ein enormer Vorteil gegenüber den Hue-Birnen, denn so kann man seine Lichtstimmung im Raum wirklich individuell gestalten.

Die Integration in FHEM war schnell und einfach erledigt. Mir gefällt die schnelle Reaktionszeit der Birnen. Ein Klick in FHEM und die Birne schaltet praktisch Verzögerungsfrei um. Ich hab das mit den Hue-Lampen schon anders erlebt. Wahrscheinlich macht sich die nicht notwendige Bridge sondern die direkte WLAN-Verbindung doch positiv bemerkbar.
Wer die Sprachsteuerung mit Alexa verwenden will kann dies mit den verfügbaren Alexa Skills bereits tun.


Der Preis ist gemäß der Funktionen und der Qualität als sehr gut zu bezeichnen. Vor allem im direkten Vergleich mit den Philips Hue-Birnen.

Update 25.06.2017

Aus unerklärlichen Gründen fängt das FHEM-Modul nach einigen Minuten an eine hohe Systemlast zu generieren. Ich habe es bemerkt, da das System allgemein träger wurde und z. B. das Schalten des Treppenhauslichts nicht mehr sofort erfolgte.





Ich werde als Workaround das Modul separat in einen Docker-Container auslagern, damit er es dort ungestört sein Unwesen treiben kann. Ich werde den Beitrag hier nach einem Update des Moduls aktualisieren.

Update 04.08.2017

Nach dem Verfolgen der FHEM-Diskussion und Kontakt mit dem Entwickler "thaliondrambor" des Moduls, gehe ich davon aus, das ich mit dem Problem der hohen Systemlast alleine bin. Wahrscheinlich gibt es eine Querverbindung zu einem anderen Modul meiner doch komplexen Konfiguration oder eine Komponente ist nicht up-to-date. Die Lösung meinerseits besteht nach wie vor im Auslagern in in ein docker-fhem, was ausgesprochen gut funktioniert. Nichtsdestotrotz gibt es mittlerweile ein Update des Moduls, welches einige Bugfixes enthält. Nochmals Danke an "thaliondrambor" und uneingeschränkte Empfehlung für das tolle FHEM-Modul.

    Über den Autor

    Autor von worldoftech.de. Smart-Home-Verrückter.


    Nutzt Zuhause FHEM zusammen mit HomeMatic, JeeLink, 1-Wire, Flammtronik / Atmos HV, Buderus KM271, Philips HUE, Xiaomi Yeelight, Alexa, Sonos, FritzBox, Ubiquiti UniFi APs, APC UPS, APC PDU, IPMI. MariaDB, InfluxDB und Grafana zur Auswertung. Als Hardware-Untersatz kommen mehrere RaspberryPis und Supermicro Serverhardware zum Einsatz. Softwareseitig werden hauptsächlich Raspbian, Ubuntu, ESXi und Docker verwendet.

    Reinhard Team

    Kommentare 7

    • Hallo zusammen.


      ist es denn möglich, die xiaomi yeelight deckenlampe in ein bestehendes Philips Hue System zu integrieren?

      • Hallo Christian,
        naja also die Yeelights funken allgmein mit WLAN (teilweise auch BT) und die Hue-Birnen mit dem ZigBee-Protokoll. Das heißt direkt wirst du die Teile nicht zum zusammenarbeiten bringen können. Bei mir laufen alle Birnen in FHEM zusammen und ich steuere dann dort alles notwendige, also Helligkeit, Farben, Szenen usw. Die Hue-Bridge ist bei mir ein Raspbee, eine originale Philips Hue-Bridge habe ich nicht.


        Grüße
        Reinhard

    • Hi Jo,


      Ich hatte anfangs auch manchmal Schwierigkeiten mit den connect. Probiere nochmal alle Yeelights zu resetten und nochmal neu zu verbinden. Danach ging es dann bei mir.


      Die Yeelight Bridge hört auf Multicast-Nachrichten ist also IP-Unabhängig innerhalb eines Subnets.


      Hab es gerade getestet. Bei mir geht die Bridge.pm.
      Probier mal die Rechte der Bridge.pm auf den fhem-user anzupassen. Also so das sie die gleichen Rechte/Besitzer hat wie die anderen Dateien im FHEM-Ordner.


      Grüße Reinhard

    • Hallo Reinhard,


      vielen Dank für diese super Anleitung! Ich bin ehrlich gesagt ein FHEM (als auch Linux- und Raspberry-) Newbie, was bedeutet, daß jeder Schritt für mich sehr schwierig ist. (Allein das einrichten des Raspberries, zusammen FHEM, sowie mit meinen Zigbee und FS20-Devices war sehr langwierig. Umso mehr habe ich mich gefreut, als ich nun 3 Lampen an einem Vormittag komplett konfigurieren konnte.


      Leider bin ich doch auf ein Problem gestoßen: Der Xiaomi Mi Yeelight LED-Strip funktioniert mit dieser Konfiguration nicht. Kannst Du mir da evtl helfen oder hast auch schon ein passendes Tutorial? Google konnte mir leider nicht weiterhelfen.


      Vielen Dank!


      Jo

      • Hallo Jo,
        kein Problem. Jeder muss mal irgendwo anfangen.


        Die Yeelight LED Lightstrip (Color) besitzt eigentlich die gleiche Funktionalität wie die Yeelight Birne: https://forum.fhem.de/index.ph….msg543474.html#msg543474


        Sollte eigentlich mit meiner Anleitung auch gehen, wobei ich das mangels Hardware nicht testen kann.


        Vielleicht kannst du mal statt der 32_YeeLight.pm die Bridge 32_YeeLightBridge.pm ausprobieren.


        siehe dazu auch den Thread des Modulentwicklers:
        https://forum.fhem.de/index.ph….msg540056.html#msg540056

      • Hallo Reinhard,


        vielen Dank für die Hilfe. In den letzten Tagen habe ich wieder weiter an meinem Projekt gearbeitet - jedoch trotz Deiner Hilfe bisher ohne Erfolg. Habe mein Yeelight.pm Modul ersetzt und auch das YeelightBridge Modul hinzugefügt.
        Im Yeelight Modul erhalte ich (obwohl der Strip mit dem WLAN verbunden ist, gerade leuchtet und jederzeit über die Yeelight App gesteuert werden kann) folgende Fehlermeldung: Can't send command if bulb is not connected. Try reopen and check if bulb is powered. Current state is disconnected." LAN Modus für 3rd Party Apps ist wie in den Lampen aktiv. Ansonsten mache ich auch alles identisch. Leider habe ich echt keine Idee mehr, woran das liegen könnte...


        Was das Yeelight Bridge Modul angeht, bin ich noch frustrierter: Ich habe es erfolgreich geschafft, die Bridge.pm herunterzuladen (in den FHEM Ordner, wie in Deinem Blog beschrieben), habe meinen Raspberry neu gestartet - doch bei dem Versuch, eine Yeelight Bridge zu definieren (wieso braucht man da eigentlich keine IP Adresse? Ist es dann evtl nur so eine Art Steuereinheit um bereits laufende Lampen synchron zu steuern?) erhalte ich folgende Fehlermeldung:
        "Cannot load module YeeLightBridge".


        Woran das nun wieder liegt, habe ich in den letzten Tagen leider noch nicht rausgefunden.


        Hast Du evtl eine Idee zur Lösung meiner Probleme?


        Viele Grüße und Danke schon einmal,


        Jo

    • […] Beitrag zur Xiaomi Yeelight hab ich die App schon kurz angesprochen. Die “MiHome” App ist eine Art Universal-App für viele […]