Mon problème
Pour piloter mon chauffage, j’utilise les Scheduler. Ce composant est super pratique.
Mais, pour j’aurai besoin d’avoir plusieurs Scheduler (ou de Scheduler) différemment une même entité en fonction de la valeur d’une autre. Typiquement, je voudrais que les jours EDF Tempo rouge, la planification du chauffe-eau soit différente de celle des jours BLEU ou BLANC.
J’ai bien une option qui permet d’ajouter une condition à un Schedule mais ne fait qu’activer ou désactiver le Schedule. Ca ne me permet pas de choisir entre 2 Schedule sur la même entité.
Quand j’essaye de créer un autre Schedule sur une même entité, ça récupère l’existant mais ça n’en créé par une autre.
Bref si quelqu’un a réussi à contourner cette limitation je prends.
Je suis en Scheduler Card 2.3.9 (la dernière en date) et Scheduler Component 3.2.12.
Je te confirme que c’est possible, je m’en sert pour pouvoir facilement changer la programmation entre 5-6 usuels
Ca serait pas l’option discover_existing: false
, qu’il te manque ?
roumano:
discover_existing
Merci pour la réponse @roumano . J’ai essayé l’option mais ça ne fait pas ce que je veux.
J’ai créé un nouveau Scheduler Card, j’ai tapé ça :
type: custom:scheduler-card
discover_existing: false
include:
- climate.thermostat_bureau
- climate.thermostat_entree
- climate.thermostat_mezzanine
- climate.thermostat_sam1
- climate.thermostat_sam2
- climate.thermostat_sam3
- sensor.rte_tempo_jour
exclude: []
title: Planificateur Thermostat Tempo ROUGE
et voici ce que j’obtiens :
Les 2 Scheduler entourés en rouge sont liés. Je ne peux pas desactiver un sans desactiver l’autre par exemple.
il faut leur changer la configuration de tes deux scheduleurs :
c’est soit la balises soit la conditions qu’il te faut ( je sais plus trop, j’ai fait ça il y a longtemps)
J’ai essayé les conditions mais elles sont recopiées des 2 cotés. Je vais essayer les balises même si j’ai pas compris à quoi ca servait. Je tente ça (la doc est là pour ceux que ça intéresse: GitHub - nielsfaber/scheduler-card: HA Lovelace card for control of scheduler entities )
Merci @roumano ca marche avec les tags (balises en Français).
Le principe est le suivant :
créez une deuxième Scheduler Cards :
décochez l’option « Show all schedules »,
mettez lui une balise (tag) : « tempo_rouge » par exemple dans mon cas,
choisissez les entités à utiliser et les éventuels sensor ou binary_sensor qui vont servir aux conditions
Ensuite lorsqu’on ajoute une planification sur cette card, elle va prendre automatiquement le tag de la card (ou positionner le tag manuellement si la planification a déjà été créée).
Mettez lui une condition (inverse que celle sur la 1ère Scheduler card dans mon cas) :
Et voilà, 2 Scheduler Cards différentes sur les mêmes entités chacune s’activant en fonction des conditions.
Complexe la première fois mais puissant et finalement assez logique.
2 « J'aime »
Veher
Juin 4, 2023, 8:25
7
Salut @roumano
Je viens de tomber sur ton poste et je suis exactement sur cette problématique mais j’ai du mal à appréhender la logique en fonction du jour et de son type pour activer tel ou tel scheduler.
L’idée c’est en fonction des jours : présent, home office, absent, etc… cela déclenche un certain scheduler.
Tu saurais m’en dire plus sur la solution que tu as mise en place ?
Merci de ton aide
Salut,
Ca se fait en plusieurs etapes :
1/ cree plusieurs template binary_sensor : ( un par choix que tu veut utiliser )
- name: Condition Schedule Absent
state: >
{% set sensor_names = [ 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche' ] %}
{% set today_name = sensor_names[now().weekday()] %}
{% set entity_id = 'input_select.climate_agenda_'+today_name %}
{% if states(entity_id) == "Absent" %}
on
{% else %}
off
{% endif %}
2 / Cree un input_select par jour, avec la liste des possbilitees :
climate_agenda_lundi:
name: Lundi
options:
- Absent
- Confort
- Semaine
- Télé-Travail
- Present
- Special
climate_agenda_mardi:
name: Mardi
options:
- Absent
- Confort
- Semaine
- Télé-Travail
- Present
- Special
...
3 / Cree un dashboard avec la iste de choix par jour :
Code choix par jour
grid-template-columns: auto auto auto
grid-template-rows: auto
grid-template-areas: |
"footer1 footer2 footer3 footer4 footer5 footer6 footer7"
mediaquery:
"(max-width: 600px)":
grid-template-columns: 100%
grid-template-areas: |
"footer1"
"footer2"
"footer3"
"footer4"
"footer5"
"footer6"
"footer7"
"(max-width: 1065px)":
grid-template-columns: auto auto
grid-template-areas: |
"footer1 footer2"
"footer3 footer4"
"footer5 footer6"
"footer7 footer8"
"(max-width: 1550px)":
grid-template-columns: auto auto auto auto
grid-template-areas: |
"footer1 footer2 footer3 footer4"
"footer5 footer6 footer7 footer8"
4/ cree autant de scheduler que de ces input_select :
Code scheduler card
type: custom:stack-in-card
mode: horizontal
cards:
- type: custom:layout-card
layout_type: custom:grid-layout
layout:
grid-template-columns: 50% 50%
grid-template-rows: auto
grid-template-areas: |
"absent confort"
"semaine teletravail"
"present special"
"mercredi ddd"
"sdb chat"
mediaquery:
'(max-width: 700px)':
grid-template-columns: 100%
grid-template-areas: |
"absent"
"confort"
"semaine"
"teletravail"
"present"
"special"
"mercredi"
"chat"
"sdb"
'(max-width: 1550px)':
grid-template-columns: 50% 50%
grid-template-areas: |
"absent confort"
"semaine teletravail"
"present special"
"mercredi ddd"
"sdb chat"
cards:
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: absent
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate
title: Absent
discover_existing: false
time_step: 5
tags:
- absent
customize:
binary_sensor.condition_schedule_absent:
states:
- 'on'
- 'off'
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: confort
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate
title: Confort
discover_existing: false
time_step: 5
tags:
- confort
customize:
binary_sensor.condition_schedule_confort:
states:
- 'on'
- 'off'
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: semaine
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate
title: Semaine
discover_existing: false
time_step: 5
tags:
- semaine
customize:
binary_sensor.condition_schedule_semaine:
states:
- 'on'
- 'off'
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: teletravail
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate
title: Télé-Travail
discover_existing: false
time_step: 5
tags:
- teletravail
customize:
binary_sensor.condition_schedule_tele_travail:
states:
- 'on'
- 'off'
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: present
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate
title: Present
discover_existing: false
time_step: 5
tags:
- present
customize:
binary_sensor.condition_schedule_present:
states:
- 'on'
- 'off'
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: special
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate
title: Special
discover_existing: false
time_step: 5
tags:
- special
customize:
binary_sensor.condition_schedule_special:
states:
- 'on'
- 'off'
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: mercredi
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate
title: Mercredi
discover_existing: false
time_step: 5
tags:
- mercredi
customize:
binary_sensor.condition_schedule_mercredi:
states:
- 'on'
- 'off'
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: chat
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
icon: mdi:cat
include:
- switch.fontaine_a_eau
title: Fontaine d'eau
discover_existing: false
customize:
switch.fontaine_a_eau:
name: Chat
icon: mdi:cat
icon: mdi:cat
time_step: 5
- type: custom:scheduler-card
style: |
ha-card {
border: 0px;
background: none;
box-shadow: none;
}
.card-actions {
border-top: 0px
}
view_layout:
grid-area: sdb
show_header_toggle: false
display_options:
primary_info:
- '{name}'
- '{action}'
include:
- climate.thermostat_sdb
title: SdB
discover_existing: false
time_step: 5
( Je suis en layout-card, permettant un placement differents suivant la taille de l’ecran , c’est pour ca le code specifique avec les layout et … )
ps : etant la sur un clavier US, desole pour les accents manquants
Veher
Juin 5, 2023, 6:31
9
Merci super le partage détaillé!
Je regarde cela dans la semaine, j’aurais peut être quelques questions mais ca me semble très clair