Scénario Ete Hiver

Bonjour,

Je pilote un Chauffe eau mais en fonction de la période de l’année je ne le recharge pas au mêmes heures.
Aujourd’hui j’ai des automatisations que je désactive en fonction de la période.
J’aurai voulu mettre en place un sélecteur pour basculer d’un scénario à un autre (Ete / Hiver)

Est ce possible? Si Oui comment?

Merci à tous pour votre précieuse aide.

Ma configuration


System Information

version core-2025.4.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.2
os_name Linux
os_version 6.12.20-haos
arch x86_64
timezone Europe/Paris
config_dir /config
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 1626
Downloaded Repositories 4
Home Assistant Cloud
logged_in true
subscription_expiration 3 février 2026 à 01:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled true
cloud_ice_servers_enabled true
remote_server eu-central-1-9.ui.nabu.casa
certificate_status ready
instance_id e56adcdf642444e78580a9ab88a8f4a7
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 15.1
update_channel stable
supervisor_version supervisor-2025.03.4
agent_version 1.7.2
docker_version 28.0.4
disk_total 30.8 GB
disk_used 14.7 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization kvm
board ova
supervisor_api ok
version_api ok
installed_addons Get HACS (1.3.1), File editor (5.8.0), Mosquitto broker (6.5.0), Silicon Labs Flasher (0.3.2), Zigbee2MQTT (2.2.1-1), Zigbee2MQTT (2.2.1-1)
Dashboards
dashboards 2
resources 2
views 9
mode storage
Network Configuration
adapters lo (disabled), enp0s3 (enabled, default, auto), docker0 (disabled), hassio (disabled), veth7533475 (disabled), veth2fb94d8 (disabled), veth8af2d7e (disabled), vethe2121f7 (disabled), vethf2a439a (disabled), vethdee3caa (disabled), veth4df7a17 (disabled), vethcfd8b02 (disabled), veth88def76 (disabled), veth262ae86 (disabled)
ipv4_addresses lo (127.0.0.1/8), enp0s3 (192.168.1.165/24), docker0 (172.30.232.1/23), hassio (172.30.32.1/23), veth7533475 (), veth2fb94d8 (), veth8af2d7e (), vethe2121f7 (), vethf2a439a (), vethdee3caa (), veth4df7a17 (), vethcfd8b02 (), veth88def76 (), veth262ae86 ()
ipv6_addresses lo (::1/128), enp0s3 (fe80::65df:8d2f:1ed2:452/64), docker0 (fe80::c47f:1fff:fe4e:1b68/64), hassio (fe80::8cf9:e4ff:fe0f:dcf4/64), veth7533475 (fe80::403:ff:fed2:98b/64), veth2fb94d8 (fe80::8cc9:25ff:fe92:827d/64), veth8af2d7e (fe80::c8f:8dff:fead:dadc/64), vethe2121f7 (fe80::8413:c4ff:fe89:7f87/64), vethf2a439a (fe80::1061:d9ff:fe4e:b5b4/64), vethdee3caa (fe80::8060:f3ff:fe9f:a0f3/64), veth4df7a17 (fe80::64c2:c0ff:fee9:3cd1/64), vethcfd8b02 (fe80::3c74:40ff:feb4:a303/64), veth88def76 (fe80::3c9e:75ff:fea1:51f1/64), veth262ae86 (fe80::b07f:beff:fe7e:ee50/64)
announce_addresses 192.168.1.165, fe80::65df:8d2f:1ed2:452
Recorder
oldest_recorder_run 23 mars 2025 à 12:09
current_recorder_run 5 avril 2025 à 08:56
estimated_db_size 334.62 MiB
database_engine sqlite
database_version 3.48.0
___

Oui facilement, j’ai le même système pour le chauffage.
Tu crées une entité bouton (de type booléen il me semble) et la tuile associée te permet d’activer ou pas.
Ensuite dans ton automatisation tu mets la saison en condition.

Je précise mon message, je t’ai répondu un peu de tête et sans les bons termes…
Tu peux créer une entrée (pas une entité) « interrupteur », l’appeler « été ». Tu l’actives ou non et utilises dans l’automatisation « si été est activé… »

hello,

suivant la complexité c’est même possible de laisser tourner 2 automations avec des templates de date 6 mois l’une qui activera 6 mois l’autre qui activera, voir tout mettre dans une seule automation ( en tout automatique), après si les dates ne sont pas fixes un bouton fera l’affaire.

