Optimisation de la production J'ai donc en production PV :  - Une installation existante "historique" Qcells  - Une installation Zendure SolarFlow 800 (Toit Veranda) - Une installation Zendure SolarFlow 800 + AB2000 (Abri bois) QCells suit la consommation de la maison via un compteur entre mon disjoncteur abonné et mon tableau. Si ma production PV est supérieur à ce que consomme ma maison, le surplus est stocké dans sa batterie Si ma production PV est plus faible que ce que consomme ma maison, l'onduleur QCells va chercher à compenser en déchargeant sa batterie. Autre chose, le système QCells se charge uniquement avec ses PV ! Il n'est pas capable de se charger depuis l'EDF... Donc pour conclure, je ne peux pas piloter l'installation QCells... mais je peux l'influencer ! Comment ? Mes kits Zendure produisent et injectent directement dans le circuit de la maison. L'onduleur QCells voit donc une consommation plus faible de la maison et donc il va décider d'injecter moins de courant dans la maison en provenance de ses panneaux. Il injectera la quantité nécessaire, le reste sera stocké dans sa batterie ! OK, la première étape est fonctionnelle nativement ! C'est bien jolie ca mais si je produis plus que ce que je consomme? Explication : PV QCells : 1000W de production PV Zendure Veranda : 500W de production Consommation maison : 600W Le courant étant très faignant il va au plus proche ! Zendure couvrira 500W des 600W de la maison et Qcells couvrira les 100W restant, le reste 900W ira dans sa batterie. Ca c'est facile. Maintenant ajoutons un second kit Zendure PV QCells : 1000W de production PV Zendure Veranda : 500W de production PV Zendure Abri Bois : 500W de production Consommation maison : 600W Les PV Zendure produisent donc 1000W et couvre la consommation de la maison (600W), 400W sont donc en trop ! Les PV Qcells produisent 1000W et le besoin de la maison étant deja couvert, il stocke tout dans sa batterie. Nous reste donc 400W en trop ! Il faut donc trouver un moyen de forcer le stockage de ce surplus dans la batterie du kit Zendure avec l'AB2000. C'est la qu'Home Assistant rentre en jeu ! Je vais donc vérifier toutes les 30sec la consommation de la maison et ajuster l'injection dans la maison du Kit Zendure avec sa batterie. Explication :  Si j'injecte du courant vers EDF (surproduction) alors je baisse la valeur qu'envoie le kit Zendure de 50W. alias: Ajustement Zendure à la baisse description: "" triggers:   - trigger: time_pattern     seconds: /30 conditions:   - condition: state     entity_id: sensor.linky_current_price     state:       - HEURE PLEINE   - condition: numeric_state     entity_id: sensor.qcells_consommation_reseau     below: -90 actions:   - data:       value: >         {{ [ (states('sensor.sol_bois_output_home_power') | float - 50), 0 ] |         max }}     action: number.set_value     target:       entity_id: number.sol_bois_output_limit mode: single Et inversement si je consomme trop d'EDF (plus de 300W), j'ajuste l'envoi du kit Zendure vers la maison : alias: Ajustement Zendure a la hausse description: "" triggers:   - trigger: time_pattern     seconds: /30 conditions:   - condition: or     conditions: []     enabled: false   - condition: and     conditions:       - condition: state         entity_id: sensor.linky_current_price         state:           - HEURE PLEINE       - condition: or         conditions:           - condition: numeric_state             entity_id: sensor.qcells_inverter_production_2             above: 100           - condition: state             entity_id: sensor.qcells_etat             state:               - Standby   - condition: and     conditions:       - condition: state         entity_id: sensor.linky_current_price         state:           - HEURE PLEINE       - condition: or         conditions:           - condition: numeric_state             entity_id: sensor.qcells_consommation_reseau             above: 300           - condition: numeric_state             entity_id: sensor.qcells_consommation_reseau             below: 0             enabled: false actions:   - data:       value: >         {{ [ (states('sensor.sol_bois_output_home_power') | float + 50), 0 ] |         max }}     action: number.set_value     target:       entity_id: number.sol_bois_output_limit mode: single Alors pourquoi ce seuil de 300W sur l'ajustement à la hausse ? QCells étant directement réglé sur la consommation EDF via son compteur, il va s'adapter tout seul pour compenser la demande. Si cela ne suffit pas, Zendure prendra le relais avec Home Assistant. Maintenant, comme j'ai prevu de charger ma batterie en Heure Creuse, je vais bloqué la décharge de la batterie Zendure lors que je vais passer des Heures Pleines aux Heures Creuses. Et oui, si la batterie Zendure est à 50%, il serait dommage de continuer de la decharger en heures creuses pour la recharger ensuite... Pour cela on fait l'automatisation suivante quand on passe des HP au HC ! alias: Zendure - Arret décharge en Heure Creuse description: "" triggers:   - trigger: state     entity_id:       - sensor.linky_current_price     from:       - HEURE PLEINE       - HEURE CREUSE conditions:   - type: is_battery_level     condition: device     device_id: 418e6ac1bef4a12c0d749944774359f1     entity_id: 541529170ee1baaf8d9c14d5ea8269dc     domain: sensor     above: 10 actions:   - device_id: 70a4513924f81e4d371fa317f91a2c54     domain: number     entity_id: d7663f5b3008dc8ca9a9734a89016bd8     type: set_value     value: 0 mode: single Enfin on va également faire en sorte de charger la batterie Zendure en heure creuse pour restituer en heure pleine ! Ici dans le Vaucluse (Villelaure) les HC sont de 21h50 à 4h50. alias: Zendure - Activer Charge si HCreuse et Qcells vide description: >   Change le mode de l'onduleur en 'Input mode' uniquement si tarif HC et Qcells   en Standby triggers:   - trigger: time_pattern     minutes: /5 conditions:   - condition: and     conditions:       - condition: time         after: "00:00:00"         before: "04:45:00"       - condition: state         entity_id: sensor.linky_current_price         state: HEURE CREUSE       - condition: state         entity_id: sensor.qcells_etat         state: Standby actions:   - data:       option: input     action: select.select_option     target:       entity_id: select.sol_bois_ac_mode   - device_id: 418e6ac1bef4a12c0d749944774359f1     domain: number     entity_id: 202a1b0adf36466ceca985036295d359     type: set_value     value: 0   - device_id: 418e6ac1bef4a12c0d749944774359f1     domain: number     entity_id: 4cdc3d29b80f3ddd84c330bfd8805f51     type: set_value     value: 600 mode: single Donc avec Zendure, je viens fixer la charge à 600W entre 00h et 04h45. Cela permet de passer la batterie de 10% à 100% sans probleme. Et puis quand on repasse en HP, on active la décharge alias: Zendure - Passer en Output Mode quand HEURE PLEINE description: >   Si le tarif Linky devient HEURE PLEINE, passer l'onduleur en Output Mode avec   les limites définies (input = 0, output = 350). triggers:   - entity_id: sensor.linky_current_price     to: HEURE PLEINE     trigger: state conditions: [] actions:   - data:       option: output     action: select.select_option     target:       entity_id: select.sol_bois_ac_mode   - data:       value: "0"     action: number.set_value     target:       entity_id: number.sol_bois_input_limit   - data:       value: "600"     action: number.set_value     target:       entity_id: number.sol_bois_output_limit mode: single Voici ce que cela donne sur une journée un peu ensoleillée :