MQTT : Ai-je compris le fonctionnement ?[spoiler alert] non

Bonjour à tous

Je suis le projet depuis au moins la version 3, je l’ai installé plusieurs fois, sans parvenir à bien gerer correctement mes peripheriques…J’en parlerai une autre fois, mais ZWAVE ( le matos, pas l integration dans Gladys) n’a jamais bien fonctionné, grosse desillusion.

La semaine derniere, j’ai vu la video de @Pierre-Gilles ( dont je salue l’immense travail ici), et ça m’a donné l idee de repartir sur une install, en 4.5, pour profiter du multi-dashboard
J’attends aussi les courbes de données, car les anciennes n’etaient pas top!!

Le point qui me tracasse maintenant, c’est MQTT avec un broker sur mon reseau local
Gladys semble bien y acceder

Sur mon broker, je suis en phase de test/integration, j’ai les topics suivants

Capture d’écran du 2021-09-14 14-55-08

Lorsque je teste par exemple mqtt:Internet:data:Indice_UV, j’ai un message d’erreur

Bref, je n’ai compris cela fonctionne. J’ai regardé les messages ici, mais non, je n’ai rien compris…

Si vous voyez ou ça peche, je suis preneur.
D’avance merci
Olivier

Je repose la doc API MQTT => MQTT API | Gladys Assistant
La doc du service => MQTT | Gladys Assistant


a priori tu veux allez lire des valeurs sur ton broker

Gladys impose une structure particulière , toi tu as Internet/data/#

Gladys veux gladys/master/device/:device_external_id/feature/:device_feature_external_id/state

Ce qui dans ton cas donnerai

gladys/master/device/mqtt:Internet/feature/mqtt:Internet:IndiceUV/state par exemple

Je sais pas comment tu pousse tes données sur ton broker mais il va falloir revoir cette partie pour respecter le schéma de l’API MQTT Gladys

Une fois cela fait tu dois créer dans Gladys un device ‘Internet’ avec les fonctionnalités Indice UV , Qualité air etc…

Merci @VonOx pour cette reponse rapide

Alors, oui, je veux aller chercher des infos sur internet, et les ranger dans un broker
Et ajouter des infos de mes capteurs aussi…ce ne sera pas dans Internet…

Maintenant, il faut que je trouve comment je dois ranger les infos, ya rien de figé sur mon broker, tout est à faire, mais il faut que cela soit simple

Mais là, avec les docs et les explications, je ne comprends RIEN. Je precise, je suis informaticien, je fais du bash, du python, du ansible toute la journée, mais là non, je ne comprends rien.

La syntaxe me parait redondante et compliquée

Mettons que j’ai un capteur de temperature situé dans le salon à base de DS1820 qui publie la temperature en Celsius

J’amerais avoir sur mon broquer MQTT un topic Salon/Temperature avec la temperature, et peut-etre la date de la derniere temperature saisie.
Donc ca donnerait

  • Salon/Temperature/Temperature*
  • Salon/Temperature/Date_derniere_Temperature*

Comment je configure ça dans Gladys ? Et y a til une syntaxe générique genre VALEUR={{PROTOCOLE}}:{{HOST}}:{{PORT}}:{{TOPIC}}

Merci d’avance
Olivier

Le plus simple est de créer ton device MQTT dans Gladys et de copier le lien donné à la fin du formulaire. C’est sur ce topic que tu postes la valeur que tu veux que Gladys reçoive…
Ça aide?

@GBoulvin à tout à fait raison

Sur ton post on voit que tu crée un device mais sans fonctionnalité. De fait c’est une coquille vide.

Quand tu ajoutera des feature Gladys te donnera le bon topic

La structure peut paraître compliqué, mais elle est nécessaire ( c’est une API) , c’est le seul moyen pour que Gladys fasse la correspondance entre du texte côté mqtt et un device avec des features, une température fait référence à une unité etc…

Daccord, MQTT doit s’adapter à Gladys, et pas l inverse.

Bon, je cree un appareil MAURICE qui a pour fonctionnalité Temperature qui se trouve dans le salon

J’ai bien compris que je devais publier la valeur de MAURICE sur le topic que Gladys m impose dans Topic MQTT

L erreur survient lorsque je sauvegarde.
Alors qu’est ce je ne fais pas bien ?

ID externe de la fonctionnalité, tu n’as rien renseigné , l’unité peut être utile aussi .

mqtt:temperature par exemple

OK, ca marche maintenant

Capture d’écran du 2021-09-14 18-29-25
Capture d’écran du 2021-09-14 18-31-05

Merci à vous deux…je vais avancer par analogie pour inserer d’autres choses. Encore merci

Super tu n’as plus qu’a créer d’autres feature ou d’autres device + feature ! :slight_smile:

Autre conseil, tu n’as pas besoin de renseigner un horadatage => Date_derniere_Temperature
Gladys se charge de stocker la valeur dans sa propre bdd avec l’horodatage. ( Pour exploiter l’historique via des courbes etc )

C’est noté pour l horodatage pas forcement necessaire pour Gladys…Par contre, j’en aurais peut-etre besoin ailleurs…

Pense à mettre une unité pour la température, ça fait un peu vide sans l’unité là :slight_smile:

Bien vu, c’est vrai que c’est tout de suite mieux… :grinning: