@pierre-gilles C’est corrigé et les tests passent
@Pti_Nico super PR, c’est bien plus clean que les premières itérations, super propre
J’ai mis une petite remarque (très mineur) sur les traductions.
Sinon, j’ai fais quelques changements Eslint qu’il va falloir faire dans ta PR (ça devrait prendre 1 minute pas plus)
Au niveau de la documentation, ta PR est toujours à jour ?
Et niveau testing en réel, c’est bon ?
Si tout est bon, pour moi ça peut partir dans Gladys production
Yep, toujours OK.
@_Will_71 a testé de son coté, ça semble correct.
Je n’aurais peut-être pas choisi ces mots sachant que pour les derniers tests mon bandeau led n’était pas reconnu.
Mais comme je te l’ai dit il ne faut pas que se soit un frein pour sortir l’intégration
J’ai refait un autre essai ce soir pour être sûr et avec ta dernière image je confirme que je ne trouve plus mon bandeau
Et rien dans les logs.
Vraiment bizarre car il était bien reconnu avant.
@Pti_Nico Est-ce que tu peux voir avec @_Will_71 pourquoi il a des erreurs ? Peut-être faire un build avec plus de logs pour débugger ce qui se passe chez lui ?
Si on a qu’un seul testeur sur cette intégration et que ça marche pas chez lui, c’est pas hyper rassurant pour moi de merger cette intégration en l’état
Je suis preneur d’autres testeurs aussi !
J’ai chez moi une ampoule Yeelight Bulb qui a plusieurs années dont je ne me sers pas. Je peux peut être tester quelque chose de mon coté ?
@guim31 Oui tu peux tester !
@_Will_71 j’ai poussé une nouvelle image (même nom) avec plus de logs…
Ok je te fait un retour ce soir
@Pti_Nico es-tu sûr de ton image? J’ai essayé 2 fois sur 2 matériels différents mais il n’y a pas l’intégration Yeelight dans ta dernière image.
Peux-tu en générer une autre?
@_Will_71 en effet, elle a été écrasée par une autre que j’ai poussé par la suite, désolé…
Je viens de relancer la création…
Pas de souci je refait un test ce soir
Bon j’ai réussi à retrouver mon bandeau.
Pour le détecter il aura fallut que je l’allume. Il était pourtant détecter par ma box.
J’ai pu piloter mon bandeau led depuis Gladys et avoir un retour si je le pilotais directement depuis l’app Yeelight. Bonne nouvelle.
Par contre j’ai eu ces erreurs ci dessous. Mon bandeau avait planté, j’ai du le débrancher et le rebrancher.
2023-05-17T20:49:59+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
<rejected> Error: Not running
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: Not running
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> 'Command timedout, no response from server.' }
2023-05-17T20:53:11+0200 <error> index.js:16 (process.<anonymous>) Command timedout, no response from server.
2023-05-17T20:53:27+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise { <rejected> 'Command timedout, no response from server.' }
2023-05-17T20:53:27+0200 <error> index.js:16 (process.<anonymous>) Command timedout, no response from server.
2023-05-17T20:54:04+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Command timedout, no response from server.
2023-05-17T20:54:04+0200 <error> device.poll.js:23 (DeviceManager.poll) There was an error while polling device yeelight-0x00000000156f48b5
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: Connection timeout
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: Connection timeout
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: Command timedout, no response from server.
2023-05-17T20:54:34+0200 <error> device.poll.js:23 (DeviceManager.poll) There was an error while polling device yeelight-0x00000000156f48b5
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: Command timedout, no response from server.
2023-05-17T20:54:44+0200 <error> device.poll.js:23 (DeviceManager.poll) There was an error while polling device yeelight-0x00000000156f48b5
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: Connection timeout
2023-05-17T20:55:00+0200 <info> scene.checkCalendarTriggers.js:24 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Wed, 17 May 2023 18:55:00 GMT
2023-05-17T20:55:00+0200 <error> poll.js:59 (YeelightHandler.poll) Yeelight: Connection timeout
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'
}
Après le redémarrage de mon bandeau et de Gladys j’ai les 2 erreurs ci dessous qui reviennent souvent mais je peux toujours contrôler le bandeau depuis Gladys.
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.
Je regarde pour corriger ça
Salut @Pti_Nico, je ne sais pas ou tu en es dans ta PR mais je ne pourrais plus t’aider pour les tests car je viens de découvrir (j’avais jamais chercher en faite) que ce bandeau led en en faite piloter par un ESP32.
Donc je vais le flasher avec Tasmota et ainsi m’affranchir des serveurs chinois!
Je l’ai pas encore flashé alors si ta PR est presque prête je peux attendre encore un peu
Pas de soucis, c’est normal que tu veuilles pouvoir commander ton bandeau
Concernant la PR, je me pose la question concernant sa pertinence plus de 3 ans après son ouverture (et la plus ancienne encore ouverte). Je pense laisser le Stale bot faire son travail…
Si quelqu’un souhaite reprendre, je lui cède bien volontiers.
C’est dommage d’abandonner avec le travail que tu as fait.
Après je le pilotais deja par Node-Red.
Hello ! Je rebondis à ce message, je comprend que ça soit frustrant tous ces essais infructueux
Tu te pose la question car tu n’es pas sûr que la PR ait de la demande, ou pas sûr que la PR fonctionne un jour ?
Je n’ai pas de doute sur le fait que ça fonctionne, mais vu le nombre d’utilisateurs qui se battent pour tester, je me dit que ça doit être hyper attendu (3 ans)…
De plus, la lib utilisée (encore en v1.1.0) n’a pas évoluée depuis plus de 2 ans et les firmwares Xiaomi (auparavant compatible Yeelight) ne permettent plus le contrôle sur le réseau local; autant dire qu’il vaut mieux migrer vers une solution plus pérenne…