Bonjour à tous,
Je suis débutant et j’aimerai automatiser le lancement de mon chauffe-eau en fonction de ma consommation et de l’injection de ma production sur le réseau. J’ai essayé des choses mais cela ne fonctionne pas. J’aimerai vos avis, des conseils pour arriver à créer mon automatisation.
Pour ceux qui le préciseront, je sais qu’il existe des routeurs mais mon chauffe eau est électronique et comme il est sous garanti (installé par un pro), je ne préfère rien tenter. On verra ça certainement plus tard.
Voici quelques sensors que j’ai créer pour réaliser l’automatisation :
#Calcul moyenne injectée sur les dernières minutes : zlinky_eait en kW (ce sensor représente le cumul injecté)
- platform: derivative
source: sensor.zlinky_eait
round: 3
unit_time: h
unit: kWh
time_window: "00:15:00"
name: "Puissance injectée moyenne"
#Calcul moyenne consommé sur les dernières minutes : zlinky_east en kW (ce sensor représente le cumul de la consommation)
- platform: derivative
source: sensor.zlinky_east
name: Moyenne_puissance_consommee
round: 3
unit_time: h
unit: kWh
time_window: "00:15:00"
#Je calcule le temps dont le chauffe eau a été activé le matin à partir de 10h
- platform: history_stats
name: eau_chaude_active_today
entity_id: switch.chauffe_eau
state: 'on'
type: time
start: "{{ now().replace(hour=10, minute=0, second=0, microsecond=0) }}"
end: "{{ now() }}"
Le but est d’activer le chauffe eau dès que l’injection atteint 2kWh et s’arrête lorsque je consomme 1kWh avec des tempo pour éviter les déclenchement intempestif (que je mettrais plus tard car en test) et d’activer le chauffe eau le soir à partir de 22h40 (début heures creuses) pour compléter la chauffe de la journée s’il n’a pas déclenché au moins 2h.
Voici mes automatisations :
alias: Activer chauffe eau si pas activé en journée
description: Pas activé pendant 2h depuis 10h
trigger:
- platform: time
at: "22:40:00"
condition:
- condition: numeric_state
entity_id: sensor.eau_chaude_active_today
above: 0
below: 2
action:
- service: notify.mobile_app_samsung_a33
data:
message: Le chauffe eau s'est déclenché
- type: turn_on
device_id: 842831a26497bbdf9954a40b912297e4
entity_id: 47a9a83f59d98acef13688eecd2daa1f
domain: switch
- delay:
hours: 2
minutes: 0
seconds: 0
milliseconds: 0
- type: turn_off
device_id: 842831a26497bbdf9954a40b912297e4
entity_id: 47a9a83f59d98acef13688eecd2daa1f
domain: switch
mode: single
Aujourd’hui cela ne fonctionne pas. Mon chauffe eau se déclenche dès que l’injection >0kWh (enfin c’est une impression) et s’arrête immédiatement.
Pouvez-vous m’expliquer ce que je ne fais pas correctement svp ? Si vous avez des conseils je suis preneur.
Juste un point qui me parait important de préciser : EAIT, c’est l’Energie active injectée totale c’est à dire ce qui est réinjecté dans le réseau (produit et non consommé). C’est un cumul et pas une mesure instantanée. Je pense que tu devrais démarrer le chauffe-eau en fonction de ta production solaire et pas en fonction de ce qui est réinjecté.
Bonjour Jean-Marc,
Merci pour ton retour.
J’ai lu la doc et il me manque 2 sensors :
-prix du kWh exporté
-taxe sur kWh exporté (même s’il vaut 0 ?)
Dois-je les créer en dur ?
Par ailleurs, j’ai les heures pleines et creuses. Me confirmes-tu qu’il faut appliquer le tarif heures pleines ?
C’est obligatoire pour le bon fonctionnement de l’algo. Le plus simple est de faire une entrée de type input_number avec la valeur de ta revente. 0.13 chez moi à l’heure ou je parle.
Tu peux mettre 0 mais comme au-dessus tu devrais mettre une valeur et je crois que c’est 10%. J’ai mis ça chez moi :
Si tu ne veux pas t’embeter oui. Sinon, il faut mieux prendre le tarif en cours. Si tu as les heures creuses en journée (14h-17h chez moi), ca peut changer le résultat du calcul (des fois il vaut mieux revendre à 13 centimes que de consommer à 9 centimes). Si tu ne l’as pas déjà fait, il te faut un utility_meter qui changer le tarif en fonction de l’heure de la journée. Cherches dans le forum y a plein d’exemples. Les miens ressemblent à ça :
et un input_number dans lequel tu stockes la valeur le prix courant du kWh (input_number.tarif_energie_tempo dans mon cas).
Cet input_number doit être mis à jour à chaque cycle par une automatisation.
→ c’est un peu complexe si tu ne l’as jamais fait donc tu peux juste créer un input_number avec le tarif heures pleines dans un premier temps. Ca changera pas grand chose.
Merci Jean-Marc pour ces explications. J’ai mis en place l’intégration mais j’ai l’impression que cela ne fonctionne pas. J’ai du mal faire un truc
J’utilise les sensors conso et injection du système enphase. A priori, les infos remontent bien :
Est-ce que le fait de mettre « 0 » sur le sensor taxe d’export peut influer ?
Je ne sais si c’est ce que tu souhaites. J’ai l’impression par contre qu’il me la désactivé quand je l’active (18h17) ou quand il est activé par une automatisation (22h40) :
La conf à l’air bonne a un détail près qui peut avoir son intéret. Essaye avec ça :
check_usable_template: "{{ True }}" pour qu’il soit toujours utilisable.
L’autre chose c’est la valeur de « Enable Solar Optimizer Chauffe-eau » qui doit aussi être True.
Je conseille de mettre en place la carte qui est dans readme et qui permet de commander / voir les valeurs de ces 2 flags. Si l’un est faux, Solar Optimizer ne prend pas l’eqt.
J’ai ajouté le « True » mais maintenant le système met inconnu dans la valeur total_power. Je comprends pas.
Par ailleurs, j’ai bien mis le code du début mais j’arrive pas à intégrer la card (Custom element doesn’t exist: decluttering-card). Je dois pas comprendre la manip…