Schedule State Card – Visualisation avancée des plannings (nécessite schedule_state)

Bonjour, petite question car je ne comprends pas ce qu’il se passe.
Voici mon code Schedule_state :

- platform: schedule_state
  name: "Chauffage du Salon"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:30"
      state: "boost"
    - start: "01:30"
      end: "11:00"
      state: "eco"
    - start: "11:00"
      end: "19:00"
      state: "comfort"
    - start: "19:00"
      end: "23:59"
      state: "boost"
    - state: "boost"
      condition: &cond_all_open
        - condition: state
          entity_id: input_boolean.all_open
          state: "on"
    - state: "frost"
      condition:
        - condition: state
          entity_id: binary_sensor.f_salon_g_contact
          state: "on"
    - state: "frost"
      condition: &cond_presence
        - condition: state
          entity_id: input_boolean.presence
          state: "off"

- platform: schedule_state
  name: "Chauffage Ch BM"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:30"
      state: "boost"
    - start: "01:30"
      end: "08:00"
      state: "eco"
    - start: "08:00"
      end: "18:00"
      state: "comfort"
    - start: "18:00"
      end: "23:59"
      state: "boost"
    - state: "boost"
      condition: *cond_all_open
    - state: "frost"
      condition:
        - condition: state
          entity_id: binary_sensor.f_ch_bm_contact
          state: "on"
    - state: "frost"
      condition: *cond_presence

- platform: schedule_state
  name: "Chauffage Ch Facade"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:30"
      state: "boost"
    - start: "01:30"
      end: "08:00"
      state: "eco"
    - start: "08:00"
      end: "18:00"
      state: "comfort"
    - start: "18:00"
      end: "23:59"
      state: "boost"
    - state: "boost"
      condition: *cond_all_open
    - state: "frost"
      condition: *cond_presence

- platform: schedule_state
  name: "Chauffage Cuisine"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:00"
      state: "boost"
    - start: "01:00"
      end: "08:30"
      state: "eco"
    - start: "08:30"
      end: "19:30"
      state: "comfort"
    - start: "19:30"
      end: "23:59"
      state: "comfort"
    - state: "boost"
      condition: *cond_all_open
    - state: "frost"
      condition: *cond_presence

- platform: schedule_state
  name: "Chauffage Gde Chambre"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:00"
      state: "boost"
    - start: "01:00"
      end: "08:30"
      state: "eco"
    - start: "08:30"
      end: "19:30"
      state: "comfort"
    - start: "19:30"
      end: "23:59"
      state: "comfort"
    - state: "boost"
      condition: *cond_all_open
    - state: "frost"
      condition: *cond_presence

- platform: schedule_state
  name: "Chauffage Sdb gde"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:00"
      state: "boost"
    - start: "01:00"
      end: "08:30"
      state: "eco"
    - start: "08:30"
      end: "19:30"
      state: "comfort"
    - start: "19:30"
      end: "23:59"
      state: "comfort"
    - state: "boost"
      condition: *cond_all_open
    - state: "frost"
      condition: *cond_presence

- platform: schedule_state
  name: "Chauffage Tour Bas"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:00"
      state: "boost"
    - start: "01:00"
      end: "08:30"
      state: "eco"
    - start: "08:30"
      end: "19:30"
      state: "comfort"
    - start: "19:30"
      end: "23:59"
      state: "comfort"
    - state: "boost"
      condition: *cond_all_open
    - state: "frost"
      condition: *cond_presence

- platform: schedule_state
  name: "Chauffage Tour Haut"
  default_state: "frost"
  events:
    - start: "00:00"
      end: "01:00"
      state: "boost"
    - start: "01:00"
      end: "08:30"
      state: "eco"
    - start: "08:30"
      end: "19:30"
      state: "comfort"
    - start: "19:30"
      end: "23:59"
      state: "comfort"
    - state: "boost"
      condition: *cond_all_open
    - state: "frost"
      condition: *cond_presence

voici ma carte schedule_card, enfin la partie concernant la vanne Ch_bm mais les autres ont exactement le même comportement

Condition 1 et 2 remplie : on est bien en boost en sigma

Condition 1, 2 et 3 remplies : on reste en boost sur le sigma

Mais la vanne est bien passée en frost :

Même souci avec la condition 4, on dirait que la carte ne prends pas en compte la dernière condition validée, mais le bon state est malgré tout pris en compte par le Vtherm.

