Capteur Shelly Em™ – Shelly Pro Em™ pour routeur photovoltaïque

Routeur Multi Source

Monophasé ou Triphasé

Shelly Em
Shelly 3Em
Routeur Multi Source
SmartPhone ou PC
Shelly Pro Em
Shelly Pro 3Em

Un routeur Photovoltaïque a besoin de connaître avec précision la puissance échangée avec le réseau public en entrée de maison. Nous avons deux situations :

  • de la consommation avec de la puissance ou énergie soutirée
  • de la surproduction avec de la puissance ou énergie injectée

Pour mesurer le niveau de puissance et connaître son sens de transfert, il faut connaître à tout instant la tension électrique et le courant électrique derrière le disjoncteur principal.

Le module Shelly Em (Monophasé) ou Shelly 3Em (Triphasé) permettent la mesure de la puissance et le sens de transfert. On peut en extraire les données en temps réel, plusieurs fois par seconde, par Wifi.

Le Shelly Em dispose de 2 canaux. Un est affecté à la mesure de puissance derrière le disjoncteur principal, l’autre peut servir à mesurer une consommation particulière ou de la production photovoltaïque. Il n’affecte pas le fonctionnement du routeur.

Le Shelly 3Em pour le triphasé dispose de 3 sondes de courant pour mesurer la puissance échangée sur chacune des phases.

Merci à Gilles, Gérard et Nans de m’avoir ouvert un accès distant sur leur Shelly afin de développer et tester cette solution depuis chez moi.

Modularité

La description générale du routeur avec toutes les entrées de mesure possible est donnée ici : https://f1atb.fr/fr/realisation-dun-routeur-photovoltaique-multi-sources-multi-modes-et-modulaire/

Dans une configuration d’un système connecté au Shelly Em, il se décompose en trois fonctions :

  • la mesure de puissance fournie par le Shelly Em
  • le traitement à l’aide d’un microcontrôleur ESP32,
  • les actionneurs avec un triac et des relais pour alimenter différentes charges. Avec en option de contrôle, un capteur de température.

Mesure de puissance

La mesure de puissance s’effectue par une mesure de tension et une mesure de courant à l’entrée de la maison. Les données sont collectées toutes les 400ms environ pour la voie qui mesure la puissance en entrée de maison via le Wifi à l’adresse :

  • Shelly Em
    • <adresse IP du Shelly>/emeter/0 pour la voie 0
    • <adresse IP du Shelly>/emeter/1 pour la voie 1
  • Shelly 3Em
    • <adresse IP du Shelly>/status

Le Shelly renvoi un message au format Json :

{« power »:-2107.01, »reactive »:-620.57, »pf »:0.96, »voltage »:230.68, »is_valid »:true, »total »:1255246.3, »total_returned »:67188.9} pour le Shelly Em

Remarque : le logiciel du routeur n’est pas compatible du Shelly Pro 3EM

Traitement

Pour effectuer les mesures et les traitements, L’ESP32 est un microcontrôleur adapté à notre besoin. Il comprend :

  • des entrées analogiques pour mesurer des tensions,
  • des entrées/sorties numériques pour actionner un relais ou un triac si besoin,
  • des liaisons séries
  • une bonne capacité de calcul
  • une liaison WIFI pour faire du reporting à distance sur une page web ou un système de domotique.

Actionneurs

Gradateur – Triac

Pour ajuster le courant à injecter vers le chauffe-eau ou un chauffage, on utilise un gradateur de chez RobotDyn composé d’un Triac et d’un système de détection du passage à zéro de la tension. Il existe en :

  • 16A ou 24A chez Aliexpress.
  • 40A
    Attention, le refroidisseur d’origine du Triac est largement sous-dimensionné sachant qu’il devra fonctionner pendant plusieurs heures. Remplacez-le par un plus grand en dessoudant et déplaçant le Triac. Pensez à raccorder le refroidisseur au fil de terre pour la sécurité.

Pour en savoir plus : https://f1atb.fr/triac-gradateur-pour-routeur-photovoltaique/

Relais

Ce projet permet l’ajout de relais sur les GPIOs libres de votre choix pour commander un ou plusieurs dispositifs suivant l’état de consommation ou injection de puissance au niveau de la maison.

Vous pouvez connecter un relais solide (SSR). Il en existe de nombreux de 10, 25 ou 40A. Ils doivent être commandables en 3.3V.