cdt

Salut,
Oui c’est parfaitement faisable :

Dans Paramètres / Appareil et services / Entrées / Crée une entrée : List déroulante
tu y met tes 2 ou 4 saisons

puis tu crée une automatisation avec comme trigger ce sensor crée qui change d’état
et comme action qq chose comme ça:

action: automation.turn_off
target:
  entity_id: automation.ajouter...
data:
  stop_actions: true
action: automation.turn_on
target:
  entity_id: automation.enlever...
data:
  stop_actions: true

bien sur dans les actions de l’automation, tu devras gerer les possiblité de ton sensor avec les saisons via un Choisir

Bonne soirée

Comme mes petits camarades, c’est tout à fait possible.

J’ai choisi une autre approche:

  • j’ai créé deux entrées , une entrée mode hiver et une entrée mode été
  • j’ai créé une automatisation qui éteint l’autre mode quand on en active un (passage été ON => passage hiver off et inversement)
  • j’utilise ces modes dans mes automatisations dans les conditions pour ne pas activer les automatisation d’hiver en été et inversement.
  • la gestion des modes est faite en manuel dans le dashboard, et via certains scripts qui basculent les booléens aussi (genre « allume le chauffage » passe en mode hiver et allume le chauffage).

Ainsi je peux être soit en mode été (clim), soit en mode hiver (chauffage), jamais dans les deux, mais je peux être ni en été ni en hiver (en intersaison).

1 « J'aime »

Bonjour, j’arrive un peu tard :grinning_face:
Voici ce que j’ai fait pour identifier si je suis en heures été ou hiver.
L’idée est de comparer l’heure du lever de soleil du jour avec celui de la veille qui est enregistré dans une entité date. Si l’écart est supérieur ou inferieur à 30 minutes c’est que l’on a changé d’heure.
L’info de l’heure été ou hiver est dans une entité texte.

Voici mon automatisation

alias: Définition heures Eté Hiver
description: ""
triggers:
  - trigger: sun
    event: sunrise
    offset: "-1:00:00"
conditions: []
actions:
  - action: input_text.set_value
    metadata: {}
    data:
      value: >-
        {% set horaireLeverSoleilSave =
        strptime(states('input_datetime.heure_lever_soleil_enregistree'),
        '%H:%M:%S')%}


        {% set horaireLeverSoleil = 
        as_timestamp(states('sensor.sun_next_rising')) |
        timestamp_custom('%H:%M:%S', true) %}   


        {% set dt_lever = strptime(horaireLeverSoleil, '%H:%M:%S') %}


        {% set ecart_secondes = (horaireLeverSoleilSave.hour * 3600 +
        horaireLeverSoleilSave.minute * 60 + horaireLeverSoleilSave.second)
        -                          (dt_lever.hour * 3600 + dt_lever.minute * 60
        + dt_lever.second) %}


        {% set ecart_minutes = (ecart_secondes / 60) | int %}


        {% set heureEteHiverActuelle =  states('input_text.heure_ete_hiver') %}


        {% if ecart_minutes > 30 %}

        hiver

        {% elif  ecart_minutes < -30 %}

        été

        {%else %}

        {{ heureEteHiverActuelle }}

        {%endif%}
    target:
      entity_id: input_text.heure_ete_hiver
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - action: input_datetime.set_datetime
    metadata: {}
    target:
      entity_id: input_datetime.heure_lever_soleil_enregistree
    data:
      time: >-
        {{  as_timestamp(states('sensor.sun_next_rising')) |
        timestamp_custom('%H:%M', true) }}  
mode: single


Un peu comme tout le monde ici j’avais le même besoin, et j’ai créé aussi une jolie carte pour ça.. Dans mon exemple j’ai déclaré un sélecteur mode hive/ete/mi-saison
Dans mon approche je voulais éviter d’avoir plusieurs interrupteurs interdépendants, c’est l’avantage du input select sur le binaire oui/non.. Mais si on se limite à hiver/été on peut rester sur du binaire :grin:

Il y a l’exemple pour créer l’input select sur le git mais je la remets ici:

input_select:
  season:
    name: SEASON
    icon: mdi:sun-snowflake-variant
    options:
      - "❄️ WINTER"
      - "🍂 MID-SEASON"
      - "☀️ SUMMER"