[TUTO] Réalisation d'un routeur solaire de F1ATB avec passerelle ENPHASE

Bonjour & tous

EDIT 28/10/24 : J’ai terminé le tutoriel, mais l’article d’origine a été écrit pour la version V9, alors que nous sommes actuellement en V12.06. L’article reste conforme, bien que certains menus et/ou améliorations aient été apportés. Merci de vous référer au site F1ATB pour la configuration

Après plusieurs recherches et tous un tas d’informations sur ce routeur, on peut facilement s’y mélanger et avoir des craintes pour le réaliser sans connaissance

Je vais vous partager mon expérience sans connaitre ESP par exemple
Celui-ci sera dans un boitier avec écran OLED sur le devant avec les informations

C’est l’explication logicielle et fabrication du routeur , tout est indiqué sur le site https://f1atb.fr/ pour le fonctionnement d’un routeur


J’ai commencé par configurer l’ESP et je vais le tester à vide plusieurs jours

J’ai celui la Carte de développement ESP32 WiFi + Bluetooth consommation d'énergie ultra-faible touristes Core ESP-32 ESP-32S ESP 32 similaire ESP8266 1 pièce - AliExpress 502 en 38 P

  • Configuration de l’ESP 32

A partir de la version 10, vous pouvez mettre a jour par OTA sur la page web, très facile et rapide

Vous pouvez suivre le début de l’article pour télécharger ARDUINO IDE et paramétrage

Ensuite il faut configurer votre port (+ pilote Windows si besoin )
=> ESP32 Dev Module + votre port com

Ouvrir le projet Solar_Router_V7_03_RMS.ino que vous aurez téléchargé précédemment , peu importe votre installation

Installé toutes les librairies en début de fichier pour ne pas perdre de temps

J’ai dû ajouter les librairies via le menu à gauche
RemoteDubug
PubSubClient
DallasTemperature qui installe aussi OneWire qui est nécessaire
ArduinoJson
UrlEncode

Transverser via le deuxième bouton en haut a gauche

Moi j’ai eu le bug hwcrypto/sha.h qui est résolu
https://f1atb.fr/fr/routeur-photovoltaique-realisation-logicielle/ dans bugs soft

Vérifier le bon démarrage et l’adresse IP Outils => Moniteur série => 115200 bauds
192.168.4.1

Sur téléphone, se connecter via WIFI à RMS-ESP32-XXXXX puis 192.168.4.1 dans un navigateur mobile

Connecté votre WIFI et noter l’adresse qui apparaît à l’écran (A défaut, regarder sur votre routeur ou box)

Connectez vous sur l’ordinateur à l’adresse défini
Perso, j’ai fixé l’adresse IP sur mon routeur

La partie ESP programation est terminée !!!

  • Connexion avec Enphase

Choisissez le mode de connexion sur les différentes pages
Pour moi cela sera avec la passerelle Enphase

Pour la passerelle, il faut l’adresse IP local, USER, MDP et numéro de série

On sauvegarde et on vérifie dans données bruts et que les courbes varient bien

Partie assez simple enfaite meme sans connaissance ESP

  • Connexion MQTT à Jeedom via MQTT Manager

Vous devez mettre les informations de votre broker jeedom dans les paramétres de votre routeur

IP , user et mdp => Dispo dans mqttmanager
Le prefix est le topic de publication

Sur jeedom, il faut aller dans mqttmanager puis « ajouter »
Dans topics => mettre le meme que défini dans le routeur
Faire découverte si cela ne remonte pas

  • Materiel necessaire

On peut faire plus simple peut être mais je vais tout mettre dans un coffret avec porte a coté du ballon, un écran en facade et les leds , tout sera bien disposé a l’intérieur sur des borniers et rail DIN et une alimentation en 5V pour tout

  • Un coffret pour tout mettre dans un coffret

  • Triac 40A avec ventilateur

  • ESP 32 38P

  • 2 LED (une verte et une orange)

  • 2 resistance 470 ohms

  • Une sonde de temperature DS18B20

  • Une resistance de 4.7 k

  • Un transistor de 2n2222

  • Resistance de 2.2 k

  • Un plaque a souder pour y mettre tout ce petit monde

  • Un ESP Lilygo pour affichage

  • Alimentation 5V

  • Presse étoupe, vis, cable, entretoise

  • Réalisation du câblage et intégration dans un coffret

