Routeur Solaire

Routeur Solaire

Documentation sur le routeur solaire

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" : 

image-1665674744902.png

Dans la fenêtre qui s'ouvre, sélectionnez le port série sur lequel est connecté le TTGO

image-1665674872288.png

Sélectionner "INSTALL PV ROUTER TTGO"

image-1665674808027.png

Validez le message d'installation. 

image-1665674840508.png

Le programme est téléversé :

image-1665674918358.png

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" 

image-1678909501107.png

image-1678909558863.png

à 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

image-1678909726040.png

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 )

image-1665675023350.png

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.

image-1648140294690.jpg

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 

image-1648139842187.png

Amazon...

La sonde SCT013-30A 

Amazon 

image-1648139910136.png

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

image-1648140231834.png

Les alimentations 9V AC en standard sont très rares. 

Une alimentation USB classique ( 1A ) 

image-1648140103860.png


La carte une fois montée avec le TTGO peut s'intégrer dans la boite vendu par le TTGO

image-1648140379598.jpg

Pour par la suite être intégré à un tableau ou autre après téléversement

image-1648140411579.jpg

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

image-1648140815878.jpg

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.

image-1648140564635.png

Puis ressouder les sorties de la bobine au câble d'alimentation 12V

image-1648140538306.png

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. 

image-1677786823452.png

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

image-1648219622636.png

Configuration de la partie Web.

Sur la page de base (Dashboard), il y a un lien "Configuration" qui pointe vers la page /config.html

image-1648219745425.png

Cette page permet de configurer toute les fonctionnalités du routeur. 

image-1677787059083.png

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

image-1677787365112.png

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.


image-1677787470003.png

Limite Consommation (Delta) : Est la valeur de la puissance à partir de laquelle le PV routeur va réduire la puissance du dimmer

Limite Injection (deltaneg) : Est la valeur de la puissance à partir de laquelle le PV routeur va augmenter la puissance du dimmer
Exemple d'usage:
  • 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

Le COSPHI représente le décalage entre la porteuse de synchro et le réseau, cette valeur est par défaut à 5
Il n'est pas conseillé d'y toucher.
Idem pour le facteur de correction.

La correction de voltage peut se faire dans les cas d'installation ayant une tension moyenne différente de 230V.
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")
Dans le cas où la sonde SCT013 serait branchée à l'envers et donc envoie une valeur négative au lieu de positive, il faut soit inverser le sens de la sonde sur le fil, soit décocher le bouton "polarité".
Note: le sens de cette "polarité" dépend du branchement de l'alimentation électrique sur le Pv Routeur (en tous cas pour la nouvelle version de la carte Pv Routeur) si après un démontage/remontage la valeur est inversée c'est simplement que vous avez inversé le câblage par rapport à la fois précédente.
Pour préserver la durée de vie de l'afficheur (un Oled ne survit pas très longtemps allumé en permanence), il peut être allumé à la demande :

image-1648220626300.png

La valeur 0 indique que l'afficheur est en mode ON/OFF.
Une autre valeur représente le nombre de seconde avant son extinction.

Le bouton Flip sert à faire une rotation de l'écran, suivant les besoins et installation. 

Le bouton "application des paramètres" applique les valeurs provisoires au routeur.

image-1648220674861.png

ATTENTION : ces valeurs ne sont pas définitives et enregistrées en mémoire. Elles sont enregistrées en mémoire et permettent de tester la validité de la configuration, la configuration sera réinitialisée au prochain reboot.
Pour appliquer définitivement votre configuration il faut la valider par le bouton  en haut de la page de configuration:

image-1648220787774.png

Les liens du menu de gauche permettent de configurer la connexion au Wifi, le serveur MQTT et les configurations rattachées. 
La console log permet de consulter les dernières remontées, le lien OTA permet les mises à jour à distance (pour télécharger les nouveaux firmwares : https://ota.apper-solaire.org/ota.php )

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)

image-1677788017723.png

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

image-1656686990224.png

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 :

image-1657003257058.png


Schéma de fonctionnement : 

image-1659085606434.1_2022-07-29.png

et le schéma avec l'alimentation 

image-1681719713479.png


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

image-1648138865148.png

2021

  • Impression de la carte V1 pour TTGO monté en SMD

image-1648138817928.png

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

image-1648138727532.png

  • Support pour Domoticz
  • Init Commit pour ESP8266
  • Impression de la carte V2

image-1648138520166.png

  • Impression de la carte V1

image-1648138482208.png

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. 

image-1648136080114.png

vous pouvez par la suite aller dans le répertoire créé lors de la commande

image-1648136251752.png

Dans le cas d'une mise à jour, vous pouvez remettre à jour votre code par la commande suivante 

git pull

image-1648136329142.png

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

image-1648136519736.png

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 ) 

image-1654844236864.png

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

image-1648136519736.png

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. 

image-1648136931479.png

une fois le build fait : 

image-1648137170040.png

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 

image-1648137301517.png

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 )