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

la carte :

type: custom:vertical-stack-in-card
cards:
  - type: vertical-stack
    cards:
      - type: custom:decluttering-card
        template: tile-card_consigne
        variables:
          - entity: input_number.consigne_cuisine_eco
          - name: Eco
          - icon: leaf
          - color: green
      - type: custom:decluttering-card
        template: tile-card_consigne
        variables:
          - entity: input_number.consigne_cuisine_confort
          - name: Confort
          - icon: fire
          - color: orange
      - type: custom:decluttering-card
        template: tile-card_consigne
        variables:
          - entity: input_number.consigne_cuisine_boost
          - name: Boost
          - icon: fire
          - color: red
  - type: vertical-stack
    cards:
      - type: custom:decluttering-card
        template: mushroom-card_thermostat2
        variables:
          - entity1: climate.cuisine_sonoff_trvzb
          - name: Cuisine
          - icon: radiator
          - entity2: sensor.consigne_cuisine_trvzb

Et le code decluttering_templates:

decluttering_templates:
  tile-card_consigne:
    card:
      type: custom:vertical-stack-in-card
      cards:
        - type: tile
          entity: '[[entity]]'
          name: '[[name]]'
          color: '[[color]]'
          hide_state: true
          vertical: false
          features:
            - type: numeric-input
              style: buttons
          features_position: inline

  mushroom-card_thermostat2:
    card:
      type: horizontal-stack
      cards:
        - type: custom:mushroom-template-card
          primary: '[[name]]'
          secondary: |

            Consigne : {{ state_attr(entity, 'temperature') }} °C 

            T° Pièce : {{ state_attr(entity, 'current_temperature') }} °C 
          entity: '[[entity1]]'
          icon: mdi:[[icon]]
          badge_icon: mdi:fire
          badge_color: |-
            {% if state_attr(entity, 'hvac_action') == 'heating' %}
              red
            {% else %}
              grey
            {% endif %}
          tap_action:
            action: more-info
          vertical: true
          color: |-
            {% if is_state('input_boolean.chaudiere_on_off', 'on')%}
              orange
            {% else %}
              grey
            {% endif %}
          features_position: bottom
          multiline_secondary: true

Edit j’ai mis le thermostat en plus

1 « J'aime »

Bonjour,
@pctetra Question certainement bête, mais quand tu mets tes attrubutes ça pilote directement tes thermostats ou tu passes quand même par une automatisation et c’est juste pour l’affichage ?

Merci

J’ai une install avec des Sonoff TRVZB
Par exemple la cuisine, j’ai une automatisation avec le trigger planning et chacune de mes consignes, eco, confort et eco

alias: 00 Planning Chauffage Cuisine - Pilotage Cuisine
description: Change la consigne de température de la vanne cuisine selon le planning
triggers:
  - trigger: state
    entity_id: sensor.planning_chauffage_cuisine
  - trigger: state
    entity_id:
      - input_number.consigne_cuisine_boost
      - input_number.consigne_cuisine_eco
      - input_number.consigne_cuisine_confort
conditions:
  - condition: state
    entity_id: input_boolean.chaudiere_on_off
    state: "on"
actions:
  - action: climate.set_temperature
    target:
      entity_id: climate.cuisine_sonoff_trvzb
    data:
      temperature: "{{ states('sensor.planning_chauffage_cuisine') | float(19) }}"
      hvac_mode: heat
mode: restart

Evidemment ça ne peut marcher que si les input numbers des consignes sont dans le yaml de schedule-state

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') }}"

Nouvelles fonctionnalités dans la v2.0.0

  • Choisir sa couleur pour un état (valeur/unité)
  • Affiche la vue des 7 jours pour une entité

2 « J'aime »

Bonjour,
C’est cool pour la modif, merci, ceci dit j’ai un soucis je ne comprends pas pourquoi ce ne fontionne pas chez moi. Il m’elève automatique les guillement sur le mode quand j’enregistre et la couleur ne change pas.

type: custom:schedule-state-card
entities:
  - entity: sensor.chauffage_pierre
    name: Chambre Pierre
    icon: mdi:thermometer
title: Schedule Planning
color_overrides:
  eco|:
    color: "#3EADC9"
    textColor: "#fff"
colors:
  active_layer: "var(--primary-color, #2196F3)"
  inactive_layer: "var(--secondary-text-color, #BDBDBD)"
  combined_folded_layer: "var(--warning-color, #FF9800)"
  combined_unfolded_layer: "var(--primary-color, #2196F3)"
  cursor: "var(--label-badge-yellow, #FDD835)"
show_state_in_title: true

Avec ou sans guillemet, ça passe
J’ai bien ton bleu


J’ai mon vert

et rouge via l’éditeur

Par contre pour corriger la couleur, il faut commencer par supprimer l’ancien, c’est pas super pratique j’avoue et je dois pê ajouter la couleur du texte

EDIT : vu c’est le texte qui parle "18|°C", je vais corriger

