Routeur Solaire
Documentation sur le routeur solaire
- 00 - Installation Rapide Web
- 10 - Création du PV routeur avec un TTGO T-Display
- 11 - Fonctionnement et utilisation du routeur
- 12 - Fonctionnalités Spécifiques
- 40 - FAQ
- 50 - Historique des mises à jour
- 90 - mod dev Installation de Visual Studio Code
- 91 - mode dev Copie ou MAJ des sources du dépot
- 92 - mode dev Téléversement du code en USB
- 93 - mode dev Téléversement du code à distance
00 - Installation Rapide Web
Pour des raisons pratique il est possible d'utiliser directement le téléversement Web, cela évite d'installer des applications supplémentaire sur le poste.
Depuis un navigateur compatible (Chrome ou Edge) rendez vous sur la page https://ota.apper-solaire.org/ota.php
Sélectionnez dans la section de gauche "TTGO T-display" :
Dans la fenêtre qui s'ouvre, sélectionnez le port série sur lequel est connecté le TTGO
Sélectionner "INSTALL PV ROUTER TTGO"
Validez le message d'installation.
Le programme est téléversé :
Configuration du Wifi
Il y a 2 méthodes pour se connecter au wifi :
1) Par le sérial :
Une fois la programmation faite, choisissez "Log & console"
à partir de là vous pouvez utiliser une série de commandes pour configurer votre wifi :
ssid nom_de_votre_wifi
pass mot_de_passe_wifi
reboot
Vous pourrez alors voir en direct si vos informations wifi sont bonnes
Vous pourrez consulter IP et le niveau de puissance wifi directement sur l'afficheur du TTGo (en haut à droite)
- en jaune en dessous de -64dBm
- en orange en dessous de -70dBm
- en rouge en dessous de -80dBm
Par le mode AP (Point d'accès Wifi émis par le TTGo):
Il est aussi possible de configurer le wifi avec le mode AP.
Il faut se connecter depuis un smartphone ou un PC au Wifi créé ( mot de passe "PV-ROUTER" ).
Puis renseigner son réseau wifi domestique depuis la page de configuration de l'application ( http://192.168.4.1/wifi.html )
Le Pv routeur prend alors une adresse IP depuis votre réseau local et sa nouvelle IP est affichée en haut à droite de l'afficheur du TTGO T-Display
L'application est installée et prête à être utilisée.
10 - Création du PV routeur avec un TTGO T-Display
La création du Pv routeur avec la carte adaptée pour le TTGO T-Display est actuellement ce qu'il y a de plus rapide.
Cette carte peut être commandé à l'association APPER et son achat est considéré comme un don et donc partiellement déductible des impôts.
Le reste des composants peut être commandé chez divers fournisseurs de composants. ( Aliexpress, Amazon... )
L'afficheur : TTGO T-Display
Amazon...
La sonde SCT013-30A
Une alimentation 9V AC
Il est très fortement conseillé d'utiliser une alimentation 9V AC de chez Radiospare ( ref 1391763 )
Une alternative est d'utiliser celle de chez openenergymonitor.com.
il est toute fois possible de faire sa propre alimentation avec une de récupération ( voir plus loin mais déconseillé)
Les alimentations 9V AC en standard sont très rares.
Une alimentation USB classique ( 1A )
La carte une fois montée avec le TTGO peut s'intégrer dans la boite vendu par le TTGO
Pour par la suite être intégré à un tableau ou autre après téléversement
Il est possible d'imprimer 3D aussi un boitier, le fichier STL est disponible sur le git
https://github.com/xlyric/pv-router-esp32/tree/main/STL
Téléversement
Une fois l'ensemble monté, vous pouvez téléverser le firmware par l'interface web ou avec Visual Studio (pour les plus expert)
Vous aurez en principe un Pv routeur fonctionnel, une fois le Wifi configuré.
Passage en mode AP
Dans le cas où le wifi serait absent ou mal configuré, le microcontrôleur passe en mode AP (Access Point ) il crée donc un wifi sur lequel il est possible de se connecter ( PV-Routeur-Xxxx ) et le mot de passe est "PV-ROUTER"
Il est alors possible d'aller sur la page configuration ( http://192.168.4.1/config.html ) puis d'aller y configurer le SSID et le mot de passe de votre Wifi.
Préparation de l'alimentation 9V-AC à partir d'un élément de récupération ( déconseillé )
Voici comment recycler une alimentation 9V, cependant il arrive souvent que ça ne fonctionne pas.
Il faut ouvrir l'alimentation et retirer le pont à diode présent à l'intérieur.
Puis ressouder les sorties de la bobine au câble d'alimentation 12V
Votre alimentation 9VAC est ainsi prête.
Il est conseillé de vérifier avant la tension AC délivrée par l'alimentation.
11 - Fonctionnement et utilisation du routeur
Généralité
Le Routeur PhotoVoltaïque est en charge d'analyser le sens du courant au niveau du compteur électrique grâce à la sonde placée sur le fil de Phase.
Si le courant est positif, la maison consomme du courant venant du réseau électrique.
Si le courant est négatif, les panneaux solaire présent fournissent plus d'énergie que ce que consomme actuellement la maison.
Le but du Pv routeur est donc d'augmenter la puissance d'une charge distante pour compenser cette surproduction.
En général cette charge est une zone de stockage d'énergie ou de chaleur qui sera nécessaire à un moment ultérieur ( Eau chaude, chauffage de masse, batterie, VE ... )
On maximise donc l'autoconsommation de son installation Photovoltaïque, et l'on réduit son impact sur le réseau électrique. ( et les couts associés )
Détail de la partie Web.
Une fois le code téléversé (firmware et filesystem ) et l'ensemble du routeur monté, il est possible de se connecter avec son navigateur Web sur l'IP qui est affichée sur l'afficheur de votre PV routeur.
Vous pouvez donc consulter les informations remontées par le PV routeur.
Sur cette interface vous retrouvez une gauge avec la puissance demandée au réseau (Sigma, en W), la puissance demandée aux dimmers ( en % ) et la température (en °C) remontée par la sonde du 1er dimmer si existante.
Pour la puissance demandée au réseau il y a 3 états qui sont configurables :
- Stable : le PV routeur a stabilisé la consommation.
- Injection : Le Pv routeur va augmenter progressivement la charge pour stabiliser la consommation
- Grid : Le Pv routeur va réduire la charge pour limiter les besoins de la maison.
Sur cette interface, il y a aussi un bouton "ON/OFF Oled" qui est en charge d'allumer ou éteindre l'écran Oled du TTGO T-Display.
Cela peut juste être une temporisation d'allumage ou une extinction jusqu'à la prochaine pression du bouton.
( ON/OFF ou timer )
Cette temporisation est configurable dans l'interface web de configuration.
Ce bouton est aussi déporté sur le PV routeur, c'est le bouton de droite du TTGO
Configuration de la partie Web.
Sur la page de base (Dashboard), il y a un lien "Configuration" qui pointe vers la page /config.html
Cette page permet de configurer toute les fonctionnalités du routeur.
DIMMER :
Charge connectée: est la valeur (en W) de la plus petite charge connectée à vos dimmers présente dans votre installation.
Pour une bonne régulation il est déconseillé d'avoir des charges avec des puissances trop disparates.
Limiteur en % : Est la 1ere sécurité pour éviter de demander trop de puissance à vos dimmers.
la valeur se définie par la somme de toutes les puissances configurées dans les dimmers qui sont chainés à votre PV routeur.
Par exemple, votre 1er dimmer est limité à 80% de puissance et le 2 ème est limité à 40% .
la somme des 2 : "120" est donc à entrer dans la case Limiteur coté routeur.
Dimmer Distant : Est l'adresse IP de votre 1er Dimmer qui va réceptionner la commande du PV routeur
Dimmer Local : est la configuration de votre dimmer local si connecté avec sa puissance et température limite
Relay: il est possible d'activer des relais à partir de la carte, ces relais sont commandés en 3.3V par le Pv routeur mais doivent être alimentés par une source externe pour leur partie puissance.
- En hiver je veux optimiser autoconsommation quitte à consommer un peu plus :
- Delta :
- Deltaneg :
- En hiver je veux limiter au maximum ma facture quitte à injecter d'avantage :
- Delta : 0
- Deltaneg : -100
La correction d'offset est à configurer en cas de dérive de la sonde:
- Installez la sonde (tore de mesure) sur le Pv routeur (prise jack type audio)
- Ne passer aucun fil dans le tore
- Mettez sous tension le Pv routeur et regardez ce que l'affichage indique comme puissance instantanée
- Si l'affichage est différent de zéro (disons "-7") corrigez dans ce champ (dans cet exemple "7")
MQTT : ( Optionnel )
MQTT Serveur : IP du serveur MQTT qui collecte les informations du routeur ( principalement pour des logs )
Le routeur sais aussi s'enregistrer au niveau de Home Assistant, si le bouton HA est coché (Documentation)
MQTT Publish : Indique l'emplacement de la publication ( données compatibles Jeedom et Domoticz )
IDX POWER et IDX DIMMER : sont les ID configurés sur vos serveur de domotiques. ( Jeedom et Domoticz )
mettre "none" si non utilisé pour limiter l'envoie de messages.
Particularité du mode AP (access point)
Par défaut, si le wifi n'est pas configuré, le routeur se met en mode AP, il va créer son propre réseau wifi.
Le réseau Wifi sera de type PV-ROUTER-XXXX.
Le mot de passe sera PV-ROUTER
L'adresse IP du PV routeur sera 192.168.4.1
Si un dimmer a été configuré pour se connecter sur se réseau, le PV routeur le détectera automatiquement, et routera le surplus photovoltaique sur ce dimmer.
Pour des raisons d'usage, il n'est pour l'instant possible que de mettre 1 seul dimmer sur le réseau en mode AP.
12 - Fonctionnalités Spécifiques
Dimmer Local
Il est possible de brancher directement un dimmer en local sur la carte
Pour cela il faut brancher le dimmer sur les pin suivantes
PV ROUTER | DIMMER |
3.3 | VDD |
26 | PWM |
27 | ZC |
GND | GND |
et définir dans le fichier config.h
#define DIMMERLOCAL true
Passage en mode AP
Dans le cas où le wifi serait absent ou mal configuré, le microcontrôleur passe en mode AP (Access point ) il crée donc un wifi sur lequel il est possible de se connecter ( PV-Routeur-Xxxx ) et le mot de passe est "PV-ROUTER"
Il est alors possible d'aller sur la page configuration ( http://192.168.4.1/config.html ) puis d'aller changer le SSID et le mot de passe de votre Wifi.
le mode AP peut subvenir si le wifi a été perdu ou n'est pas disponible au retour du courant, le routeur rebootera alors après 6h d'uptime, pour tenter de se reconnecter au réseau.
40 - FAQ
Vous trouverez ici les différentes questions et retour utilisateurs
Alimentations qui ne fonctionnent pas
il y a pas mal d'alimentation qui sont dite AC en sortie mais avec un signal souvent très dégradé et donc ne fonctionne pas avec le montage :
Voici un exemple des alims testé et NOK :
Schéma de fonctionnement :
et le schéma avec l'alimentation
50 - Historique des mises à jour
20230331:
Correction d'un bug d'affichage de la température sur l'écran.
20230328:
Ajout d'une condition de reboot après 6h d'uptime si le Pv routeur passe en mode AP ( cas des box qui reboot suite à une coupure de courant )
20230327:
Passage en version 6.1 de l'OS Espressif -> nécessite une remise à jour par le site OTA ( pas par /update -> FS manquant )
20230324:
Support du jotta sur le pv routeur
Passage sur la version ESPhome de espasyncwebserver
20230323:
Passage en version 4.2 de l'OS Espressif
modification des tasks
correction du bug d'affichage de température
20230321:
correction de la latence des ping ( wifi en mode économie d'énergie )
20230320:
Affichage du RSSI sur l'écran
Correction de du bug de lecture sur dallas lente
optimisation de code et wifi AP
20230315:
ajout de commande flip et reboot dans le mode serial
correction sur page html
20230314:
création du mode serial pour la configuration du wifi et enregistrement en ROM
mise en place de la compression HTTP
20230312:
optimisation du firmware,
passage en json dynamique et uptime dans les logs
20230302:
correction de trame mqtt
correction du bug de lenteur sur le dimmer
2023:
- Routeur : amélioration de la réactivité
- correction déclaration MQTT
- Amélioration de la régulation
- Correction bug spam MQTT
- Amélioration de la gestion par HA,
- Ajout d'un bouton web pour faire rotation d'écran
- Changement de timers pour plus de réactivité
- Affichage de la dallas sur la page web
- Modification de la fonction de calcul
- Affichage de la dallas local sur l'afficheur
- Ajout de 2 switchs ( /get?relay1=x /get?relay2=x ( 0 off , 1 on , 2 bascule état )
2022 :
- Mise en place de la conf d'offset et voltage sur l'interface web
- Intégration dimmer local et distant par web ( filesystem )
- Ajout de logs web
- Correction mode AP et safe reboot ( 7 jours )
- Changement delay envoy
- Intégration Home assistant
- Correction bug wifi
- Sécurisation mqtt ( password )
- Correction spiffs
- STL 3D ( boite )
- Wifi mode AP et config auto dimmer AP
- Compatibilité Envoy et fronius
- Support de dallas local
- Mise en place du mode OTA web installer
- Mise en place des logs web
- Configuration du wifi et mqtt par l'interface web
- Intégration du mode AP par défaut avec nom de wifi personnalisé
- Mode access point (AP) pour les sites sans Wifi, et configuration automatique lors de la connexion d'un dimmer
- Compatibilité avec frontius et envoy S et R
- Reconnexion du Wifi en cas de perte du réseau
- Ajout de la température du 1er dimmer sur l'afficheur du TTGO
- Ajout de la fonctionnalité de mise en veille de l'écran ( nécessite une mise à jour du filesystem )
- Correction de l'envoie de données vers Jeedom via MQTT
- Translation en anglais des informations de l'afficheur
- Retrait de la librairie Emonlib.
- Impression de la carte V2 pour TTGO monté en SMD et compatible avec le boitier TTGO
2021
- Impression de la carte V1 pour TTGO monté en SMD
Mise à jour du 10/10/2021
- Support du TTGO-Tdisplay
- Passage du filesystem en LittleFS
- Correction de bug IDX et d'affichage
- Correction de la librairie fournis par Robotdyn
- Init Commit pour ESP32
2019
- Correction de bug IDX et d'affichage
- Mise en place de la page de configuration
- Correction d'affichage Oled
- Documentation
- Impression de la carte V3 pour lolin ou Wemos
- Support pour Domoticz
- Init Commit pour ESP8266
- Impression de la carte V2
- Impression de la carte V1
90 - mod dev Installation de Visual Studio Code
Pour transférer le code sur le microcontroleur ( ESP32 ou TTGO ) il est nécessaire d'installer Visual Studio Code.
Une fois installé, il faut installer le package PlateformIO qui servira par la suite pour tous vos projets et pas que pour le Dimmer ou le Pv routeur.
91 - mode dev Copie ou MAJ des sources du dépot
Les sources sont disponible sur le Github ( un serveur Web de dépôt de code )
une fois votre Visual Studio lancé, allez dans votre Terminal et tapez
git clone https://github.com/xlyric/pv-router-esp32.git
il va alors cloner le dépôt sur votre machine et vous pourrez adapter le code à vos besoin et le téléverser.
vous pouvez par la suite aller dans le répertoire créé lors de la commande
Dans le cas d'une mise à jour, vous pouvez remettre à jour votre code par la commande suivante
git pull
Configuration par défaut
Si vous souhaitez garder le routeur en mode Access point, vous n'avez rien à faire. juste téléverser le code
Si vous voulez l'utiliser sur votre réseau wifi, il faut configurer 1 fichier pour faire fonctionner le Routeur
Dans le répertoire Data qui contient les pages HTML, il faut renommer le fichier wifi.json.ori
en wifi.json et y entrer les paramètres de connexion de votre box internet
et idem pour le "config - dist.h" en config.h présent dans src/config/
il est conseillé aussi de renommer le fichier config.json.ori en config.json ( dans le répertoire data )
cela permet d'appliquer les valeurs par défaut.
92 - mode dev Téléversement du code en USB
Le Téléversement se fait avec Visual Studio Code (VS) en utilisant l'onglet PlateformIO
Lors de votre 1er Téléversement, vous devez brancher votre TTGO ou ESP32 à votre PC avec un câble USB
Grace à VS vous allez charger dans le microcontrôleur le firmware et les pages HTML du routeur
Il y a 2 téléversements à faire:
- l'un pour le firmware ( le code du système )
- l'un pour le filesystem ( les fichiers de configurations et le site web )
Par la suite vous pourrez directement envoyer le code en téléversement à distance avec la page /update du routeur
le fichier bin se trouve dans
PlatformIO\Projects\votre_projet\.pio\build\StandAlone
93 - mode dev Téléversement du code à distance
Le Téléversement se fait avec Visual Studio Code (VS) en utilisant l'onglet PlateformIO
votre code étant déjà présent sur le routeur, vous pouvez maintenant générer directement les fichiers binaires à envoyer.
En général, seul le Général Build est à faire.
Le Build Filesystem Image n'est là que pour remettre à jour les pages HTML lors d'évolutions de fonctionnalités.
une fois le build fait :
il indique le répertoire où se trouve le firmware. Il faut prendre le fichier avec l'extention .bin associé donc ici firmware.bin
il ne reste plus qu'a se connecter avec le navigateur internet sur votre pv routeur et aller sur la page /update
et à téléverser le firmware
Cas d'une mise à jour du Filesystem
Dans le cas de la mise à jour du Filesystem ( fichier HTML ), c'est la même procédure, il faut juste prendre le binaire Filesystem et sélectionner Filesystem. ( le .bin )
Attention: avant téléversement il est important de vérifier que le fichier data/wifi.json est présent sur votre dépôt et contient bien les informations de connexion à votre box internet.
il est aussi préférable avant la mise à jour de sauver sa configuration en allant sur la page web /config.json et de copier/coller les informations dans le config.json de votre dépôt ( ou le sauvegarder dans un fichier tier )