Integration Garbage qui a disparu de HA?

Tu dois retrouver tes sensor poubelles_verte, jaune, bleu,marron tu vas dans outils développement/état et tu tape poubelle dans la barre de recherche, tu verras les sensors poubelle.

Ok parfait j’ai bien mes sensors ! Merci beaucoup
Pour la carte j’ai repris le code que tu as mis ça semble fonctionner !
Par contre comment je le duplique pour les autres ? Je veux dire notamment comment tu as fait pour avoir deux poubelles par ligne ?
Car moi pour l’instant avec ton code pour une poubelle ça me prend tout l’écran …

Enfin as tu fait une automatisation pour avoir un rappel avant chaque ramassage ?

Merci pour l’aide

Il faut utiliser grille (grid) et pile horizontale
(Horizontal-stack) quand tu crée la carte.

title: Poubelle
square: false
type: grid
cards:
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.poubelle_marron_jour

Voici le code complet.

title: Poubelle
square: false
type: grid
cards:
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.poubelle_marron_jour
        name: Menager
        icon: mdi:delete-restore
        layout: icon_name_state2nd
        show_state: true
        size: 50%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_marron_jour'].attributes.date;
            ]]]
                              
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: purple
            styles:
              state:
                - color: black
          - value: Dans 6 Jours
            operator: '=='
            color: purple
            styles:
              state:
                - color: black
          - value: Dans 5 Jours
            operator: '=='
            color: purple
            styles:
              state:
                - color: black
          - value: Dans 4 Jours
            operator: '=='
            color: purple
            styles:
              state:
                - color: black
          - value: Dans 3 Jours
            operator: '=='
            color: purple
            styles:
              state:
                - color: black
          - value: Dans 2 Jours
            operator: '=='
            color: purple
            styles:
              state:
                - color: black
          - value: Demain
            operator: '=='
            color: purple
            icon: mdi:dump-truck
            name: 'Passage:'
            styles:
              icon:
                - animation: blink 10s infinite
              state:
                - color: red
          - value: Aujourd'hui
            operator: '=='
            color: purple
            icon: mdi:dump-truck
            name: 'Ramassage:'
            styles:
              icon:
                - animation: blink 5s infinite
              state:
                - color: red
        styles:
          card:
            - background-color: auto
            - color: auto
            - border: 2px solid grey
          icon:
            - margin-left: 30px
          name:
            - margin-left: 6px
            - justify-self: start
            - font-size: 15px
          state:
            - font-weight: bold
            - margin-left: 6px
            - justify-self: start
            - font-size: 12px
          custom_fields:
            date:
              - top: 73%
              - left: 43%
              - position: absolute
              - color: black
              - font-size: 12px
        card_mod:
          style: |
            ha-card {
              margin-top: -3px;
            }
      - type: custom:button-card
        entity: sensor.poubelle_bleu_jour
        name: Tri
        icon: mdi:delete-restore
        layout: icon_name_state2nd
        show_state: true
        size: 50%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_bleu_jour'].attributes.date;
            ]]]
                    
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: blue
            styles:
              state:
                - color: black
          - value: Dans 6 Jours
            operator: '=='
            color: blue
            styles:
              state:
                - color: black
          - value: Dans 5 Jours
            operator: '=='
            color: blue
            styles:
              state:
                - color: black
          - value: Dans 4 Jours
            operator: '=='
            color: blue
            styles:
              state:
                - color: black
          - value: Dans 3 Jours
            operator: '=='
            color: blue
            styles:
              state:
                - color: black
          - value: Dans 2 Jours
            operator: '=='
            color: blue
            styles:
              state:
                - color: black
          - value: Demain
            operator: '=='
            color: blue
            icon: mdi:dump-truck
            name: 'Passage:'
            styles:
              icon:
                - animation: blink 10s infinite
              state:
                - color: red
          - value: Aujourd'hui
            operator: '=='
            color: blue
            icon: mdi:dump-truck
            name: 'Ramassage:'
            styles:
              icon:
                - animation: blink 5s infinite
              state:
                - color: red
        styles:
          card:
            - background-color: auto
            - color: auto
            - border: 2px solid grey
          icon:
            - margin-left: 30px
          name:
            - margin-left: 6px
            - justify-self: start
            - font-size: 15px
          state:
            - font-weight: bold
            - margin-left: 6px
            - justify-self: start
            - font-size: 12px
          custom_fields:
            date:
              - top: 73%
              - left: 43%
              - position: absolute
              - color: black
              - font-size: 12px
        card_mod:
          style: |
            ha-card {
              margin-top: -3px;
            }
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.poubelle_verte_jour
        name: Vegetaux
        icon: mdi:delete-restore
        layout: icon_name_state2nd
        show_state: true
        size: 50%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_verte_jour'].attributes.date;
            ]]]
                     
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: black
          - value: Dans 6 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: black
          - value: Dans 5 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: black
          - value: Dans 4 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: black
          - value: Dans 3 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: black
          - value: Dans 2 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: black
          - value: Demain
            operator: '=='
            color: green
            icon: mdi:dump-truck
            name: 'Passage:'
            styles:
              icon:
                - animation: blink 10s infinite
              state:
                - color: red
          - value: Aujourd'hui
            operator: '=='
            color: green
            name: 'Ramassage:'
            icon: mdi:dump-truck
            styles:
              icon:
                - animation: blink 5s infinite
              state:
                - color: red
        styles:
          card:
            - background-color: auto
            - color: auto
            - border: 2px solid grey
          icon:
            - margin-left: 30px
          name:
            - margin-left: 6px
            - justify-self: start
            - font-size: 15px
          state:
            - font-weight: bold
            - margin-left: 6px
            - justify-self: start
            - font-size: 12px
          custom_fields:
            date:
              - top: 73%
              - left: 43%
              - position: absolute
              - color: black
              - font-size: 12px
        card_mod:
          style: |
            ha-card {
              margin-top: -3px;
            }             
      - type: custom:button-card
        entity: sensor.poubelle_jaune_jour
        name: Encombrants
        icon: mdi:delete-restore
        layout: icon_name_state2nd
        show_state: true
        size: 50%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_jaune_jour'].attributes.date;
            ]]]
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: brown
            styles:
              state:
                - color: black
          - value: Dans 6 Jours
            operator: '=='
            color: brown
            styles:
              state:
                - color: black
          - value: Dans 5 Jours
            operator: '=='
            color: brown
            styles:
              state:
                - color: black
          - value: Dans 4 Jours
            operator: '=='
            color: brown
            styles:
              state:
                - color: black
          - value: Dans 3 Jours
            operator: '=='
            color: brown
            styles:
              state:
                - color: black
          - value: Dans 2 Jours
            operator: '=='
            color: brown
            styles:
              state:
                - color: black
          - value: Demain
            operator: '=='
            color: brown
            icon: mdi:dump-truck
            name: 'Passage:'
            styles:
              icon:
                - animation: blink 10s infinite
              state:
                - color: red
          - value: Aujourd'hui
            operator: '=='
            color: brown
            icon: mdi:dump-truck
            name: 'Ramassage:'
            styles:
              icon:
                - animation: blink 5s infinite
              state:
                - color: red
        styles:
          card:
            - background-color: auto
            - color: auto
            - border: 2px solid grey
          icon:
            - margin-left: 30px
          name:
            - margin-left: 6px
            - justify-self: start
            - font-size: 15px
          state:
            - font-weight: bold
            - margin-left: 6px
            - justify-self: start
            - font-size: 12px
          custom_fields:
            date:
              - top: 73%
              - left: 43%
              - position: absolute
              - color: black
              - font-size: 12px
        card_mod:
          style: |
            ha-card {
              margin-top: -3px;
            }
