Ajouter le bluetooth à Gladys 4

Ajouter le bluethooth afin qu’on puisse ajouter des enceintes et aussi les capteurs de température bluethooth de xiaomi.
Et bien sûr d’autres choses auxquels je ne pense pas.

Ps: j’espère qu’il y aura énormément de votes :grin:

J’aimerais également le bluetooth pour des enceintes mais surtout pour la détection de présence via un NUT (je n’ai pas toujours mon smartphone avec moi)

3 « J'aime »

+1 pour la gestion des portes-clés NUT

1 « J'aime »

Sujet en cours de dev mais bloqué car les librairies disponibles ne sont pas compatibles 100% avec tous les systèmes, il va falloir être encore patient.

https://github.com/GladysAssistant/Gladys/pull/505

Juste pour info :slight_smile:quel est le problème exactement ?

Exactement, c’est un peu compliqué, mais en gros :

  • avec noble
    • sous Windows, il faut installer un driver générique pour que ton périphérique BLE soit détecté par la lib
    • le code est bourré de trous et d’erreur
    • le notify ne fonctionne pas correctement
  • avec @abandonware/noble
    • moins d’erreur dans le code
    • toujours problème de Windows
    • pas testé le notify
  • avec Sblendid
    • l’intégration sous Linux n’est pas terminée

La plupart des autres librairies sont spécifiques Bluez (linux).

Je suis donc en attente que quelque chose de plus stable.

2 « J'aime »

Comme c’est un service très attendu et que les libs ne sont pas prêtes, est-ce qu’une approche “hybride” pourrait être envisagée ? En faisant tournée une lib python par exemple et l’interfacer avec le code de Gladys en NodeJS ?

2 « J'aime »

Si tu connais une lib python ou autre qui fait l’affaire, c’est techniquement envisageable.
A voir avec le patron @pierre-gilles

Pour moi la solution la plus prometteuse ça serait de passer par noble ou @abandonware/noble. Sauf erreur de ma part, le module Gladys v3 bluetooth est basé dessus, et fonctionne encore non?

Certes, on aura pas le support de Windows, mais est-ce que quelqu’un utilise vraiment Gladys sur Windows (hors développement?) et même en développement, il y a plein d’options: Docker, WSL, non?

Vu la demande autour de ce service, je suis sûr que ça ferait le boulot !

De toute façon, les services ont été conçu pour ne pas forcément supporter toute les plateformes.

Est-ce qu’à minima le service @abandonware/noble fonctionne bien sous Linux @AlexTrovato? C’est tout ce qui importe à mon avis :slight_smile:

2 « J'aime »

Je fais mon pinailleur mais est-ce que quelqu’un pourrait modifier le titre juste pour changer bluetHooth en bluetooth ? Non parce que si je le prononce comme ça ça donne “bloufshoufshh” :rofl:

2 « J'aime »

C’est bon, c’est corrigé :slight_smile:

1 « J'aime »

Je ne peux pas te dire si ça fonctionne bien sous Linux, car je développe sous Windows, en tout cas, sur WSL 2 ça ne fonctionne pas.
Mais je vais tenter de passer sous linux pour valider le bon fonctionnement de la lib.
Après le service en lui même n’est pas terminé.

2 « J'aime »

Ok, bon je reprends les développements sur le sujet, il y a pas mal de boulot, je m’appuie sur le Bluetooth du raspberry.
D’après mes premiers tests, si le Bluetooth n’est pas compatible, cela n’empêche pas Gladys de démarrer, et un message signalant que le Bluetooth n’est pas actif est affiché.
On part sur ça :slight_smile:

6 « J'aime »

Pour ma part je vote pour @abandonware/noble qui m’a permis en 10 minutes via une VM Linux de récupérer les données de mes capteurs xiaomi mijia Bluetooth Low energy !

Mais c’est vrai que je n’ai pas réussi à le faire fonctionner sous Windows (sans WSL).

@pierre-gilles tu as des stats d’utilisation la dessus (répartition des OS)?

D’autres projets y arrivent sûrement sous Windows (Home assistant peut être ?), se reposer sur deux briques différentes peut faire sens. Noble sous Linux et une application différente sous Windows (python, autre).

Yes! En nombre d’instances uniques depuis la sortie de l’alpha, on a eu:

Screenshot 2020-09-17 at 10.06.06

Ce chiffres ne comptent que les instances de productions, pas de développements. Néanmoins, en fouillant, les instances qui tournent sur Windows/Mac ont plus l’air d’être des tests qu’autre chose, ces instances datent de la beta 1… :slight_smile:

Je suis 100% pour partir sur abandonware/noble pour l’instant !

1 « J'aime »

Quitte à afficher le module en mode « désactivé » sur les plateformes autre que Linux pour le moment !

Les 22 instances d’ @AlexTrovato :smiley:

2 « J'aime »

Exactement :slight_smile: La v4 est conçu pour avoir des services « platorm-specific » de toute façon, le package.json d’un service peut spécifier que le service ne marche que sur linux.

Parfait :slight_smile:

Qu’on soit d’accord, l’idée c’est d’afficher le module dans la liste, mais de préciser qu’il n’est pas compatible avec le plateforme ?

Qu’on soit d’accord, l’idée c’est d’afficher le module dans la liste, mais de préciser qu’il n’est pas compatible avec le plateforme ?

Yes! C’est bien ça.