passyl
Octobre 19, 2021, 7:36
21
merci pour ce tuto très clair. J’ai un pb très bête, je souhaite mettre dans la même automation la fermeture et l’ouverture des volets en fonction d’une heure. J’ai réussi à faire la fermeture et l’ouverture mais pas dans la même automation. Une idée svp? voici mon code pour la fermeture:
- alias: 'Gestion des volets'
trigger:
- platform: template
value_template: '{{ (states.sensor.time.state >= states.input_datetime.heure_fermeture_volets_rdc_semaine.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_ouverture_volets_rdc_semaine.state[0:5]) }}'
condition:
condition: and
conditions:
- condition: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
state: 'Mode Auto semaine'
- condition: state
entity_id: binary_sensor.workday_sensor
state: "on"
action:
- service: rest_command.fermer_les_volets_rdc
entity_id: rest_command.fermer_les_volets_rdc
Yul
Octobre 19, 2021, 8:50
22
Tu peux utiliser regrouper tes deux trigger dans la même automatisation et utiliser « choose » avec tes conditions d’ouverture et de fermeture.
Salut ,
Merci de participer sur le forum
Lorsque tu postes du code (flow, yaml, js, etc.), utilise les blocs codes
Pour cela, il te suffit de cliquer sur l’outil dédié et de coller ton code à l’endroit indiqué :
L’équipe HACF.
passyl
Octobre 20, 2021, 7:59
24
Merci Yul, mais je n’arrive pas à faire tomber en marche mon code: je fais mes tests avec une prise par simplicité je ne vois pas où se trouve mon erreur
- alias: 'Gestion des volets'
description: 'Gestion desvolets'
trigger:
- platform: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
state: 'Mode Auto semaine'
- condition: state
entity_id: binary_sensor.workday_sensor
state: "on"
sequence:
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_fermeture_volets_rdc_semaine.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_ouverture_volets_rdc_semaine.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_ouverture_volets_rdc_semaine.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_fermeture_volets_rdc_semaine.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
- conditions:
- condition: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
state: 'Mode Auto WE/Férié'
- condition: state
entity_id: binary_sensor.workday_sensor
state: "off"
sequence:
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_fermeture_volets_rdc_we.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_ouverture_volets_rdc_we.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_ouverture_volets_rdc_we.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_fermeture_volets_rdc_we.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
default: []
'''
Partage tes 2 automatisations car dans la dernière, c’est tout cassé
Ca n’a rien à faire dans le service ça… c’était ton déclencheur, ça doit le rester…
passyl
Octobre 23, 2021, 3:30
27
Je suis une buse, désolé je n’y arrive pas. Mon trigger est le input_select. Ca ma saoule
- alias: 'Gestion des volets'
description: 'Gestion desvolets'
trigger:
- platform: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
state: 'Mode Auto semaine'
- condition: state
entity_id: binary_sensor.workday_sensor
state: "on"
sequence:
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_fermeture_volets_rdc_semaine.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_ouverture_volets_rdc_semaine.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_ouverture_volets_rdc_semaine.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_fermeture_volets_rdc_semaine.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
- conditions:
- condition: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
state: 'Mode Auto WE/Férié'
- condition: state
entity_id: binary_sensor.workday_sensor
state: "off"
sequence:
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_fermeture_volets_rdc_we.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_ouverture_volets_rdc_we.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
- service: switch.toggle
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_ouverture_volets_rdc_we.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_fermeture_volets_rdc_we.state[0:5]) }}'
entity_id: switch.prise_sejour_on_off
default: []
Makai
Octobre 26, 2021, 4:44
28
Pourquoi le code suivant dans l’appel au service switch.toogle ?
data:
value_template: '{{ (states.sensor.time.state > states.input_datetime.heure_fermeture_volets_rdc_semaine.state[0:5]) and (states.sensor.time.state < states.input_datetime.heure_ouverture_volets_rdc_semaine.state[0:5]) }}'
Je dis peut être une bêtise mais ça n’a rien à faire la
Sinon le trigger est sur un changement d’état pour un input_select
. C’est à dire que l’automatisation ne se lancera que lorsque la valeur de l’input_select sera changé. Est-ce bien ça qui est souhaité ?
Partage tes 2 automatisations…
Pas celle que tu essaies mais celles d’avant qui fonctionnaient…
passyl
Octobre 28, 2021, 6:55
31
Voici déjà celle d’ouverture:
- alias: Ouverture des volets semaine
trigger:
- platform: time_pattern
minutes: /1
seconds: 0
condition: # automation enabled and time is right
- condition: state
entity_id: input_boolean.cover_automation
state: 'on'
- condition: template
value_template: '{{ ((as_timestamp(now())|int)|timestamp_custom("%H:%M")) == (states.input_datetime.heure_ouverture_volets_rdc_semaine.state[0:5]) }}'
- condition: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
state: 'Mode Auto semaine'
- condition: state
entity_id: binary_sensor.workday_sensor
state: "on"
action:
- service: rest_command.ouvrir_le_volet_1_sejour
data:
entity_id: rest_command.ouvrir_le_volet_1_sejour
1 « J'aime »
passyl
Octobre 28, 2021, 7:01
32
et celle de fermeture:
- alias: Fermeture des volets semaine
trigger:
- platform: time_pattern
minutes: /1
seconds: 0
condition: # automation enabled and time is right
- condition: state
entity_id: input_boolean.cover_automation
state: 'on'
- condition: template
value_template: '{{ ((as_timestamp(now())|int)|timestamp_custom("%H:%M")) == (states.input_datetime.heure_fermeture_volets_rdc_semaine.state[0:5]) }}'
- condition: state
entity_id: input_select.modes_de_fermeture_des_volets_rdc
state: 'Mode Auto semaine'
- condition: state
entity_id: binary_sensor.workday_sensor
state: "on"
action:
- service: rest_command.fermer_le_volet_1_sejour
data:
entity_id: rest_command.fermer_le_volet_1_sejour
1 « J'aime »
Salut, top pour la fermeture des volets en été ! Merci
Makai
Décembre 25, 2021, 8:10
35
C’est un peu hard de faire tourner tes automatisations toutes les minutes. Est-ce que ça serait pas plus efficace d’avoir le trigger sur l’heure de déclenchement ?
Un truc comme ça :
Trigger:
- platform: time
at: states.input_datetime.heure_fermeture_volets_rdc_semaine
2 « J'aime »
Hello,
Dans le template on peut ajouter une condition pour que cela s’ouvre si la meteo est a sunny ou partlycloudy ?
Merci à vous
Edit:
J’ai fait ça:
alias: Mode été volets EST (Persienne)
description: Mise en persienne des volets coté Est.
trigger:
- platform: state
entity_id:
- binary_sensor.azimuth_est
to: 'on'
from: 'off'
condition:
- condition: state
entity_id: input_boolean.mode_volets
state: 'on'
action:
- if:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.position_baie_suite
above: '5'
- condition: or
conditions:
- condition: state
entity_id: weather.nersac
state: sunny
- condition: state
entity_id: weather.nersac
state: partlycloudy
then:
- service: cover.set_cover_position
data:
position: 83
target:
entity_id: cover.volet_baie_p
- service: cover.set_cover_position
data:
position: 84
target:
entity_id: cover.volet_entree
mode: single
Cela vous parait correct?
Bonjour !
J’utilise la technique décrite dans le tuto depuis un moment mais j’aimerai changer pour plus simplicité et pour d’autres fonctionnalités.
Je me suis créé récemment un unique ‹ binary sensor › qui mêle deux capteurs de présence. L’idée est que si l’un ou l’autre des capteurs détecte une présence alors le ‹ binary sensor › s’allume.
- platform: template
sensors:
presence_wc_sdd_rdc:
friendly_name: "Présence WC et Sdd RDC"
device_class: motion
value_template: >
{{
is_state('binary_sensor.presence_wc_rdc', 'on')
or is_state('binary_sensor.presence_sdd_rdc', 'on')
}}
Je crois que j’utilise toujours la mauvaise version pour rédiger mes ‹ sensors ›. Je devrais le mettre dans mon fichier split ‹ template.yaml › en utilisant la ‹ mordern configuration › mais je n’ai pas eu le temps de les déplacer.
J’aimerai appliquer cela pour l’azimut et l’elevation du soleil sur mon volet mais j’ai encore du mal avec les templates…
Il faudrait que le ‹ binary sensor › passe à ‹ on › quand :
L’azimut est entre 145 et 245
ET l’elevation est supérieure à 45
Voici mon idée, mais j’aurai besoin d’un connaisseur pour corriger mes erreurs…
- platform: template
sensors:
soleil_chambre_rdc:
friendly_name: "Soleil Chambre RDC"
value_template: >
{{
is_state_attr(sun.sun', 'elevation')|float > 45
and is_state_attr('sun.sun', 'azimut')|float > 145 < 245
}}
Herbs
Juin 14, 2022, 4:53
39
Salut,
Tu peux essayer qqc comme ça :
- platform: template
sensors:
soleil_chambre_rdc:
friendly_name: "Soleil Chambre RDC"
value_template: >
{{
{% set E = state_attr('sun.sun', 'elevation') | float %}
{% set A = state_attr('sun.sun', 'azimuth') | float %}
{{ E > 45 and 145 < A < 245 }}
}}
Attention ce format de template ne sera bientôt plus fonctionnel pensez à mettre à jour ce que vous partagez sinon en septembre beaucoup de template ne fonctionneront plus
1 « J'aime »
Herbs
Juin 15, 2022, 4:46
41
template:
- binary_sensor:
- name: "Soleil Chambre rdc"
unique_id: soleil_chambre_rdc
state: >
{{
{% set E = state_attr('sun.sun', 'elevation') | float %}
{% set A = state_attr('sun.sun', 'azimuth') | float %}
{{ E > 45 and 145 < A < 245 }}
}}
Voilà avec le nouveau format, je pense que ça devrait fonctionner
2 « J'aime »
alias: Volet Bureau Azimut
description: Volet Bureau Azimut
trigger:
- entity_id:
- binary_sensor.soleil_volet_sud
from: 'off'
platform: state
to: 'on'
- platform: state
entity_id:
- sensor.capteur_lumiere_exterieur
for:
hours: 0
minutes: 30
seconds: 0
from: '4000'
to: '10000'
- platform: state
entity_id:
- sensor.temperature_158d000273cd8e
- platform: state
entity_id:
- sensor.sunelevation
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.modevoletbureau
state: Auto
- condition: numeric_state
entity_id: sensor.temperature_158d000273cd8e
above: '22'
- condition: numeric_state
entity_id: sensor.capteur_lumiere_exterieur
above: '5000'
- condition: template
value_template: '{{ state_attr("cover.volet_bureau", "current_position") > 60 }}'
enabled: true
- condition: numeric_state
entity_id: sensor.sunelevation
below: '65'
- condition: state
entity_id: binary_sensor.soleil_volet_sud
state: 'on'
sequence:
- device_id: 3b13f25093299df51a0aa3ddb7bf8774
domain: cover
entity_id: cover.volet_bureau
type: set_position
position: 20
default:
- device_id: 3b13f25093299df51a0aa3ddb7bf8774
domain: cover
entity_id: cover.volet_bureau
type: set_position
position: 100
mode: single
Salut ma petite contribution