Salut à tous, suite à l'activation du module solcast dans Home Assistant afin d'avoir des prévisions de production solaire, j'ai demandé à chat GPT de me faire un ptit script qui permet de consulter tous les soirs à heure fixe les prévisions du lendemain, et si l'estimation est inférieure à 12kWh, d'activer le cumulus le soir sur une plage horaire donnée. Histoire de jamais être à cours d'eau chaude, car oui, le routeur solaire est efficace en journée, mais malheureusement, il doit être couplé à une gestion efficace la nuit afin d'éviter de prendre des douches à l'eau froide (si pas de soleil).
Je suis bien conscient que ce script ne règle pas tout mais il permet déjà de se soulager de la conso inutile la nuit et de faire quelques petites économies.
Bien sur, il faut adapter vos horaires/production et surtout vos entités.
Ca donne ça des fois que ça intéresse du monde :
✅ Objectif
Chaque soir à heure fixe (ex. 21:00)
Vérifie les prévisions de production solaire de demain via sensor.solcast_pv_prevision_previsions_pour_demain
Si la production prévue est inférieure à 12 kWh, alors :
Allume le cumulus (switch.compteur_cumulus) pendant une plage horaire définie (ex. 02:00 à 06:00)
⚙️ Étape 1 : Créer un input_boolean de déclenchement
Ajoute ceci dans configuration.yaml et redémarrer home assistant :
Ce commutateur virtuel sert à stocker la "décision" prise à 21h.
Ensuite, il faut créer les automatisations :
Automatisation 1 : Vérifie les prévisions chaque soir
⚡ Automatisation 2 : Active le cumulus pendant la plage horaire si le flag est activé
✅ Résultat
Tous les soirs à 21h00, Home Assistant consulte les prévisions de production solaire.
Si la production prévue < 12 kWh, il planifie l’allumage du cumulus à 2h00 pendant 4h.
Le flag est remis à zéro chaque matin après l’exécution.
En bonus, une carte lovelace (pile verticale) qui regroupe les infos :
Carte Lovelace : Suivi cumulus & prévisions solaires
Configuration YAML à copier dans Lovelace (mode YAML ou “Carte manuelle”)
Voila, ca fait un moment que j'écume les forums afin de trouver un truc similaire, et là, chat GPT me l'a pondu en 5 min en peufinant ma requête. En espérant que ca puisse servir ...
Version qui permet de changer d'heure via l'interface :
Voici comment personnaliser la plage horaire et la durée de chauffe de ton cumulus depuis l’interface Home Assistant grâce aux input_datetime et à une automatisation adaptée.
Étape 1 : Déclare les inputs_datetime
Ajoute ceci dans ton configuration.yaml (ou via l’interface “Aides à la configuration” > “Entrée Date/Heure”) :
Cela te permettra de définir l’heure de début et l’heure de fin via Lovelace.
Étape 2 : Automatisation unique basée sur ces horaires
Voici une version unique et intelligente de l'automatisation : elle attend dynamiquement la durée que tu définis avec les deux input_datetime
Étape 3 : Ajouter les champs dans ta carte Lovelace
Voici comment les afficher et modifier directement dans l’interface :
Résumé du fonctionnement :
Etape 4 : Carte Lovelace complète (YAML)
Toujours pareil, à adapter en fonction de votre matériel.
Je suis bien conscient que ce script ne règle pas tout mais il permet déjà de se soulager de la conso inutile la nuit et de faire quelques petites économies.
Bien sur, il faut adapter vos horaires/production et surtout vos entités.
Ca donne ça des fois que ça intéresse du monde :
✅ Objectif
Chaque soir à heure fixe (ex. 21:00)
Vérifie les prévisions de production solaire de demain via sensor.solcast_pv_prevision_previsions_pour_demain
Si la production prévue est inférieure à 12 kWh, alors :
Allume le cumulus (switch.compteur_cumulus) pendant une plage horaire définie (ex. 02:00 à 06:00)
⚙️ Étape 1 : Créer un input_boolean de déclenchement
Ajoute ceci dans configuration.yaml et redémarrer home assistant :
Code :
input_boolean:
cumulus_programme:
name: Cumulus à activer cette nuit
initial: false
Ce commutateur virtuel sert à stocker la "décision" prise à 21h.
Ensuite, il faut créer les automatisations :
Automatisation 1 : Vérifie les prévisions chaque soir
Code :
alias: Vérifier les prévisions solaires pour demain description : Active le flag si la production solaire prévue est inférieure à 12 kWh
trigger:
- platform: time
at: "21:00:00"
condition:
- condition: numeric_state
entity_id: sensor.solcast_pv_prevision_previsions_pour_demain
below: 12.0
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.cumulus_programme
mode: single
⚡ Automatisation 2 : Active le cumulus pendant la plage horaire si le flag est activé
Code :
alias: Activer le cumulus si production solaire faible prévue description : Allume le cumulus pendant la plage horaire si le flag est activé
trigger:
- platform: time
at: "02:00:00"
condition:
- condition: state
entity_id: input_boolean.cumulus_programme
state: "on"
action:
- service: switch.turn_on
target:
entity_id: switch.compteur_cumulus
- delay: "04:00:00" # Durée de chauffe (02:00 → 06:00)
- service: switch.turn_off
target:
entity_id: switch.compteur_cumulus
- service: input_boolean.turn_off # Réinitialisation du flag
target:
entity_id: input_boolean.cumulus_programme
mode: single
✅ Résultat
Tous les soirs à 21h00, Home Assistant consulte les prévisions de production solaire.
Si la production prévue < 12 kWh, il planifie l’allumage du cumulus à 2h00 pendant 4h.
Le flag est remis à zéro chaque matin après l’exécution.
En bonus, une carte lovelace (pile verticale) qui regroupe les infos :
Carte Lovelace : Suivi cumulus & prévisions solaires
Configuration YAML à copier dans Lovelace (mode YAML ou “Carte manuelle”)
Code :
type: vertical-stack
cards:
- type: entities
title: Chauffe-eau & prévisions solaires
entities:
- entity: sensor.solcast_pv_prevision_previsions_pour_demain
name: Prévisions solaires demain (kWh)
- entity: input_boolean.cumulus_programme
name: Chauffe-eau programmé cette nuit
- entity: switch.compteur_cumulus
name: Chauffe-eau (état actuel)
- type: conditional
conditions:
- entity: input_boolean.cumulus_programme
state: "on"
card:
type: markdown
content: |
**Le chauffe-eau est programmé pour cette nuit.**
Il s’activera automatiquement à **2h00** si la production solaire prévue demain est inférieure à **12 kWh**.
- type: conditional
conditions:
- entity: input_boolean.cumulus_programme
state: "off"
card:
type: markdown
content: |
**Le chauffe-eau ne sera pas activé cette nuit.**
La production solaire prévue pour demain est suffisante.
Voila, ca fait un moment que j'écume les forums afin de trouver un truc similaire, et là, chat GPT me l'a pondu en 5 min en peufinant ma requête. En espérant que ca puisse servir ...
Version qui permet de changer d'heure via l'interface :
Voici comment personnaliser la plage horaire et la durée de chauffe de ton cumulus depuis l’interface Home Assistant grâce aux input_datetime et à une automatisation adaptée.
Étape 1 : Déclare les inputs_datetime
Ajoute ceci dans ton configuration.yaml (ou via l’interface “Aides à la configuration” > “Entrée Date/Heure”) :
Code :
input_datetime:
chauffe_eau_heure_debut:
name: Heure début chauffe-eau
has_time: true
has_date: false
initial: "02:00:00"
chauffe_eau_heure_fin:
name: Heure fin chauffe-eau
has_time: true
has_date: false
initial: "06:00:00"
Étape 2 : Automatisation unique basée sur ces horaires
Voici une version unique et intelligente de l'automatisation : elle attend dynamiquement la durée que tu définis avec les deux input_datetime
Code :
alias: Activer le cumulus à heure personnalisée si soleil faible prévu
trigger:
- platform: time
at: input_datetime.chauffe_eau_heure_debut
condition:
- condition: state
entity_id: input_boolean.cumulus_programme
state: "on"
action:
- service: switch.turn_on
target:
entity_id: switch.compteur_cumulus
- delay:
hours: >
{{ (as_timestamp(states('input_datetime.chauffe_eau_heure_fin')) -
as_timestamp(states('input_datetime.chauffe_eau_heure_debut'))) | int // 3600 }}
minutes: >
{{ ((as_timestamp(states('input_datetime.chauffe_eau_heure_fin')) -
as_timestamp(states('input_datetime.chauffe_eau_heure_debut'))) | int % 3600) // 60 }}
- service: switch.turn_off
target:
entity_id: switch.compteur_cumulus
- service: input_boolean.turn_off
target:
entity_id: input_boolean.cumulus_programme
mode: single
Étape 3 : Ajouter les champs dans ta carte Lovelace
Voici comment les afficher et modifier directement dans l’interface :
Code :
type: entities
title: Paramètres chauffe-eau
entities:
- entity: input_datetime.chauffe_eau_heure_debut
name: Heure de début
- entity: input_datetime.chauffe_eau_heure_fin
name: Heure de fin
Résumé du fonctionnement :
- Tu définis les heures de début et fin dans l’interface.
- Si la production solaire prévue demain est < 12 kWh, Home Assistant active le chauffe-eau à input_datetime.chauffe_eau_heure_debut et l’éteint à input_datetime.chauffe_eau_heure_fin
- Le tout est entièrement personnalisable sans modifier de YAML.
Etape 4 : Carte Lovelace complète (YAML)
Code :
type: vertical-stack
cards:
- type: entities
title: Chauffe-eau & solaire
entities:
- entity: sensor.solcast_pv_prevision_previsions_pour_demain
name: Prévision solaire demain (kWh)
- entity: input_boolean.cumulus_programme
name: Chauffe-eau programmé cette nuit
- entity: switch.compteur_cumulus
name: Chauffe-eau (état)
- entity: input_datetime.chauffe_eau_heure_debut
name: Heure de début
- entity: input_datetime.chauffe_eau_heure_fin
name: Heure de fin
- type: conditional
conditions:
- entity: input_boolean.cumulus_programme
state: "on"
card:
type: markdown
content: |
? **Le chauffe-eau est programmé pour cette nuit.**
⏱️ De **{{ states('input_datetime.chauffe_eau_heure_debut') }}** à **{{ states('input_datetime.chauffe_eau_heure_fin') }}**
- type: conditional
conditions:
- entity: input_boolean.cumulus_programme
state: "off"
card:
type: markdown
content: |
☀️ **Le chauffe-eau ne sera pas activé cette nuit.**
La production solaire prévue est suffisante.
Toujours pareil, à adapter en fonction de votre matériel.