Ai-je une erreur quelque part ?

Tu es jour sur la version de la carte ? Pas défaut il y a l’etat qui s’affiche en phase du nom et là c’est pas le cas ?

quand je vais sur HACS et schedule_card informations je vois V4.0.11


c’est comme ça qu’on vérifier la bonne version ?
je peux la retélécharger aussi

c’est pas la mienne celle là

1 « J'aime »

apparemment je ne cliquait pas sur la bonne dans hacs mais cela dit voilà la carte utilisée dans le dashboard :

c’est bien la bonne ?
et je l’ai retéléchargée dans hacs puis redémarré HA, bizarrement il m’a demandé d’ajouter une nouveau dépot avant de télécharger… il a été créé depuis que j’avais testé ?

Et là ça fonctionne ! je devais avoir la version du début de nos tests je suppose !

Oui tu tournais avec l’ancienne, installé à main je pense

1 « J'aime »

Salut,
Super boulot, bravo et merci.
J’ai un problème lorsque je mets ceci dans mon yaml :

condition:
          condition: and
          conditions:
            - condition: time
              weekday: [mon, tue, wed, thu]
              month: [1, 2, 3, 11, 12]
            - condition: state
              entity_id: calendar.jours_feries_et_autres_fetes_en_france
              state: "off"

Il refuse le champs month et me signale une erreur :

Avertissements de configuration
Invalid config for 'schedule_state' from integration 'sensor' at packages/plannings/planning_sdb_chauffage.yaml, line 13: 'month' is an invalid option for 'sensor.schedule_state', check: events->0->condition->0->conditions->0->month

Si j’enlève le champs « month » cela fonctionne bien.

Salut et merci

Je pense que tu ne peux pas faire jour ET mois sans le même bloc condition. Fais en 2 séparés

Tu veux dire :

condition:
          condition: and
          conditions:
            # jours non chomés
            - condition: state
              entity_id: binary_sensor.jour_chome
              state: "off"
            # jours semaine
            - condition: time
              weekday: [mon, tue, wed, thu, fri]
            - condition: time
              month: [1, 2, 3, 11, 12]

Cela ne fonctionne pas même message d’erreur.
J’ai même essayé avec seulement :

- condition: time
     month: [1, 2, 3, 11, 12]

Il refuse la clé « month » ???

Avec un s? Je suis pas chez moi j’ai pas la syntaxe sous la main.
En tout cas, c’est de la config du schedule-state, pas de la carte en soit

Il refuse aussi months. Pas possible de faire une condition avec month ou months.

L’IA c’est loin d’être aussi efficace que la relecture de la doc et des exemples

  - platform: schedule_state
    name: test jour mois
    default_state: "on"
    events:
      - state: "off"
        months: [11, 12, 1, 2, 3]
        condition:
          - condition: time
            weekday: [mon, tue, wed, thu, fri]

Est un exemple valable coté yaml.

Par contre c’est vrai que coté carte, c’est pas bon, les infos bulles sont pas bien affichées, il faut que je jette un oeil


Mais ça marche

Donc months ne peut pas être dans condition, si je comprends ton explication ?

Oui c’est un truc un peu spécifique, j’ai pas l’explication

1 « J'aime »

Bonjour
@Pulpy-Luke merci pour cette carte, je n’y avais pas pensé au départ utilisant les plannings natifs de HA, mais j’ai du refaire mon install avec mes sonoff TRVZB j’en ai profité pour tester, mes consignes pièces interagissent directement sur le planning et vice versa. Très lisible sur le dashboard top.


1 « J'aime »

@Pulpy-Luke j’en profite pour une question car je n’ai pas trouvé comment faire pour l’instant

J’ai juste un petit truc dans l’affichage mais c’est à ma façon de faire, comme je veux que mes consignes par pièces interagissent dans le planning mon ‹ schedule_heat.yaml › est structuré de cette manière :

