Intégration Zendure

J’ai remarqué un truc bizarre dans les journaux HA à propos de ton automatisation. regarde la capture, dis moi si tu retrouve la même chose ? Si je questionne chatgpt à ce sujet, il me mets que HA attend une valeur numérique et non l’entité. Mais ça a l’air de fonctionner quand même … mais c’est quand même à vérifier. Car l’automatisation via l’user interface autorise de mettre justement « selon la valeur d’une autre entité », c’est ce qui est fait dans ton automatisation, mais alors pourquoi il long ça en avertissement dans HA ?

Malgré mes recherches, je ne pense pas qu’il soit intégrable à HA.

Par contre, je peux lui mettre en amont un relais et, avec un automatisme sous HA, lui dire : si restitution d’énergie supérieure à 1 minute, alors fermer le relais pour faire fonctionner le routeur ; sinon, laisser le relais ouvert.

Ce qui peut me permettre de recharger en priorité la batterie et, quand celle-ci est pleine et que je réinjecte au réseau, au bout d’une minute, le routeur joue son rôle.

Bien évidemment, un relais adapté à mon cumulus 3 kW.

Oui tu peux faire ça, c’est ce que j’ai fait mais avec un relais sonoff 10A (mon cumulus fais 1500W uniquement). Shelly vient de sortir un gros relais 25A/6000W ça conviendrait parfaitement à ta puissance :

Salut, non j’ai pas cette erreur chez moi. Quand je vois ton log « unknown entity input_number.pmin_entree_ac », je me dis que tu dois avoir un soucis avec cette entité? Elle est correctement définie? Elle te renvoie une valeur?

Bon en grattant un peu, je pense avoir trouvé le soucis. Il semble que la fonction de comparaison condition numeric_state/entity_id/above(ou below) ne fonctionne pas toujours correctement quand on compare un sensor avec un number (ou un input number). J’ai fait des tests dans modèle et ça me donne des choses bizarres…

Il faut donc remplacer toutes ces « condition: numeric states » par des « condition: template », par exemple :

      - condition: numeric_state
        entity_id: sensor.hyper_2000_electric_level
        above: number.hyper_2000_soc_minimum

Devient :

      - condition: template
        value_template: >-
          {{ states ('sensor.hyper_2000_electric_level')|int > states
          ('number.hyper_2000_soc_minimum')|int }}

A faire partout dans les 2 automatismes « charge » et « décharge » …

Je suis passé à côté de ce bug désolé… :wink:

1 « J'aime »

Oui merci pour ta réponse, qui rejoint la réponse que m’apporte chatgpt, à savoir utiliser des templates comme tu l’a justement proposé.
Ça doit être ça le soucis. Je vais essayer d’adapter ça.

ChatGpt me dit « attention pas d’espace entre states et la parenthèse » :wink:

Je crois que ça n’as pas d’importance…mais si chatGPT le dit! :wink:

1 « J'aime »

Et l’autre avantage des templates, c’est qu’on peut les tester dans modèles :

1 « J'aime »

Tu es resté sur quelle version ?

Arfff me refaire toutes tes automatisations en double (2 hypers) etc … Je m’adapte à l’intégration en attente de stabilité… Ou un blueprint un jour :slight_smile:

Version 1.0.25. Pas besoin de faire les automatisations en double je pense, mais adapter les automatisation pour envoyer (ou prendre) la moitié de la consigne sur chaque hyper.

1 « J'aime »

Bonjour,

J’avance doucement mais sûrement dans mon projet ! J’utilise actuellement mon relais avec sonde de température pour mon chauffe-eau (ECS) que je possédais déjà.

J’ai créé deux automatismes :

  1. En journée : le relais vérifie la charge de la batterie et ne se ferme que lorsqu’elle atteint au minimum 99%, permettant ainsi d’utiliser le surplus de production dans l’ECS grâce au routeur.
  2. La nuit : à partir de 00h00, si la température de l’ECS est inférieure à 49°C, alors le relais se ferme.

Cependant, après plusieurs tests ces derniers jours, je constate des dysfonctionnements. Que ce soit en mode « AC input » ou « output » via l’intégration de Zendure, le système ne fonctionne pas toujours correctement. De temps en temps, dans l’un ou l’autre mode, la batterie se décharge pour chauffer l’ECS.

J’ai l’impression que l’intégration ne fonctionne pas comme prévu.

