Tuto Shelly sous MQTT Manager (MQTT2)

Bonjour,

Je viens d’intégrer mes shelly dans MQTT et on m’a demandé un petit tuto.

Exemple pour intégrer un shelly 1 dans mqtt à la place ou en plus du plugin shelly qui fonctionne par requête http (pour ma part, j’ai supprimé le plugin shelly après avoir basculé tous mes shelly en mqtt) :

Prérequis : Plugin MQTT Manager (MQTT2) installé en broker local en même temps que ZwaveJS ou JeeZigbee et un module shelly 1 connecté sur le même réseau que son Jeedom.

Dans le module Shelly :

Paramétrage MQTT :

  • Menu « Internet & Security »

  • Sous-menu « ADVANCED – DEVELOPER SETTINGS »

  • Cocher « Enable MQTT »

  • Récupérer dans la configuration du plugin MQTT Manager les données d’authentification (le username et le password sont séparés par un « : ») et les recopier dans Username et Password dans le shelly

  • Renseigner dans Server l’adresse IP locale de son jeedom suivi du port 1883 (ex : 192.168.33.33:1883)

  • Cocher la case « Use custom MQTT prefix »

  • Renseigner un nom unique pour nommer le shelly dans mqtt (ex : shelly1-couloir)

  • Ne pas modifier les 3 paramètres en dessous et laisser à 2 – 60 – 60

  • Cocher la case « Clean Session »

  • Mettre « Max QoS » à 1

  • Sauvegarder

Coté Shelly, c’est terminé !

