Bonjour à tous,
après avoir installé des panneaux solaires et un onduleur solaredge dans ma maison, j’ai pu suivre facilement ma production et ma consommation d’énergie. Je me suis donc posé la question classique d’un producteur d’énergie solaire : Comment améliorer mon autoconsommation.
Une réponse évidente quand on a un chauffe-eau électrique, c’est d’utiliser un routeur solaire !!!
Évidemment, la contrainte étant de pouvoir commander le routeur à l’aide de home assistant. Ben oui, sinon c’est donner de la confiture aux cochons. Bon, on va pas se mentir, je cherchais une solution assez simple (je ne suis pas un grand spécialiste et même si j’aime bien bidouiller, il ne fallait pas que je mette les mains dans le cambouis toutes les 5 minutes).
J’ai donc opté pour un routeur solaire ARSUN pour plusieurs raisons. D’abord la facilité d’intégrations dans le tableau électrique sans trop de modifications de câblage, ce qui permet une installation facile et accessoirement un retour à l’origine simple si besoin (déménagement par exemple). D’autre part, l’entrée contact sec était un bon argument.
[ARSUN - ARSUN]
Petit problème, le routeur n’est pas connecté et je souhaite le piloter avec HA, j’ai donc investi dans le matériel suivant :
- un shelly 1 mini gen3 branché sur l’entrée contact sec du routeur pour activer la marche forcée
- un capteur de température owon glissé dans le doigt de gant du chauffe-eau
- un interrupteur DIN zigbee 20A de chez NOUS pour couper l’alimentation du routeur en cas de longue absence (vacances par exemple). Il permet également de mesurer la consommation de mon chauffe-eau pour l’intégrer das le dashboard énergy.
Avec tout ça le pilotage du routeur dans HA se fait à l’aide de quelques automatismes et templates :
- la création d’un « input select » pour simuler l’arrêt, le mode jour/nuit (automatique) et la marche forcée
- un sensor « statistique » qui permet de connaître la température maximum atteinte sur les 14 dernières heures glissantes. De cette façon, je sais si la température max a été atteinte dans la journée et je sais si je dois chauffer la nuit sur les heures creuses. Le problème à contourner étant que la température en bas du chauffe-eau diminue grandement dès qu’il y a un tirage d’eau chaude.
- un automatisme qui permet de simuler les modes « éteint », « automatique » et « forcé ». Le mode « éteint » met sur off l’interrupteur 1DIN. Le mode automatique laisse le routeur faire son travail normal en journée. Le mode forcé passe le shelly sur on jusqu’à ce que la température de consigne est atteinte avant de repasser sur automatique.
Résumé
alias: chauffe eau (switch)
description: ""
triggers:
- entity_id:
- input_select.chauffe_eau
from: null
to: null
trigger: state
conditions: []
actions:
- choose:
- conditions:
- condition: state
entity_id: input_select.chauffe_eau
state: Forcé
sequence:
- if:
- condition: device
type: is_off
device_id: 2a47b1c9fffce7137d71f9fb58a2df0a
entity_id: 13a115edf80b70f7b29cd5d863ad78ea
domain: switch
then:
- type: turn_on
device_id: 2a47b1c9fffce7137d71f9fb58a2df0a
entity_id: 13a115edf80b70f7b29cd5d863ad78ea
domain: switch
- type: turn_on
device_id: 26b351e8add90ebac7362d7209a9e90b
entity_id: 9e599b5a96dc5007927001b4747edce8
domain: switch
- condition: state
entity_id: input_select.chauffe_eau
for:
hours: 4
minutes: 0
seconds: 0
state: Forcé
- type: turn_off
device_id: 26b351e8add90ebac7362d7209a9e90b
entity_id: 9e599b5a96dc5007927001b4747edce8
domain: switch
- metadata: {}
data:
option: Automatique
target:
entity_id: input_select.chauffe_eau
action: input_select.select_option
- conditions:
- condition: state
entity_id: input_select.chauffe_eau
state: "Éteint "
sequence:
- type: turn_off
device_id: 26b351e8add90ebac7362d7209a9e90b
entity_id: 9e599b5a96dc5007927001b4747edce8
domain: switch
- type: turn_off
device_id: 2a47b1c9fffce7137d71f9fb58a2df0a
entity_id: 13a115edf80b70f7b29cd5d863ad78ea
domain: switch
- conditions:
- condition: state
entity_id: input_select.chauffe_eau
state: Automatique
sequence:
- if:
- condition: device
type: is_off
device_id: 2a47b1c9fffce7137d71f9fb58a2df0a
entity_id: 13a115edf80b70f7b29cd5d863ad78ea
domain: switch
then:
- type: turn_on
device_id: 2a47b1c9fffce7137d71f9fb58a2df0a
entity_id: 13a115edf80b70f7b29cd5d863ad78ea
domain: switch
- type: turn_off
device_id: 26b351e8add90ebac7362d7209a9e90b
entity_id: 9e599b5a96dc5007927001b4747edce8
domain: switch
mode: single
- un automatisme qui va activer le shelly en marche forcée jusqu’à atteindre la T° de consigne (58°C) si la température de consigne (T° max cumulus) n’a pas été atteinte pendant la journée.
Résumé
alias: chauffe eau auto la nuit
description: ""
triggers:
- trigger: time
at: "22:00:00"
conditions:
- condition: state
entity_id: input_select.chauffe_eau
state: Automatique
- condition: numeric_state
entity_id: sensor.tdeg_max_cumulus
below: 58
actions:
- type: turn_on
device_id: 26b351e8add90ebac7362d7209a9e90b
entity_id: 9e599b5a96dc5007927001b4747edce8
domain: switch
- wait_for_trigger:
- trigger: numeric_state
entity_id:
- sensor.tdegcumulus_temperature
above: 58
- type: turn_off
device_id: 26b351e8add90ebac7362d7209a9e90b
entity_id: 9e599b5a96dc5007927001b4747edce8
domain: switch
mode: single
- Pour finir, un petit badge en mushroom template sur le dashbord pour connaitre l’état de mon input.select et un icone qui reprend les couleur du ARSUN pour savoir si je suis en train de router de l’énergie solaire vers mon chauffe-eau
Résumé
type: custom:mushroom-template-badge
icon: >-
{{ "mdi:water-boiler-auto" if states('input_select.chauffe_eau') ==
'Automatique' }}
{{ "mdi:water-boiler-off" if states('input_select.chauffe_eau') == 'Éteint' }}
{{ "mdi:heat-wave" if states('input_select.chauffe_eau') == 'Forcé' }}
color: >-
{% if states('input_select.chauffe_eau') == 'Automatique' and
states('sensor.switch_routeur_solaire_power') == '0' %}
green
{% elif states('input_select.chauffe_eau') == 'Automatique' and
states('sensor.switch_routeur_solaire_power') > '0' and
states('switch.chauffe_eau_switch_0') == 'off' %}
blue
{% elif states('input_select.chauffe_eau') == 'Automatique' and
states('sensor.switch_routeur_solaire_power') > '0' and
states('switch.chauffe_eau_switch_0') == 'on' %}
red
{% elif states('input_select.chauffe_eau') == 'Forcé' and
states('sensor.switch_routeur_solaire_power') > '0' %}
red
{% elif states('input_select.chauffe_eau') == 'Forcé' and
states('sensor.switch_routeur_solaire_power') == '0' %}
grey
{% elif states('input_select.chauffe_eau') == 'Éteint' %}
grey
{%endif %}
entity: input_select.chauffe_eau
content: "{{states ('input_select.chauffe_eau')}}"
label: cumulus
Et enfin, la lecture sur une power card flow
Avec tout ça, j’ai pu transformer un routeur solaire non intégré dans HA en une solution pilotable quasiment intégralement.
En espérant que ça peut intéresser du monde.