voila de mon côté :

ajoute le | pour voir ?

yes Ok il faut le | .

Merci

Je pense que je vais faire 4 champs à remplir :

  • valeur
  • unité
  • couleur du fond
  • couleur du texte

Pour éviter de se mélanger les pinceaux

J’ai une petite question. du couo j’ai fait un test et ensuite j’ai supprimer la carte et j’en ai recréé une autre et je n’ai pas eu besoin de remettre les couleur elle était déjà reconnu. elles sont stockées quelque part. ?

C’est partagé dans un cache entre toutes les cartes, donc si tu as plusieurs cartes c’est normal

autre petite question mais j’ai un plannig qui va de 0h à 10h30 " frost" et un autre de 22h à 0h 'frost" pour la fin à minuit je met actuellement 23h59 donc j’ai 1min où il repasse à eco est-ce je peux écrire 00:00 ?

Merci

edit: sur l’application compagnon cela ne se met pas à jour. Alors que si je modifie mon dashboard les modifications sont prises en compte mais les couleurs n’ont pas changées.

Tu peux écrire 0H00 oui

Dans l’appli, il y a un cache web assez chiant, donc :

  • il faut écrire la correction de la couleur au moins dans une carte de ton dashbard
  • effacer le cache pour le prise en compte de la config

En fait le problème n’est pas de l’appli compagnon car je viens de faire actualisation de mon navigateur et les couleur sont repartie. je dois avoir une erreur dans mon code :

type: entities
title: Planning Chauffage
entities:
  - entity: input_boolean.vacances_pierre
    name: Mode Vacances
    icon: mdi:beach
  - type: custom:schedule-state-card
    entities:
      - entity: sensor.chauffage_pierre
        name: Chambre Pierre
        icon: mdi:thermometer
      - entity: sensor.chauffage_salon
        name: Salon
        icon: mdi:thermometer
      - entity: sensor.chauffage_sam
        name: Salle à Manger
        icon: mdi:thermometer
        colors:
          active_layer: "var(--primary-color, #2196F3)"
          inactive_layer: "var(--secondary-text-color, #BDBDBD)"
          combined_folded_layer: "var(--warning-color, #FF9800)"
          combined_unfolded_layer: "var(--primary-color, #2196F3)"
          cursor: "var(--label-badge-yellow, #FDD835)"
        color_overrides:
          eco|:
            color: "#3EADC9"
            textColor: "#ffffff"
          frost|:
            color: "#CCDEE0"
            textColor: "#080808"
          comfort|:
            color: "#E66D19"
            textColor: "#ffffff"
          boost|:
            color: "#D12E08"
            textColor: "#ffffff"

Les couleurs ne sont pas dans les propriétés de l’entité mais dans celles de la carte

type: custom:schedule-state-card
entities:
  - entity: sensor.consigne_rdc
    name: Salle à Manger
    icon: mdi:thermometer
  - entity: sensor.consigne_bureau
    name: Salle à Manger
    icon: mdi:thermometer
colors:
  active_layer: "var(--primary-color, #2196F3)"
  inactive_layer: "var(--secondary-text-color, #BDBDBD)"
  combined_folded_layer: "var(--warning-color, #FF9800)"
  combined_unfolded_layer: "var(--primary-color, #2196F3)"
  cursor: "var(--label-badge-yellow, #FDD835)"
color_overrides:
  eco|:
    color: "#3EADC9"
    textColor: "#ffffff"
  frost|:
    color: "#CCDEE0"
    textColor: "#080808"
  comfort|:
    color: "#E66D19"
    textColor: "#ffffff"
  boost|:
    color: "#D12E08"
    textColor: "#ffffff"

Passe par l’éditeur, si le yaml est compliqué

désolé ce sont les indentations, je fais pas gaffes.
En fait j’ai rajouter un switch sur la carte pour le mode vacances donc j’ai des entities et faut bien indentés.
et donc l’application compagnon suit bien
Désolé merci.

Edit : j’ai mis 00:00 en fin de event et il ne le prend pas il passe en mode par défaut.

Voilà à quoi ça va ressembler

1 « J'aime »

Merci pour ta mise et ton aide. J’ai bien réussi je ne faisais pas assez attention aux indentation.

Par contre ce que je te disais sur mon dernier créneau horaire, je ne peux pas terminer par 00:00 mais 23:59 car sinon il n’apparait pas sur le planning et sur le créneau j’ai la consigne par défaut.

J’arrive pas au même résultat que toi.
Je mets un 00h00 dans l’heure de fin d’un créneau, et sur l’affichage il garde 23H59 (pas tiptop)
Par contre, j’ai pas de créneau avec la valeur par défaut qui s’affiche et à mon avis c’est pas non plus dans de changement d’état


Tu as une copie d’écran ? Et un bout de yaml ?

Edit

Accessoirement, le mode wrap du schedule state permet de définir un créneau 22H00 → 10H30 d’un coup