Bonjour à tous,
Je republie une version actualisée de ce tuto sur le nouveau Site.
Nous allons apprendre à configurer correctement un module shelly 1 dans Jeedom sans aucune manipulation, sans flash et donc sans EspEasy.
Il existe également un excellent plugin de @lunarok qui fait le boulot sans manipulation. Je dirais que ce tuto est complémentaire pour expliquer des notions de MQTT
Je donne un exemple pour le Shellly 1 mais toute la gamme Shelly peut-être piloté en MQTT. Donc tous les produits sont intégrables à jeedom sans avoir besoin de les flasher. Ici je détaille les étapes, mais pour le MQTT ça fonctionnera car la liste des tropics est disponible à la fin du post
1/ C’est quoi un module Shelly ?
- C’est un module européen (bulgare) norme CE à moins de 10 euros de toute petite taille (un peu plus grand qu’une pièce de deux euros), facilement intégrable dans une boite d’encastrement.
- Il possède un relais d’une puissance de 16 Ampères (donc puissance maxi d’environ 3500 W mais bornier en 1.5 mm2 donc ne pas dépasser 2500 watts - je fais des tests).
- Il fonctionne dans la plage de température +40 °c / - 40° C - idéal pour l’extérieur !
- Il peut être commandé également par un interrupteur ou bouton poussoir, donc faire télérupteur.
- Il peut délivrer un contact sec pour les portails
- Il peut s’alimenter en 110-265V, 50/60Hz AC, 12V DC, 24 – 48V DC. Le bornier est bien dimensionné et permet le passage de fil.
- Il fonctionnera partout ou vous avez du WIFI chez vous.
Pour résumer, il peut servir à commander des lampes ou des appareils électriques (attention de ne pas dépasser la puissance admissible !).
Il peut également permettre d’ouvrir fermer un portail par contact sec ou une gâche électrique basse tension puisque compatible 12 ou 24 V. Enfin il peut servir de télérupteur. Bref un couteau suisse à moins de 10 euros, pas très éloigné d’une module fibaro à plus de 50 euros…
Petit rappel de sécurité :
Je rappelle que le 220 volts est mortel pour l’humain
On ne joue pas avec sa vie et on coupe le courant. Me concernant j’utilise un prise récupérée sur un poste radio pour mes tests:
2/ Etape 1 - configuration du module.
Voici donc le bornier :
Vérifier le positionnement du cavalier sur la bonne tension. En principe réglage usine à droite soit 220
PUIS raccorder le module en utilisant le bornier (N pour neutre et L pour phase ou bonne polarité si courant continu)
1/Brancher le bornier et attendre quelques instants.
2/ Avec votre téléphone ou votre ordinateur, recherché les réseaux wifi disponibles, vous devez trouver un réseau nommé « shelly1- XXXXXX ». Si vous ne le trouvez pas, débrancher rebrancher le module.
Si cela ne fonctionne toujours pas (ce serait pas de bol !) il faudra faire un hard reset du module (brancher un interrupteur sur le Switch, alimenter et dans les 60 secondes faire 5 allumages extinctions). Egalement valable si votre configuration wifi change…
A partir de la, en étant connecté sur votre réseau wifi maison habituel :
- installer l’application du fabriquant (en anglais), le QR code est sur la notice.
- Configurer un compte shelly (pour le cloud)
- ajouter votre module (add device / choisir votre réseau Wifi et sa clé ==> success…).
- Éventuellement mettez à jour le firmware du module et rebootez en débranchant.
- Dans la configuration (settings) recherchez « device information » : notez le device IP : chez moi 192.168.2.5 : Mais pas chez vous !!! ( à ce propos adresse IP a fixer soit dans votre routeur soit dans l’interface shelly)
- Dans un navigateur rentrez cette adresse ip : 192.168.2.5. Bienvenue dans l’interface de votre module ! .
On peut bien sur rester sur l’interface mobile, ce n’est pas un problème , mais je trouve cela moins pratique…
L’interface téléphone est très capricieuse chez moi… Je ne trouve pas toujours la rubrique développeur pour activer MQTT…
Etape 3 - Configuration de Jeedom :
Installation du plugin JMQTT jeedom.
Pour info, il existe deux plugins capables de faire tourner un broker (MQTT de @Lunarok et JMQTT de @Domotruc). Je ne veux pas d’histoires avec les développeurs !
Le principe est le même sur chaque plugin. Naturellement se documenter un peu sur le sujet est recommandé.
En gros (très gros), un broker c’est un serveur qui transmet et écoute des publications type message sur ou vers un tropic.
Par exemple le tropic : /Shellies/Température va recevoir des données de température successives d’une sonde : 18, 19 17,20 etc…
Votre broker peut également émettre un trame pour commander un objet : Shellies/command/relay/0/ on mettra le relais sur ON.
On installe donc le plugin JMQTT et ses dépendances. On attend que tout soit OK et au Vert. On laisse toutes les valeurs par défaut, sinon on sait ce que l’on fait… Les dépendances vont automatiquement installer le broker « mosquitto », archi répandu.
Etape 4 : On active MQTT sur le module Shelly.
- On va dans notre interface sur notre navigateur avec son adresse : 192.168.2.5 pour moi.
- On choisit internet security / ADVANCED - DEVELOPER SETTINGS /
- On coche Enable action execution via MQTT
- On laisse username et password vide ( sauf si on sait ce que l’on fait)
- On rentre l’adresse IP et le port du serveur MQTT de Jeedom : 192.168.2.33:1883 ( ou 192.168.2.33 est l’adresse ip de votre jeedom ou se trouve le broker et 1883 le port par défaut de mosquitto)
- on met les valeurs désirées dans Min reconnect timeout (disons 2) Max reconnect timeout: (disons 60) et keep alive (disons 60)
- on laisse vide les champs Will Topic et Will Message
- On valide : c’est vert, c’est bon…
Etape 5 : on va désormais faire remonter tout cela dans jeedom.
- Dans jeedom : plugin / JMQTT
- Passer en mode inclusion.
- Attendre que jeedom soit détecté, vous aurez un message relatif à cette inclusion automatique qui n’a rien à voir avec shelly. En fait votre broker mosquitto se met en écoute sur tous les tropics ===> Doc du plugin.
- Sur votre interface (192.168.2.5), pressez le bouton actionneur pour faire claquer le relais plusieurs fois. (en haut bouton a coté de switch)
- Dans jeedom un nouveau périphérique apparaît : Shellies
Avec cette façon de faire tous les modules shelly remonteront sur le même tropic, donc le même objet. On peut contourner en créant un virtuel mais @Domotruc, créateur du plugin JMQTT propose une solution beaucoup simple :
Il suffit de ne pas passer par l’inclusion automatique, mais de créer l’équipement manuellement, et de saisir le topic d’inscription comme suit:
shellies/shelly1-ID_Shelly/#
Dernière étape : Configurer les commandes dans Jeedom.
Dans le plugin JMQTT, cliquer sur shellies
Rendez le visible, choisissez une pièce, choisissez relais dans catégorie du Tropic
Cliquer sur Commandes.
En principe vous aurez déjà deux commandes infos.
On va maintenant ajouter deux commandes action une commande OFF et une commande ON .
Pour faire ça, il faut publier sur
shellies/shelly1-ID_Shelly/relay/0/command
le mot on ou le mot off (je l’invente pas c’est dans la doc développeur…). Attention MQTT est sensible au majuscule minuscule.
Il faut bien sur mettre la bonne Id de votre Shelly : ou shelly1- ID_Shelly vaut chez moi shelly1- 12C6AC . Vous trouvez ça dans la commande info ou alors vous saisissez 192.168.2.5/settings dans votre navigateur ( ou 192.168.2.5 est l’adresse de mon module shelly).
Il faut donc faire ça :
Vous cliquez sur tester au bout de vos deux commandes et votre relais claque… Fin de l’histoire
Vous voici avec un module qui reste pilotable sur votre téléphone sur votre réseau interne LANi . En effet l’activation de MQTT « en local » neutralise le cloud shelly qui utilise probablement son propre broker pour communiquer avec les serveurs alterco…
Quelques infos pour les branchements :
Toujours adapter le cavalier en fonction de la tension !!!
L = Phase ou - (gnd)
N = Neutre ou +
S = Switch, c’est l’interrupteur ou le poussoir, c’est une entrée qui réagit à la présence d’une tension et qui informe le 2ème relais ( je suis OFF ou On, donc je suis pressé ou pas)
I : IN, c’est l’entrée d’une tension qui ressortira sur O (Out) si le relais est fermé
O : OUT : c’est la sortie de la tension injectée en IN
Si je n’ai pas de tension injectée sur I, j’ai un contact sec entre I et O…
Le principe est toujours le même :
Dans tous les cas de figure :
L et N alimente le module seul.
Pour un portail contact sec:
Par defaut, si I n’est pas relié à une tension (qui peut être différente de celle qui alimente le module) : contact sec entre I et O. Donc je branche L et N pour alimenter mon module et I et O sur le contact sec de mon portail. Quand j’actionne le relais, je ferme le circuit entre I et O. Je peux régler ce temps de fermeture dans l’application mobile.
Pour un lampe ou autre équipement :
L et N alimente le module seul.
En IN une phase en 220 ( ou autre tension) en OUT une sortie vers la lampe ou l’appareil.
En S une phase qui vient de l’interrupteur ou du bouton poussoir.
Il est bien sur tout à fait possible de récupérer/ piloter n’importe quel module shelly.
Il suffit de de publier ou récupérer le bon tropic.
Vous trouverez une liste complètedes tropic MQTT dans la doc développeur sur le site Shelly ici :
Amitiés
Phil