columns: 1

Oui j’ai fait une automatisation par nodered.
Mais c’est réalisable avec les automatisations de HA.
Mais je ne pas encore fait le transfert de automatisation nodered en automatisation HA

Mais dans le principe, je demande a HA tous les jours à 19h30 (pour moi) de vérifier si le sensor a comme valeur « demain ».
Si c’est le cas je reçois une notification sur mon mobile « sortir les poubelles ce soir »
(La levé des poubelles étant entre 5h et 7h le matin)

tu as un exemple ici :

Ok merci
J’ai mis ton code complet dans une carte en yaml mais voici l’affichage que j’ai …


D’avance merci

Chez moi j’ai bien 2 lignes

Vérifie si tu as bien la même chose quand tu édite la carte. Surtout la case colonnes.

ok top c’était bien ça (colonne à 3…)
merci !
dis pas curiosité je vois que tu gères aussi le courrier, tu peux me dire avec quel équipement tu as fait ça ?
Merci

Je fonctionne comme cela actuellement.
Mais ayant un esp32 à proximité, Je vais voir pour passer par esp.(Quand j’aurai un moment :grin:)

Bonjour,
tu as déja plein de solution proposer Résultats de recherche pour « boite au lettre » - Home Assistant Communauté Francophone

1 « J'aime »

