PV routeur et Dimmer Numérique 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" : 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_wifipass mot_de_passe_wifireboot 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 Amazon 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. 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 : 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. 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: 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) 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 routeurPassage 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'écranCorrection de du bug de lecture sur dallas lenteoptimisation 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 ROMmise en place de la compression HTTP20230312:optimisation du firmware,passage en json dynamique et uptime dans les logs20230302:correction de trame mqttcorrection 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.orien wifi.json et y entrer les paramètres de connexion de votre box internetet 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 ) Dimmer Numérique Documentation sur la réalisation et l'installation du dimmer numérique 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.Rendez vous sur la page https://ota.apper-solaire.org/ota.phpSi vous n'avez pas installé précédament le drivers CH340 pour votre wemos, il est ici : https://www.wemos.cc/en/latest/ch340_driver.html Sélectionnez le type de Dimmer Robotdyn que vous souhaitez contrôler : Standalone : Wemos simple pour connecter un Dimmer 16-20A PowerSupplyACdimmer : Connexion de l'ancienne version du dimmer Rotobdyn SSR Jotta : Connexion d'un Jotta sur Wemos PowerSupply2022 : Connexion de la nouvelle version du dimmer Rotobdyn ( nécessite une prise TTL-USB ) Dans la fenêtre qui s'ouvre, sélectionnez le port sur lequel est connecté le microcontrôleur Sélectionner "Install " ( Ici le Wemos Alone ) validez le message d'installation Le programme est téléversé Une fois fini, il ne reste plus qu'a se connecter au Wifi créé et à renseigner son wifi L'application est installée et prête à être utilisée.02 - Configuration du Wifi Le code dimmer utilise la librairie Wifi autoconnect au 1er téléversement du firmware, il va créer un wifi "dimmer"une fois l'utilisateur connecté à ce Wifi, le navigateur va renvoyer vers la page http://192.168.4.1 pour vous demande de configurer votre Wifi il mémorisera vos infirmation de connexion Wifi même après une mise à jour du firmware. Pour plus de détailles: https://www.raspberryme.com/wifimanager-avec-esp8266-connexion-automatique-parametre-personnalise-et-gestion-de-votre-ssid-et-mot-de-passe/ Réinitialisation du WiFI Pour par exemple passer en mode AP, il est possible de réinitialiser la connexion automatique du wifiPour cela il faut aller sur la page "/resetwifi" et permettra de pouvoir de nouveau se connecter sur le wifi désiré en reprenant la procédure de configuration du Wifi depuis le début. Spécificité du mode AP dans le cas où le Pv routeur a été configuré en mode AP, le dimmer peut se connecter dessus en configurant le Wifi, le routeur apparait sous le SSID "PV-ROUTER-XXXX" le mot de passe pour se connecter dessus est "PV-ROUTER" le dimmer sera automatiquement reconnu par le Pv routeur sans aucune autre configuration coté Pv routeur. Il est cependant déconseillé et à utiliser principalement pour des démonstrations. 03 - Montages des dimmers CONSIGNE de sécurité Le dimmer est en contact direct avec du 230V, les risques de lésions sont réel, il ne faut pas faire n'importe quoi.Le montage doit toujours être derrière un fusible et une installation électrique au norme ( protection 30mA ).On débranche avant d'intervenir.On trouve une boite adaptée à l'électricité et au feu.On ne branche pas en USB son Wemos D1 si de l'autre coté c'est branché sur le 230. Montage Spécifique Dimmer Robotdyn Il y a différent type de dimmer Robotdyn, le principe est en général simple : un ESP8266 contrôle un dimmer, et des pins sont utilisées pour installer la sonde dallas Le dernier modèle tout intégré nécessite malheureusement un adaptateur TTL/USB pour la 1er programmation. tous les modèles de dimmer disponible chez eux se trouve ici : https://fr.aliexpress.com/item/32802025086.htmlnous vous déconseillons le modèle identique à la photo suivante, car il est limité en puissance ( 1000W grand max ) Le modèle 16-20A est bien plus adapté au quotidien, même si il nécessite de le brancher à un wemos D1 mini.Dans un avenir proche, l'association mettra à disposition une carte prémontée qui comprends la majeur partie des éléments pour faire fonctionner son dimmer simplement et rapidement ( juste l'achat du dimmer et du wemos sera à faire , voir plus bas) Dimmer Robotdyn 2022 avec Alimentation intégrée et ESP8266 le jumper entre VDDet 3.3V doit être retiré pendant la programmation TTL puis remis lors du branchement de l'ensemble sur le 220V AC les mises à jour ultérieur peuvent se faire directement à partir du navigateur Web (voir la section : téléversement du code à distance ) Il faut alors prendre la version Robotdyn Powersupply Version 2022sur le site de téléchargement. La sonde Dallas utilise les pins suivantes Pin 14 GND Pin 12 Data Pin 02 VCC Les emplacements 16 et TX ne sont pas utilisé ici, mais l'usage d'une fiche à 5 entrée facilite l'installation Dimmer Robotdyn 2021 avec Alimentation intégrée et ESP8266 C'est la version précédente du Dimmer Il faut juste le brancher en USB et sélectionner la version Robotdyn Powersupply Version 2021 sur le site de téléchargement. La sonde Dallas se connecte: DATA sur  D2 #define ONE_WIRE_BUS D2 Robodyn Solo / Wemos et dimmer séparé L'installation d'une version solo du dimmer n'est pas plus compliqué, Le Wemos D1 mini se programme avec la version StandaloneES32 ESP8266  !!!A CONTROLER !!! sur le site. La suite du montage est simple à réaliser, il faut relier la pin D7 pour la dallas ( avec la carte fille ) sur DATA #define ONE_WIRE_BUS D7 D5 pour le PWDD6 pour le Zerocross ( ZC ) GND sur GND et VCC sur 3.3V Branchement des dimmers Robotdyn Pour les dimmer, Le neutre est commun avec la source résistive alimentée. Il faudra brancher la phase du 230V sur IN et le 2eme fil de la charge résistive sur Out Dimmer JOTTA Le Wemos D1 mini se programme avec la version Wemos + SSR JOTTA sur le site. La suite du montage est simple à réaliser, il faut relier la pin D2 pour la dallas ( avec la carte fille ) sur DATA #define ONE_WIRE_BUS D2 // dallas Le JOTTA en D1 ( + ) #define JOTTA  D1 et sa masse en GND ( - ) La partie alimentation du ballon se fait par les connecteurs ~ et en série avec le ballon ou la charge résistive. Dimmer sur carte Din: à l'écriture de ses lignes, une carte préconstruire pour mettre un dimmer de type Embedded 16A-600V est en cours de tests, dans le but de simplifier la construction des dimmers. Cette carte sera au format Din et donc intégrable à un tableau électrique. Il sera possible de rajouter des fonctions tel qu'un ventilateur, des commandes de relay ou un autre modèle de dimmer.après test et non convaincu du format Embedded, la carte sera plus petite et il suffira de brancher le wemos et un des différents dimmers dessus. la future Montage boîtier avec gros radiateur https://forum-photovoltaique.fr/viewtopic.php?f=110&t=41777&start=4620#p681069 04 - Fonctionnalités Configuration : Configuration par défaut : Par défaut pour protéger le dimmer, la puissance max délivrable est de 50%, il est possible d'augmenter cette valeur, cependant il faut bien respecter la puissance admissible par le dimmer. Les données transmise par le constructeur étant un peu optimiste, il est conseillé de ne pas dépassé 900W sur les dimmer pouvant en principe aller à 8A, le MOSFET chauffe trop et nécessite un refroidissement, et une surchauffe fini toujours par la destruction du dimmer. Les consignes envoyé au routeur vont de 0 à 100 La configuration du serveur MQTT, est principalement là pour la remonté de logs, mais certaines options du dimmer peuvent être manipulé avec Home Assistant La sonde Dallas sert de sécurité thermique pour les usages spécifiques comme la surveillance de la température d'un ballon d'eau chaude. Lorsque la température Max sera atteinte, elle coupera la puissance du dimmer, jusqu'à ce que la température baisse de 10% de la consigne.Cette sécurité est modifiable sur la page de configuration. Fonctionnalités spécifiques : Fonctionnalité Dimmer: Le dimmer peut fonctionner nativement en mode parent/enfant, il est possible de coupler un 2eme dimmer derrière le 1er dimmer en configurant l'IP dans l'interface. Il y a  2 modes disponible : "equal" qui va envoyer la commande reçu aussi à l'enfant "delester" qui va envoyer le surplus vers l'enfant. Si la sonde de température arrive à la limite, l'enfant récupère dans tous les cas la commande reçu. Il est possible du coup de chainer X dimmers sur 1 seul routeur les commandes se font en HTTP Particularité Home Asistant et MQTT: Le dimmer est reconnu par Home assistant et peut s'autodéclarer si la configuration MQTT est bonne. Il est possible du coup de partager la sonde de température sur un topic et qu'elle soit partager à d'autre dimmers qui s'inscrirons sur ce topicil est aussi du coup possible d'inscrire le ou les dimmer sur le topic de home assistant pour créer un pool de dimmer qui seront contrôlé par un routeur ou directement par HA. Il est alors possible de commander directement dans l'interface web, le moment où il va se mettre en route en fonction de la consigne demandé par le routeur. par exemple: un dimmer peut commencer à fonctionner si la consigne dépasse 0, le 2eme routeur peut être configuré pour une consigne supérieur à 50. Relay et ventillateurs: il est possible de rajouter des relays ou un ventillateur sur votre montage. il est nécessaire de les alimenter dans la mesure où le wemos n'aura pas assez d'énergie pour commander en direct les relays. Le ventilateur se mettra automatiquement en route dès qu'une consigne est reçu. les relays sont commandables par requete Web /get?relay1={0,1,2,3} /get?relay2={0,1,2,3} Les options possible sont 0 : off 1 : on 2 : switch on->off ou inversement Autre valeur : remonte l'état du switch Fonctionnalité Web : Certaines fonctions sont disponibles au niveau de l'interface Web : ou par requêtes HTTP /reset Permet un reset soft du dimmer /resetwifi Permet de changer la configuration Wifi /update Permet un téléversement OTA du code /?POWER=xx Permet de changer la puissance demandée Mode AP Le mode access point est possible pour se connecter directement au Pv routeur en l'absence de wifi, le routeur peut créer son propre Wifi et le dimmer sera reconnu automatiquement dès sa connexion. Ce mode est à éviter et est là principalement pour les démonstrations Salon. 10 - Historique des mises à jour 2023 Correction de la librairie Robotdyn ( linéarité puissance ) Correction de la librairie Robotdyn ( scintillement ) Amélioration de la gestion par HA. Sauvegarde de la configuration par MQTT Ajout du nom dans l'interface pour reconnaissance plus facile ( MAC adresse ) Inscription des dimmers sur topics pour commandes distribuée Augmentation de la réactivité Correction bugs 2022 Sécurisation mqtt ( password ) Intégration Home assistant Mise en place OTA web Wifi mode AP et config auto dimmer AP 2021 Version 1 esp8266 90 - mode 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-discharge-Dimmer-AC-Dimmer-KIT-Robotdyn.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. PS C:\Users\c_lyr\Documents\PlatformIO\Projects\1> git clone https://github.com/xlyric/PV-discharge-Dimmer-AC-Dimmer-KIT-Robotdyn.gitCloning into 'PV-discharge-Dimmer-AC-Dimmer-KIT-Robotdyn'...remote: Enumerating objects: 179, done.remote: Counting objects: 100% (179/179), done.remote: Compressing objects: 100% (136/136), done.Recote: Total 179 (delta 90), reused 119 (delta 38), pack-reused 0 eceiving objects: 75% (135/179)Receiving objects: 100% (179/179), 630.36 KiB | 2.58 MiB/s, done.Resolving deltas: 100% (90/90), done. vous pouvez par la suite aller dans le répertoire créé lors de la commande Resolving deltas: 100% (90/90), done.PS C:\Users\c_lyr\Documents\PlatformIO\Projects\1> ls Directory: C:\Users\c_lyr\Documents\PlatformIO\Projects\1Mode LastWriteTime Length Name---- ------------- ------ ----d---- 10/03/2022 16:53 pv-router-esp32 Dans le cas d'une mise à jour, vous pouvez remettre à jour votre code par la commande suivante git pull Configuration par défaut Il n'y a rien à configurer en plus dans le dimmer,il faudra juste par la suite téléverser la version correspondante au dimmer. La configuration du Wifi se fait en Wifi autoconnect.Il crée un Wifi "dimmer" avec une interface web accessible en 192.168.4.1 qui permet de configurer son Wifi perso. 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 ESP, wemos ou adaptateur TTL/USB pour programmation Il y a différentes version de disponibles en fonction de ce vous utilisez comme dimmer PowerSupplyACdimmer est utilisé pour l'ancienne version du dimmer de Robotdyn, c'est la version la plus simple à installer, elle était compatible avec les cartes filles fournis avec le PV routeur V1.2 TTGOla puissance max conseillée est de 5A ( et non 8A comme indiqué par le constructeur ) ( D0 et D1(zc) sont utilisé ) la sonde Dallas utilise D2 StandAlone est utilisé pour ajouter par la suite un dimmer Robotdyn sur votre ESP.il existe différente version supportant plus ou moins de puissance, sur le podèle le plus petit la puissance max conseillée est de 5A ( et non 8A comme indiqué par le constructeur ) sur le modèle 16A, je pense qu'il ne faut pas dépasser 12A -> ~2500W ( à tester )( D5 et D6(zc) sont utilisé ) La sonde Dallas utilise D7 ( voir la section : Montage Spécifique ) SSR-JOTTA est utilisé pour contrôler en direct un SSRLe - se connecte sur le GND et D4 sur le + du Jotta La sonde Dallas utilise D2 POWERSUPPLY2022 est pour la version 2022 du dimmer Robotdyn.il nécessite un adaptateur TTL pour la 1ere programmation. le jumper entre VDDet 3.3V doit être retiré pendant la programmation TTL puis remis lors du branchement de l'ensemble sur le 220V La sonde Dallas utilise les pins suivantes Pin 14 GND Pin 12 Data Pin 02 VCC ( voir la section : Montage Spécifique ) Une fois la version choisie , grâce à VS vous allez charger dans le microcontrôleur le firmware et les pages HTML du routeur Par la suite vous pourrez directement envoyer le code en téléversement à distance avec la page /update du routeur 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 où se trouve le répertoire du 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.  (  avec l'extension .bin ) FAQ FAQ Routeur Parce que parfois l'on tombe sur un os en tentant de faire son routeur ; voici une liste des questions fréquentes: Je n'ai pas compris l'histoire du limiteur en % ? Le limiteur en % n’est pas un % de la valeur saisie en charge connectée, mais une consigne envoyée au dimmer.Cette consigne est ajustée en fonction des paramètres de chaque dimmeur ( starting pow, minpow et maxpox )Le dimmeur recoit (consigne du routeur – startingpow), l’ignore si le résultat est sous minpow, et applique cette valeur jusqu’à maxpow. par exemple pour 2 dimmer présents avec une puissance max de 75% en mode délestagela valeur a entrée dans le routeur est la somme des 2 dimmers ( 75+75 = 150 ) dans tous les cas ce sont les dimmers qui limitent leurs propres puissance, une valeur supérieur à la somme des 2 dimmers n'a pas d'incidence, c'est juste une sécurité en plus. Pour la puissance, il faut mettre quel valeur ? Le choix de l’ampérage du dimmer se fait en fonction de la charge connectée, et pas de la puissance que l’on souhaite router. Dans le cas de plusieurs dimmers, il est préférable de prendre la plus grande des valeur des charges connectée. le routeur saura s'adapter.Evitez quand même de mettre une charge de 10W sur un dimmer et un autre dimmer avec une de 1500W, la régulation se basant sur les 1000W ralentirait trop l'asservissement au niveau des 10W.  ( il est préférable d'éviter un trop gros facteur entre les résistances. ) Le routeur va tenter dans tous les cas de viser entre les valeurs delta et delta neg.Il est donc important de ne pas viser une plage trop fine FAQ Dimmer Parce que parfois l'on tombe sur un os en tentant de faire son Dimmer; voici une liste des questions fréquentes: Les réponses sont classé par type de dimmer. Questions Communes à tous les dimmers Comment on le branche sur un ballon d'ECS ? En général on isole une résistance du ballon ( sur un ballon stéatite ) et on le branche sur le dimmer. ( on désolidarise au niveau bornier steatite et tu peux identifier tes résistances avec un ohmmètre,) Au niveau du dimmer il faut mettre la phase 230V sur l'entrée IN et relier à la résistance sur OUT. le Neutre est commun entre le dimmer et la 2eme patte de la résistance su ballon. Ou est ce que je met la sonde Dallas sur un ballon classique ? Sur un ballon classique, il y a toujours un puit pour la sonde. si la sonde ne passe pas, il est toujours possible de placer la sonde sur la partie cuivre qui dépasse. la sonde dallas se branche directement sur le dimmer Robotdyn ? sans résistance ? Il est fournis avec la carte du pv routeur, une carte fille, qui en plus d'un bornier pour attacher la dallas, contient une résistance de 5.6kohms dessus. Dans la mesure où avec l'expérience il est préférable d'utiliser des dimmers 16/24A, une carte au format din plus facile à intégrer va être proposée. Mon dimmer chauffe, est ce qu 'il est prévue une sortie pour un ventilateur Oui, il y a une sortie qui est commandée en automatique sur le wemos, mais celui ci peux délivrer suffisament de courant pour le faire tourner, il faut donc soit un contact sec en plus, soit un transistor ou optocoupleur. La sortie est la pin D7 configurable dans le fichier config.hIl y a aussi la possibilité de mettre des relais sur 2 autres sorties. Le dimmer accepte quel puissance ? Pour les Dimmer dit "8A" dans la réalité, ils supportent difficilement plus de 1000W sans ventilateurs. Pour les 20A, ça semble aller mieux, mais il est déconseiller de se fier aux spécifications et garder une marge.Dans tous les cas, même avec 700W de puissance, un ballon se remplis très rapidement. ( 4-5h max ) quelque soit la version, certains y placent en plus un ventillateur. pour la version 16-20A, certains remplacent carrément le Triac par un BTA40 800B, plus résistance en plus de changer le radiateur ( supporte sans problème 2000W ) Les liens Aliexpress :Le triac 40ALe radiateur Est ce que je peux garder l'électronique d'origine en plus du dimmer ? Oui, il est toujours possible de garder l électronique d'origine et n'isoler qu'une résistance. sur le schéma suivant, il est important de désolidariser l'une des résistance pour le dimmer et garder le montage d'origine pour le reste. Il est en général utilisé un minuteur ou un contacteur jour/nuit pour la partie d'origine. Le ballon ne se déclenchera que pour faire le complément. Dimmer Robotdyn 2022 avec Alimentation intégrée et ESP8266 On fait comment pour le programmer ? Pour le programmer, il faut obligatoirement un adaptateur TTL vers USB.il faut retirer le jumper présent et brancher son adaptateur sur le VDD- GND - RX -TX et qu'il ne soit pas branché sur le 230V. Il faut ensuite appuyer sur le bouton "prog" avant de brancher la prise USB.il est alors dans la configuration pour être programmé par le site web. Quand je veux le programmer, ça ne fonctionne pas ? Il faut appuyer sur le bouton "prog" avant de brancher la prise USB.il est alors dans la configuration pour être programmé par le site web. Dimmer en Standalone avec un dimmer C'est quoi le montage ? Comme indiqué dans le config.h la pin D2 pour la dallas D5 pour le PWDD6 pour le Zerocross ( ZC ) Mon dimmer passe son temps à s'allumer et s'éteindre. Ce genre de cas indique qu'une régulation coté routeur n'arrive pas à être faite, il est possible que la valeur de charge indiqué sur le routeur ne corresponde pas à la valeur de la charge connecté sur le dimmer. Il est possible aussi 2 cas : C'est une vieille version du programme et depuis début mars 2023, la librairie Robotdyn a été corrigé par nos soins Il y a eu une inversion entre delta et delta neg, ce qui ne peux plus arriver depuis les version de mars 2023 Dimmer local ou dimmer wifi ? Ce routeur a été créé initialement car la distance entre mon ballon et le tableau électrique était trop éloignée. du coup au lieu de tirer un câble de plus, j'ai préféré faire une liaison wifi. de plus sur la version simple du dimmer ( pas la version din ), esthétiquement parlant ça va faire très moche une liaison locale. ( la taille de la carte a été pensée initialement pour correspondre à la taille de la boite du TTGO -Tdisplay pour limiter l'impact écologique. ) Enfin dans la mesure où l'environnement peut avoir plusieurs dimmers, le dimmer wifi est plus simple à utiliser. Quel Dimmer Choisir ? Avec l''expérience, je préconise le dimmer le plus gros : nos fournisseurs chinois sont un peu beaucoup optimistes sur les puissances possibles... et donc la version 24A est d'entrée de jeu à utiliser pour plus de sécurité. ( la 8A supporte 900W pas plus.. ) Personnes ayant bossé sur le projet Initialement ce projet a débuté en 2019 et plusieurs personnes y ont contribué et j'ai surement oublié du monde ^^ Cyril Poissonnier (clyric) :  qui a débuté le projet et fait la grosse partie du code et des cartes actuelles. <- c'est moi ^^ Rémy K. (Antibill51) : pour les grosses fonctionnalités sur HA, et la correction de pas malm de bugs ) Thierry Poirrier (Titi) : pour toutes ces idéés qui ont fait évolué le projet et surtout les cartes. Frédéric Lacroix : pour la connexion avec la version 7 de l'Envoy Multinet33 : pour certaines évolutions. Tantale : Spécialiste pour tomber sur les bugs les plus pourris et improbables. Wallou1981: Pour son idée de l'usage des Shelly EM Vevere: pour ses heures au tel à corriger des trucs cosmétiques. Glossaire C'est quoi ces mots ? c'est du martien ? AP : Access Point, création d'un wifi autonome. Dallas : (sonde) Aussi chaud que JR, il remonte la température mesurée au programme. ECS : Eau chaude sanitaire ESP8266 - ESP32:  c'est le type de micro contrôleur utilisé (sa technologie interne) Micro contrôleur : petit ordinateur sur un composant qui va exécuter le programme. OTA : (Over The Air)  programmation à distance, souvent par interface web. PlateformIO: module complémentaire à Visual Studio  pour le support des objets connectés. Stéatite: Type de Résistance d'un ballon, qui n'est pas directement en contact avec l'eau. Visual Studio Code :  programme fait par Microsoft pour compiler le programme. WEMOS : c'est un microcontrôleur. Home Assistant Le pv routeur étant compatible avec Home Assistant, voici une documentation pour passer le pas et installer une machine Home Assistant Prérequis Il est fortement préférable d'avoir un raspberry Pi avec un disque SSD ou une VM équivalente. Il existe un OS dédié pour Raspberry ( HAOS ) et c'est le plus simple à installer. Installation home-assistant L'installation est assez simple et il est possible de s'appuyer sur la doc suivante https://www.home-assistant.io/installation/Démonstration Installation mqtt j'ai suivis cette doc https://devotics.fr/installer-mqtt-sur-home-assistant/ dans configuration logins:- username: mosquitto password: test-123démarrerCoté Pv routeur, la configuration est simple. http://IP_PVROUTER/mqtt.html > IP_HA > bouton HA est coché> application des paramètres + http://IP_PVROUTER/config.html sauvegarder + http://IP_PVROUTER/reboot http://IP_DIMMER/mqtt.html > IP_HA > application des paramètres + http://IP_DIMMER/config.html sauvegarder + http://IP_DIMMER/reboothttp://IP_HA:8123/config/integrations apparait 2 appareils et 22 entités (ils faut entre 2 et 10 minutes) Configuration energy W en WH en s'appuyant sur cette documentation https://www.home-assistant.io/integrations/integration/ Integration - Riemann sum integralhttp://IP_HA:8123/config/helpers+ Créer une entrée Intégrale de Reimannsensor.sensor_grid_ab98_kwhsensor.grid_ab98 idem avec sensor.inject_ab98http://IP_HA:8123/config/energyRéseau électrique > Consommation du réseau > sensor.grid_ab98_KwhRéseau électrique > Retourné au réseau > ensor.inject_ab98_KwhPanneaux solaires > Production solaire > Envoy Lifetime Energy Productionhttp://IP_HA:8123/energy Configuration power-flow-card il faut HACS suivre en ajoutant ce plugin  https://forum.hacf.fr/t/hacs-ajoutez-de ... lisees/359http://IP_HA:8123/hacs/frontend > + explorer > Power Flow Cardhttp://IP_HA:8123/dashboard-jbb/default_view tableau de bord j'ai rajouté une carte power-flow-cardtype: custom:power-flow-cardentities:grid: sensor.grid_ab98solar: sensor.envoy_121516040890_current_power_production Configuration Picture Elements Card plan http://IP_HA:8123/dashboard-jbb/default_view tableau de bord j'ai rajouté une carte type: picture-elementsimage: local/jbb/plan-32-lafontaine-rdc-1er.pngelements: - type: state-label    entity: sensor.dimmer_temperature_2ea1    style:      top: 65%      left: 55%      color: '#000'      border-radius: 50%      text-align: center      background-color: rgba(255, 255, 255, 0.3)      font-size: 10px      font-weight: bold  - type: state-label    entity: sensor.dallas_ab98    style:      top: 50%      left: 80%      color: '#000'      border-radius: 50%      text-align: center      background-color: rgba(255, 255, 255, 0.3)      font-size: 10px      font-weight: bold  - type: state-label    entity: sensor.dimmer_ab98    style:      top: 65%      left: 45%      color: '#000'      border-radius: 50%      text-align: center      background-color: rgba(255, 255, 255, 0.3)      font-size: 10px      font-weight: bold  - type: icon    icon: mdi:transmission-tower    entity: sensor.grid_ab98    style:      top: 50%      left: 97%      color: blue  - type: state-label    entity: sensor.grid_ab98    style:      top: 53%      left: 97%      color: blue      font-size: 8px  - type: icon    entity: sensor.envoy_current_power_production    icon: mdi:solar-power    style:      top: 58%      left: 97%      color: yellow  - type: state-label    entity: sensor.envoy_current_power_production    style:      top: 61%      left: 97%      color: yellow      font-size: 8px  - type: icon    entity: sensor.meter-gas    icon: mdi:meter-gas    style:      top: 66%      left: 97%      color: yellow  - type: state-label    entity: sensor.meter-gas    style:      top: 69%      left: 97%      color: yellow      font-size: 8px  - type: icon    entity: sensor.water    icon: mdi:water    style:      top: 73%      left: 97%      color: cyan  - type: state-label    entity: sensor.water    style:      top: 76%      left: 97%      color: cyan      font-size: 8px Afficheur Oled des valeurs  un wemos et un afficheur Oled, et le tout tourne sous ESPHOME connectique en GPIO 4 et 5 + GND et VCC ( mais 3.3V semble mieux ) et le STL : https://www.thingiverse.com/thing:2884823 esphome: name: esphome-web-b9f898 friendly_name: ESPHome retour Oled 2esp8266: board: esp01_1m# Enable logginglogger:# Enable Home Assistant APIapi: encryption: key: "xxxxx"ota:wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esphome-Web-" password: "xxxx"###rajouté une font dans le répertoire de home assistantfont: - file: "fonts/ArialCE.ttf" id: my_font size: 14mqtt: topic_prefix: esphome/e5406 id: mqtt_client broker: !secret mqtt_broker username: !secret mqtt_username password: !secret mqtt_passwordtext_sensor: - platform: mqtt_subscribe name: "Prod" id: Prod_sign_text topic: domoticz/in/29 #Pzem/29 #radiateur/temp on_value: then: lambda: | id(Prod_text).publish_state(x); - platform: mqtt_subscribe name: "Conso" id: Conso_sign_text topic: domoticz/in/100 #Pzem/29 #radiateur/temp on_value: then: lambda: id(Conso_text).publish_state(x); - platform: mqtt_subscribe name: "Ballon Temp" id: Lixee_sign_text topic: domoticz/in/200 #Pzem/29 #radiateur/temp on_value: then: lambda: id(Lixee_text).publish_state(x); - platform: mqtt_subscribe name: "Dimmer Power" id: dimmer_sign_text topic: domoticz/in/110 on_value: then: lambda: id(dimmer_text).publish_state(x); - platform: template id: Prod_text internal: true - platform: template id: Conso_text internal: true - platform: template id: Lixee_text internal: true - platform: template id: dimmer_text internal: truei2c: sda: GPIO5 scl: GPIO4 scan: false id: bus_adisplay: - platform: ssd1306_i2c model: "SSD1306 128x64" address: 0x3C id: mydisplay update_interval: 15s lambda: |- const char * text = id(Conso_text).state.c_str(); const char * textprod = id(Prod_text).state.c_str(); const char * textlixee = id(Lixee_text).state.c_str(); const char * textdimmer = id(dimmer_text).state.c_str(); it.printf(0, 0, id(my_font), "Conso: %s", text); it.printf(0, 16, id(my_font), "Prod: %s", textprod); it.printf(0, 32, id(my_font), "ECS: %s", textlixee); it.printf(0, 48, id(my_font), "Dim: %s", textdimmer);Actualités Les retours Fabrication boitier Installation de la carte dimmer dans un boitier électrique