Planificateur lever du soleil et heure mini

Mon problème

bonjour à tous
j’utilise le planificateur pour gérer les ouvertures et fermetures des volets avec les heures de lever et coucher du soleil.
Existe il un moyen de mettre en plus un horaire minimum à savoir mes volets s’ouvrent au moment du lever du soleil mais jamais avant 7h (pour cet été)
Merci pour votre aide

Hello,

Dans tes automatisations, tu peux rajouter des conditions :

alias: AAAA sandbox
description: ""
trigger:
  - platform: sun
    event: sunrise
    offset: 0
condition:
  - condition: time
    after: "07:00:00"
action:
  - service: persistent_notification.create
    data:
      message: coucou
      title: DEBUG variable
mode: single

merci pour ta réponse mais je souhaite le mettre directement dans le planificateur et à priori on ne peut l’éditer en yaml.

Désolé, je n’avais pas compris… Tu utilises quoi comme planificateur STP ? il a l’air plutôt sexy !

Je crois que dans le scheduler c’est forcément un choix entre heure fixe OU lever/coucher de soleil (+/-2h)

Du coup chez moi je fais ça dans une automatisation:

J’utilise deux déclencheurs :

  • 10 min avant le lever du soleil
  • à 7h10

Il faut bien les deux déclencheurs, sinon lorsque le lever du soleil est avant 7h10, il n’y a plus de déclencheur pour ouvrir les volets à 7h10…

Puis je teste dans les conditions qu’on soit bien :

  • en semaine après 7h10
    ET
  • plus tard que 10min après le lever du soleil
    ET
  • booléen mode automatique ‹ ON › (mais ça c’est pour activer ou désactiver le controle automatique directement depuis le dashboard…)

Il faut bien les deux premières conditions, sinon lorsque le déclencheur est à 7h10, on risque d’ouvrir les volets avant lever de soleil moins 10min…

Puis je monte les volets…

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: state
        entity_id: input_boolean.volet_roulant_auto
        state: "on"
        alias: Mode Auto volet roulant = ON
      - 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

Bien sûr, j’ai une autre automatisation pour baisser les volets… On peut aussi combiner les deux avec un « choose » si on ne veut qu’une seule automatisation pour tout gérer…

Dans mon dashboard, j’ai une petite carte mushroom template qui rappelle les heures (on peut faire de même avec une carte Markdown si on n’a pas mushroom) :

le code

Carte mushroom:

type: custom:mushroom-template-card
primary: Gestion automatique des volets.
secondary: >-
  En mode auto:

  - en semaine, les pieces de vie s'ouvrent 10 min avant lever du soleil, à {{
  (as_timestamp(state_attr("sun.sun",
  "next_rising"))-600)|timestamp_custom('%H:%M',true)}}, mais pas plus tôt que
  7h10.

  - tous les jours, tous les volets se ferment 20 min apres le coucher du
  soleil, à {{ (as_timestamp(state_attr("sun.sun",
  "next_setting"))+1200)|timestamp_custom('%H:%M',true)}}.
icon: mdi:window-shutter-auto
multiline_secondary: true

Carte markdown :

type: markdown
content: |2-
    En mode auto:
    - en semaine, les pieces de vie s'ouvrent 10 min avant lever du soleil, à {{ (as_timestamp(state_attr("sun.sun", "next_rising"))-600)|timestamp_custom('%H:%M',true)}}, mais pas plus tôt que 7h10.
    - tous les jours, tous les volets se ferment 20 min apres le coucher du soleil, à {{ (as_timestamp(state_attr("sun.sun", "next_setting"))+1200)|timestamp_custom('%H:%M',true)}}.
title: Gestion automatique des volets
1 « J'aime »

@titoumimi
Il s’agit de la scheduler card https://github.com/nielsfaber/scheduler-card
qui fonctionne avec https://github.com/nielsfaber/scheduler-component

1 « J'aime »

Salut,

Il y a l’équivalent en pur YAML

C’est pas aussi direct à prendre en main mais c’est plutot puissant

2 « J'aime »

Sinon tu utilises les entrées booléennes dans les options du scheduler, un input_bolean alimenté via une automatisation mais c’est un peu déplacer le souci :wink:

Bob

Bonjour
je ne l’utilise pas (pas encore, je suis en train de regarder), mais j’ai vu dans la doc qu’on peut lancer des scripts avec scheduler-component, il suffit de mettre des conditions dans un script pour l’ouverture des volets et mettre le script dans le planning
ça doit marcher

Dans le cas décrit ici ça ne marche pas completement. La condition évite bien d’ouvrir les volets à 6h du matin en été mais…
Il n’y aura plus d’ouverture ensuite, si le soleil se lève avant l’heure mini.

Il faut donc ajouter un nouveau trigger à l’heure mini pour redéclencher le script (ou l’action) à ce moment là (voir mon automatisation plus haut).

Oui effectivement, pour les cas complexes rien ne vaut une automatisation

Merci pour votre aide. Je n’avais pas pensé à mettre des automations de volets dans scheduler. C’est un peu plus lourd mais forcement plus précis.

mais si tu fais ce script ca m’intéresse aussi car c’est hors de portée pour mes connaissances.

@BBE a raison le script ne convient pas complètement dans ton cas, le mieux c’est une automatisation.
J’utilise les scripts pour tout ce qui doit se déclencher quotidiennement à des heures précises avec des conditions « simples »: les prises connectées, les notifications journalières, l’alarme Nuit etc …

Le script ce n’est ni plus ni moins qu’une suite d’actions. C’est comme la partie « Actions » d’une automatisation, mais sans le déclencheur ni les conditions.
Ca se crée comme une automatisation (c’est au même endroit dans l’interface…)

Dans une automatisation, tu as un déclencheur qui démarre l’automatisation, des conditions qui peuvent l’arreter si tu n’est pas dans les conditions choisies, puis tu réalise la suite d’actions.

Un script ce n’est que la suite d’actions, le déclencheur c’est toi, qui « appelle » le script:

  • directement depuis l’interface (pour le tester par exemple)
  • dans une automatisation
  • a partir du dashboard (appui sur un bouton par exemple)
  • etc…

C’est utile si tu veux réaliser a plusieurs endroits ou de façon répétitive, la même suite d’actions.

Par exemple: pour fermer tous les volets, on peut créer un groupe. mais on peut aussi faire un script:
script fermer tous les volets:

  • fermer volet 1
  • fermer volet 2
  • etc…

ensuite dans ton dashboard et tes automatisation, au lieu de répéter la séquence fermer volet 1 puis fermer volet 2 etc… tu n’as qu’à lancer le script " fermer tous les volets"…

Autre avantage, si tu ajoutes un nouveau volet, tu ne modifie que le script, pas toutes les automatisations et tous les dashboard.
(bon cet exemple se traite aussi bien avec un groupe, mais c’est pour illustrer)