Avec le code précisé :

#template:
# code  garbage warc0zes + ajout monstres
    - name: "poubelle_grise"
      state: >-
        {% set delta = state_attr('calendar.poubelles_grises', 'start_time') | as_datetime | as_local - today_at() %}
        {{ {0: "Aujourd'hui", 1: "Demain"}.get(delta.days, 'Dans ' ~ delta.days ~  ' Jours') }}
      attributes:
        date: >-
          {{ as_timestamp(states.calendar.poubelles_grises.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
        jours: "{{((as_timestamp(states.calendar.poubelles_grises.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

    - name: "poubelle_jaune"
      state: >-
        {% set delta = state_attr('calendar.poubelles_jaunes', 'start_time') | as_datetime | as_local - today_at() %}
        {{ {0: "Aujourd'hui", 1: "Demain"}.get(delta.days, 'Dans ' ~ delta.days ~  ' Jours') }}
      attributes:
        date: >-
          {{ as_timestamp(states.calendar.poubelles_jaunes.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
        jours: "{{((as_timestamp(states.calendar.poubelles_jaunes.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

Je n’ai pas les mêmes retours que toi :

C’est pas les bon sensors, tu montre des calendriers. Les entités sont sensor.poubelle_xxxxx.

Je n’ai rien dans les sensor.pou

ta pas oublier le - sensor: ?

dans le fichier template.yaml:

  - sensor:
    - name: "poubelle_verte_jour"
      state: >-
        {% set delta = state_attr('calendar.poubelle_verte_vegetaux', 'start_time') | as_datetime | as_local - today_at() %}
        {{ {0: "Aujourd'hui", 1: "Demain"}.get(delta.days, 'Dans ' ~ delta.days ~  ' Jours') }}
      attributes:
        date: >-
          {{ as_timestamp(states.calendar.poubelle_verte_vegetaux.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
        jours: "{{((as_timestamp(states.calendar.poubelle_verte_vegetaux.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"
1 « J'aime »

Comment tu ajoute le sensor.poubelle_jaune_jour?

Ayant marre des tableaux de bord digne du Boeing 747, des cartes partout etc…, je n’ai pas réussi plus minimaliste que ces deux boutons au bout de ma carte calendrier :

image

Ils affichent le nombre de jours restants, l’icône indique le type de poubelle, et les boutons s’allument en vert ou jaune selon le type, le jour J.

Biensur en plus il y a le calendrier complet dans le dashboard calendar, la notif sur les smartphones, la veilleuse dans l’entrée qui s’allume de la couleur de la poubelle a partir de 16h pour penser a la sortir etc…

3 « J'aime »

dans le template.yaml :

 - sensor:
    - name: "poubelle_verte_jour"
      state: >-
        {% set delta = state_attr('calendar.poubelle_verte_vegetaux', 'start_time') | as_datetime | as_local - today_at() %}
        {{ {0: "Aujourd'hui", 1: "Demain"}.get(delta.days, 'Dans ' ~ delta.days ~  ' Jours') }}
      attributes:
        date: >-
          {{ as_timestamp(states.calendar.poubelle_verte_vegetaux.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
        jours: "{{((as_timestamp(states.calendar.poubelle_verte_vegetaux.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

    - name: "poubelle_jaune_jour"
      state: >-
        {% set delta = state_attr('calendar.poubelle_jaune_monstres', 'start_time') | as_datetime | as_local - today_at() %}
        {{ {0: "Aujourd'hui", 1: "Demain"}.get(delta.days, 'Dans ' ~ delta.days ~  ' Jours') }}
      attributes:
        date: >-
          {{ as_timestamp(states.calendar.poubelle_jaune_monstres.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
        jours: "{{((as_timestamp(states.calendar.poubelle_jaune_monstres.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"          
1 « J'aime »

C’est propre et minimaliste effectivement.
Tu aurais le code de la card?

Non pas que je ne veuille pas, partageant tout, mais il me faudrait te transmettre tous les templates button card associés.
Je te suggère de surveiller mon github, je le mettrais à jour des que je peux avec ces petites nouveautés.

Néanmoins j’essais de te donner ce qui concerne les boutons.

La carte :

          type: grid
          square: false
          columns: 2
          cards:
            - type: custom:button-card
              template:
                - mini_card
              show_name: false
              show_label: false
              entity: sensor.calendrier_dechets_menagers
              custom_fields:
                notification: >
                  [[[ return
                  Math.floor(states['sensor.calendrier_dechets_menagers'].state
                  ) ]]]  
              state:
                - value: 0
                  styles:
                    icon:
                      - color: var(--icon-green)
                    img_cell:
                      - background-color: var(--img-cell-green)
            - type: custom:button-card
              template:
                - mini_card
              show_name: false
              show_label: false
              entity: sensor.calendrier_tri_selectif
              custom_fields:
                notification: >
                  [[[ return
                  Math.floor(states['sensor.calendrier_tri_selectif'].state )
                  ]]] 
              styles:
                - value: 0
                  styles:
                    icon:
                      - color: var(--icon-yellow)
                    img_cell:
                      - background-color: var(--img-cell-yellow)

Le template button card associé (tout ne sert pas dedans, mais ce template sert a beaucoup d’autres cartes) :

  mini_card:
    entity: '[[[ return variables.entity ]]]'
    icon: '[[[ return variables.icon ]]]'
    variables:
      entity: '[[[ return variables.entity ]]]'
      icon: '[[[ return variables.icon ]]]'
    show_icon: true
    show_name: true
    show_state: false
    show_label: true
    styles:
      img_cell:
        - border-radius: 50%
        - width: 35px
        - height: 35px
        - background-color: var(--img-cell-off)
      icon:
        - width: 50%
        - color: var(--icon-off)
      label:
        - font-weight: 500
        - font-size: 12px
        - opacity: 0.8
        - color: var(--text-on)
        - filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.3))
        - white-space: normal
        - margin-top: '-3px'
      state:
        - font-weight: 500
        - font-size: 12px
        - opacity: 0.8
        - color: var(--text-on)
        - filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.3))
        - margin-top: 1px
      name:
        - font-weight: 500
        - font-size: 11px
        - margin-top: 3px
        - opacity: 1
        - color: var(--text-on)
        - filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.3))
      entity_picture:
        - width: 100%
        - border-radius: 100px
      card:
        - border-radius: 14px
        - height: auto
        - padding: 3px 0
      custom_fields:
        notification:
          - border-radius: 50%
          - position: absolute
          - left: 60%
          - top: 4%
          - height: 17px
          - width: 17px
          - font-size: 10px
          - line-height: 16px
          - font-weight: null
          - background-color: |
              [[[
                if (entity.state == "off" || entity.state == "locked" || entity.state == 0 )
                  return 'rgba(0,0,0,0)';
               return 'var(--notification) ';
              ]]]
          - color: |
              [[[
                if (entity.state == "off" || entity.state == "locked" || entity.state == 0)
                  return 'rgba(0,0,0,0)';
               return 'var(--text-on)';
              ]]]
    double_tap_action:
      action: toggle
    tap_action:
      action: more-info
2 « J'aime »

J’utilise Waste Collection schedule pour récupérer les dates de relevé des poubelles sur le site de ma mairie.
Et la carte Trashcard dispo dans HACS pour afficher. L’avantage pour moi est que la config par l’interface graphique est très complète, pas besoin de faire du code :slight_smile: Et il y a beaucoup de possibilités

1 « J'aime »

Merci pour cette proposition de carte que j’utilise désormais