Je me suis basé sur les 2 schemas suivant :


Capture d'écran 2024-06-06 113808

Et j’ai tout intégré dans une armoire murale , tout a fait possible dans une simple boite plexo mais j’aime bien que cela soit propre.

  • Configuration TRIAC

Pour le triac, on peut configurer pour toute la journée ou par plage d’heure .
Si vous voulez vous passer de votre compteur jour nuit et cela sera quasiment obligatoire sauf si vous arriver a mettre la sonde de temperature (Externe au routeur ou non) avec la sonde de votre ballon. Perso, impossible moi donc j’ai completement arrêter le ballon via le contrôle électrique de l’ECS

Le routeur peut être configuré en ON dans vos heures creuses , la rentabilité sera fortement impacté mais c’est libre de choix

Mes heures creuses sont 22h 6h30 mais vous adaptez suivant les vôtres …

Moi, j’avais fait un test de chauffer de 4h à 6h pour etre sur d’avoir de l’eau chaude le matin mais rentabilité pas top car 4 kwH pour rien

Du coup, je chauffe uniquement avec le surplus avec ouverture max si la température est inferieur à 60°

Pour le moment, j’ai toujours de l’eau chaude sauf une fois donc je détaillerais plus tard (2 au foyer , 2 à 4 douches par jours suivant le taf et le sport)

Voici les possibilités de configuration

  • Réalisation de l’écran déporté

Voici mon écran déporté de Titi21 (Autre pseudo ici, merci a lui ) mais vous pouvez prendre celui de F1ATB qui vient d’etre mis a jour pour la V12

  • Modification câblage ballon d’eau chaude

J’ai pris le parti de modifier la carte ACI (Les infos de modification sont sur le site ARSUN pour la carte)

Voici le câblage que j’ai réalisé, c’est mon installation avec des modifications par rapport à mon materiel, j’ai gardé le contacteur J/N car c’est un connecté mais il est toujours sur ON pour faire arret d’urgence et compteur d’Energie, il ne fonctionne plus en J/N
J’ai ajouté un DJ de 16 A pour shunter le routeur si problème (Donc il est sur OFF en mode NORMAL)

Je ne vais pas mettre de schema car cela portera à confusion, voir le site

  • Scenario pour éviter l’eau froide

Depuis la version V9.00 RMS, il est possible de forcer le TRIAC X min via MQTT
Cela évitera d’avoir de l’eau froide si 2 jours de pluie … :confused: tout en ne chauffant pas dans les heures creuses.

Pour la partie configuration :(Merci à @DanielJ )
Il faut mettre topic/nom dans le nom de votre équipement sur le routeur ! (« routeur/triac » dans mon cas)

Ensuite, sous jeedom toujours dans le meme équipement créé un peu plus haut , il faut créer une commande action et publier avec le nom défini sur le routeur (sans le topic, triac dans mon cas)

La variable tOnOff définie en minute le temps de forçage.
tOnOff:30 force à On durant 30 minutes
tOnOff:-40 force à Off durant 40 minutes
tOnOff: 0 libère le forçage, le routeur retrouve son comportement normalement programmé
source F1ATB

Dans notre cas , voici un exemple de programmation jeedom avec la mise en forme du code

Il suffit de vérifier dans mqttexplorer et sur la page de votre routeur

Capture d'écran 2024-06-09 145125
Capture d'écran 2024-06-09 150059

Affichage

Ce n’est pas jeedom mais vous pouvez bien évidement faire la meme chose
Capture d'écran 2024-10-28 174332

3 « J'aime »

Ajout de la dernière vidéo qui explique bien https://www.youtube.com/watch?v=t60EW6wo-HE

Actuellement je test un écran déporté et comme j’ai pris un modèle amoled , je n’y arrive pas pour le moment
Montage fait sur une plaque de test pour la partie réalisation, plus qu’a tout souder et mettre ça dans un coffret