Depuis la version 8 du routeur, on peut les utiliser pour doser finement la puissance transmise comme avec un Triac. Voir ici : https://f1atb.fr/fr/routeur-photovoltaique-modes-de-regulation/

Vidéo de présentation

Schéma global Shelly Em

Le schéma ci-dessous décrit le câblage électrique du routeur en version entrée « Shelly Em » comme en version Enphase ou ESP extérieur. C’est une solution très intéressante par sa simplicité de réalisation. Quelques modules à interconnecter avec des fils d’électricien et des fils Dupont femelles.

Schéma routeur avec Triac: Shelly Em, Enphase/Envoy-S ou ESP32 externe

La sortie du Triac alimente le chauffe-eau . On peut rajouter en option des relais sur les GPIOs disponibles. Les LEDs + résistances visibles sur d’autres schémas sont remplacés par des modules LEDs précâblés. Ainsi, on évite les soudures.

Schéma routeur avec un relais : Shelly Em, Enphase/Envoy-S ou ESP32 externe

Pour une installation en triphasé, on peut piloter 3 relais avec le même signal. On a une régulation asynchrone en mode Multi-Sinus ou Train de Sinus. Ici un exemple de réalisation.

Schéma routeur avec 3 relais pour une installation triphasée Shelly 3Em.

Pages Web

4 pages permettent la configuration et le suivi du routeur comme décrit ici. Les pages, données brutes et paramètres ont des spécificités liées au Shelly Em.

Page données brutes

Cette page regroupe des données brutes de mesures collectées auprès du Shelly Em comme les tensions, puissances etc..

Attention à monter les sondes de courant afin que la puissance soit positive quand on consomme et négative quand on injecte vers le réseau public.

Un dernier tableau, fourni des informations sur l’ESP32, pour suivre son fonctionnement. En particulier, on surveille le niveau du WIFI afin qu’il ne passe pas en dessous des -80 dBm.

Page paramètres

Une page est dédiée au paramétrage du système.

En premier, définir le capteur de mesure : Shelly Em

Donnez ensuite l’adresse IP de votre Shelly sur le réseau local. Exemple : 192.168.0.200

Pour le Shelly Em, donnez le numéro de voie (0 ou 1) qui mesure la puissance électrique à l’entrée de la maison. Pour le Shelly 3Em, mettez 3.

Il est possible de personnaliser le routeur et les données en attribuant un nom.

Montage

Montage Shelly Em

Le système en configuration « Shelly Em » est simple à monter. Avec les différents modules utilisés, il n’y a pas de soudure ou presque avec l’éventuel changement du Triac.
Les composants sont principalement achetés sur Aliexpress en chine. La merveille d’ESP32 est de design chinois. Cela fonctionne très bien, vérifiez simplement que le mode d’expédition proposé vous assure une livraison dans les 10 à 30 jours à venir. Parfois en payant 1 euro de plus, on arrive à accélérer l’envoi.

Des exemples de montage sont visibles ici : https://f1atb.fr/exemples-montage-routeur-photovoltaique-f1atb/

Longue distance

Pour ceux qui ont une grande maison avec le routeur loin du WIFI, l’utilisation d’un ESP32 avec une antenne déportée permet de doubler la portée du WIFI. On peut typiquement faire du 50m, là où votre smartphone ne captera plus le Wifi.

On l’achète chez Aliexpress :

La sortie antenne sur connecteur SMA permet d’y rajouter une rallonge coaxiale pour placer l’antenne dans un endroit dégagé.

Liste des courses

Ci-dessous la visualisation des modules à acheter, principalement chez Aliexpress. Il faut y rajouter une boite en plastique d’électricien ou autre pour les loger.

C’est un montage simple ne nécessitant pas de compétence en montage d’électronique. Juste un peu de câblages et de mécanique pour fixer les éléments

Code Source

Le code source du logiciel à implanter dans l’ESP32 est disponible ici : https://f1atb.fr/routeur-photovoltaique-simple-a-realiser/#source

Sécurité

En travaillant sur ce projet en 230V, vous acceptez d’assumer la responsabilité de votre propre sécurité et de prendre toutes les précautions nécessaires pour éviter les accidents électriques.

Responsabilité

Articles sur le photovoltaïque

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