sensor:
  - platform: schedule_state
    name: "Planning Chauffage Cuisine"
    default_state: "{{ states('input_number.consigne_cuisine_eco') }}"
    events:
      - start: "06:00"
        end: "11:00"
        state: "{{ states('input_number.consigne_cuisine_boost') }}"
      - start: "11:00"
        end: "22:00"
        state: "{{ states('input_number.consigne_cuisine_confort') }}"

  - platform: schedule_state
    name: "Planning Chauffage Salle_Salon"
    default_state: "{{ states('input_number.consigne_salle_salon_eco') }}"
    events:
      - start: "06:00"
        end: "11:00"
        state: "{{ states('input_number.consigne_salle_salon_boost') }}"
      - start: "11:00"
        end: "22:00"
        state: "{{ states('input_number.consigne_salle_salon_confort') }}"

  - platform: schedule_state
    name: "Planning Chauffage Sdb RDC"
    default_state: "{{ states('input_number.consigne_sdbrdc_eco') }}"
    events:
      - start: "06:00"
        end: "11:00"
        state: "{{ states('input_number.consigne_sdbrdc_boost') }}"
      - start: "11:00"
        end: "22:00"
        state: "{{ states('input_number.consigne_sdbrdc_confort') }}"

du coup sur le planning dans la copie écran il affichiche à droite au dessus de la barre la température, je cherche comment afficher eco, boost ou confort mais pour l’instant je bloque

je me réponds à moi-même, c’est bon ça marche, j’ai du revoir mes automatisations mais à priori ça roule

sensor:
  # --- CUISINE ---
  - platform: schedule_state
    name: "Planning Chauffage Cuisine"
    default_state: "Eco"
    events:
      - { start: "00:00", end: "06:00", state: "Eco", attributes: { temperature: "{{ states('input_number.consigne_cuisine_eco') | float(16.5) }}" } }
      - { start: "06:00", end: "11:00", state: "Boost", attributes: { temperature: "{{ states('input_number.consigne_cuisine_boost') | float(19.5) }}" } }
      - { start: "11:00", end: "22:00", state: "Confort", attributes: { temperature: "{{ states('input_number.consigne_cuisine_confort') | float(19.0) }}" } }
      - { start: "22:00", end: "00:00", state: "Eco", attributes: { temperature: "{{ states('input_number.consigne_cuisine_eco') | float(16.5) }}" } }

  # --- SALLE / SALON ---
  - platform: schedule_state
    name: "Planning Chauffage Salle_Salon"
    default_state: "Eco"
    events:
      - { start: "00:00", end: "06:00", state: "Eco", attributes: { temperature: "{{ states('input_number.consigne_salle_salon_eco') | float(16.5) }}" } }
      - { start: "06:00", end: "11:00", state: "Boost", attributes: { temperature: "{{ states('input_number.consigne_salle_salon_boost') | float(19.5) }}" } }
      - { start: "11:00", end: "22:00", state: "Confort", attributes: { temperature: "{{ states('input_number.consigne_salle_salon_confort') | float(19.0) }}" } }
      - { start: "22:00", end: "00:00", state: "Eco", attributes: { temperature: "{{ states('input_number.consigne_salle_salon_eco') | float(16.5) }}" } }

  # --- SDB RDC ---
  - platform: schedule_state
    name: "Planning Chauffage Sdb RDC"
    default_state: "Eco"
    events:
      - { start: "00:00", end: "06:00", state: "Eco", attributes: { temperature: "{{ states('input_number.consigne_sdbrdc_eco') | float(16.5) }}" } }
      - { start: "06:00", end: "11:00", state: "Boost", attributes: { temperature: "{{ states('input_number.consigne_sdbrdc_boost') | float(19.5) }}" } }
      - { start: "11:00", end: "22:00", state: "Confort", attributes: { temperature: "{{ states('input_number.consigne_sdbrdc_confort') | float(19.0) }}" } }
      - { start: "22:00", end: "00:00", state: "Eco", attributes: { temperature: "{{ states('input_number.consigne_sdbrdc_eco') | float(16.5) }}" } }



@Pulpy-Luke en fait ça a réglé mon problème d’affichage mais pour les couleurs le mapping de ta carte doit être en fonction de l’état numérique, donc ma carte est visuellement toujours identique quel que soit la température

Hello.

En haut à droite c’est l’état du sensor, il est masquable mais pas customisable.
Donc effectivement, si tu veux afficher du texte, le sensor doit retourner du texte.

Quant aux couleurs, elles sont calculées (hash un peu spécial) à partir de la combinaison valeur/unité. Pour l’instant pas moyen de spécifier une valeur

oui j’ai pris le temps de lire tous le sujet et j’ai vu que tu avais déjà fait cette réponse
Merci bonne journée

1 « J'aime »

J’aime bien ta carte de reglages des T°. tu peux la partager?