[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

ChristianOS

Guten morgen,

ein kurzer Exkurs zum Thema Yeelight telefeoniert nach Hause.

Da jeder Befehl für die Lampe bei der Verwendung mit der App nach Fernost gesendet wird und danach erst die Lampe gesteuert wird ist das bei der Verwendung mit FHEM fragwürdig, da im developer mode keine Verschlüsselung aktiv ist. Somit wird wirklich alles in die Cloud gepustet was man mit der Lampe macht. Ich habe den Netzwerkverkehr mal mitgeschnitten und so einige IPs herausbekommen, zu denen die Yeelight eine Verbindung aufbaut:

42.62.48.2
42.62.94.185
58.83.160.14
58.83.160.36
58.83.200.10
58.83.200.11
58.83.200.3
58.83.200.7

Wer die Yeelight nur über FHEM nutzen will und die App nur zum Einrichten braucht, sollte die Lan-to-Wan Verbindung der Yeelight nach dem Einrichten unterbinden.

Dazu gibt es zwei Wege:
a) Die o.a. IPs im Router sperren

oder die bessere Alternative
b) Der Yeelight eine feste IP zuweisen und dieser IP alle Ports zur Wan-Seite sperren (1:65535)

Oftmals steckt in den Routern eine Firewall drin, an der man solche kleinen Anpassungen vornehmen kann.

Bei (m)einem Asus Router unter [Erweiterte Einstelungen] -> [Firewall] -> [Netzwerkdienstfilter] -> [Lan-to-Wan Filter aktivieren] und dann die IP und die Portrange angeben

Auch wenn die Lampe nun keine Verbindung Richtung Internet mehr aufbauen kann, so funktioniert die Steuerung im Lan per FHEM ohne Probleme!

cc13

Merkwürdig, am 28.12. habe ich das Bridge-Modul installiert und seit diesem Tag ist meine Yeelight nicht mehr im Netz erreichbar...

Ich versuche sie gerade wieder mit der MI-App auf dem iPhone zu connecten, um die Lampe in mein Heimnetz zu bekommen. Allerdings mag das iOS 10 das ungesicherte Yeelight-WLAN nicht und wechselt während der Einrichtung immer wieder zurück in mein sicheres Heimnetz.

Mehr später.

thaliondrambor

Was bedeutet denn nicht erreichbar? Über FHEM? Oder auch nicht über die App? Ging das anpingen noch? Bei mir funktionieren alle 4 Lampen einwandfrei.

Mit dem iPhone und der zugehörigen App ist das ganze wirklich nicht so einfach. Über Android ist das deutlich komfortabler. Da verbindet die App sich nach Aufforderung komplett selber und das nur für ein paar Sekunden um die WLAN-Daten zu übertragen.

cc13

Nicht erreichbar heißt: in FHEM stand disconnected, in der Fritzbox war kein Device bekannt, das Yeelight war also nicht mit meinem WLAN verbunden.

Ich habe kein Android im Haus, muss es also mit dem iPhone schaffen.

thaliondrambor

Das ist ja komisch. Das kann eigentlich nicht von der Bridge kommen. So eine Funktion gibt es gar nicht über die API. Weder WLAN ausschalten, IP-Adresse ändern noch Werkseinstellungen zurücksetzen. Hatte die Lampe danach von selber wieder ihr eigenes WLAN? Oder musstest du sie erst zurücksetzen?

Gesendet von meinem SM-G930F mit Tapatalk


cc13

So, alles zurück. Der Fehler liegt/lag bei mir. Ich hatte am gleichen Tag in der Fritzbox dem 5GHz und dem 2.4 GHz WLAN verschiedene Namen gegeben und nicht daran gedacht, dass die Lampe nur im 2.4er Netz funkt.

Auf dieses nun festgezurrt, ist die Lampe wieder über FHEM erreichbar. Die Lampe hatte ich heute mehrmals resettet. Es ist aber davon auszugehen, dass die Lampe ihre Einstellung vorher nicht vergessen hatte.

Bei einem asiatischen Versender gibt es gerade den Temperatur- und Luftfeuchtesensor von Mi im Angebot. Wenn ich das aber richtig sehe, braucht das Teil das Gateway, oder geht da auch was mit FHEM?

Mal ne Frage zur Bridge: Brauche ich die, wenn ich mehrere Lampen gleichzeitig ansteuern möchte, oder in Verbindung mit Homebridge und Siri?

thaliondrambor

Nein, die Lampen laufen momentan auch (noch) ohne Bridge. Über die Bridge kommen ein paar mehr Informationen (Model-Typ, ID, unterstützte Befehle u.s.w.). Die Bridge ermöglicht ein Autocreate. Außerdem wird die IP angepasst, wenn sich diese, z.B. per DHCP, ändern sollte. Das läuft dann über die unique ID der Lampe als Erkennungsmerkmal.

cc13

Hi,

ich dachte mit


set WohnzimmerLicht bright 20


wird die Lampe vorher eingeschaltet, wenn sie das nicht ist. Und ich glaube, das ging auch schon mal. Installiert habe ich die Version vom 26.12.16.

bjbrill

