Nouveau plugin MQTT BLE Scanner

Bonjour à tous

En ce début d’année je vous propose de tester mon nouveau plugin MQTT BLE Scanner (blescanner). Il permet de scanner les devices bluetooth et de découvrir/monitorer les antennes BLE OMG ESP32 ou Theengs gateway via MQTT.

Pour les nostalgiques du plugin-blea vous devriez y retrouver certaines fonctionnalités bien utiles comme le graphe des antennes, cf ces quelques screenshots.



Il est aussi possible de surveiller et de gérer les paramètres des antennes ESP32 mais pas les antennes Theengs qui ne supportent pas (encore?) l’auto-découverte Home Assistant.

Le plugin est complémentaire du #plugin-mqttdiscovery et il peut aussi fonctionner sans.
Dans ce dernier cas seuls des devices inconnus seront affichés. Avec quelques modifications il serait aussi possible de détecter certains devices du #plugin-jmqtt (@bad il n’y a apparament pas d’indexation par MAC address ou logicalId pour des devices déjà créés?).

@Mips afin de pouvoir ajouter des devices inconnus dans ton plugin-mqttdiscovery j’ai du passer en public cette méthode ligne 632 dans core/class/MQTTDiscovery.class.php, j’espère que tu seras ok avec ca:

private static function createDevice($device)

Je viens d’uploader le plugin en beta sur le market, il devrait être disponible demain.
Merci pour vos retours et suggestions

1 « J'aime »

Salut,

Je ne comprends pas trop je dois dire;
C’est une copie (partielle) de plugin-mqttdiscovery ? A part le graphe je ne vois pas trop ce qui n’est pas déjà présent et géré dans mon plugin.

C’est à dire? Tu as hack le repo et tu as modifié le code :wink:? Ca veut dire quoi cette phrase?
Par ailleurs, forcément c’est un problème. Si c’est déclaré en privé c’est pas pour que ca soit utilisé comme méthode publique… c’est un peu la base en programmation objet non?

Je suis vraiment surpris et même choqué qu’il n’y ait pas eu de communication préalable et d’apprendre tout ça avec ce seul message; pas un mot ni un contact précédemment… curieux comme façon de communiquer.
Mais peut-être que je n’ai rien compris…

1 « J'aime »

salut @Mips

Je ne comprends pas trop ta réaction…As-tu lu ma doc? Essayé le plugin?

Rassures toi non je n’ai pas copié ton code et non ca ne remplace pas ton plugin, je ne gère pas les devices juste les antennes. Le seul overlap s’il y en avait un serait l’auto-découverte des ESP32. C’est d’ailleurs pour ca que je l’ai mis dans la catégorie monitoring.

Comme ça on est deux:

=> C’est simple: une incompréhension est souvent le résultat d’une absence de communication ou d’une mauvaise communication.

Oui ainsi que ce post, rien d’autre

Non, car

  • je n’ai pas compris ce qu’il apporte d’autre que ce que j’ai déjà
  • il n’est pas dispo (il paraît) !

N’hésites pas à éclaircir les incompréhensions du coup;
Celle- ci et plus générale:

(Je sais que tu n’as pas hack mon repo, pas nécessaire de répondre à cette partie de la question)

1 « J'aime »

Hello,

Non, les clés dans jMQTT sont le broker id (eqLogic) et des topics par eqLogic et cmd, j’ai abandonné assez tôt les logicalId qui deviennent trop contraignant avant 3 niveaux de recherche.
De plus, impossible de créer des logicalId par MAC, car tous les topic n’en ont pas.

Mais ça me donne une grosse idée d’optimisation du code du plugin !

Bad

Non, car

  • je n’ai pas compris ce qu’il apporte d’autre que ce que j’ai déjà
  • il n’est pas dispo (il paraît) !

Encore une fois je me suis attaché à fournir des fonctionnalités qui n’existent pas ni dans ton plugin ni dans jMQTT. Le scanner a été bien utile chez moi pour diagnostiquer quels devices sont hors de portée et placer mes antennes.

Il est dispo sur le market je t’engage à l’essayer

N’hésites pas à éclaircir les incompréhensions du coup;
Celle- ci et plus générale:

Si tu as lu la doc tu as du voir ca:

Le bouton Ajouter permet de les ajouter au #plugin-mqttdiscovery.
Si le device est auto-découvrable ses commandes seront automatiquement ajoutées, sinon seuls la présence et le RSSI seront disponibles.

c’est pour cela que j’ai besoin d’appeler ta methode createDevice. Après si tu es contre l’interopérabilité entre plugins dis le moi, je pense que je ne serai pas le seul à trouver ca dommage…