J’apprends en même temps à me servir des automatismes.

Je souhaite mettre en place l’automatisation suivante :

De 10h à 22h, avec une vérification toutes les 5 minutes :

  • Si la batterie est inférieure à 100% de charge, prioriser sa recharge
  • Si un surplus de ma production solaire est réinjecté au réseau EDF, activer mon relais ECS qui fonctionne avec un routeur solaire
  • Lorsque la batterie atteint 100% de charge, arrêter sa recharge pour rediriger tout mon surplus vers mon ECS
  • Pendant l’utilisation simultanée de la charge batterie et du relais ECS avec le surplus de production, veiller à ce que la batterie ne se décharge pas pour alimenter l’ECS"

Cette automatisation permettra d’optimiser l’utilisation de ma production solaire en priorisant d’abord le stockage dans la batterie, puis le chauffage de l’eau chaude sanitaire avec le surplus.

Bonjour Julien
j’ai finalement réussi à mettre au point et je tourne avec mes deux hypers avec tes automatisations adaptés à deux hypers.J’ ai même mis un rattrapage dynamique et de surcroit sur la passerelle Fireson 1.0.36 .
Elles tournent depuis trois jours sans intervention de ma part et c’est plutôt correct.Encore une petite semaine et je les transfére sur le HA prod.
Merci encore pour tout tes tuyaux .

Bonjour,

Dans quel état est ton relais ECS quand sa se produit ?

Tu es dans quelle version ?

Salut,

Bravo pour l’adaptation ! N’hésites pas a partager tes yaml sur ce fil quand tu seras passé en prod. Ça pourra servir à d’autres! :wink:

Salut Julien,

Merci de prendre du temps :wink:

Je suis sur la version 1.025.

Je m’aperçois que lorsque je me mets en mode input, cela prend sur le réseau le manque entre ma surproduction et la limite input de 1200W. Je dois chercher comment faire pour avoir un input ne prenant que sur le surplus.

J’ai même essayé avec la fonction intelligente de l’application Zendure en même temps, pour voir si cela pouvait corriger le souci, mais sans succès.

Je relis attentivement tout le fil de la discussion car je viens de voir qu’il existe 2 appareils sous l’intégration et qu’il ne faut pas que j’utilise celui de Fireson a priori, mais juste l’autre pour avoir les fonctions input et output.

Mon relais ECS est placé entre ma sortie TRIAC et l’entrée ECS, pour que le routeur soit toujours alimenté afin d’avoir la lecture de la tension entrée/sortie réseau.

Lorsque cela se produit, mon relais ECS peut être activé si la batterie est chargée à plus de 98%, ou à l’arrêt si la batterie est chargée à moins de 98%.

Je dois chercher une façon plus simple et plus logique pour obtenir le résultat souhaité.

J’ai l’impression que tes automatismes ne correspondent pas à mes besoins.

mon code actuel :

alias: Gestion Solaire Zendure et ECS
description: Gestion intelligente du surplus solaire entre batterie Zendure et chauffe-eau
triggers:
  - minutes: /1
    trigger: time_pattern
conditions:
  - condition: time
    after: "06:00:00"
    before: "22:00:00"
actions:
  - variables:
      battery_level: "{{ states('sensor.hyper_2000_electric_level') | float }}"
      grid_power: "{{ states('sensor.shellypro3em_XXXXXXX_em2_power') | float }}"
      ecs_switch: switch.temperature_electric_quantity_controller_switch_1
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ battery_level >= 100 }}"
          - condition: template
            value_template: "{{ grid_power < 0 }}"
        sequence:
          - target:
              entity_id: "{{ ecs_switch }}"
            action: switch.turn_on
      - conditions:
          - condition: template
            value_template: "{{ battery_level < 100 }}"
          - condition: template
            value_template: "{{ grid_power < 0 }}"
        sequence:
          - condition: template
            value_template: "{{ grid_power < -200 }}"
          - target:
              entity_id: "{{ ecs_switch }}"
            action: switch.turn_on
    default:
      - target:
          entity_id: "{{ ecs_switch }}"
        action: switch.turn_off

EDIT DU JOUR

Je suis reparti de zéro.

Par contre avec ce code j’utilise le mode intéligent de l’application ! Tu penses que cela posera problème ?

As-tu une idée pour améliorer ?