[MQTT] Comment fonctionne le module mqtt?

Non Gladys ne fait pas broker, mais un conteneur docker mosquitto fait l’affaire.

Si tu as besoin d’info hésite pas.

Ok merci. Je vais attendre qu’un module mqtt broker sorte :stuck_out_tongue:

Mes objets communique qu’en local je trouverai dommage de passer par un broker externe.

Tu peux lancer un broker mqtt sur ton raspberry ( docker est déjà installé sur l’image Gladys 4) pas besoin de sortir de ton réseau local.

Mon précédent message n’était pas forcément clair.

Pas de raison de développer ce genre de service (sinon on va réinventer la roue :slightly_smiling_face:)

Je partage la philosophie de la V4. L’utilisateur ne doit pas être un programmeur.

Donc oui je pourrai utiliser la console et tenter quelque chose avec docker mais je risque faire une boulette et de devoir tous réinstaller…

Bref c’est une Beta et je partage mon expérience et mes attentes d’utilisateur “non programmeur”.

Un bouton dans le module mqtt du genre “activer le broker local” m’irai très bien aussi, par exemple.

1 « J'aime »

Oui et non … A part faire supprimer Gladys et faut quand même le vouloir pour le faire, le seul truc que tu feras c’est ne pas lancer correctement le docker. Docker est fait pour que tu aies plusieurs conteneurs sur une même application. Chaque conteneur est indépendant. Donc si un conteneur merde les autres sont pas impactés.

Donc pas trop de soucis la dessus.

1 « J'aime »

100% d’accord avec ce feedback!

On doit fournir un bouton dans l’UI qui lance le bon container avec les bons params, voir ne pas mettre de bouton et gérer tout seul le démarrage d’un container.

A voir comment on présente ça pour que là encore ça soit user-friendly.

Ce n’est pas encore le cas, c’est une beta, mais on se dirige vers du full clé en main, le SSH ne doit pas être demandé aux utilisateurs :slight_smile:

4 « J'aime »

Sans oublier les barbus comme moi qui veulent maîtriser l’environnement et pour qui le shh est mandatory. :grin:

On est tous d’accord faut que ça soit simple, mais c’est pas non plus mr tout le monde qui va installer / configurer Gladys ( je parle pas de l’utilisation)

Bien-sûr :slight_smile: Il faut qu’il y en ait pour tout le monde!

Mais par défaut, ça doit être simple d’utilisation, et en quelques clics.

Le SSH ne doit jamais être la solution par défaut.

Bonjour.

Je découvre Gladys v4, et je suis très agréablement surpris, merci aux développeurs du projet. La lecture de plusieurs messages laisse entendre que MQTT serrait une solution plutôt universelle aux modules simples de type interrupteurs basés sur des SoC ESP, tel que Sonoff. Le fait de disposer de plusieurs firmware alternatifs proposant MQTT sur ces SoC me laisse imaginer une gestion complète de mes prises actuellement pilotées via des applications spécifiques (prises LIDL, bandeau de LEDs de chez Gearbest …). L’idée est donc de passer par un broker MQTT à installer conjointement à Gladys (dans le même conteneur éventuellement ?) et de connecter tout ça … Est ce que réflexion est correcte ? Une âme charitable suffisaient avancée sur le sujet pourrait elle rédiger une documentation d’intégration ?
Merci beaucoup,
Jean

Effectivement la réflexion est bonne :slight_smile:

  1. Si c’est pour connecter du Sonoff, tout est expliqué dans le service Sonoff qui est bientôt prêt.

  2. Si c’est pour connecter des périphériques MQTT “générique” (hors sonoff), il y a déjà une documentation de l’API MQTT => A privacy-first, open-source home assistant | Gladys Assistant

La partie qui t’intéresse dans la doc c’est “Envoyer un nouvel état de périphérique”

Petite surprise du soir le module sonoff est dispo ! merci aux dev !

Retour du premier test :
Sur la version POW je n’est pas le retour de consommation :