Merci pour ton retour

oui c’est ce que j’avais vu, certains templates en ont ex Xiaomi Mija mais pas tous.
Je sais que ce plugin n’est pas dédié au BT mais a ton avis serait-il possible d’ajouter ce logicalId dans ces cas la? Sans quoi je ne sais pas distinguer les devices qui sont déjà ajoutés des autres.

Tu n’as pas compris ce qui m’a surpris voir choqué: c’est l’absence de communication et collaboration préalable et le fait d’apprendre ça à demi-mot car tu n’as toujours pas expliqué concrètement et précisement ce que tu as fait. J’ai pourtant déjà posé la question 2 fois.

Du coup je vais encore être plus clair: tu ne modifies tout de même pas le code de mon plugin en live depuis le tien ?!?

Si c’est ça que tu fais alors je comprends encore moins comment tu peux ne pas voir le problème de faire cela, et encore plus sans m’en parler avant.

Et je répète: cette fonction (ajout de device inconnu) est déjà présente dans plugin-mqttdiscovery depuis le début donc non je ne vois toujours pas la différence apportée.


D’autres part je suis surpris et me sent attaqué par tes remarques tel que:

  • « as-tu lu la doc? » => sérieux, pas d’autres explications ni arguments ? Je suis pas débutant donc si je te dis que j’ai pas compris, je m’attendais à un tout petit effort pour donner un mot d’explication en plus…
  • « contre l’interop » => je ne vois pas beaucoup de devs partager leur travail avec les autres devs; je pense pouvoir dire que j’en fais partie. J’ai également contribué à plusieurs autres plugins en collaboration avec l’auteur ou le co-auteur => ca veut dire que j’ai contacté les auteurs pour leur proposer mon aide ou mon idée avant de les mettre devant le fait accompli
3 « J'aime »

On est 2 car moi aussi je suis choqué par ton ton agressif…Je pensais pourtant avoir été poli et ouvert

c’est l’absence de communication et collaboration préalable et le fait d’apprendre ça à demi-mot car tu n’as toujours pas expliqué concrètement et précisement ce que tu as fait. J’ai pourtant déjà posé la question 2 fois

C’est justement ce que j’ai fait en portant cette question sur la place publique: ca ne concerne pas que nos 2 plugins mais l’ensemble des utilisateurs qui ont le droit de donner leur avis.
Ton plugin est payant sans quoi je t’aurais certainement proposé un PR.

Du coup je vais encore être plus clair: tu ne modifies tout de même pas le code de mon plugin en live depuis le tien ?!?

Non je t’ai déjà répondu. J’ai mis le code en public donc je t’engage à aller voir si tu ne me crois pas…Je me contente UNIQUEMENT d’appeler ta méthode d’ajout de device. Ca fonctionne sans c’est juste dommage de ne pas pouvoir ajouter un device découvert…
Décides une fois pour toutes si tu es d’accord ou pas.

Et je répète: cette fonction (ajout de device inconnu) est déjà présente dans plugin-mqttdiscovery depuis le début donc non je ne vois toujours pas la différence apportée.

Oui mais question ergonomie c’est plus compliqué et le monitoring BT n’y est pas (santé, graphe, liste avec l’atténuation par antenne). Tu as plusieurs fois indiqué que tu ne ferais pas de cas particulier pour BT ce que je peux comprendre.

D’autres part je suis surpris et me sent attaqué par tes remarques tel que:

  • « as-tu lu la doc? » => sérieux, pas d’autres explications ni arguments ? Je suis pas débutant donc si je te dis que j’ai pas compris, je m’attendais à un tout petit effort pour donner un mot d’explication en plus…

La réponse à ta question sur l’ajout du device était dans la doc…

- "contre l'interop" => je ne vois pas beaucoup de devs partager leur travail avec les autres devs; je pense pouvoir dire que j'en fais partie. J'ai également contribué à plusieurs autres plugins **en collaboration** avec l'auteur ou le co-auteur => ca veut dire que j'ai **contacté les auteurs** pour leur proposer mon aide ou mon idée **avant** de les mettre devant le fait accompli

J’ai developpé un plugin qui est indépendant du tien et qui au passage n’est pas propre a MQTT Discovery. Je ne vois pas de quel « fait accompli » tu parles. Tu voudrais un droit de regard sur les devs des autres??

Bonjour,

Je me permets d’intervenir sur cette réflexion car, quand même, sans même utiliser ces solutions personnellement tout le monde voit bien que les plugins tiers que tu cites toi même d’office permettent déjà la récupération (plus ou moins automatique) des matériels communicants en MQTT qu’ils soient BLE ou pas.

Pour moi l’argument de dire « ton plugin est payant donc je n’ai pas pu faire de PR » ne tient pas. Je n’ai jamais vu un dev qui n’était pas ouvert à faire évoluer son plugin surtout si un autre est prêt à coder à sa place, il suffit de lui faire part de sa vision.

Sans prendre la mouche, peut-être juste essayer de comprendre ce qui est exprimé par les développeurs que tu sollicites toi même? Je ne peux qu’abonder dans le sens où je ne vois pas non plus d’interopérabilité possible sans avoir pris contact en amont…

1 « J'aime »

ce serait bien que vous poursuiviez cette conversation stérile de qui a la plus grosse entre vous, soit par MP, voir au téléphone… il n’y a rien de pire que des messages lus et interprétés. rien ne vaut une bonne discussion par moment :wink:

personnellement rootard, je suis un utilisateur et je n’ai rien compris à l’intérêt de ce nouveau plugin par rapport aux multiples plugins existants sur le sujet mqtt et BT. les lqi sont dans les objets. Comme c’est un nouveau sujet, peut être qu’il aurait fallu commencer par expliquer à quoi ça sert au lieu d’envoyer les gens lire les docs ?

le marketing ça commence par donner envie, notamment quand on demande de s’investir à faire des tests sur des versions béta !

:flushed:

Je n’ai rien vu de tel dans ces échanges pour ma part!

1 « J'aime »

Je te renvoie au 1er post

Bonjour et :flushed:

Ce n’est pas parce que l’on utilise un ton poli et ouvert que l’on peut se permettre d’écrire et encore moins de faire cela (si j’ai bien compris ?).

C’est, à mon sens, contraire à toute éthique, éthique qui devrait exister au sein de la communauté des développeurs de plugin Jeedom.

1 « J'aime »

Je trouve que vous exagérez…il y a plusieurs plugins qui sont basés sur d’autres et ca n’a pas fait pas autant d’histoires. Je rappelle que la dépendance est optionnnelle. Par ailleurs changer la visibilité d’une méthode c’est pas la mort non plus.

J’ai du implémenter la découverte HA pour le support des antennes ESP32, j’aurais pu étendre à la gestion des devices avec le même code ce qui aurait permis ne plus dépendre du plugin mqttdiscovery mais justement je ne l’ai pas fait car pour le coup ca aurait doublonné le plugin de Mips.

Alors oui OK Mips j’aurais pu te contacter avant mais je comprends que tu considères que ce plugin sert à rien. Si tu n’acceptes pas je ferai avec. Je te demande juste de laisser les utilisateurs en décider…

Vraiment étrange qu un autre plugin vienne modifier la class php d un autre plug in ou alors je n ai pas compris ?

Bonsoir

MQTT discovery n’est pas prévu pour permettre l’ajout de devices en dehors de son IHM.
Pour que les plugins soient interopérables il faut parfois faire quelques ajustements de part de d’autre.

Jusqu’à présent à peine 10 personnes se sont exprimées sur le plugin blescanner ce qui n’est pas beaucoup. Sans relancer la polémique au dela des retours enflammés des devs je vous propose un sondage pour donner votre avis en tant d’utilisateur sur l’utilité de ces features spécifiques Bluetooth (santé, graphe des devices, liste par antennes).

Cela suppose bien sur que vous ayez testé le plugin ou à minima parcouru la doc avant pour vous faire votre propre opinion sans quoi ca n’aura pas de valeur…

  • Ce plugin blescanner m’intéresse, je voudrais qu’il fonctionne avec plugin-mqttdiscovery et plugin-jmqtt (si possible)
  • Ces features m’intéressent mais il faut les intégrer au plugin-mqttdiscovery
  • Ces features m’intéressent mais il faut les fusionner avec le plugin-tgw en ajoutant le support des ESP32
  • Je ne vois pas l’intérêt de ces features je ne les utiliserai pas
0 votant

Merci d’avance pour votre participation

Plus de 250 personnes ont lu ce sujet mais pas de vote?
N’ayez pas peur de donner votre avis on ne mord pas :wink:

Bonjour

Je n’utilise pas ces plugin pour l’instant mais je pressens que nous allons perdre un développeur, ce qui est bien dommage.

Cordialement

Désolé vous allez devoir me supporter encore quelque temps :wink:

Bonjour l’omerta! Si personne ne souhaite s’exprimer ca sera à @mips de choisir: soit on collabore soit je supprime l’appel à son plugin et j’ajoute la gestion des devices comme ca ya plus de débat.