Automatisation volets en fonction du lever du soleil et de l'heure

Bonjour,

je souhaiterais refaire mon automatisation d’ouverture des volets de façon à ce que :

  • lorsqu’il est 08h30 et que le soleil est levé que les volets s’ouvrent
  • lorsqu’il est 08h30 et que le soleil n’est pas encore levé que les volets s’ouvrent au lever du soleil
    Voici mon automatisation :
alias: Test Ouverture volets
description: ""
triggers:
  - entity_id: calendar.calendrier_home_assistant
    event: start
    offset: "8:30:0"
    trigger: calendar
conditions: []
actions:
  - choose:
      - conditions:
          - condition: sun
            after: sunrise
        sequence:
          - action: notify.mobile_app_iphone_de_xxx
            metadata: {}
            data:
              title: Test ouverture volets
              message: Ouverture après lever du soleil
      - conditions:
          - condition: sun
            before: sunrise
        sequence:
          - action: notify.mobile_app_iphone_de_xxx
            metadata: {}
            data:
              title: Test ouverture volets
              message: Ouverture avant lever soleil => attente heure lever du soleil
mode: single

Il faut jouer avec les trigger id.

Tu garde ton trigger 8h30 et tu lui donne l id « time ».
Tu crée un autre trigger levée du soleil avec l id « soleil » par exemple.

Tu crée un bloc de type option dans les actions.
Option 1 si déclancher par id time alors si le soleil est levé=> ouverture des volets.

Option 2 si declanche par id soleil. Tu ajoute une condition si heure > 8h30 alors ouverte des volets.

1 « J'aime »

Merci pour ce premier retour @Idaho947

Cependant je ne comprends pas cette histoire de triggers id, j’ai bien des triggers mais ils sont entity_id

Serait il possible d’avoir un exemple concret ?

Regarde ici :

1 « J'aime »

En fait pour les triggers, je pense avoir réussi, c’est la contrainte horaire > 08:30:00 que je n’arrive pas à intégrer dans l’option 1.

alias: Test Ouverture volets
description: ""
triggers:
  - trigger: sun
    event: sunrise
    offset: 0
    id: Lever soleil
  - trigger: time
    at: "08:30:00"
    id: Heure fixe
conditions: []
actions:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: trigger
                id: Lever soleil
              - condition: numeric_state
                entity_id: sensor.time
                above: 8.3
        sequence: []
mode: single

Pour l’option 2 tu veux dire ?

Simplement avec un bloc si dès le debut de l’action.

Je voulais dire la première option créée, je n’en tente qu’une pour le moment : Si déclenché par lever du soleil ET heure supérieure à 08h30
Je n’arrive pas à intégrer le si supérieure à 08h30 dans mon bloc

C’est pas clair, l’option 1 dans mon message est déclenchée par l heure est 8h30.

Pour l’option 2 déclenchée par le levée du soleil, tu met en condition de ton option l id lever du soleil et dans action tu ajoute un bloc si avec pour condition heure apres 8h30.
Ceci di tu peux aussi le mettre en dans la partie conditions de l’option.

Après tes conseils, j’ai modifié mon code comme suit donc le déclencheur pour le moment n’est plus 08h30 mais le lever du soleil.

Je pense avoir réussi avec ceci :

alias: Test Ouverture volets
description: ""
triggers:
  - trigger: sun
    event: sunrise
    offset: 0
    id: Lever soleil
  - trigger: time
    at: "08:30:00"
    id: Heure fixe
conditions: []
actions:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: trigger
                id: Lever soleil
              - condition: time
                after: "08:30:00"
        sequence:
          - action: notify.mobile_app_iphone_de_xxx
            metadata: {}
            data:
              title: Test ouverture volets
              message: Soleil levé et heure > 08h30
mode: single

Qu’en penses tu ?

Ça devrait le faire.

Hello,

Si ça le fait pas

cdt

Salut
Pourquoi s’embêter avec les id dans le cas présent ?

alias: Nouvelle automatisation
description: ""
triggers:
  - trigger: time
    at: "08:30:00"
  - trigger: sun
    event: sunrise
    offset: 0
conditions:
  - condition: time
    after: "08:30:00"
  - condition: sun
    after: sunrise
actions:
  - action: ouvrir_volet
    metadata: {}
    data: {}
    target:
      entity_id: entity_id_volet_a_ouvrir
mode: single

Parce que dans ton cas a 8h30 il ne se passera rien. Donc si le soleil se lève avant tes volets ne s’ouvriront pas.

Cas 1
Arrive 8h30 → soleil levé et on est après 8h30 → ça s’ouvre

Cas2
Arrive 8h30 → soleil pas levé et on est après 8h30 → il se passe rien
le soleil se lève → soleil levé et on est après 8h30 → ça s’ouvre

Peut être mettre 8h29m59s dans la condition au lieu de 8h30

2 « J'aime »

Super, merci pour votre aide.
Je vous retiens au courant.

C’est parfait, tout fonctionne !
Merci pour votre aide

1 « J'aime »