Ja, das ging mal, ich hatte schon mein Wlan im Verdacht, weil die Lampe nicht mehr an ging.
Ich bin auf eine ältere Version zurück gewechselt, jetzt funktioniert wieder alles problemlos.
Schöne Grüße bjbrill
Ubuntu-Server, Dect200, Jeelink, Unifi, ESP32, Alexa, Tasmota, zigbee2mqtt, OpenDTU.

thaliondrambor

Zitat von: cc13 am 01 Januar 2017, 20:08:06
Hi,

ich dachte mit


set WohnzimmerLicht bright 20


wird die Lampe vorher eingeschaltet, wenn sie das nicht ist. Und ich glaube, das ging auch schon mal. Installiert habe ich die Version vom 26.12.16.

Habe das Problem sowohl im Master als auch im Devel gefixed. Geht jetzt hoffentlich.

bjbrill

Hallo,

hab soeben aus dem Devel  ge-updated, jetzt geht es wieder einwandfrei.
Herzlichen Dank für den schnellen Fix.
Ubuntu-Server, Dect200, Jeelink, Unifi, ESP32, Alexa, Tasmota, zigbee2mqtt, OpenDTU.

dancatt

Hallo zusammen,

heute sind auch bei mir 2 angekommen und ich konnte endlich mal loslegen.

Folgendes ist mir alles aufgefallen:

  • In fhem musste ich noch
sudo cpan install IO::Socket::Multicast

    installieren[/li]
  • In der Yeelight App wurden bei mir keine Lampen erkannt. Nur über die MiHome App. Erst danach waren die Lampen in der Yeelight App sichtbar und ich konnte den Developer Mode anschalten.
  • Wie lässt sich die IP ändern? Kann in der Fritzbox die IP nicht ändern, sondern nur anhaken dass immer die gleiche IP genommen werden soll.
  • Zu dem Thema "Yeelight telefoniert nach Hause". Reicht es nicht aus in der Fritzbox die Kindersicherung anzuschalten? Dadurch sollte keine Internetverbindung mehr möglich sein.


Vielen Dank auch von mir für das Modul.

Gruß Daniel
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

ChristianOS

Zitat von: dancatt am 06 Januar 2017, 14:02:49

  • Zu dem Thema "Yeelight telefoniert nach Hause". Reicht es nicht aus in der Fritzbox die Kindersicherung anzuschalten? Dadurch sollte keine Internetverbindung mehr möglich sein.

Ich selber habe keine FritzBox. Ich weiß nicht was die FritzBox sperrt wenn man die Kindersicherung aktiv hat.
Vielleicht sind es nur die klassischen TCP Ports wie 80, 8080 und 443. Ob wirklich der gesamte Portbereich UDP und TCP 1-65535 geblockt werden weiß ich nicht. Die Yeelight funkt jedenfalls u.a. auf TCP Port 49173 und/oder UDP Port 54915 (laut Wireshark). Ob das die Kindersicherung blockt?! - Keine Ahnung.
Wenn ja, hast du natürlich recht. Darüber ist es einfacher zu konfigurieren.

bjbrill

Hallo,
Ich versuche gerade meine Yeelights optisch an meine bestehenden HUE's anzugleichen, was soweit auch ganz gut klappt.
Bei dem "devStateIcon" beiße ich mir aber die Zähne aus, da die Yeelights nur den Status "opened"oder "disconnected" liefern.
Gibt es da einen Trick auch bei den Yeelight ein brauchbares "devStateIcon" zu bekommen?

Bis jetzt habe ich:
icon:    hue_filled_white_and_color_e27_b22
webCmd:      rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb FFB371:rgb FFC494:rgb FFDEC3:rgb ECEEFF:on:off:bright
widgetOverride:   rgb:colorpicker,HSVp bright:colorpicker,BRI,0,1,100


Vielleicht hat das einer von euch ja schon besser hin bekommen? Über Tips würde ich mich freuen.

Schöne Grüße Björn
   
   
Ubuntu-Server, Dect200, Jeelink, Unifi, ESP32, Alexa, Tasmota, zigbee2mqtt, OpenDTU.

thaliondrambor

Zitat von: bjbrill am 14 Januar 2017, 12:47:10
Hallo,
Ich versuche gerade meine Yeelights optisch an meine bestehenden HUE's anzugleichen, was soweit auch ganz gut klappt.
Bei dem "devStateIcon" beiße ich mir aber die Zähne aus, da die Yeelights nur den Status "opened"oder "disconnected" liefern.
Gibt es da einen Trick auch bei den Yeelight ein brauchbares "devStateIcon" zu bekommen?

Bis jetzt habe ich:
icon:    hue_filled_white_and_color_e27_b22
webCmd:      rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb FFB371:rgb FFC494:rgb FFDEC3:rgb ECEEFF:on:off:bright
widgetOverride:   rgb:colorpicker,HSVp bright:colorpicker,BRI,0,1,100


Vielleicht hat das einer von euch ja schon besser hin bekommen? Über Tips würde ich mich freuen.

Schöne Grüße Björn

Guten Abend,

ich habe mich mit den Darstellungen allgemein noch garnicht wirklich beschäftigt. Auf lange Sicht würde ich das auch im Modul integrieren wollen. Wenn du mir sagst, welche Readings oder Internals welche Informationen beinhalten sollen, damit du devStateIcon besser nutzen kannst, würde ich versuchen, dass ich das im Modul einfüge bzw. ändere.

Gruß

thaliondrambor