247 réponses

  1. Cabaret dit :

    Quels paramètres faut il mettre !
    C jluc

    • F1ATB André dit :

      Vous n’avez rien de sélectionné. Cochez la case Titre Triac. Cliquez dessus pour le changer etc…

  2. Benjamin dit :

    Bobsoir André,
    Déja un énorme merci pour tout votre travail sur votre routeur !
    version uxlx2 installé sur 4 installagtions PV dans la famille 😉

    Je me pose la question du triphasé.
    En prenant les infos du shelly, l’ESP32 va bien additionner la conso des 3 phases pour réguler la conso a 0 avec le surplus ?

    (le Linky faisant juste l’addition de la consommation des phases …
    Si par exemple :
    P1 = 1500W / P2 = 1000W / P3 = 500W
    Le Linky va facturer 3000W de conso.

    Mais admettons que l’on rajoute une production de 4000W sur la phase 1 via les panneau.
    La P1 = -2500W / P2 = 1000W / P3 = 500W
    On injectera donc 2500W dans le réseau, MAIS le Linky n’en compterai réellement que 1000W, vu qu’il fait la somme algébrique des phases.
    Ainsi l’idée est bien la d’envoyer SEULEMENT les 1000W en trop vers un CE.
    Et non pas 2500W de surplus « réel » de la P1.

    L’ESP va réagir dans quelle logique ?

    Un grand merci (En espérant etre clair …)

    • F1ATB André dit :

      Si vous avez un Shelly 3Em, l’ESP32 reçoit la somme algébrique et fera comme le Linky en ne comptant que les 1000W de votre dernier cas. Il enverra vers le CE que les 1000W, quelle que soit la phase sur laquelle le CE est branché.

      Cdlt

  3. jean luc cabaret dit :

    bonjour andré
    lorsque je commence a toucher les parametres dans la page actions , mon chauffe eau le triac se met a 100/100 et le chauffe eau chauffe ! donc le triac fonctionne bien , mais comment parametrer la page actions pour injecter mon surplus solaire.
    merci
    c jluc

    • F1ATB André dit :

      Cliquez sur la zone jaune Routage Fin et non pas On qui force le 100%

      • jean luc cabaret dit :

        Bonjour André.
        ca fonctionne , je ne vois pas trop a quoi sert la reactivite je l ai laissé a 50 . la puissance active passe de soutirée a injectée toutes les 10 secondes est ce normal .
        cordialement
        Cjluc

  4. jean luc cabaret dit :

    https://i.ibb.co/1sWqf4b/IMG-0931.png

    encore merci pour votre site et surtout pour votre aide.
    c jluc

    • F1ATB André dit :

      A la vue des courbes, vous avez une réactivité trop élevée. Il y a des sauts brutaux entre des valeurs >0 et <0.

      Cdlt

  5. Michel Isabella dit :

    Bonjour André et bravo pour vos réalisations.
    J’ai un Shely 3m, trois sondes; que je voudrais utilisé mais pas sur du triphasé.
    Je suis en mono; la première sonde pour l’arrivée EDF, la seconde = production et la dernière pour le chauffe eau.
    Je penses que c’est possible?
    Et le préfèrerais utilisé un SSR pour la puissance; lequel ferait l’affaire?
    dans l’attente merci de votre réponses M.

  6. Michel Isabella dit :

    Faudrait que je modifie le fichier source Shelly?
    M.

    • F1ATB André dit :

      Oui. Modifier Source_ShellyEm.ino

      • Michel Isabella dit :

        Ok merci, je vais étudier le problème….

      • Michel Isabella dit :

        C’est encore moi, Help..

        En téléversent le fichier principal routeur:

        Alternatives for PubSubClient.h: []Solar_Router_V7_03_RMS:57:60: fatal error: PubSubClient.h: No such file or directory

        ResolveLibrary(PubSubClient.h)

        -> candidates: []

        Plusieurs bibliothèque trouvées pour « WiFi.h »

        Utilisé : C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi

        Non utilisé : C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\WiFi

        Plusieurs bibliothèque trouvées pour « ArduinoOTA.h »

        Utilisé : C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\ArduinoOTA

        Non utilisé : C:\Users\06831\Documents\Arduino\libraries\ArduinoOTA

        Plusieurs bibliothèque trouvées pour « RemoteDebug.h »

        Utilisé : C:\Users\06831\Documents\Arduino\libraries\RemoteDebug

        Non utilisé : C:\Users\06831\Documents\Arduino\libraries\RemoteDebug2

        Utilisation de la bibliothèque WiFiClientSecure version 1.0 dans le dossier: C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFiClientSecure

        Utilisation de la bibliothèque WiFi version 1.0 dans le dossier: C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi

        Utilisation de la bibliothèque ESPmDNS version 1.0 dans le dossier: C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\ESPmDNS

        Utilisation de la bibliothèque WebServer version 1.0 dans le dossier: C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WebServer

        Utilisation de la bibliothèque ArduinoOTA version 1.0 dans le dossier: C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\ArduinoOTA

        Utilisation de la bibliothèque Update version 1.0 dans le dossier: C:\Users\06831\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\Update

        Utilisation de la bibliothèque RemoteDebug version 3.0.5 dans le dossier: C:\Users\06831\Documents\Arduino\libraries\RemoteDebug

        exit status 1

        PubSubClient.h: No such file or directory

  7. Michel Isabella dit :

    Bonjour, je viens de mettre a jour mon Arduino(hold version j’avais)

    Y a du mieux, j’ai encore cet erreur:

    c:\Users\06831\Documents\Arduino\libraries\RemoteDebug\src\utility\WebSockets.cpp:42:10: fatal error: hwcrypto/sha.h: No such file or directory
    #include
    ^~~~~~~~~~~~~~~~
    compilation terminated.
    exit status 1

    Compilation error: exit status 1

    en attente de votre reponses, merci, M.

  8. Pierre dit :

    bonjour André
    bravo pour votre routeur!
    j’ai trouvé ce module : jsy mk 333 qui permet la mesure en triphasé.
    pensez vous que votre code puisse être modifié pour pouvoir l’utiliser ? a 30€ c’est bcp moins cher qu’un shelly 3em!

  9. PHAZARD dit :

    Bonjour André,
    Bravo pour ces nouvelles versions.
    Je suis passé ce week end à la version 8.01 en passant par la 7 et la 6.
    Mon module shelly 3em fait parfaitement l’affaire pour la mesure e remplacement du linky.
    J’ai ajouté une mesure de température pour suivre mon chauffe eau.
    J’ai cependant des difficultés, régulièrement le triac n’est pas détecté et je perds donc l’action associée.
    j’ai changé le module triac sans que cela corrige le problème.
    Par contre dès que j’éteins et te je rallume l’esp32 ça refonctionne.quelque temps, le reset ne suffit pas.
    Qu’en pensez-vous ?
    Cdlt

  10. Philippe dit :

    Bonjour et merci pour votre travail
    Cependant je ne comprends pas quelque chose…j’ai assemblé le routeur comme indiqué sur vos schémas avec un capteur shelly em. Mon soucis est le suivant, routeur allumé, mes panneaux produisent 800W et mon shelly m’annonce un surplus de 30W, et effectivement à ce moment là les 30W sont bien injectés dans mon ballon d’eau chaude, mais si je coupe le routeur, instantanément le surplus passe à 400W ! je ne comprends pas, c’est comme si le routeur me faisait consommer 370W ….(800-(400+30))
    Si quelqu’un pouvait m’expliquer car là je sèche…
    Merci par avance et merci pour tout!

    • Philippe dit :

      Ou si une personne qui utilise comme moi le Shelly em comme capteur ainsi que la version 8 peut m’indiquer ses réglages…pour info je route sur un chauffe eau de 300l 3000w
      Merci par avance

    • Pierre dit :

      le shelly annonce 30w c’est ce qui est injecté dans le réseau.
      je dirais que vous avez 400w de surplus, le routeur envoie 370w au chauffe eau et seuls 30w sont injectés !
      si vous coupez le routeur tout le surplus part en injection

      • Philippe dit :

        Merci Pierre pour votre réponse, je pensais que ce qui était injecté était ce qui partait vers mon chauffe eau, effectivement de votre point de vue ça me semble logique maintenant. Mais alors pour savoir ce que l’on a routé dans la journée, on a pas d’autre choix que de remettre un capteur sur la phase qui part au chauffe eau?

  11. Alain Hermitte dit :

    Bonjour et Merci encore pour las informations
    j’ai un problème avec le programme pour le Esp 32 Wroom à la vérification j’ai le message erreur suivant :C:\Users\alain\Documents\Arduino\libraries\RemoteDebug\examples\RemoteDebug_Debugger\RemoteDebug_Debugger.ino:181:10: fatal error: RemoteDebugger.h: No such file or directory
    #include « RemoteDebugger.h » //https://github.com/JoaoLopesF/RemoteDebugger
    ^~~~~~~~~~~~~~~~~~
    compilation terminated.
    exit status 1

    Compilation error: RemoteDebugger.h: No such file or directory

    comment dois je opérer ?
    Merci
    Alain

  12. Alain Hermitte dit :

    bonjour j’ai rajouté dans la bibliothèque remoteDebugger
    maintenant j’ai ce message erreur
    Compilation error: exit status 1

    que faire ?
    merci

  13. jean charles L dit :

    bonjour, j’ai réalisé le montage (version 6.02)avec « emphase « je me retrouve confronté a un problème lié a leur site client qui dit : »trop de connexion », j’ai essayé leur support client qui tarde a intervenir. De ce fait ,je suis passé au shelly EM, pour arrêter toutes connexions pour voir si avec le temps je récupère l’accès. Je rencontre un petit problème a la connexion si je viens mettre un mot de passe sur le Shelly, je ne peux plus le collecter. Avez vous ,dans les versions supérieures ,un paramétrage pour un éventuel mot de passe ,sur l’onglet paramètre, comme c’était le cas pour « enphase » merci pour votre travail. Cordialement

  14. Mathieu NGUYEN dit :

    Bonjour,
    Pour ma part je pense avoir une Shell EM qui déconne avec des valeurs étranges. D’une secondes à l’autre les valeurs changent sans arrêt. Sachant que le Ch1 est relié sur ma baie informatique avec une prise connectée et je lis 160W en moyenne et la ça varie de 460-500W étrange.
    https://ibb.co/YZ0gRBq
    https://ibb.co/jWDxBnB

    D’autre part sur le routeur solaire j’ai également des choses très étranges, parfois la puissance apparente mont à plus de 40000 et même un pic à 174000, je ne comprend pas ce qu’il se passe, si quelqu’un est dans le même cas ou si quelqu’un peux me donner une explication.
    https://ibb.co/hBGKrSZ

    • F1ATB André dit :

      Quelle version utilisez vous . Pour le shelly, il y a eu des modifications récentes. Prenez la dernière version 8.05

      Cdlt

  15. Mathieu NGUYEN dit :

    Quand je met en UxI j’ai mis ce mode pour pouvoir forcer le relais à un certain pourcentage car ma production solaire était stable mais le routeur variait de 2000 à 0 en puissance injecté…
    C’est normal qu’en UxI j’ai des valeurs alors que je n’ai pas de pince branché sur l’ESP32 ?
    https://ibb.co/5cGhvRV

    • F1ATB André dit :

      En Uxi, en ayant rien branché, vous mesurez le bruit électrique sur les entrées analogiques en l’air. C’est normal.

  16. Mathieu NGUYEN dit :

    J’étais en version 8.02 et je suis passé en version 8.05 hier soir. C’est un peu moins pire aujourd’hui, mais la puissance apparente oscille beaucoup je ne sais pas si c’est normal… sachant que sur votre vidéo elle n’oscille pas dans le negatif.
    https://ibb.co/Q64S49z

    • F1ATB André dit :

      Votre courbe est très bonne.La rouge proche de zéro et la verte qui oscille un maximum.

      Cdlt

  17. Yannick dit :

    Bonjour et merci pour votre travail.
    Débutant mais avec la volonté de réussir ce projet, j’aurais quelques questions complémentaires à vous poser :
    – pour la puissance du gradateur, est-ce que celle-ci est définie en fonction de la puissance du photovoltaïque ou en fonction du chauffe-eau
    – quelle doit être la longueur des câbles Dupont (10 cm ça suffit ?)
    – le relais SSR est-il obligatoire ?
    Merci

    • F1ATB André dit :

      Le Triac se définit en fonction du chauffe-eau
      10cm peuvent suffir pour les dupont. 20cm vous serez plus à l’aise. Cela dépend de la boite, du montage.

      Le relais SSR, c’est une option.

  18. Philippe dit :

    Bonjour André,
    Est-il possible de connaitre l’énergie injectée en temps réel vers le chauffe eau, ou le total de l’énergie sauvée sur une journee? Merci par avance

    • F1ATB André dit :

      Avec la solution JSY.. oui. Pas avec les autres.
      On peut éventuellement avec de la domotique, collecter les pourcentages d’ouverture du Triac et faire une estimation.
      On peut mettre un deuxième shelly qui va mesurer.

      Cdlt

  19. jean luc cabaret dit :

    Bonjour André
    y a t il possibilite de faire fonctionner un relais lorsque les jours rouges sont annoncé dans l offre tempo , pour le moment je suis en offre EJP et linky m ‘ informe en fermant un contact sec , mais avec tempo ca n existe pas . J ai une pompe a chaleur en releve de chaudiere a fioul qui ce coupe automatiquement les jour EJP .
    Merci
    C jluc