Bonjour et Merci pour le tuto.
J’ai réalisé le montage (avec la puissance fournie par UxLx2) qui fonctionne parfaitement. Je récupère bien les infos en MQTT. Normalement, la version 9.00 (du 02/06/24) permet d’envoyer la mesure de température en MQTT ainsi que de forcer les actions en MQTT. J’ai essayé de créer une commande « action » dans Manager MQTT mais je n’arrive pas à publier comme décrit dans la doc F1ATB avec homeassistant.
Si quelqu’un à trouvé la solution je suis preneur.
Encore Merci pour le tuto.
Patrick

1 « J'aime »

Bonjour,
Je vais suivre particulièrement ce sujet de mon côté, merci @Francky62 de l’avoir ouvert.
Suite à l’installation récente de panneaux solaires chez moi, et étant en phase de finalisation de l’instrumentalisation qui va avec pour la surveillance des paramètres, je suis en train de voir maintenant pour la fabrication en DIY d’un routeur solaire pour mon chauffe-eau de 3kW, à partir de l’excellent tuto de f1atb que j’ai découvert il y a quelques semaines, mais pour la version ‹ simplifiée › en MQTT uniquement.
En effet, j’ai déjà tout ce qu’il me faut côté sondes (Shelly PRO EM 50 en tableau pour les mesures des consos in/out), et je ne compte pas installer de sonde de température DS18B20 car c’est un peu trop intrusif, et je n’ai vraiment pas envie de démonter mon chauffe-eau (pour l’avoir déjà fait… :wink:).
De même, je pense partir plutôt sur un relais SSR 40A qui assurera la même fonction, plutôt qu’un triac qui génère quand même pas mal d’harmoniques en découpant la phase.

Une question tout de même :

Je ne me souviens pas avoir vu la possibilité d’intégrer un écran OLED dans le projet de f1atb, en tout cas dans la dernière version v9.00 RMS, ce qui m’intéresserai aussi… Je suis passé à côté ?

Merci !

Bonjour,
Bon, j’ai pas mal avancé depuis hier sur ce projet…
Après compilation, téléversement et paramétrage du routeur puis de Jeedom, j’ai réussi à les connecter ensemble en MQTT pour transférer vers le routeur solaire les infos MQTT en provenance d’un Shelly PRO EM 50 incorporé dans mon tableau électrique, et qui me remonte toutes les infos nécessaires.

Côté logiciel tout fonctionne bien. Et la partie matérielle se borne donc à :

  • un ESP32,
  • un relais SSR 40A,
  • deux LED,
  • une alim 5v,
  • un peu de câble en 2,5mm,
  • et un boitier pour loger tout ça à côté du chauffe-eau…

Je ferai un RETEX à part si des personnes s’avèrent intéressées par ce petit montage très utile, dès que j’aurai reçu le matériel qui me manque encore et que je l’aurai tout proprement monté et testé en réel.

Restera à voir ensuite pour la prochaine étape : l’intégration d’un petit écran OLED. :slightly_smiling_face:

Bonjour,

Si ça peut aider, j’ai réussi à publier mes infos en intégrant cette commande action avec MQTT Manager :

Où :

