[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

flynt

Kacke du hast recht  ;D ;D ;D... zu lange drauf gestarrt und Tomaten auf den Augen gehabt.  :o Habs jetzt über RGB gelöst. Alles Ok. Aber danke für den Hinweis.

Eine Frage noch. Im state steht opened oder closed. Eine Structure fragt den state ab. Ist der nicht on/off,  steht die structure auf undefined.
Ne Idee wie man das lösen kann? Müsste entweder der structure irgendwie sagen, dass die power auslesen soll oder state umbiegen.

zobi

Hallo,

ich habe schon einmal OpenHab ausprobiert und würde jetzt gerne noch einmal FHEM testen und mich dann für ein System entscheiden.

Das Einbinden der Yeelights ist quasi mein erstes FHEM-Projekt also verzeiht mir evtl. Anfängerfragen.

Ich habe die Datei 32_Yeelight.pm in den Ordner /opt/fhem/FHEM kopiert.
Der Befehl reload  32_Yeelight.pm hat nicht funktioniert (bash: reload: Kommando nicht gefunden)

Also habe ich den Raspberry einfach neu gestartet.

Wenn ich jetzt im Web Frontend in der fhem.cfg folgenden Befehl ausführe:
define Y1 YeeLight 192.168.2.109

erhalte ich diese Rückmeldung:
Cannot load module YeeLight

Könnt ihr mir dabei helfen?

Viele Grüße

zobi

mahowi

Hallo,
das reload musst Du in FHEM eingeben, nicht in der Shell und ohne pm:
reload  32_Yeelight
Wenn das Modul nicht geladen wird, fehlen Perl-Module. Schau mal im Log oder Dvice-Monitor nach, wenn Du das define eingibst. Da müssten die fehlenden Module ausgegeben werden.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

zobi

Hallo,

danke für die schnelle Rückmeldung.

jetzt bekomme ich folgenden Fehler:


Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 50 at ./FHEM/32_YeeLight.pm line 23.


Was kann das sein?

VG
zobi

thaliondrambor

Ich vermute, dass du die html-Seite von Github heruntergeladen hast und nicht die eigentliche Datei.
Nimm diese hier: https://raw.githubusercontent.com/thaliondrambor/32_YeeLight.pm/devel/32_YeeLight.pm
Und wenn du die Bridge nutzen möchtest auch noch: https://raw.githubusercontent.com/thaliondrambor/32_YeeLight.pm/master/32_YeeLightBridge.pm

Ich weiß nicht, inwiefern FHEM dort case-sensitiv ist, aber bei mir geht auch reload 32_YeeLight.pm aber eben mit einem großen "L".

zobi


svwb22

Für alle die, die sich die DeskLamp gekauft haben.
Über die Yeelight-App kann man die Firmware updaten.
Mittlerweile geht auch dort der Developer Modus :)

gent

Hallo,

hat jemand ein Homebridge mapping für die LED Bulb Color?

Viele Grüße
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

thaliondrambor

Zitat von: svwb22 am 27 April 2017, 02:53:15
Für alle die, die sich die DeskLamp gekauft haben.
Über die Yeelight-App kann man die Firmware updaten.
Mittlerweile geht auch dort der Developer Modus :)

Vielen Dank für die Info. Ich habe schon vor ein paar Wochen versucht meiner Schreibtischlampe ein Update zu spendieren. Leider ging das immer nicht.
Nach dem Lesen deines Posts habe ich nach einer Lösung gesucht. Das Problem ist, dass wohl einige ISP Datenverkehr fürs Update blocken (bin bei wilhelmtel). Ich habe einen Hotspot mit meinem Handy aufgemacht, die Lampe mit diesem verbunden und dann ging auch das Update.

Jetzt kann ich auch den Developer-Mode aktivieren und die Lampe wird sofort erkannt. Leider kann man sie nur dimmen :-( Über den Hardwareschalter kann man ja auch die Farbtemperatur einstellen. Dies geht leider nicht mit dem Modul, da die Lampe dies nicht unterstützt. Dies gibt die Lampe für die unterstützten Funktionen aus:
support    get_prop set_default set_power toggle set_bright start_cf stop_cf set_scene cron_add cron_get cron_del set_adjust set_name

Außerdem kann man mittlerweile die Lampen auch über Alexa steuern. Xiaomi hat dafür einen Skill herausgebracht. Das einzige Problem ist, dass dies nur geht, wenn die Lampen auf dem Singapur-Server gemeldet sind.

Quant

Auch von mir einen herzlichen Dank für dieses Modul!  :)

Zwei Fragen habe ich noch:

- mein Log füllt sich bei jedem Schalten der Lampe mit Fehlermeldungen, es scheint aber soweit alles zu funktionieren:
2017.05.01 16:07:52 3: YeeLight YeeBulb1 - set YeeBulb1 bright 40
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 843.
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 990.
Argument "No get implemented for YeeBulb1" isn't numeric in numeric lt (<) at FHEM/Color.pm line 435.
2017.05.01 16:07:52 3: YeeBulb1 success sending 5: {"params":[40],"id":5,"method":"set_bright"}
2017.05.01 16:07:52 3: YeeBulb1 updated readings.
Use of uninitialized value $model in string eq at ./FHEM/32_YeeLight.pm line 308.
Use of uninitialized value $model in string eq at ./FHEM/32_YeeLight.pm line 308.
2017.05.01 16:07:58 3: YeeLight YeeBulb1 - set YeeBulb1 rgb ff0000
Argument "ff0000" isn't numeric in numeric eq (==) at ./FHEM/32_YeeLight.pm line 445.
Use of uninitialized value $args[1] in numeric eq (==) at ./FHEM/32_YeeLight.pm line 445.
Use of uninitialized value $args[2] in numeric eq (==) at ./FHEM/32_YeeLight.pm line 445.
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 843.
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 990.
2017.05.01 16:07:58 3: YeeBulb1 success sending 6: {"params":[16711680],"id":6,"method":"set_rgb"}
2017.05.01 16:07:58 3: YeeBulb1 updated readings.
2017.05.01 16:08:11 3: YeeLight YeeBulb1 - set YeeBulb1 bright 100
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 843.
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 990.
2017.05.01 16:08:11 3: YeeBulb1 success sending 7: {"params":[100],"id":7,"method":"set_bright"}
2017.05.01 16:08:11 3: YeeBulb1 updated readings.

