Différences entre les versions de « Relais Shelly 1 »
(→MQTT) |
|||
Ligne 263 : | Ligne 263 : | ||
===MQTT=== | ===MQTT=== | ||
Les modules Shelly supportent les communications MQTT depuis la version 1.3.0 de leur firmware. | |||
Activer cette fonctionnalité a pour effet de désactiver Shelly Cloud. | |||
Il est à noter que les périphériques Shelly ne supportent pas les connexions MQTT sécurisées. | |||
Je vous invite à n'utiliser cette fonctionnalité que dans le cas où vous avez installé un Broker sur votre réseau local (sur un NAS par exemple). | |||
===Installation d'un firmware alternatif=== | ===Installation d'un firmware alternatif=== |
Version du 6 février 2021 à 04:29
| |||
---|---|---|---|
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 Allterco. 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 configuration, 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.
Retour d'état 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
Supposons que nous souhaitions piloter notre module en fonction d'une plage Horaire.
Les commandes ON et OFF seront envoyées par un PUSH.
Configuration du PUSH
Dans le menu Périphériques, configurez un Preset de Push. - Renseignez l'adresse IP du Shelly1, - renseignez le login si nécessaire, - renseignez les 2 URL à envoyer vers le module
Le scénario
:Evénement : PlageHoraire :Action : ON/OFF :Résultat : Push(Preset=Push 18)
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
Le Shelly 1 comme horloge astronomique
Une fonctionnalité très interessante se loge dans ce petit module. Il est en effet possible de plannifier l'ouverture ou la fermeture du relais en fonction d'un calendrier, de plages horaires, mais aussi du lever et coucher du soleil.
Configuration du Shelly 1
Activez le plannificateur
Ajout d'une action au lever du soleil
Ajout d'une action au coucher du soleil
Interaction avec l'IPX800
Le relais du module sera ON pendant les heures de jour.
Maintenant, vous avez plusieurs possibilités pour communiquer l'information à l'Ipx800 :
- vous pouvez connecter la sortie du Shelly à une Entrée digitale de l'ipx800,
- vous pouvez configurer des URL sur le changement d'état du module, afin de piloter une entrée ou une sortie virtuelle sur IPX800.
Pour aller plus loin
Liste des commandes Http acceptées par le Shelly 1
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
Utilisation avec Smart GCE
Utilisation avec Alexa
Pour piloter votre module à la voix par votre Amazon Echo, vous devez activer le Cloud dans la configuration du module (voir §3.4).
Sur votre smartphone :
- installez l'application Shelly Cloud. Créez un compte et connectez vous sur le Cloud Shelly.
Ajoutez votre Module dans l'application. Il sera automatiquement détecté et associé à votre compte Shelly. Choisissez la fonction du module (relais, éclairage).
- Dans votre application Amazon Alexa, installez le Skill Shelly Cloud
connectez le skill à votre compte Shelly et importez les modules.
MQTT
Les modules Shelly supportent les communications MQTT depuis la version 1.3.0 de leur firmware.
Activer cette fonctionnalité a pour effet de désactiver Shelly Cloud.
Il est à noter que les périphériques Shelly ne supportent pas les connexions MQTT sécurisées.
Je vous invite à n'utiliser cette fonctionnalité que dans le cas où vous avez installé un Broker sur votre réseau local (sur un NAS par exemple).
Installation d'un firmware alternatif
Le Shelly 1 est construit autour d'un Esp8266. La firme bulgare a laissé libre accès au GPIO afin de permettre l'upload d'un firmware alternatif. Vous pouvez donc facilement créer votre propre programme pour piloter ce module, ou encore installer un firmware alternatif comme EspEasy ou Tasmota
https://jlkbraindump.wordpress.com/2018/10/31/shelly-1-flashing-with-espeasy/