Automatisation avec double condition sur l'heure

Salut,

Avant de tester avec succès Home assistant, j’utilisais Jeedom. Pour gérer mes volets, j’avais une automatisation que je n’ai toujours pas réussi à reproduire depuis l’éditeur d’automatisation.

J’aimerai combiné 2 conditions : Ouvrir les volets à une heure qui le max entre l’heure du levé du soleil et 7h du matin.

Mon objectif : ne pas réveiller tout le monde avant 7h si le soleil se lève à 6h…

Dans Jeedom c’était très simple à mettre en place. Dans l’éditeur d’automatisation HA, je n’ai pas réussi. Pendant tout l’hiver, les volets se sont ouverts à l’heure du levé du soleil, mais avec le printemps, ce n’est plus possible :slight_smile:

Pourriez-vous m’aiguiller svp ?

Merci.

Hello,

Ce que je ferait :

Tes triggers (c’est un ou par défaut) :

  • levé du soleil
  • heure = heure max désirée pour lever les volets
    Condition : si heure > 8h (mais < a heure max)
  • action : lever les volets

Et rajouter un trigger de déclanchement a 7h pour ouvrir les volets si jamais le levée du soleil a eu lieu avant.

Tu peux aussi ajouter une condition qui te permet de savoir si tout le monde est levé (chez moi un volet ouvert) et ajouter le changement d’état de ce dernier sensor en trigger si jamais il a lieu apres l’heure max ou le levée du soleil.

Essaye avec un trigger sur le lever du soleil et l’action *choisir" ( qui est un peu le si…sinon de jeedom)

Au lever du soleil
Option 1: si heure < 7.00 → attendre 7.00 → ouvrir volet
Option 2: si heure > 7.00 → ouvrir volet

1 « J'aime »

Salut,

Merci pour vos réponses. J’ai regardé « Choisir », mais je ne trouve pas de « Attendre 7h », mais uniquement « Attendre un délai ».

Et je n’ai pas compris l’idée de @titoumimi :sweat_smile:

action:
  - wait_template: >-
      {{now().strftime('%H:%M') > "07:00"}}

Ce que je te propose, c’est ça comme code :

description: ""
mode: single
trigger:
  - platform: sun
    event: sunrise
    offset: 0
  - platform: time
    at: "08:00:00"
condition:
  - condition: time
    after: "07:00:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.philips_hue_go
    data: {}

Ce que ça fait :

  • se déclenche au lever du soleil et à 8h (heure max désirée pour ouvrir mes volets)
  • la condition fait que ça ne se déclenchera QUE après 07h00 (donc si l’aube est avant, on ignore)
  • et ici j’allume une lumière, j’ai pas de volets :wink:

Dit autrement, à partir de 7h du matin pourront s’ouvrir, soit parce que l’aube se lève, soit parce qu’il est 8h,selon ce qui arrive en premier

Edit : j’ai corrigé l’heure de ma condition pour que le code soit plus parlant

Hello
Par contre lorsque le soleil se lève après 8h ça ne vas plus ?

Si le soleil se lève après 8h, c’est l’autre partie du trigger qui s’exécute.
Du coup tes volets se lèveront à 8h max (il m’avait semblé comprendre que c’était un système demandé dans l’expression de besoin initiale, non ?)

En fait, c’est ma condition qui est tendancieuse…

j’aurais mieux fait de mettre 7h par exemple, du coup ça donne :

Si l’aube est après 7h, on lève les volets à l’aube
Si l’aube est après 8h, on lève les volets à 8h quoi qu’il arrive

Tout ce qui compte, c’est que ma condition soit inférieure à l’heure max dans mon trigger :slight_smile:

Je ne pense pas qu’il veuille que ses volets s’ouvrent la nuit ?
Mais c’est pas clairement stipulé
Après il suffit d’une 2eme condition heure actuelle > sunrise

mon automatisation ne fait pas ça… Elle n’ouvre les volets qu’après 7h (si on prend ma valeur de condition corrigée)
ce qui déclenchera cette ouverture, ça sera soit l’aube, soit 8h, le premier des deux qui arrive

1 « J'aime »

Simple et terriblement efficace :+1:

1 « J'aime »

Tu peux faire comme cela ( j’ai mis une ampoule à la place des volets

Le yaml complet mais avec une ampoule

alias: "demo "
description: ""
trigger:
  - platform: sun
    event: sunrise
    offset: 0
condition: []
action:
  - choose:
      - conditions:
          - condition: time
            before: "07:00:00"
        sequence:
          - wait_for_trigger:
              - platform: time
                at: "07:00:00"
          - service: light.turn_on
            metadata: {}
            data: {}
            target:
              device_id: bc25fe78b0aa33e08834e4b60f6499b2
      - conditions:
          - condition: time
            after: "07:00:00"
        sequence:
          - service: light.turn_on
            metadata: {}
            data: {}
            target:
              device_id: bc25fe78b0aa33e08834e4b60f6499b2
mode: single

Merci à tous !

Je dois prendre le temps de creuser tout ça ! Pour le coup, +1 pour la simplicité de Jeedom pour cette règle :joy:

1 « J'aime »

Pourquoi tu n’utilise pas le bloc conditions ? Je pensais que tu l’avais déjà fait et que tes triggers étaient le problème. Pour le coup c’est plus simple.

Je viens de tester ça avec succès pour l’instant (notification à la place de l’ouverture des volets).

@Idaho947 Pas sur de comprendre ton message :sweat_smile:Mes triggers étaient le problème mais je pense que je cherchais à reproduire la logique jeedom qui me permettait de définir l’heure du trigger avec une formule.

Dans HA, ce n’est visiblement pas possible, en tout cas via l’UI et en une seule automatisation. Mais on peut obtenir le même résultat avec un algo différent.

Je vais me mettre des notif « avant le levée » du soleil pour tester demain matin.

Utilise le and if là où tu as mis les jour. La tu ajoute time > 7h et la condition sera vérifié pour tous les lancement.
Dans les trigger tu mets ce que tu veux.

Ne cherche pas a appliquer la logique de jeedom sur ha, c’est deux façon de faire totalement différente. La ton scénario est monté comme tu le faisais avant. C’est pas la méthode la plus simple.

Tu te compliques la vie

tu laisses le trigger sur le lever du soleil et dans action tu mets un wait sur l’heure en passant par le WaitTemplate

action:
  - wait_template: >-
      {{now().strftime('%H:%M') > "07:00"}}
    continue_on_timeout: true
  - service: cover.open_cover
    data: {}
    target:
      entity_id: cover.bas_rue
  - service: notify.telegram_maison
    data:
      message: 🟢 Volets Bas Rue - Ouverture Lever du Soleil

Ce code est celui que j’utilise et qui fonctionne dans toutes les conditions.

Si le lever du soleil est avant 7h il attendra 7h pour ouvrir les volets.

2 « J'aime »

Au top ton automation :+1:
Simple efficace et fonctionne même lorsque le soleil de lève après 7h00