@pierre-gilles Es ist korrigiert und die Tests laufen durch ![]()
@Pti_Nico super PR, das ist viel sauberer als die ersten Iterationen, super sauber ![]()
![]()
Ich habe einen kleinen Hinweis (sehr geringfügig) zu den Übersetzungen gemacht.
Ansonsten habe ich einige ESLint-Änderungen vorgenommen, die du in deiner PR vornehmen musst (das sollte nicht länger als 1 Minute dauern).
Ist deine PR im Hinblick auf die Dokumentation noch aktuell?
Und wie sieht es mit dem echten Testen aus?
Wenn alles gut ist, kann es für mich in die Gladys-Produktion gehen ![]()
Ja, alles okay.
@Will_71 hat es von seiner Seite aus getestet, scheint korrekt zu sein.
Ich hätte vielleicht nicht diese Worte gewählt, da mein LED-Band bei den letzten Tests nicht erkannt wurde.
Aber wie ich dir gesagt habe, sollte das kein Hindernis für die Integration sein.
@Pti_Nico Kannst du mit @Will_71 schauen, warum es Fehler gibt? Vielleicht ein Build mit mehr Logs erstellen, um zu debuggen, was bei ihm passiert?
Wenn wir nur einen Tester für diese Integration haben und es bei ihm nicht funktioniert, ist das für mich nicht besonders beruhigend, diese Integration in diesem Zustand zu mergen ![]()
Ich wäre auch für weitere Tester dankbar!
Ich habe zu Hause eine Yeelight Bulb, die schon mehrere Jahre alt ist und die ich nicht mehr nutze. Vielleicht kann ich etwas auf meiner Seite testen?
@guim31 Ja, du kannst es testen!
@Will_71 Ich habe ein neues Image (gleicher Name) mit mehr Logs gepusht…
Okay, ich gebe dir heute Abend Feedback.
@Pti_Nico bist du dir sicher bei deinem Bild? Ich habe es zweimal auf zwei verschiedenen Geräten versucht, aber in deinem letzten Bild ist keine Yeelight-Integration enthalten.
Kannst du ein neues erstellen?
@Will_71 ja, sie wurde von einer anderen, die ich danach geschoben habe, zerdrückt, tut mir leid…
Ich habe gerade die Erstellung neu gestartet…
Kein Problem, ich mache heute Abend noch einen Test.
Gut, ich habe es geschafft, mein Band wiederzufinden.
Um es zu erkennen, musste ich es einschalten. Es wurde trotzdem von meiner Box erkannt.
Ich konnte mein LED-Band über Gladys steuern und eine Rückmeldung erhalten, wenn ich es direkt über die Yeelight-App steuerte. Gute Nachricht.
Allerdings hatte ich die folgenden Fehler. Mein Band war abgestürzt, ich musste es ausschalten und wieder einschalten.
2023-05-17T20:49:59+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
<rejected> Error: Nicht ausgeführt
at new NodeError (node:internal/errors:399:5)
at healthCheck (node:dgram:911:11)
at Socket.close (node:dgram:743:3)
at /src/server/services/yeelight/node_modules/yeelight-awesome/src/discover.ts:177:29
at new Promise (<anonymous>)
at Discover.destroy (/src/server/services/yeelight/node_modules/yeelight-awesome/src/discover.ts:174:16)
at Timeout._onTimeout (/src/server/services/yeelight/lib/device/discover.js:29:22)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7) {
code: 'ERR_SOCKET_DGRAM_NOT_RUNNING'
}
}
2023-05-17T20:49:59+0200 <error> index.js:16 (process.<anonymous>) Error: Nicht ausgeführt
at new NodeError (node:internal/errors:399:5)
at healthCheck (node:dgram:911:11)
at Socket.close (node:dgram:743:3)
at /src/server/services/yeelight/node_modules/yeelight-awesome/src/discover.ts:177:29
at new Promise (<anonymous>)
at Discover.destroy (/src/server/services/yeelight/node_modules/yeelight-awesome/src/discover.ts:174:16)
at Timeout._onTimeout (/src/server/services/yeelight/lib/device/discover.js:29:22)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7) {
code: 'ERR_SOCKET_DGRAM_NOT_RUNNING'
}
2023-05-17T20:53:11+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise { <rejected> 'Befehl ist abgelaufen, keine Antwort vom Server.' }
2023-05-17T20:53:11+0200 <error> index.js:16 (process.<anonymous>) Befehl ist abgelaufen, keine Antwort vom Server.
2023-05-17T20:53:27+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise { <rejected> 'Befehl ist abgelaufen, keine Antwort vom Server.' }
2023-05-17T20:53:27+0200 <error> index.js:16 (process.<anonymous>) Befehl ist abgelaufen, keine Antwort vom Server.
2023-05-17T20:54:04+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Befehl ist abgelaufen, keine Antwort vom Server.
2023-05-17T20:54:04+0200 <error> device.poll.js:23 (DeviceManager.poll) Es ist ein Fehler beim Abfragen des Geräts yeelight-0x00000000156f48b5 aufgetreten
2023-05-17T20:54:04+0200 <error> device.poll.js:24 (DeviceManager.poll) NotFoundError: YEELIGHT_DEVICE_NOT_FOUND
at YeelightHandler.poll (/src/server/services/yeelight/lib/device/poll.js:61:11)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
2023-05-17T20:54:10+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Verbindungszeitüberschreitung
2023-05-17T20:54:11+0200 <error> index.js:20 (process.<anonymous>) uncaughtException catched: uncaughtException
2023-05-17T20:54:11+0200 <error> index.js:21 (process.<anonymous>) Error: write after end
at new NodeError (node:internal/errors:399:5)
at _write (node:internal/streams/writable:322:11)
at Socket.Writable.write (node:internal/streams/writable:337:10)
at /src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:440:25
at new Promise (<anonymous>)
at Yeelight.sendCommand (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:417:16)
at Yeelight.ping (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:389:21)
at Yeelight.triggerPing (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:527:18)
at Yeelight.wasConnected (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:490:18)
at Socket.<anonymous> (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:456:22)
at Socket.emit (node:events:525:35)
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1479:10) {
code: 'ERR_STREAM_WRITE_AFTER_END'
}
2023-05-17T20:54:20+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Verbindungszeitüberschreitung
2023-05-17T20:54:26+0200 <error> index.js:20 (process.<anonymous>) uncaughtException catched: uncaughtException
2023-05-17T20:54:26+0200 <error> index.js:21 (process.<anonymous>) Error: write after end
at new NodeError (node:internal/errors:399:5)
at _write (node:internal/streams/writable:322:11)
at Socket.Writable.write (node:internal/streams/writable:337:10)
at /src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:440:25
at new Promise (<anonymous>)
at Yeelight.sendCommand (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:417:16)
at Yeelight.ping (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:389:21)
at Yeelight.triggerPing (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:527:18)
at Yeelight.wasConnected (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:490:18)
at Socket.<anonymous> (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:456:22)
at Socket.emit (node:events:525:35)
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1479:10) {
code: 'ERR_STREAM_WRITE_AFTER_END'
}
2023-05-17T20:54:34+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Befehl ist abgelaufen, keine Antwort vom Server.
2023-05-17T20:54:34+0200 <error> device.poll.js:23 (DeviceManager.poll) Es ist ein Fehler beim Abfragen des Geräts yeelight-0x00000000156f48b5 aufgetreten
2023-05-17T20:54:34+0200 <error> device.poll.js:24 (DeviceManager.poll) NotFoundError: YEELIGHT_DEVICE_NOT_FOUND
at YeelightHandler.poll (/src/server/services/yeelight/lib/device/poll.js:61:11)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
2023-05-17T20:54:44+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Befehl ist abgelaufen, keine Antwort vom Server.
2023-05-17T20:54:44+0200 <error> device.poll.js:23 (DeviceManager.poll) Es ist ein Fehler beim Abfragen des Geräts yeelight-0x00000000156f48b5 aufgetreten
2023-05-17T20:54:44+0200 <error> device.poll.js:24 (DeviceManager.poll) NotFoundError: YEELIGHT_DEVICE_NOT_FOUND
at YeelightHandler.poll (/src/server/services/yeelight/lib/device/poll.js:61:11)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
2023-05-17T20:54:50+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Verbindungszeitüberschreitung
2023-05-17T20:55:00+0200 <info> scene.checkCalendarTriggers.js:24 (SceneManager.checkCalendarTriggers) Überprüfung der Kalenderauslöser am Mi, 17. Mai 2023 18:55:00 GMT
2023-05-17T20:55:00+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Verbindungszeitüberschreitung
2023-05-17T20:55:21+0200 <error> index.js:20 (process.<anonymous>) uncaughtException catched: uncaughtException
2023-05-17T20:55:21+0200 <error> index.js:21 (process.<anonymous>) Error: write after end
at new NodeError (node:internal/errors:399:5)
at _write (node:internal/streams/writable:322:11)
at Socket.Writable.write (node:internal/streams/writable:337:10)
at /src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:440:25
at new Promise (<anonymous>)
at Yeelight.sendCommand (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:417:16)
at Yeelight.ping (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:389:21)
at Yeelight.triggerPing (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:527:18)
at Yeelight.wasConnected (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:490:18)
at Socket.<anonymous> (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:456:22)
at Socket.emit (node:events:525:35)
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1479:10) {
code: 'ERR_STREAM_WRITE_AFTER_END'
}
2023-05-17T20:55:33+0200 <error> index.js:20 (process.<anonymous>) uncaughtException catched: uncaughtException
2023-05-17T20:55:33+0200 <error> index.js:21 (process.<anonymous>) Error: write after end
at new NodeError (node:internal/errors:399:5)
at _write (node:internal/streams/writable:322:11)
at Socket.Writable.write (node:internal/streams/writable:337:10)
at /src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:440:25
at new Promise (<anonymous>)
at Yeelight.sendCommand (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:417:16)
at Yeelight.ping (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:389:21)
at Yeelight.triggerPing (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:527:18)
at Yeelight.wasConnected (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:490:18)
at Socket.<anonymous> (/src/server/services/yeelight/node_modules/yeelight-awesome/src/yeelight.ts:456:22)
at Socket.emit (node:events:525:35)
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1479:10) {
code: 'ERR_STREAM_WRITE_AFTER_END'
}
Nach dem Neustart meines Streifens und von Gladys habe ich die beiden unten stehenden Fehler, die häufig auftreten, aber ich kann den Streifen immer noch über Gladys steuern.
2023-05-17T21:44:32+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise { <rejected> 'Command timedout, no response from server.' }
2023-05-17T21:44:32+0200 <error> index.js:16 (process.<anonymous>) Command timedout, no response from server.
![]()
Ich schaue, um das zu beheben ![]()
Hallo @Pti_Nico, ich weiß nicht, wo du mit deinem PR stehst, aber ich kann dir bei den Tests nicht mehr helfen, weil ich gerade herausgefunden habe (ich habe eigentlich nie danach gesucht), dass dieses LED-Band tatsächlich von einem ESP32 gesteuert wird.
Also werde ich es mit Tasmota flashen und mich so von den chinesischen Servern befreien!
Ich habe es noch nicht geflasht, also wenn dein PR fast fertig ist, kann ich noch ein bisschen warten.
Kein Problem, ist normal, dass du deinen Band steuern möchtest ![]()
Was die PR angeht, frage ich mich, ob sie noch relevant ist, mehr als 3 Jahre nach ihrer Eröffnung (und die älteste noch offene). Ich denke, ich lasse den Stale-Bot seine Arbeit machen…
Falls jemand übernehmen möchte, ich gebe gerne ab.
Schade, dass du aufgibst, bei all der Arbeit, die du investiert hast.
Danach habe ich es bereits mit Node-Red gesteuert.
Hallo! Ich greife diesen Beitrag auf, ich verstehe, dass es frustrierend ist, all diese erfolglosen Versuche zu sehen ![]()
Du fragst dich, weil du nicht sicher bist, ob die PR Nachfrage hat, oder weil du nicht sicher bist, ob die PR jemals funktionieren wird?
Ich habe keine Zweifel daran, dass es funktioniert, aber angesichts der vielen Nutzer, die sich darum reißen, es zu testen, denke ich, dass es extrem erwartet wird (3 Jahre)… ![]()
Außerdem hat die verwendete Bibliothek (noch in Version 1.1.0) seit über 2 Jahren keine Updates erhalten, und die Xiaomi-Firmware (früher mit Yeelight kompatibel) ermöglicht keine Steuerung mehr im lokalen Netzwerk; man könnte also sagen, dass es besser ist, auf eine dauerhaftere Lösung umzusteigen…