{"Pw": -#[Maison][Tableau électrique - Mesures][Puissance EDF]#,"pf": #[Maison][Tableau électrique - Mesures][pf0]#, }

sont les paramètres du fichier json envoyé vers le routeur, avec :
Pw = puissance électrique consommée en entrée (+ = consommé, - = injectée)
pf = facteur de puissance.
Puissance = topic déclaré dans les paramètres du routeur, idem que le topic racine

Puis un scénario se charge d’envoyer ce message MQTT à sa mise à jour, avec comme déclencheur chaque changement de la valeur de la puissance mesurée (soit à peu près avec un pas d’une seconde min).

Mis a jour aussi en V9.01 hier, attention , il faut refaire toute la configuration pour cette mise a jour !

Pour l’ecran => Adaptation de l'affichage pour routeur F1ATB - Forum photovoltaïque

Il faut que je met a jour mon post mais j’ai un petit soucis avec la gestion du ventilateur, je le ferais ensuite

J’essaye aussi de forcer le triac via jeedom, c’est possible depuis la V9 normalement
Car après deux jours de pluie sans grande luminosité, j’ai eu de l’eau froide sinon pour le moment, c’est top et certainement l’investissement le plus rentable au final car je gagne + d’un euros par jour

Bonjour,

Oui, j’ai bien pris en compte cette nouvelle version publiée il y a quelques jours et ça tombe bien, c’est celle que j’ai utilisée pour mes tests (concluants). :slightly_smiling_face:
Merci aussi pour le lien sur forum-photovoltaique.fr, je vais regarder de plus près, mais je vois que t’es parti sur un Lilygo T-Display. Je regarderai également de mon côté comment interfacer un écran OLED SH1106 tout à fait standard, plus courant et surtout parce que j’en ai plein mon tiroir…

Pour ma part je suis parti plutôt sur des relais SSR 40A (que je viens de recevoir d’ailleurs ce matin), mais effectivement il devrait avoir moyen de les commander via MQTT à partir de Jeedom, un truc que je dois regarder aussi (avant l’hiver ! :wink:). Sinon, au pire et en secours, via l’interface web ca marche bien…

Complètement d’accord.
Le coût total du matériel me revient à 15€ à tout casser, entre l’ESP32, deux LED, un relais SSR et un boitier de bornage. Autant dire qu’il va être très vite rentabilisé. Et je ne vois pas comment faire mieux, surtout comparé aux routeurs solaires vendus à 300€ min dans le commerce…

Post mis a jour avec photo de mon montage et j’ai rajouter des infos

  • Configuration du triac et scenario pour éviter l’eau froide (En cours)
1 « J'aime »

Moi un peu plus cher, voir photo mais c’est le truc indispensable si ballon a la maison.

Oui c’est possible, il faut que je trouve le temps de me pencher dessus

Pour souscrire, le nom du sujet/topic est celui que vous donnez au niveau du routeur à votre actionneur en page Actions (ici : Triac1). La variable tOnOff définie en minute le temps de forçage.

tOnOff:30 force à On durant 30 minutes
tOnOff:-40 force à Off durant 40 minutes
tOnOff: 0 libère le forçage, le routeur retrouve son comportement normalement programmé.
1 « J'aime »

Bon, c’est testé OK pour moi (prêt pour l’hiver :wink:).
Il suffit de publier la donnée « tOnOff » avec la valeur souhaitée directement sur le topic dont le nom est celui défini en page action (ne pas mettre le nom défini en ‹ MQTT Prefix › avant).
Ex : ici, c’est mon relais SSR1, donc le topic de publication est SSR1 .

Bien penser à cocher la case ‹ forcer les actions MQTT › (j’ai mis un peu de temps pour m’en rendre compte…) :

1 « J'aime »

Tu as une capture coté jeedom ?
Moi je n’y arrive pas :frowning:

J’ai pas encore testé côté Jeedom (je ferai ça demain), mais ça ne devrait pas poser de problème je pense… Je te posterai une capture dès que ce sera OK, pas de problèmes…

Tu as testé avec mqtt explorer ?

Oui, c’est ça…
Tu publie le json {« tOnOff »:30} et ça marche bien…

Salut,
Bien vu ton post sur le forum de F1ATB.
J’ai posté aussi ma demande, je n’arrive pas à envoyer à partir de Jeedom une commande tOnOff.
En effet, dans MQTT Manager (mais j’imagine que c’est pareil avec d’autres plugins gérant le MQTT), il faut définir le topic racine, ainsi que le topic de publication.
Mais cette commande n’est interprétée par Solar_Router qu’avec le topic racine uniquement, donc problème…

J’ai répondu aussi, j’ai fait autrement que toi mais cela ne fonctionne pas mieux

Mais moi meme en passant par mqttexplorer, cela ne fonctionne pas …

Edit : Après redémarrage, cela fonctionne aussi par mqttexplorer

Ce que j’ai rep, cela fonctionnera peut etre pour toi

J’étais en train de te répondre…
Ca fonctionne avec la commande postée sur le forum de F1ATB ?
Je vais tester de suite…

Je me suis mal exprimé
Par mqttexplorer, cela fonctionne après un redémarrage si non par jeedom non pour le moment

Ah, OK… :worried: :wink: