# 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élestage  
la 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,)

**[![image-1665859667812.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665859667812.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665859667812.png)**

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

**[![image-1665859076416.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665859076416.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665859076416.png)**

> ##### **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. ![](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-06/scaled-1680-/image-1656601782858.png)**

**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.h  
Il 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.**

**[![image-1665859985961.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665859985961.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665859985961.png)**

**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 40A](https://fr.aliexpress.com/item/1005001762265497.html?spm=a2g0o.order_list.order_list_main.25.6a885e5bcyHNsw&gatewayAdapt=glo2fra)  
[Le radiateur](https://fr.aliexpress.com/item/32241107174.html?spm=a2g0o.order_list.order_list_main.37.6a885e5bcyHNsw&gatewayAdapt=glo2fra)**

[![image-1679154970005.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/scaled-1680-/image-1679154970005.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/image-1679154970005.png)

> ##### **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.**

**[![image-1665859906580.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665859906580.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665859906580.png)**

  
**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**

**[![image-1665674414361.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665674414361.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665674414361.png)**

> ##### **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 ?**

**[![image-1665858548636.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665858548636.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665858548636.png)**

**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**

<div id="bkmrk-la-pin-d2-pour-la-da"><div>**la pin D2 pour la dallas** </div></div>**D5 pour le PWD**  
**D6 pour le Zerocross ( ZC )**

**[![image-1665862094021.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665862094021.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665862094021.png)**

**[![image-1665860240181.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665860240181.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665860240181.png)**

### **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. &lt;- 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.

### <span style="font-weight: bold;">Installation home-assistant</span>

L'installation est assez simple et il est possible de s'appuyer sur la doc suivante   
[https://www.home-assistant.io/installation/](https://www.home-assistant.io/installation/)  
[Démonstration](https://demo.home-assistant.io)

### <span style="font-weight: bold;">Installation mqtt</span>

j'ai suivis cette doc [https://devotics.fr/installer-mqtt-sur-home-assistant/](https://devotics.fr/installer-mqtt-sur-home-assistant/)

dans configuration logins:  
\- username: mosquitto  
 password: test-123  
démarrer  
  
Coté Pv routeur, la configuration est simple.   
[http://IP\_PVROUTER/mqtt.html](http://IP_PVROUTER/mqtt.html) &gt; IP\_HA &gt; bouton HA est coché&gt; application des paramètres + [http://IP\_PVROUTER/config.html](http://IP_PVROUTER/config.html) sauvegarder + [http://IP\_PVROUTER/reboot](http://IP_PVROUTER/reboot)  
[![image-1677788017723.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/scaled-1680-/image-1677788017723.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/image-1677788017723.png)[![image-1665948223836.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/scaled-1680-/image-1665948223836.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2022-10/image-1665948223836.png)

[http://IP\_DIMMER/mqtt.html](http://IP_DIMMER/mqtt.html) &gt; IP\_HA &gt; application des paramètres + [http://IP\_DIMMER/config.html](http://IP_DIMMER/config.html) sauvegarder + [http://IP\_DIMMER/reboot](http://IP_DIMMER/reboot)  
[http://IP\_HA:8123/config/integrations](http://IP_HA:8123/config/integrations) apparait 2 appareils et 22 entités (ils faut entre 2 et 10 minutes)

  
[![pvrouteur-mqtt_ha.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/scaled-1680-/pvrouteur-mqtt-ha.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/pvrouteur-mqtt-ha.png)

### <span style="font-weight: bold;">Configuration energy</span>

W en WH en s'appuyant sur cette documentation   
[https://www.home-assistant.io/integrations/integration/](https://www.home-assistant.io/integrations/integration/)   
Integration - Riemann sum integral  
[http://IP\_HA:8123/config/helpers](http://IP_HA:8123/config/helpers)  
\+ Créer une entrée

<div class="codebox" id="bkmrk-int%C3%A9grale-de-reimann">`Intégrale de Reimann<br></br>sensor.sensor_grid_ab98_kwh<br></br>sensor.grid_ab98<br></br>`</div>  
idem avec sensor.inject\_ab98  
  
[http://IP\_HA:8123/config/energy](http://IP_HA:8123/config/energy)  
  
Réseau électrique &gt; Consommation du réseau &gt; sensor.grid\_ab98\_Kwh  
Réseau électrique &gt; Retourné au réseau &gt; ensor.inject\_ab98\_Kwh  
Panneaux solaires &gt; Production solaire &gt; Envoy Lifetime Energy Production  
[http://IP\_HA:8123/energy](http://IP_HA:8123/energy)

[![HA-energies.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/scaled-1680-/ha-energies.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/ha-energies.png)

### **Configuration power-flow-card**  


  
il faut <span style="font-weight: bold;">HACS</span> suivre en ajoutant ce plugin [https://forum.hacf.fr/t/hacs-ajoutez-de ... lisees/359](https://forum.hacf.fr/t/hacs-ajoutez-des-modules-et-des-cartes-personnalisees/359)  
  
[http://IP\_HA:8123/hacs/frontend](http://IP_HA:8123/hacs/frontend) &gt; + explorer &gt; Power Flow Card  
[http://IP\_HA:8123/dashboard-jbb/default\_view](http://IP_HA:8123/dashboard-jbb/default_view) tableau de bord j'ai rajouté une carte power-flow-card  
  
type: custom:power-flow-card  
entities:  
grid: sensor.grid\_ab98  
solar: sensor.envoy\_121516040890\_current\_power\_production

[![HA-energie.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/scaled-1680-/ha-energie.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/ha-energie.png)

### **Configuration Picture Elements Card plan**

  
  
[http://IP\_HA:8123/dashboard-jbb/default\_view](http://IP_HA:8123/dashboard-jbb/default_view) tableau de bord j'ai rajouté une carte

```YAML
type: picture-elements<br></br>image: local/jbb/plan-32-lafontaine-rdc-1er.png<br></br>elements:<br></br> <br></br>  - type: state-label<br></br>    entity: sensor.dimmer_temperature_2ea1<br></br>    style:<br></br>      top: 65%<br></br>      left: 55%<br></br>      color: '#000'<br></br>      border-radius: 50%<br></br>      text-align: center<br></br>      background-color: rgba(255, 255, 255, 0.3)<br></br>      font-size: 10px<br></br>      font-weight: bold<br></br>  - type: state-label<br></br>    entity: sensor.dallas_ab98<br></br>    style:<br></br>      top: 50%<br></br>      left: 80%<br></br>      color: '#000'<br></br>      border-radius: 50%<br></br>      text-align: center<br></br>      background-color: rgba(255, 255, 255, 0.3)<br></br>      font-size: 10px<br></br>      font-weight: bold<br></br>  - type: state-label<br></br>    entity: sensor.dimmer_ab98<br></br>    style:<br></br>      top: 65%<br></br>      left: 45%<br></br>      color: '#000'<br></br>      border-radius: 50%<br></br>      text-align: center<br></br>      background-color: rgba(255, 255, 255, 0.3)<br></br>      font-size: 10px<br></br>      font-weight: bold<br></br>  - type: icon<br></br>    icon: mdi:transmission-tower<br></br>    entity: sensor.grid_ab98<br></br>    style:<br></br>      top: 50%<br></br>      left: 97%<br></br>      color: blue<br></br>  - type: state-label<br></br>    entity: sensor.grid_ab98<br></br>    style:<br></br>      top: 53%<br></br>      left: 97%<br></br>      color: blue<br></br>      font-size: 8px<br></br>  - type: icon<br></br>    entity: sensor.envoy_current_power_production<br></br>    icon: mdi:solar-power<br></br>    style:<br></br>      top: 58%<br></br>      left: 97%<br></br>      color: yellow<br></br>  - type: state-label<br></br>    entity: sensor.envoy_current_power_production<br></br>    style:<br></br>      top: 61%<br></br>      left: 97%<br></br>      color: yellow<br></br>      font-size: 8px<br></br>  - type: icon<br></br>    entity: sensor.meter-gas<br></br>    icon: mdi:meter-gas<br></br>    style:<br></br>      top: 66%<br></br>      left: 97%<br></br>      color: yellow<br></br>  - type: state-label<br></br>    entity: sensor.meter-gas<br></br>    style:<br></br>      top: 69%<br></br>      left: 97%<br></br>      color: yellow<br></br>      font-size: 8px<br></br>  - type: icon<br></br>    entity: sensor.water<br></br>    icon: mdi:water<br></br>    style:<br></br>      top: 73%<br></br>      left: 97%<br></br>      color: cyan<br></br>  - type: state-label<br></br>    entity: sensor.water<br></br>    style:<br></br>      top: 76%<br></br>      left: 97%<br></br>      color: cyan<br></br>      font-size: 8px
```

[![HA-plan.png](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/scaled-1680-/ha-plan.png)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/ha-plan.png)

# 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](https://www.thingiverse.com/thing:2884823)

[![wemos_oled.jpg](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/scaled-1680-/wemos-oled.jpg)](https://pvrouteur.apper-solaire.org/uploads/images/gallery/2023-03/wemos-oled.jpg)

```YAML
esphome:<br></br>  name: esphome-web-b9f898<br></br>  friendly_name: ESPHome retour Oled 2<br></br><br></br>esp8266:<br></br>  board: esp01_1m<br></br><br></br># Enable logging<br></br>logger:<br></br><br></br># Enable Home Assistant API<br></br>api:<br></br>  encryption:<br></br>    key: "xxxxx"<br></br><br></br>ota:<br></br><br></br><br></br>wifi:<br></br>  ssid: !secret wifi_ssid<br></br>  password: !secret wifi_password<br></br><br></br>  # Enable fallback hotspot (captive portal) in case wifi connection fails<br></br>  ap:<br></br>    ssid: "Esphome-Web-"<br></br>    password: "xxxx"<br></br><br></br><br></br>###rajouté une font dans le répertoire de home assistant<br></br>font:<br></br>  - file: "fonts/ArialCE.ttf"<br></br>    id: my_font<br></br>    size: 14<br></br><br></br><br></br><br></br>mqtt:<br></br>  topic_prefix: esphome/e5406<br></br>  id: mqtt_client<br></br>  broker: !secret mqtt_broker<br></br>  username: !secret mqtt_username<br></br>  password: !secret mqtt_password<br></br><br></br>text_sensor:<br></br>  - platform: mqtt_subscribe<br></br>    name: "Prod"<br></br>    id: Prod_sign_text<br></br>    topic: domoticz/in/29<br></br>    #Pzem/29<br></br>    #radiateur/temp<br></br>    on_value:<br></br>      then:<br></br>        lambda: |<br></br>          id(Prod_text).publish_state(x);<br></br><br></br>  - platform: mqtt_subscribe<br></br>    name: "Conso"<br></br>    id: Conso_sign_text<br></br>    topic: domoticz/in/100<br></br>    #Pzem/29<br></br>    #radiateur/temp<br></br>    on_value:<br></br>      then:<br></br>        lambda: id(Conso_text).publish_state(x); <br></br><br></br>  - platform: mqtt_subscribe<br></br>    name: "Ballon Temp"<br></br>    id: Lixee_sign_text<br></br>    topic: domoticz/in/200<br></br>    #Pzem/29<br></br>    #radiateur/temp<br></br>    on_value:<br></br>      then:<br></br>        lambda: id(Lixee_text).publish_state(x); <br></br><br></br>  - platform: mqtt_subscribe<br></br>    name: "Dimmer Power"<br></br>    id: dimmer_sign_text<br></br>    topic: domoticz/in/110<br></br>    on_value:<br></br>      then:<br></br>        lambda: id(dimmer_text).publish_state(x); <br></br><br></br>  - platform: template<br></br>    id: Prod_text<br></br>    internal: true   <br></br><br></br>  - platform: template<br></br>    id: Conso_text<br></br>    internal: true<br></br><br></br>  - platform: template<br></br>    id: Lixee_text<br></br>    internal: true<br></br><br></br>  - platform: template<br></br>    id: dimmer_text<br></br>    internal: true<br></br><br></br>i2c:<br></br>  sda: GPIO5<br></br>  scl: GPIO4<br></br>  scan: false<br></br>  id: bus_a<br></br><br></br>display:<br></br>  - platform: ssd1306_i2c<br></br>    model: "SSD1306 128x64"<br></br>    address: 0x3C<br></br>    id: mydisplay<br></br>    update_interval: 15s<br></br>    lambda: |-<br></br>      const char * text = id(Conso_text).state.c_str();<br></br>      const char * textprod = id(Prod_text).state.c_str();<br></br>      const char * textlixee = id(Lixee_text).state.c_str();     <br></br>      const char * textdimmer = id(dimmer_text).state.c_str();<br></br>      it.printf(0, 0, id(my_font), "Conso: %s", text);<br></br>      it.printf(0, 16, id(my_font), "Prod: %s", textprod);<br></br>      it.printf(0, 32, id(my_font), "ECS: %s", textlixee);<br></br>      it.printf(0, 48, id(my_font), "Dim: %s", textdimmer);<br></br><br></br>
```

