Relais Shelly 1
| |||
---|---|---|---|
Nom | SHELLY 1 | ||
Famille | IPX800 V4 | ||
Wiki créé le | 05/02/2021 | ||
Wiki mis à jour le | 05/02/2021 |
Présentation
Shelly 1 est le plus populaire des actionneurs de la firme. Il permet de contrôler une charge de 16A, directement par le bouton connecté à ses bornes ou par le Cloud via son application dédiée (Androïd ou iOS). Une API permet aussi le pilotage du module via des commandes Http. Ce module encastrable se cache derrière votre interrupteur mural ou un bouton poussoir. Le neutre est nécessaire.
Le firmware autorise la dissociation de l'entrée et la sortie relais, ce qui permet d'avoir 2 appareils en 1.
Nous verrons comment créer des interactions entre ce module et notre IPX800 V4.
Le branchement
Le module Shelly 1 accepte plusieurs tensions AC ou DC en entrée. Lisez bien la documentation pour configurer correctement le cavalier de configurtion, présent sur le dessus du boitier. Ce cavalier se cache sous un petit capuchon amovible. Par défaut, le Shelly 1 est configuré pour fonctionner en 230Vac.
Pour les plages de tension à utiliser, je vous laisse lire attentivement la documentation.
L'entrée du Switch (SW) bascule à l'état haut lorsqu'elle est alimentée. Elle doit donc être connectée sur le pôle positif de l'alimentation, ou de la phase du secteur si utilisé en 230Vac.
Exemple d'utilisation en 230Vac
Exemple d'utilisation en 12Vdc
Premier démarrage
Lors du premier démarrage, le Shelly 1 démarre en mode Point d'accès (AP).
Connectez vous au wifi généré par le module. Le nom du SSID est sous la forme "Shelly1-xxxxxxxx".
Dans un navigateur Internet, allez à la page d'accueil du module à l'adresse http://192.168.33.1
Configuration de l'accès au wifi
Ouvrez le menu "Internet and Security".
Configurez l'accès au wifi en renseignant le SSID et le mot e passe. Renseignez une adresse IP statique.
Protection de l'interface
Protégez l'interface Web de votre module par un login. Par défaut, le code utilisateur est "admin, le mot de passe est "admin"
Configuration du fuseau horaire et géolocalisation
Configurez votre fuseau horaire et votre géolocalisation.
Vous pouvez activer la détection automatique. Celle-ci sera faite sur votre adresse IP publique.
Activation du Cloud
Si vous souhaitez pouvoir piloter votre module depuis Internet, ou encore depuis votre Home assistant préféré, vous devez activer la fonctionnalité Cloud.
Si votre module n'a pas besoin d'être accessible depuis internet, vous pouvez ignorer cette étape.
Comportement en cas de coupure de courant
Une fonctionnalité du Shelly permet de forcer un comportement de la sortie relais, au rétablissement du secteur après coupure.
Configurez le comportement souhaité.
Dans cet exemple, nous forçons le relais du module à se remettre à l'état OFF.
Configuration de l'entrée Switch
L'entrée accepte au choix des interrupteurs et des boutons poussoirs.
Vous devez configurer le type de bouton utilisé et le comportement attendu.
Dans cet exemple, nous configurons un interrupteur bistable classique.
Interaction avec l'IPX800
Le firmware du shelly permet l'envoi de commandes Http à chaque changement d'état de l'entrée ou de la sortie.
En ce qui concerne l'entrée, le module est capable de distinguer les appuis courts et les appuis longs.
Envoi d'information sur IPX800
Envoyons une commande à l'IPX800 V4 pour qu'une Entrée Virtuelle change d'état en même temps que la sortie relais du module. L'IPX800 pourra alors connaître l'état du module et exécuter des scénarios en fonction de celui-ci, ou tout simplement permettre l'affichage de l'état du module sur un Dashboard.
Dans les exemples ci-dessous, l'adresse IP de mon IPX800 est 192.168.0.5
Pour la syntaxe exacte des commandes Http acceptées par l'IPX800, je vous invite à lire la documentation de l'API V4
Activation de l'entrée virtuelle lorsque le relais passe ON
Désactivation de l'entrée virtuelle lorsque le relais passe OFF
Pilotage du module par l'IPX800 V4
Par un scénario
Configuration du PUSH
Le scénario
Via un Widget
Ajoutez un widget de type HTML sur votre Dashboard, collez ce code :
//module Shelly 1
var adresseIP="192.168.0.6";
var Desc1="Spot salon";
//retour d'état du module :
var TypeSortie="vin"; //renseignez vout pour une sortie virtuelle, Vin pour une entrée virtuelle ou led pour un relais
var SVa="0"; //num SV -1
//Preset Watchdog
var SVw=3; //watchdog avec preset 4
return `
<div class="indicator-light3 pw${SVw}" style="float:right;margin-right:18px;margin-top:5px;width:5px;height:5px;"></div>
<br>
<div class="indicator-light2 ${TypeSortie}${SVa} ${TypeSortie}ta9${SVa}" style="margin-left:10px;margin-top:15px;"></div>
<span>
<input type="button" class="bouton2" style="margin-top:10px;margin-left:10px;width: 100px;" onclick="newAJAXCommand('api.cgi?SetPushURL=${adresseIP}&Message=/relay/0?turn=on');" value="ON Relais 1" title="${Desc1}">
<input type="button" class="bouton2" style="margin-top:10px;margin-left:10px;width: 100px;" onclick="newAJAXCommand('api.cgi?SetPushURL=${adresseIP}&Message=/relay/0?turn=off');" value="OFF Relais 1" title="${Desc1}">
</span>
`;
Dans les 9 premières lignes du code,
renseignez la valeur de SVa avec le numéro de l'entrée ou de la sortie virtuelle (ou relais IPX) à utiliser pour le retour d'état. Cette information doit correspondre à celle qui a été mise en place dans le programme du module SHELLY. Renseignez 0 pour 1, ..., 127 pour 128)
- renseignez l'adresse IP du module SHELLY
- renseignez une courte description du relais.
Cette description apparaîtra en info-bulle lors du survol des boutons avec la souris.
En ligne 6, indiquez le type de sortie qui affichera le retour d'état.
- Si le module envoie des commandes API telles que SetVO ou ClearVO, renseignez vout
- Si le module envoie des commandes API telles que SetR ou ClearR, renseignez led
- Si le module envoie des commandes API telles que SetVI ou ClearVI, renseignez vin
En ligne 9, renseignez le numéro du preset Watchdog (renseignez 0 pour 1, ..., 31 pour 32).
Sauvegardez le Widget
Sauvegardez l'IHM
Voici le résultat
Lorsque le module Shelly devient inaccessible sur le réseau, le voyant rouge du watchdog s'allume.
Attention : l'état du module affiché par le widget peut alors être incorrect. Lorsque l'ipx800 redétecte le module sur le réseau, il est alors possible d'envoyer une commande par Push afin de remettre le relais dans un état connu.
- pour mettre le relais ON : la commande est http://user:password@IP_SHELLY/relay/0?turn=on
- pour mettre le relais OFF : la commande est http://user:password@IP_SHELLY/relay/0?turn=off
Pour aller plus loin
Liste des commandes Http
dans le cas où votre module est protégé par login, vous devez insérer le code utilisateur et le mot de passe devant l'adresse IP de cette manière :
http://user:password@Adresse_IP/...
- fermer le relais :
http://Adresse_IP/relay/0?turn=on
- ouvrir le relais :
http://Adresse_IP/relay/0?turn=off
- fermer le relais, puis l'ouvrir automatiquement après xxx secondes
http://Adresse_IP/relay/0?turn=on&timer=xxx
- Ouvrir le relais, puis le refermer automatiquement après xxx secondes
http://Adresse_IP/relay/0?turn=off&timer=xxx
- Inverser l'état du relais
http://Adresse_IP/relay/0?turn=toggle