Différences entre les versions de « Relais Shelly 1 »

De GCE Electronics
Aller à la navigation Aller à la recherche
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

SHELLY 1

Shelly1.PNG
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.

Shelly1 Power.PNG

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

Shelly 230Vac.png

Exemple d'utilisation en 12Vdc

Shelly 12Vdc.png

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

Shelly WebServer.PNG

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.

Shelly WifiSetup.PNG

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"

Shelly Secure.PNG

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.

Shelly TimeZoneSettings.PNG


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.

Shelly CloudSetup.PNG

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é.

Shelly PowerDefault.PNG

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.

Shelly Button.PNG

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.

Shelly Actions.PNG

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

Shelly OutOnURL.PNG

Désactivation de l'entrée virtuelle lorsque le relais passe OFF

Shelly OutOffURL.PNG

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


Shelly push.PNG
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}&amp;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}&amp;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

Shelly widget.PNG

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.


Shelly widget2.PNG

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

Shelly Scheduler.PNG

Ajout d'une action au lever du soleil

Shelly sunrise.PNG

Ajout d'une action au coucher du soleil

Shelly sunset.PNG

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

Shelly1 pinout.jpg

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/

https://tasmota.github.io/docs/devices/Shelly-1/