Principes de configuration d'un module Shelly avec eedomus

Documentation eedomus

Cette page concerne les modules Shelly Wifi ou LAN (et non pas les modules Z-Wave).

Les modules Wifi sont intéressants car ils s'appuient sur un réseau qui est facile à étendre sur de grands bâtiments, plusieurs étages, en utilisant le même SSID (comme dans les hôtels). Le fabriquant Shelly a en outre l 'avantage de proposer une configuration qui peut être indépendante du cloud et de toute app (contrairement à Tuya). La configuration en Wifi est néanmoins un peu plus complexe que l'ajout d'un module Z-Wave ou Zigbee.

La configuration s'effectue en 3 étapes principales :

  1. raccorder le module Shelly à votre réseau Wifi
  2. créer les modules actionneurs ou capteurs dans eedomus qui vont interagir avec le module Shelly
  3. paramétrer le module Shelly pour envoyer les informations aux capteurs (cette phase n'est pas forcément nécessaire pour les actionneurs)

Afin que le module Shelly communique vers eedomus (capteur), il faut paramétrer une Actions dans le module Shelly. Dans cette action, vous saisissez une adresse web (URL), qui appelle au choix l'api cloud eedomus, l'api locale eedomus ou un script php du store eedomus sur la box eedomus.

Lorsque eedomus communique vers le module Shelly (actionneur), eedomus un utilise un actionneur HTTP qui appelle le module Shelly par son adresse ip.

Pour les modules qui le supportent, l'objet du store eedomus "Shelly" (merci KikiFUNstyle) s'occupe des étapes 2 et 3.

Sommaire

Principe pour un capteur (exemple avec l'api cloud eedomus)

1. Raccorder le module Shelly à votre réseau Wifi

En vous connectant au réseau Wifi généré par le module puis en allant sur http://192.168.33.1 avec un navigateur (à partir d'un smartphone, tablette, pc portable)
Une fois cette étape réalisée, il faut retrouver l'adresse IP du Shelly sur votre réseau local: utiliser le scanner eedomus au besoin

2. Créer un capteur HTTP (qui ne va pas faire de requête HTTP, fréquence de paramétrage à 0)

Aller ensuite sur secure.eedomus.com / Config / Mon compte - API : pour récupérer l'API Cloud Set du capteur en question

3. Paramétrer une action sur le site web du module Shelly

En copiant l'URL de l'API Cloud (et en lui ajoutant $température pour un capteur de température).

Exemple : Shelly Température et Humidité Wifi

Principe pour un actionneur (exemple avec un actionneur http eedomus)

1. Raccorder le module Shelly à votre réseau Wifi

En vous connectant au réseau Wifi généré par le module puis en allant sur http://192.168.33.1 avec un navigateur (à partir d'un smartphone, tablette, pc portable)
Donnez lui une adresse IP fixe, de préférence via le DHCP de votre rotueur

2. Créer un actionneur HTTP dans eedomus

Ajouter lui une action ON et une action OFF pour une prise
Voir la syntaxe ci-dessous suivant la version

Vous avez deux méthodes ensuite pour remonter le statut de l'actionneur, s'il était actionné par autre chose que eedomus (un interrupteur physique ou l'écran du Shelly Pro 4 PM) :

  • la première est d'effectuer un "polling" dans l'actionneur eedomus, par exemple toutes les 10 minutes, c'est le plus simple.
  • la seconde est d'ajouter une Action (un webhook) sur le Shelly pour appeler l'API locale ou cloud eedomus (voir ci-dessous pour le capteur)

Concernant l'Action, il faut ajouter &update_only=1 à la fin de l'API locale pour ne pas déclencher l'action. Voir l'exemple avec la prise shelly.

Il n'est pas interdit de paramétrer les 2 méthodes simultanément. D'abord la méthode simple, puis une fois que tout fonctionne, la méthode Action qui un peu est plus complexe mais "instantanée".

Exemples :

Shelly Double Relais DIN

Shelly_Plus_Plug_S

Liste de module Shelly

Complément : URL suivant la version du module Shelly

Il existe 2 versions de modules Shelly : Gen1 et Gen2. Les 2 versions ne répondent pas aux mêmes commandes. Et même dans la même génération, les fonctions supportées sont différentes (d'où la documentation par module.

Pour activer un relais Gen2, l'URL est (au choix, toutes fonctionnent !):

Vous pouvez remplacer ADRESSE_IP_SHELLY par son adresse sur votre réseau local, de type 192.168.1.xx ou son adresse mDNS ShellyXXXXXX.local. Si vous utilisez l'adresse IP, nous vous conseillons de fixer cette adresse IP (sur votre routeur internet de préférence, ou sur le module Shelly directement), sans quoi, elle changera certainement dans le futur.

Pour reconnaître la version, la liste des périphériques est https://shelly-api-docs.shelly.cloud/gen2/ pour la génération 2, et bien sûr https://shelly-api-docs.shelly.cloud/gen1/ pour la génération 1.

Complément : choisir la communication de Shelly vers eedomus

Trois méthodes sont possibles pour paramétrer l'Action sur le site web local du Shelly :

Afin que le module Shelly communique vers eedomus (capteur), il faut paramétrer une Actions dans le module Shelly. Dans cette action, vous saisissez une adresse web (URL), qui appelle au choix l'

api cloud eedomus

Pour trouver cette API, vous allez sur le constructeur de requête API de secure.eedomus.com API eedomus#Génération automatique des requêtes API

La requête ressemble à http://api.eedomus.com/.....

C'est la méthode la plus simple, car elle ne nécessite pas de fixer l'IP de la box eedomus. En revanche, elle ne fonctionne pas si votre accès internet est coupé. Elle est limité en service Free à 1000 requêtes par jour (mais non en service Premium).

api locale eedomus

Pour trouver cette API, vous allez sur le constructeur de requête API de secure.eedomus.com API eedomus#Génération automatique des requêtes API

La requête ressemble à http://192.168.1.xx/api.... Selon nos tests, vous ne pouvez pas aussi utiliser l'adresse mDNS de la box eedomus http://eedomus.local/api.. (qui n'est pas implémentée par Shelly dans les webhook ou actions, même si elle est implémentée pour les requêtes depuis l'extérieur).

Elle a l'avantage d'être locale, et de fonctionner même si votre accès internet est coupé. Elle n'est pas limité autrement que par les ressources techniques de la box eedomus.

script php du store eedomus sur la box eedomus

Ce mode de communication est utilisé par le module Shelly du store eedomus.

Complément : comment configurer le Shelly

Vous avez deux possibilités de configuration:

  • soit manuellement par l'interface web intégrée du Shelly (la méthode la plus transparente, qui permet de comprendre le fonctionnement module, et qui est plus sûre pour les périphériques à pile qu'il faut parfois réveiller)
  • soit en envoyant des requêtes HTTP pour paramétrer le Webhook du Shelly (ce que fait le pluging Shelly du store eedomus, ce qui est plus rapide, mais n'est pas forcément à jour en cas de changements de version logicielle ou de nouveaux modules Shelly)

http://ADRESSE_IP_SHELLY/rpc/Webhook.Create?cid=1&name="eedomus_ON"&enable=true&event="switch.on"&urls=["http://ADRESSE_IP_EEDOMUS/api/set?api_user=....%26api_secret=...%26action=periph.value%26periph_id=.....%26value=100"]

Complément : Trouver l'adresse IP du module Shelly sur le réseau local

Une fois que le module est ajouté au réseau Wifi domestique (après vous être connecté au Wifi Shelly, 192.168.33.1, puis la sélection de votre Wifi), il prend une adresse IP. Sur certains modules, cette adresse IP est affichée (Shelly Plug S) pendant la connexion Wifi local.

Pour piloter un actionneur, vous avez besoin de cette IP, que vous pouvez retrouver de 4 manières différentes :

  • en utilisant le scanner intégré à la box eedomus : Netscan eedomus
  • en regardant sur votre routeur internet qui a attribué cette IP en DHCP
  • en ayant noté au préalable le nom du Wifi shelly lors de la première configuration, et en ajoutant ".local" du service mDNS http://shellyxxxx.local
  • en utilisant un scanner IP sur votre PC

Le module Shelly n'est pas visible dans la page Réseau de votre PC Windows, contrairement à la box eedomus, des caméras, car il n'utilise pas UPnP.

Complément : Sécurité

Nous ne conseillons pas forcément d'ajouter un mot de passe sur le module Shelly. Cela apporte certes une sécurité, mais au prix d'un augmentation de la complexité. C'est un peu comme si vous fermiez toutes les portes intérieures de votre domicile. Cela va complexifier la vie d'un intrus, mais la votre aussi. Nous ne le conseillons que sur des modules qui commandent des ouvertures (volets, porte garage, ...).

De même, nous conseillons de rester en HTTP et non en HTTPS. Cela est important pour les modules à pile, car HTTPS entraîne deux fois plus d'échange et diminue la durée de la pile. Les communications sont déjà chiffrées par le réseau Wifi (qui lui doit être sécurisé).

Nous conseillons de désactiver le Bluetooth et le point d'accès wifi local (AP) une fois que la communication est établie.


Read in English https://doc.eedomus.com/en/index.php/Configuring_a_Shelly_module_with_eedomus