Bonjour à tous,
j’ai développé le nouveau service Broadlink pour interagir en Infra-Rouge avec vos appareils.
Je ne vous dévoile pas tout dès maintenant, car je souhaiterai que la communauté puisse le tester “à l’aveugle” et me faire des retours, savoir si c’est assez intuitif, ou si les messages sont assez clairs.
En attendant la documentation, les appareils supportés sont les Broadlink des gammes SP / MP / RM.
Vous trouverez l’image docker ici : atrovato/gladys:broadlink (toute fraîche de ce matin, basée sur la v.3.8.4)
Il ne devrait pas y avoir de risque avec la DB, mais je préconise toujours de faire une sauvegarde, ou de repartir d’une instance vierge.
Afin de ne pas surcharger le service, seuls quelques devices peuvent être gérés (lumières et TV sont bien présentes). Les autres viendront au gré des demandes et des besoins.
Hello, premiers tests et premier retour :
Déjà l’interface de création d’une télécommande est top, l’association entre fonctionnalité et capture d’un signal est vraiment intuitive !
Je confirme pas de soucis, le mieux pour tester c’est d’arrêter son instance gladys, de faire une copie de la base de donnée et de relancer avec la nouvelle image.
J’ai testé ça sur une télévision, pas de soucis côté association, par contre j’ai juste testé le classique, boutton on/off, volume +/- et mute. Manque de peau il doit y avoir un problème avec le mute qui ne permet pas de sauvegarder une fois le signal capturé, les deux autres fonctionnalités pas de soucis
Par contre sur le dashboard il faudra je pense créer une box télécommande, l’affichage en tant que périphérique dans une pièce ne permet pas un control fin du volume par exemple, j’ai juste réussi a diminuer de 1 ou de revenir au niveau ancien avec ce slider :
Sinon incroyable taff sur le design de paramétrage
EDIT : suite à l’association du bouton muet, le bouton enregistrer ne génère pas d’erreur côté log de Gladys ou côté navigateur, par contre le bouton de test lui génère ces deux erreurs ci :
2022-04-06T20:39:54+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
<rejected> TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
at new NodeError (internal/errors.js:322:7)
at Function.from (buffer.js:334:9)
at BroadlinkHandler.send (/src/server/services/broadlink/lib/learn/broadlink.send.js:24:31)
at send (/src/server/services/broadlink/api/broadlink.controller.js:39:28)
at Layer.handle [as handle_request] (/src/server/node_modules/express/lib/router/layer.js:95:5)
at next (/src/server/node_modules/express/lib/router/route.js:137:13)
at /src/server/api/middlewares/authMiddleware.js:28:7 {
code: 'ERR_INVALID_ARG_TYPE'
}
}
2022-04-06T20:39:54+0200 <error> index.js:16 (process.<anonymous>) TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
at new NodeError (internal/errors.js:322:7)
at Function.from (buffer.js:334:9)
at BroadlinkHandler.send (/src/server/services/broadlink/lib/learn/broadlink.send.js:24:31)
at send (/src/server/services/broadlink/api/broadlink.controller.js:39:28)
at Layer.handle [as handle_request] (/src/server/node_modules/express/lib/router/layer.js:95:5)
at next (/src/server/node_modules/express/lib/router/route.js:137:13)
at /src/server/api/middlewares/authMiddleware.js:28:7 {
code: 'ERR_INVALID_ARG_TYPE'
}
}
Merci pour ces 1er retours, ça fait un très long moment que je suis sur le sujet, qui n’a rien avoir avec la 1ère version que j’avais fournit en image de test il y a quelques années.
Je suis heureux de voir que la prise en main est facile, j’ai pris un très soin à mettre en place le mode “apprentissage”
Pour la partie dashboard, on fera un travail en dehors du service broadlink, pour ne pas tout mélanger (il faudra également ajouter la compatibilité avec Google Home ).
Je pense avoir corrigé le bug sur le bouton mute.
Pour info, ça concerne tous les buttons qui n’ont qu’une seule valeur (source, mute, gauche, droite, play, pause…)
Une nouvelle version de l’image docker est en cours de fabrication, il faut compter 2h avant qu’elle ne soit disponible.
Ca ne marchera pas sur Mac je pense, Docker for mac lance une VM Linux dans ton mac qui est isolée, et qui n’a pas accès au réseau du mac, mais à un réseau séparé.
Pour avoir le droit de scanner le réseau, il faut lancer le container sur une machine linux en network=host ! (le même docker run que sur le site de Gladys)
C’est peut-être possible de le faire dans une VM linux sur mac, mais bon ça va demander la bonne config réseau au niveau de la VM, je pense c’est plus simple de juste lancer le container sur un Linux
RE PING !
I was just stopping by, any other feedback? @Albenss aside from the bug you mentioned (which I should have fixed), were you able to continue using it?
So I just retested (after pulling the image atrovato/gladys:broadlink), I still have a problem with the simple buttons (like Mute, Volume +, Volume -) in the browser console such as:
RemoteCreation.jsx:104 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'min')
at RemoteCreation.jsx:104:31
at Array.forEach (<anonymous>)
at Object.saveDevice [as clickfalse] (RemoteCreation.jsx:78:33)
at HTMLButtonElement.w (props.js:153:20)
Otherwise the other actions seem functional! (couldn’t test everything but apart from this issue I haven’t seen anything else).
By the way, shouldn’t the On/Off button be a simple button?
So the first test tonight was just pulling the existing image (so an update) which had the error code shown above.
The new one is after testing deletion and then uploading a new image and it’s still the same issue.
After capturing the signal for the « Mute » feature, I try to save and I get the same error message in the console:
RemoteCreation.jsx:104 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'min')
at RemoteCreation.jsx:104:31
at Array.forEach (\u003canonymous\u003e)
at Object.saveDevice [as clickfalse] (RemoteCreation.jsx:78:33)
at HTMLButtonElement.w (props.js:153:20)