Une seule automatisation pour ouvrir et fermer un volet avec 2 déclencheurs et 2 actions différentes

Bonjour,

Ça fait 2 semaines que je chipote pour arriver à ouvrir et fermer mon volet avec une seule automatisation : fermer tous les jours de la semaine à heure fixe + ouvrir au lever du soleil.

La fermeture semble fonctionner mais le lever du soleil pose problème sauf si je ne mets que sun.sun dans le trigger mais alors on entend mon module domotique qui se déclenche en ouverture à chaque changement d’état durant la journée et c’est pas génial sur la durée.

Est-ce que cette dernière version (pas encore testée) de mon automatisation serait correcte ?

Merci pour vos lumières :sweat_smile:

alias: Auto_Volet Bureau_21h30_lever soleil
description: ""
trigger:
  - platform: time
    at: "21:30:00"
  - platform: state
    entity_id:
      - sun.sun
    attribute: rising
condition: []
action:
  - choose:
      - conditions:
          - condition: time
            weekday:
              - mon
              - tue
              - wed
              - thu
              - fri
              - sat
              - sun
        sequence:
          - device_id: 165c2c69eab3c8009d0c0faf8afdeb1b
            domain: cover
            entity_id: 462184041a5d18c1a330071f070698fa
            type: close
      - conditions:
          - condition: sun
            after: sunrise
        sequence:
          - device_id: 165c2c69eab3c8009d0c0faf8afdeb1b
            domain: cover
            entity_id: 462184041a5d18c1a330071f070698fa
            type: open
mode: single

Ma configuration


[center]## System Information

version core-2024.4.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.1.73-haos-raspi
arch aarch64
timezone Europe/Brussels
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.34.0
Stage running
Available Repositories 1393
Downloaded Repositories 36
Home Assistant Cloud
logged_in true
subscription_expiration 28 avril 2024 à 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled true
remote_server eu-central-1-19.ui.nabu.casa
certificate_status ready
instance_id f0fd017040d14711b17f54352dde68e6
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 12.2
update_channel stable
supervisor_version supervisor-2024.04.0
agent_version 1.6.0
docker_version 25.0.5
disk_total 116.6 GB
disk_used 10.7 GB
healthy true
supported true
board rpi5-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.13.0), File editor (5.8.0), Samba share (12.3.1), Home Assistant Google Drive Backup (0.112.1), Studio Code Server (5.15.0), Spotify Connect (0.13.0), OpenThread Border Router (2.6.0), Matter Server (5.5.1), Mosquitto broker (6.4.0)
Dashboards
dashboards 2
resources 35
views 6
mode storage
Recorder
oldest_recorder_run 19 avril 2024 à 16:53
current_recorder_run 28 avril 2024 à 00:14
estimated_db_size 596.01 MiB
database_engine sqlite
database_version 3.44.2
Spotify
api_endpoint_reachable ok
[/center] Comment récupérer ma configuration : Dans votre HA, Menu latéral `Paramètres` > `Système` > `Corrections` puis les trois petits points en haut a droite > `Informations Système` puis une fois en bas `Copier` ___

Ce n’est normal qu’il y ai un déclanchement a chaque etat du sensor sun.sun puisque ton declancheur n’est sensé déclancher que lorsque sont attribu est rising.

Fait voir ton automatisation originale.

Pourquoi tu utilise l’attribut et pas l’état du capteur ?

Salut,
Pour ma part, je passe directement par une carte Scheduler qui permet presque tout les réglages que l’on pourrait souhaiter pour différents types d’entités
image

Bonjour,

Merci pour vos réponses.

J’utilise l’attribut car si j’utilise l’état sun.sun de maniere générale, vu que l’action associée est l’ouverture du volet après le lever du soleil, j’entends un déclenchement de mo module Shelly régulièrement au cours de la journée. En effet, si l’entité sun change et que nous sommes après le lever du soleil, la commande d’ouverture est lancée même si le volet est déjà en ouverture.
C’est pas génial pour le module tous ces déclenchements.
Mais j’y pense maintenant, je peux mettre une condition à l’option de l’action via un bloc de construction !

Concernant les cartes, c’est une solution mais je préfère ne pas créer de carte que je n’utiliserai pas, si ce n’est pour le bon fonctionnement d’une automatisation. J’essaye d’être économe pour le système et clean desk pour mon esprit :ok_hand:

Je vais tester ça, merci pour vos réflexions et partages !

Voici mon nouveau code:

alias: Auto_Volet Bureau_21h30_lever soleil
description: ""
trigger:
  - platform: time
    at: "21:30:00"
  - platform: sun
    event: sunrise
    offset: 0
condition: []
action:
  - choose:
      - conditions:
          - condition: time
            weekday:
              - mon
              - tue
              - wed
              - thu
              - fri
              - sat
              - sun
            after: "21:30:00"
        sequence:
          - device_id: 165c2c69eab3c8009d0c0faf8afdeb1b
            domain: cover
            entity_id: 462184041a5d18c1a330071f070698fa
            type: close
      - conditions:
          - condition: time
            before: "09:30:00"
            weekday:
              - mon
              - tue
              - wed
              - thu
              - fri
              - sat
              - sun
        sequence:
          - device_id: 165c2c69eab3c8009d0c0faf8afdeb1b
            domain: cover
            entity_id: 462184041a5d18c1a330071f070698fa
            type: open
mode: single

Bonjour Matt1
Pour trigger au levé du soleil, essaye de changer

  - platform: state
    entity_id:
      - sun.sun

par

  - platform: sun
    event: sunrise
##    offset: '+600' #facultatif

C’est exactement ce que j’avais mis au début comme trigger, avec une action qui était la suivante, mais mon volet ne s’ouvrait pas au lever du soleil.

-  condition: sun
   after: sunrise

Ceci est peut-être à cause du fait que je mets plusieurs déclencheurs et plusieurs actions conditionnelles dans une seule automatisation, et à ma formulation maladroite de l’automatisation.

Il y a un problème de fond dans tes automatisations: tu as deux mécaniques très différentes dans la même automatisation: l’ouverture et la fermeture.

Il est souvent plus facile de faire deux automatisations (une pour l’ouverture, une autre pour la fermeture) dans ce cas.
Personnellement c’est ce que je fait (voir la 2eme partie).

Si on veut faire une seule automatisation, il faut pouvoir différencier les déclencheurs pour l’ouverture et ceux pour la fermeture. Pour ça on peut donner des id aux déclencheurs et ensuite faire un choose en fonction du déclencheur.

cliquer pour voir le code

attention, je n’ai pas remis les conditions de jours de semaine…

alias: Auto_Volet Bureau_21h30_lever soleil
description: "ouverture au lever du soleil, fermeture à 21h30"
trigger:
  - platform: time
    at: "21:30:00"
    id: fermeture
  - platform: sun
    event: sunrise
    id: ouverture
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - ouverture
        sequence:
          - device_id: 165c2c69eab3c8009d0c0faf8afdeb1b
            domain: cover
            entity_id: 462184041a5d18c1a330071f070698fa
            type: open
      - conditions:
          - condition: trigger
            id:
              - fermeture
        sequence:
          - device_id: 165c2c69eab3c8009d0c0faf8afdeb1b
            domain: cover
            entity_id: 462184041a5d18c1a330071f070698fa
            type: close
mode: single

En ce qui concerne le contenu de tes automatisations:

Attention. ton wording n’est pas le même que celui proposé par @GDX2 regarde attentivement

Un autre exemple perso: j’utilise la même formulation que @GDX2 :
J’ai deux trigger pour l’ouverture: le lever du soleil et 7h10:
Mais je les compare dans le bloc conditions pour être sur de ne pas ouvrir les volets au lever du soleil lorsque le lever du soleil est avant 7h10…

cliquer pour voir le code
alias: Volets - ouverture auto pieces de vie
description: >-
  En mode auto, en semaine,  les volets des pièces de vie s'ouvrent 10 min avant
  le lever du soleil (mini 7h10).
trigger:
  - platform: sun
    event: sunrise
    offset: "-00:10:00"
  - platform: time
    at: "07:10:00"
condition:
  - condition: and
    conditions:
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
        alias: Apres 7h10 en semaine
        after: "07:10:00"
      - condition: sun
        after: sunrise
        after_offset: "-00:10:00"
        alias: Plus tart que 10min avant lever du soleil
action:
  - service: cover.open_cover
    data: {}
    target:
      entity_id: cover.piece_de_vie
mode: single

merci pour ta réponse
Mais chez toi, quand le soleil se lève avant 7h10 en semaine, ils ne s’ouvrent pas alors ?
Dans mon cas, je souhaite gérer l’ouverture et la fermeture en fonction de conditions différentes, c’est pour ça que j’avais choisi Choose action dans l’action.
Pour le moment ça fait le job. Mais j’ai dû régler avant 9h30 dans les conditions car j’ai aussi une automatisation en fonction de l’intensité UV en journée…
Il y a moyen de faire plus propre de mon côté ?

Chez moi, avec les deux triggers réglés et les conditions (après 7h10 en semaine ET après le lever du soleil):

  • si le soleil se lève après 7h10, les volets s’ouvrent au lever du soleil (avec le trigger sur le lever du soleil)
  • si le soleil se lève avant 7h10, les volets s’ouvrent à 7h10 (avec le trigger à 7h10)

Relis mon message au dessus, je l’ai édité avec le choose en première partie du message (mon edit et ta réponse se sont croisées)

si tu veux des conditions différentes il faut soit:

  • faire deux automatisations avec des triggers, conditions et actions différentes (c’est mon cas)
  • faire une automatisation, avec des id sur les déclencheurs, des choose en fonction des id, et rajouter des bloc de conditions en plus des conditions sur les trigger id

Si tu règles bien tes triggers et tes conditions pour chaque cas, il ne devrait pas y avoir d’incompatibilités. Dans un tel cas, moi je ferai plusieurs automatisations plus simples plutôt qu’une grosse usine à gaz avec des choose dans tous les sens… mais chacun voit midi à sa porte…
Perso je ferai:

  • une automatisation d’ouverture le matin.
  • une automatisation de fermeture le soir.
  • une automatisation par facade de fermeture en journée pour les UV.
  • une automatisation par facade d’ouverture en journée pour les UV.

Mais je suis un mauvais exemple. Mon épouse n’a pas aimé les volets automatiques… donc toutes ces automatisations sont désormais désactivées chez nous…

il y a pas mal de tuto sur la gestion des volets, as tu fait une recherche?
Par exemple celui là:Automatiser ses volets roulants en fonction du soleil été / hiver

Il y a aussi des blueprints qui peuvent te faciliter la vie…

Merci pour ces explications @BBE
La solution que tu m’expliques avec les id répond parfaitement à ma demande initiale. Cela rationalise le nombre d’automatisations.
Mais d’un autre côté, tu as également raison en parlant d’usine à gaz… je vais plutôt rajouter une automatisation pour la fermeture des volets sur base de l’UV (ce que je n’ai pas encore) et faire 2 automatisations pour la montée et la descente des volets.
Note: je comprends que tes volets s’ouvrent dans tous les cas oui, c’est logique ! (j’avais zappé les 2 triggers en arrivant à la lecture des conditions d’ouverture) :wink:

Chez moi, pas de femme pour me contredire :rofl:

1 « J'aime »

Tu peux faire un fonctionnement similaire le soir aussi par exemple…

Je trouve ça plus facile à peaufiner au cas par cas dans plusieurs automatisations… Mais bien sûr on peut tout regrouper avec les id et les choose. C’est un choix personnel.

Tu as dans la dernière version de HA la possibilité de groupper les automatisations, avec des catégories ou avec des etiquettes. A mon sens ça réduit encore l’interret de faire une grosse usine à gaz avec des choose…

1 « J'aime »

Ah bien ça c’est parfait ! Je n’ai pas encore regardé le groupement en catégorie mais ça semble idéal, histoire de garder le nombre magique de maximum 7 éléments liés aux limites de notre capacité cognitive à traiter des informations structurées. C’est pas une règle absolue mais ça donne une idée en terme de lisibilité…

La lisibilité est grandement améliorée. Auparavent je le gérais avec le nommage (d’ailleur ça se voit toujours)…

Attends, je relis maintenant que je suis devant mon PC: si le soleil se lève avant 7h10 chez toi:

  • le trigger du lever du soleil se déclenche = OK
  • vu que dans tes conditions tu as choisi « AND », et que tu as mis « après 7h10 du lundi au vendredi » AND « 10 minutes avant le lever du soleil » , alors la condition après 7h10 n’est pas remplie puisqu’on est avant 7h10 = PAS OK

Dans ce cas de figure, il faudrait mettre « OR » pour que les volets s’ouvrent, non ?

attention, c’est :

  • apres 7h10
    AND
  • après le lever du soleil (-10min)

Mais on fait comme on veut… Typiquement certains vont vouloir le faire dans l’autre sens, et que ce soit toujours ouvert passé une certaine heure…

Oui, et c’est volontaire !
Dans notre cas, moi je ne veux pas qu’ils s’ouvrent avant 7h10, car en semaine le réveil des enfants c’est 7h10 donc pour ne pas réveiller toute la famille, les volets ne s’ouvrent qu’après 7h10.

Donc chez nous les volets s’ouvrent au lever du soleil (en fait 10min avant car il y a un offset), sauf si le lever du soleil est avant 7h10 auquel cas ils s’ouvrent a 7h10 (grace au 2eme trigger)

oui, je vois bien les triggers mais c’est la condition que je ne comprends pas.
Quand on met « AND », ça veut dire que les 2 conditions cumulatives doivent être remplies avant de passer à l’action, c’est ça ?
aaaah ouiiii, je viens de comprendre !! Avant 7h10, il se passe rien puisque les 2 conditions cumulatives ne sont pas remplies.
Et à 7h10, l’autre trigger se déclenche et les 2 conditions sont effectivement remplies = ouverture !

ça va, désolé, faut rentrer dans la logique :rofl:

1 « J'aime »

Voilà, c’est ça !

Bien vu!

bien vu… il m’a fallu un peu de temps quand même :sweat_smile:
Mais ça m’entraîne pour réaliser mes propres automatisations, merci !

C’est toujours plus simple quand c’est toi qui a écrit le truc que pour se plonger dans la logique d’un autre…

Le but c’est de bien comprendre la mécanique, les différentes briques à disposition, puis de faire soi même…

1 « J'aime »