sonoff%20vu

Le bouton on/off fonctionne. Mais ne ce met pas a jour si j’éteint ou allume manuellement ou via tasmota.

Petite question au passage, est-ce que les valeurs affichées sur la page d’accueil de Gladys sont auto-refresh ?

1 « J'aime »

Salut,
merci pour ces retours.

ça m’étonne, j’ai justement un POW chez moi, et cela fonctionnait. Je vérifie.

Je regarde ce weekend.

Il me semble que @pierre-gilles a justement corrigé ce point dans la beta.

Merci encore.

Ok, je viens de tester ces cas,
en effet il y a bien un bug.

J’ai créé un ticket sur Github, ainsi qu’une PR corrective.
https://github.com/GladysAssistant/Gladys/issues/582
https://github.com/GladysAssistant/Gladys/pull/583

Encore merci pour les retours :+1:

De rien c’est ma façon de participer au projet. Ne pouvant pas coder moi même. Si sa aide tant mieux.
Et merci pour la réactivité c’est impressionnant !

Salut @AlexTrovato, est ce que les Sonoff doivent être flashé, ou pas?
Est ce que ça fonctionne dans les 2 cas?
Dès que je peux, je teste ça.
Merci.

Salut, à ce moment, seuls les Sonoff flashés avec Tasmota fonctionnent.
J’ai vu qu’un module eWelink avait pris forme sous la V3, mais ce n’est pas encore prévu pour le moment.

Ok cool, les miens sont flashés.

C’est cool les petites surprises qui arrivent comme ça quand Gladys se met à jour :wink:
je n’ai pas de module sonoff à la maison mais ca fait plaisir quand même de voir de nouveaux modules arrivés ^^

1 « J'aime »

Salut @New,
tout d’abord, voici le lien de la document Gladys : A privacy-first, open-source home assistant | Gladys Assistant

Le informations utiles à ton commencent à la section Créer un périphérique.

Dans un premier temps, tu dois écrire un programme capable de publier des message MQTT depuis ton Arduino, et renseigner les informations de ton broker.
Une fois que ton Arduino peut se connecter au broker et y publier un message, tu peux suivre les instructions suivantes.

Tu as 2 manières de déclarer un device dans Gladys :

  1. Ton Arduino créé le device automatiquement dans Gladys
    • Lors du démarrage, le Arduino envoie le message de création du device du le topic /gladys/master/device/create avec toutes les informations nécessaires. Cependant, pour connaître toutes les informations, il est indispensable d’entrer dans le code de Gladys afin de renseigner correctement les valeurs.
{
  "name": "Arduino",
  "external_id": "mqtt:mon-arduino",
  "should_poll": false,
  "features": [
    {
      "name": "Temperature",
      "external_id": "mqtt:arduino:temperature",
      "category": "temperature-sensor",
      "type": "decimal",
      "read_only": true,
      "has_feedback": false,
      "min": -50,
      "max": 125
    }
  ]
}
  1. Tu créé ton device manuellement depuis l’interface de Gladys (intégration MQTT) :
    mqtt_demo

Ensuite, dans tous les cas, ton Arduino doit pouvoir envoyer l’état / les valeurs des devices.
Pour cela, il va devoir publier sur le topic gladys/master/device/state/update (section Envoyer un nouvel état de périphérique de la documentation) un message comme celui-ci :

{
  "device_feature_external_id": "mqtt:arduino:temperature",
  "state": 17
}

La valeur device_feature_external_id doit correspondre à :

  1. la valeur external_id de la nouvelle feature
  2. la valeur du champ Feature external ID*

Dis moi si ça t’a été utile, je reste disponible.

Le JSON n’est pas un format reconnu en C++, tu as des librairies qui te permettent de transformer un object en JSON, sinon tu dois créer ta chaîne de caractère à la main :

      String message = "{\"device_feature_external_id\":\"mqtt:sensor/temperature\",\"state\":\"";
      message += String(t).c_str();
      message += "\"}";