Hab ich da was ver-konfiguriert, oder sind das noch lose Enden der Entwicklung (ich verwende die Version aus dem Developer-Zweig)?

- an diejenigen, die auch den Light Strip einsetzen: was für eine Stromversorgung verwendet ihr? Soweit ich das sehe, ist da (zumindest bei GB) keine im Lieferumfang, oder?

Viele Grüße
Thomas


darthi

Da kam mir Thomas gerade zuvor. Wollte eben auch reporten, dass mit der aktuellen Dev Version, sich das Log mit folgender Fehlermeldung füllt:
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 843.
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 990.


Auch jeder Schaltvorgang wird mitgeloggt. Das ist ja eigentlich uninterssant. Lässt sich das Loglevel verringern? Verbose steht ja schon auf 0.

Außerdem ist mir aufgefallen, dass wenn ich das "stateFormat" auf "power" setze, gar nichts mehr geht. Ich wollte hier einen eindeutigen Wert haben, da die Lampe sonst in AndFHEM immer als angeschaltet angezeigt wird, der es den Standard-"state"-Wert (beim YeeLight "opened") nicht interpretieren kann.

thaliondrambor

@~Thomas und darthi

Benutzt ihr nur das 32_YeeLight Modul oder auch das 32_YeeLightBridge Modul? Wenn ihr nur ersteres benutzt, dann habe ich eine Vermutung, woher die Meldungen kommen und ich muss nur mal schauen, wie man die in diesem Fall unterdrückt.

Diesen Teil bekommen ich weg:
Argument "ff0000" isn't numeric in numeric eq (==) at ./FHEM/32_YeeLight.pm line 445.
Use of uninitialized value $args[1] in numeric eq (==) at ./FHEM/32_YeeLight.pm line 445.
Use of uninitialized value $args[2] in numeric eq (==) at ./FHEM/32_YeeLight.pm line 445.


@darthi Es gibt keinen einzigen Log bei Verbose 0 im Modul. Bist du sicher, dass du das nicht irgendwo in FHEM übergeordnet höher gestellt hast? Das mit dem stateFormat muss ich mir mal bei Gelegenheit genauer anschauen.

@~Thomas Mein LED-Streifen war mit Stromversorgung, anstecken, mit App ins WLAN bringen und schon lief es einwandfrei.

Edith sagt: Die neue Version im Devel-Branch sollte die Meldungen nicht mehr anzeigen.

Quant

Ja, ich verwende nur das 32_YeeLight und ja, die neue Version hält das Log sauber:

2017.05.01 21:07:19 3: YeeLight YeeBulb1 - set YeeBulb1 rgb ff0000
2017.05.01 21:07:19 3: YeeBulb1 success sending 3: {"params":[16711680],"id":3,"method":"set_rgb"}
2017.05.01 21:07:19 3: YeeBulb1 updated readings.
2017.05.01 21:07:25 3: YeeLight YeeBulb1 - set YeeBulb1 rgb 00ff00
2017.05.01 21:07:25 3: YeeBulb1 success sending 4: {"params":[65280],"id":4,"method":"set_rgb"}
2017.05.01 21:07:25 3: YeeBulb1 updated readings.


Danke!

Thomas

darthi

@thaliondrambor: Danke für die neue Version.  :) Ich nutze nur die YeeLight.pm.

Wegen der Logeinträge hattest du mit der übergeordneten Ebene recht, in global war verbose auf 3 gestellt. Daher wurde das Schalten geloggt.

Dafür habe ich nun beim Booten von FHEM einen neuen Fehler in der Log:
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 253, <$fh> line 225.
Use of uninitialized value $model in string eq at ./FHEM/32_YeeLight.pm line 146, <$fh> line 225.

und
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 253.

Ggf. war der auch schon vorher da und ist nur nicht aufgefallen.

thaliondrambor

Zitat von: darthi am 03 Mai 2017, 20:21:21
@thaliondrambor: Danke für die neue Version.  :) Ich nutze nur die YeeLight.pm.

Wegen der Logeinträge hattest du mit der übergeordneten Ebene recht, in global war verbose auf 3 gestellt. Daher wurde das Schalten geloggt.

Dafür habe ich nun beim Booten von FHEM einen neuen Fehler in der Log:
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 253, <$fh> line 225.
Use of uninitialized value $model in string eq at ./FHEM/32_YeeLight.pm line 146, <$fh> line 225.

und
Use of uninitialized value $bName in hash element at ./FHEM/32_YeeLight.pm line 253.

Ggf. war der auch schon vorher da und ist nur nicht aufgefallen.

Die Fehler sollten jetzt auch weg sein in der aktuellen Version. Ich habe außerdem als optionalen Parameter für die Definition der Lampen das Model hinzugefügt. Dies ging vorher nur über die Bridge mit den Broadcasts. Die Syntax lautet nun:define [NAME] YeeLight [IP] <MODEL>
Mögliche Werte für das Model sind momentan: color, stripe, mono, desklamp