Plugin MQTT Manager de Jeedom :

  • Ajouter un nouvel équipement (on utilisera les exemples donnés dans la configuration du shelly ci dessus pour les exemples des paramètres dans ce plugin)

  • Renseigner l’onglet « Equipement » comme on le souhaite. Il faut juste mettre « shellies » dans Topic racine

  • Onglet « Commandes », pour un shelly 1, il faut créer 3 commandes (1 info pour le retour d‘état du relais shelly et 2 commandes d’action pour pouvoir manœuvrer à distance le relais du shelly.

Commande info : Le nom que l’on souhaite (ex : statut) et dans paramètres le relais du shelly ( exemple : shelly1-couloir/relay/0 ) et type « Binaire ». On sauvegarde l’équipement pour pouvoir récupérer le nom « statut » pour les commandes actions.

Commande action fermeture relais : le nom que l’on souhaite (ex : On) et dans les paramètres « Topic » la commande permettant l’action sur le relais (ex : shelly1-couloir/relay/0/command) et dans « Message » : on . On sélectionne « statut » sous le nom donné

Commande action ouverture relais : le nom que l’on souhaite (ex : Off) et dans les paramètres « Topic » la commande permettant l’action sur le relais (ex : shelly1-couloir/relay/0/command) et dans « Message » : off . On sélectionne « statut » sous le nom donné

On sauvegarde de nouveau et voilà c’est terminé. Je vous mets un exemple en photo d’un de mes équipements.

J’espère que ce tuto pourra vous aider si vous vous décidez à passer vos shelly sous MQTT Manager. Pour un shelly avec 2 relais, il faut rajouter 3 autres commandes en mettant 1 à la place de 0 après relay/

6 « J'aime »

Bonjour
merci pour le tuto
Quel est l’avantage de passer sur MQTT ? C’est une question pratique ou autres ?
merci pour ta réponse

1 « J'aime »

Cela me permet juste de supprimer le plugin (shelly) vu que mqtt manager est forcement installé pour les plugins zwavejs et jeezigbee. J’ai fait de même pour mes ESP8266 que j’ai basculé en mqtt et donc supprimé le plugin espeasy.

2 « J'aime »

J’ai récup un shelly1 afin de tester ton tuto et voir si je peux en faire quelque chose lol

Le plugin shelly donne l’information Online.

Or là en passant à mqtt tu n’as pas de commande info qui te donne le online ?
Est-elle dispo ?

Je suppose que oui mais comment

Slt elle est dispo mais pas vraiment fonctionnelle, il vaut mieux mettre une surveillance sur l’état

elle est dispo directement « online » avec true ou false.
Avec mqtt explorer, tu vois bien les infos qui peuvent remonter. Faire un reboot du shelly après avoir lancé mqtt explorer…

oui mais regarde bien elle ne bouge pas cette infos …

Ben jai bien ajouté la commande info dans mqtt manager, mais je nobtiens ni true ni false

Bizarre.

1 « J'aime »

Dans mqtt manager il y a une template pour shelly.

Peut on en ajouter dautres pour le shelly 1 par exemple ?

Jai dupliqué renommé et mosifie les fichiers du template mais il napparait pas dans la.dropdown

1 « J'aime »

Voici l’exemple du topic de l’info binaire Online pour mon shelly1 qui allume l’éclairage de la piscine : shelly1-EclPiscine/online

reboote le shelly après création de la commande d’info online car je pense que l’info ne remonte pas très souvent

1 « J'aime »

Oui je l’ai bien saisi.
Mais cela a vraiment du mal a remonter…Mais bon ce n’est pas genant

Je déterre un peu cette conversation…

Merci pour ces précieuses info !

Auriez-vous une idée de la commande à passer pour modifier la luminosité d’un shelly dimmer ?

Je vais faire des tests de mon côté.

Pour ceux que ça intéresse j’ai trouvé ici la solution :

C’est top !! :slight_smile:

Bonsoir PuPu,
J’aurai pu te répondre mais je vois que tu as trouvé la solution pour la commande de modification de la luminosité, cool !
Par contre, as-tu également l’info correspondant à la valeur de cette luminosité car j’ai du mal à la récupérer ?

Pour information :
Voici les commandes (une partie utile) pour un Shelly 1 PLUS PM (nouvelle version de l’API)
Si ça peut aider :wink:

2 « J'aime »

Salut @DJo86 !

Pour la luminosité j’ai créé une « info » en reprenant celle qui était déjà existante de type "shellies/dimmerXXX/light/0/status" en Topic et j’ai ajouté "[brightness]" dans le chemin JSON.

A tester mais chez moi ça a l’air d’être ça.

Bonsoir @PuPu ,
Quel plugin utilises-tu pour gérer tes shelly ? pour ma part je passe par mqtt manager. Si oui, peux-tu me faire une capture d’ecran de ton info luminosité car je n’ai pas de résultat concluant… Merci d’avance !

Arf, pour le moment j’utilise jMQTT en tant que client (même si mon broker est géré par MQTT manager).

Et effectivement la présentation n’est pas tout à fait la même. Et pour être parfaitement honnête mes connaissances en langage informatique sont assez maigres…

Pour moi le point de départ serait de récupérer le "shellies/dimmerXXX/light/0/status". Une fois que tu as tout le baragouin avec toutes les infos du statut de ton dimmer dedans, le jeu c’est d’extraire l’info "brightness". A voir si il y a quelque chose dans la doc du plugin qui peut aider.

A mon avis avis ça doit être loin d’être compliqué quand on connait un peu la structure du langage.

Je te redis si je trouve plus d’info.

Merci @PuPu ,
Je récupère bien toutes les infos sur divers modules shelly mais je bugue toujours avec ce status de luminosité sur les dimmers… J’ai bien mis le bon topic mais j’ai beau essayer de plusieurs façons pour « brightness », pas de remontée de cette info. Et pourtant je la vois bien dans mqtt explorer…

Bonjour,
Merci pour le tuto.
justement ,j’allais créer un sujet pour avoir fait la meme chose , à un détail prêt :
Ayant des shelly 1 +PM, il ne fonctionnait pas avec le plugin shelly , je suis donc tomber sur un tuto avec JQMTT. J’ai essayé avant de l’inclure avec MQTT manager , mais les commandes ne marchaient pas toutes ( conso par ex), il n’y avait pas encore le template qu’il y a sur JQMTT

Ayant déjà mis en place MQTT manager , pour les pugins Z2m et zwave-Js , j’avais donc un mosquito local installé par MQTT manager.Je l’ai donc relié à JQMMT. A priori c’est ok, mais est ce correct comme install ?
j’avais quelques petites questions :

  • est ce qu’on peut conserver les 2 plugins en // sans créer de conflits / conso de ressources … ?
  • est ce qu’on peut utiliser les plugins Z2m et zwave-Js sous JQMTT ? Cela ne veut-il pas dire qu’il faut tout reconfiguerer car la désinstallation de MQTT manager, ne va t’il pas me désinstaller mon mosquito local ?
    J’ai vu qu’on pouvais passer les requêtes mqtt en https ( mqtts) , y a t’il un réel intérêt , est ce que les requêtes en clair MQQT sont facilement "snifables " ?
    Comme toi, je suis en train de basculer mes shelly en mqtt pour enlever le plugin shelly qui fonctionnanit bien sauf avec mes nouveaux modules shelly 1+PM, ou aucune commande ne fonctionnait.