Bonjour à tous, Je crée ce sujet afin de pouvoir échanger sur la toute nouvelle intégration Zendure développée par Fireson et disponible sur HACS : Cette 1ière intégration Zendure non officielle est en version alpha…
Intégration Zendure (partie 1) - Intégration - Home Assistant Communauté Francophone Intégration Zendure (partie 1) Home Assistant - Tutoriels & Partages Intégration Julien_Galliot Mars 24, 2025, 2:05 1 Bonjour à tous, Je crée ce sujet afin de pouvoir échanger sur la toute nouvelle intégration Zendure développée par Fireson et disponible sur HACS : image1110×621 49.6 KB Cette 1ière intégration Zendure non officielle est en version alpha mais elle fonctionne déjà très bien pour surveiller et contrôler efficacement les hyper 2000 (et autres solarflow 800) depuis Home Assistant. C’est de loin la meilleure alternative à ce jour à la solution IoBroker qui nécessitait d’utiliser un broker externe. Surtout elle est beaucoup plus simple à mettre en œuvre. Alors n’hésitez à partager ici vos retours sur cette intégration et l’utilisation que vous en faite. [TUTO] Connecter/contrôler sa batterie Hyper2000 ZENDURE depuis HA [TUTO] - Design - Zendure & Bubble-Card Zendure SolarFlow 800 Pro // SolarFlow AC2400 // Compteur 3CT // Installation Triphasé et aussi un compteur Shelly Pro 3 - 120A Intégration Zendure (partie 2) Automatisation Zendure dans HA [TUTO] Connecter/contrôler sa batterie Hyper2000 ZENDURE depuis HA [TUTO] Connecter/contrôler sa batterie Hyper2000 ZENDURE depuis HA cob94440 Mars 24, 2025, 9:36 2 Bonsoir et merci pour ce nouveau suivi. J’ai un shelly 3em. c’est son sensor power que je dois mettre dans le p1 sensor c’est bien ça? Julien_Galliot Mars 24, 2025, 10:18 3 Bonsoir, oui c’est bien ça. Sankukace Mars 25, 2025, 6:50 4 Ce qui est peut être très intéressant pour certains, c’est qu’avec cet add-on, il n’y a pas obligation d’avoir un Shelly … N’importe quelle pince ampèremétrique compatible HA fonctionnera. algernon2607 Mars 25, 2025, 7:53 5 Bonjour Julien Éventuellement , pourrais tu partager ton automatisation pour ta charge en heures creuses avec les prévisions Solcast ??? D’avance Merci Julien_Galliot Mars 25, 2025, 10:27 6 Bonjour, Le voici : alias: Charge nuit Zendure description: "" triggers: - trigger: time at: "02:00:00" id: HSC - trigger: time at: "06:00:00" id: HC - trigger: time at: "07:00:00" id: HP - trigger: template value_template: "{{ states ('sensor.hyper_2000_electric_level')|int > 99 }}" id: FULL - trigger: template value_template: "{{ states ('sensor.hyper_2000_electric_level')|int > 59 }}" id: MID conditions: [] actions: - choose: - conditions: - condition: trigger id: - HSC - condition: template value_template: "{{ states ('sensor.hyper_2000_electric_level')|int < 60 }}" sequence: - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: automation.zendure_charge_ac - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: - automation.decharge_zendure - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: automation.zendure_gestion_mode - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: automation.zendure_mode_intelligent - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_input - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_output - action: input_select.select_option metadata: {} data: option: Heures Creuses target: entity_id: - input_select.mode_zendure - if: - condition: state state: "1" entity_id: select.hyper_2000_ac_mode then: - action: number.set_value metadata: {} data: value: "1200" target: entity_id: number.hyper_2000_limit_input else: - action: select.select_option metadata: {} data: option: AC input mode target: entity_id: select.hyper_2000_ac_mode - action: number.set_value metadata: {} data: value: "1200" target: entity_id: number.hyper_2000_limit_input - conditions: - condition: trigger id: - HSC - condition: template value_template: "{{ states ('sensor.hyper_2000_electric_level')|int >= 60 }}" sequence: - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: automation.zendure_charge_ac - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: - automation.decharge_zendure - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: automation.zendure_gestion_mode - action: automation.turn_off metadata: {} data: stop_actions: true target: entity_id: automation.zendure_mode_intelligent - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_input - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_output - action: input_select.select_option metadata: {} data: option: Veille target: entity_id: - input_select.mode_zendure - conditions: - condition: trigger id: - HC - FULL - MID - condition: state state: Heures Creuses entity_id: input_select.mode_zendure sequence: - if: - condition: trigger id: - MID - condition: numeric_state entity_id: sensor.solcast_pv_forecast_previsions_pour_aujourd_hui above: 8 then: - if: - condition: state state: "1" entity_id: select.hyper_2000_ac_mode then: - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_input else: - action: select.select_option metadata: {} data: option: AC input mode target: entity_id: select.hyper_2000_ac_mode - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_input - action: input_select.select_option metadata: {} data: option: Veille target: entity_id: - input_select.mode_zendure - if: - condition: trigger id: - FULL - HC then: - if: - condition: state state: "1" entity_id: select.hyper_2000_ac_mode then: - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_input else: - action: select.select_option metadata: {} data: option: AC input mode target: entity_id: select.hyper_2000_ac_mode - action: number.set_value metadata: {} data: value: "0" target: entity_id: number.hyper_2000_limit_input - action: input_select.select_option metadata: {} data: option: Veille target: entity_id: - input_select.mode_zendure - conditions: - condition: trigger id: - HP sequence: - action: automation.turn_on metadata: {} data: {} target: entity_id: automation.zendure_gestion_mode - action: input_select.select_option metadata: {} data: option: Automatique target: entity_id: - input_select.mode_zendure mode: single Rien de bien exceptionnel en fait, je lance une charge à 1200W à 2h00 du matin (Heures Super Creuses chez moi) si le SOC est inférieur à 60%. Si les prévisions Solcast pour le jour sont bonnes (>8kWh) je charge jusqu’à 60% de SOC, sinon je charge à 100%. A 6h00 j’arrête la charge si elle n’est pas fini car je repasse en heures creuses et j’atttends 7h00 (Heures Pleines) pour relancer le mode automatique pour la journée. algernon2607 Mars 25, 2025, 10:39 7 Super … Merci bien En plus , je ne maitrisais pas trop la technique des ID . Là , c’est limpide … Julien_Galliot Mars 25, 2025, 11:05 8 De rien…et oui très pratique les ID de trigger ! R_hum1 Mars 25, 2025, 12:14 9 Merci pour tes retours et ton partage, peux tu faire de même avec tes autres automatisations s’il te plaît ? Seb_Trinques Mars 25, 2025, 1:05 10 bonjour cob94440 j ai pas saisie ce qu il faut faire avec le p1 sensor peux tu m expliquer stp cob94440 Mars 25, 2025, 1:16 11 Bonjour, Pour ma part avec un shelly j’ai indiqué la conso de ma phase sur laquelle se trouve la pince. Seb_Trinques Mars 25, 2025, 1:21 12 ce que tu as fait c est dans l application sur smartphone ou dans l intégration (ha) SNOOPHILL Mars 25, 2025, 1:22 13 Merci. Je ne vois pas l’intégration dans Hacs, Y a t il un dépôt personnalisé? cob94440 Mars 25, 2025, 1:23 14 Dans l’intégration. Au moment de la configurer tu rentres le login mot de passe et en dessous « P1 sensor for smart matching ». C’est là que je l’ai mis. Mon shelly était déjà dans mon application. cob94440 Mars 25, 2025, 1:23 15 Oui c’est dans la doc GitHub - FireSon/Zendure-HA: Zendure Home Assistant Integration Seb_Trinques Mars 25, 2025, 1:29 16 j ai rate cette etape c est pour cela que j ai pas compris merci pour l info ca marche mieux maintenant cob94440 Mars 25, 2025, 5:49 17 Avec plaisir. Quand on peut aider. cob94440 Mars 25, 2025, 6:09 18 Bonsoir, As tu pu adapter ton tableau de bord que tu avais partagé sur l’autre post? J’ai commencé de mon côté. Il me manque le select mode, Ainsi que la partie charge et décharge pour lesquels je n’ai pas trouvé d’équivalent a priori sur l’intégration. Merci d’avance si tu as une idée. Julien_Galliot Mars 25, 2025, 6:10 19 Bonjour, Suite à plusieurs demandes je partage mes automatisations, si ça peut aider … Tout d’abord le package « zendure.yaml » à créer dans la configuration pour les entités nécessaires au automatisations : ############################################################ ## Zendure Hyper 2000 ## ############################################################ ## SENSOR ## template: - sensor: # Calcul du Surplus Solaire (Par Phase) avec Shelly/CT Hyper (plus précis) = Puissance active mesurée sur la phase (Shelly ou CT) - Puissance mesurée Hyper 1 (- Puissance mesurée Hyper 2/3/... SI APPLICABLE) en VALEUR ABSOLUE # A dupliquer pour chaque phase si installation triphasée avec 1 ou plusieurs hyper par phase - name: Surplus Solaire unique_id: "Surplus_Solaire" unit_of_measurement: "W" icon: "mdi:solar-power-variant" state: > {% if (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.shellyproem50_08f9e0e5bb78_em0_power')|int) < 0 %} {{ (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.shellyproem50_08f9e0e5bb78_em0_power')|int)|abs }} {% else %} {{ 0 }} {% endif %} # Calcul du Surplus Solaire (Par Phase) sans Shelly/CT Hyper (moins précis) = Puissance active mesurée sur la phase (Shelly ou CT) - P entrée Hyper 1 (- P entrée Hyper 2 ... SI APPLICABLE) + P sortie Hyper 1 (+ P entrée Hyper 2 ... SI APPLICABLE) en VALEUR ABSOLUE # A dupliquer pour chaque phase si installation triphasée avec 1 ou plusieurs hyper par phase - name: Surplus Solaire 2 unique_id: "Surplus_Solaire_2" unit_of_measurement: "W" icon: "mdi:solar-power-variant" state: > {% if (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.hyper_2000_grid_input_power')|int + states('sensor.hyper_2000_output_home_power')|int) < 0 %} {{ (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.hyper_2000_grid_input_power')|int + states('sensor.hyper_2000_output_home_power')|int)|abs }} {% else %} {{ 0 }} {% endif %} # Calcul du Déficit Solaire (Par Phase) avec Shelly/CT Hyper (plus précis) = Puissance active mesurée sur la phase (Shelly ou CT) - Puissance mesurée Hyper 1 (- Puissance mesurée Hyper 2/3/... SI APPLICABLE) # A dupliquer pour chaque phase si installation triphasée avec 1 ou plusieurs hyper par phase - name: Déficit Solaire unique_id: "Deficit_Solaire" unit_of_measurement: "W" icon: "mdi:solar-power-variant" state: > {% if (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.shellyproem50_08f9e0e5bb78_em0_power')|int) > 0 %} {{ (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.shellyproem50_08f9e0e5bb78_em0_power')|int) }} {% else %} {{ 0 }} {% endif %} # Calcul du Déficit Solaire (Par Phase) sans Shelly/CT Hyper (moins précis) = Puissance active mesurée sur la phase (Shelly ou CT) - P entrée Hyper 1 (- P entrée Hyper 2 ... SI APPLICABLE) + P sortie Hyper 1 (+ P entrée Hyper 2 ... SI APPLICABLE) # A dupliquer pour chaque phase si installation triphasée avec 1 ou plusieurs hyper par phase - name: Déficit Solaire 2 unique_id: "Déficit_Solaire_2" unit_of_measurement:…