Integration Garbage qui a disparu de HA?

Bonjour,
Le bouton ignorer fonctionne pas ( un bug ), t’affole pas :wink:
Ignore l’erreur et continu comme d’habitude.
La seul chose qui fonctionne plus, c’est le calendrier. Tu peu décocher l’option d’utiliser le calendrier pour garbage dans ces options ( intégration), pour plus avoir l’erreur dans le calendrier.

Pour ma part j’ai désinstallé les calendriers qui se trouvaient dans paramètres / entrées, puis j’ai désinstallé l’intégration de HACS.
Ensuite j’ai té obligé de recréer les calendriers via intégration « local Calendar », ensuite j’ai recréer les sensors qui servent à la carte Garbage que j’ai aussi modifié.
Cela fait beaucoup de chose, mais maintenant cela fonctionne.

Pour instant tous fonctionne, je ne vois pas de souci dans le calendrier
Donc je vais pas trop toucher…

Ca été patcher depuis ( j’ai désactiver avant le fix, vu que l’intégration est morte ), j’ai supprimer le calendrier de Garbage et je les créer sous google calendar.
Tant mieux si tout fonctionne encore :slight_smile:

Bonjour @telenaze,
comment ta procéder pour créer t’es sensors ?
Ta modifier le code de la carte aussi ? Ta un Fork ?

@pascal_ha J’ai eu le message aujourd’hui dans HACS :rofl:

1 « J'aime »

Voila les sensors de j’ai crée après avoir créer les trois calendriers avec local calendar.
Je suis sur la nouvelle formule pour les sensors:

Sensors
#*****************Collecte de dechets***************************************************

- sensor:
    - name: "ordures_menageres_date"
      state: "{{((as_timestamp(states.calendar.ordures_menageres.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

    - name: "cartons_et_papiers_date"
      state: "{{((as_timestamp(states.calendar.cartons_et_papiers.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

    - name: "dechets_vegetaux_date"
      state: "{{((as_timestamp(states.calendar.dechets_vegetaux.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"


    - name: "ordures_menageres_jour"
      state: >
        {% if states('sensor.ordures_menageres_date') | int > 1 %}
          {{ states('sensor.ordures_menageres_date') }} jours
        {% elif states('sensor.ordures_menageres_date') | int == 1 %}
          Demain
        {% else %}
          Aujourd'hui
        {% endif %}
        
        
    - name: "cartons_et_papiers_jour"
      state: >
        {% if states('sensor.cartons_et_papiers_date') | int > 1 %}
          {{ states('sensor.cartons_et_papiers_date') }} jours
        {% elif states('sensor.cartons_et_papiers_date') | int == 1 %}
          Demain
        {% else %}
          Aujourd'hui
        {% endif %}       
      

        
        
    - name: "dechets_vegetaux_jour"
      state: >
        {% if states('sensor.dechets_vegetaux_date') | int > 1 %}
          {{ states('sensor.dechets_vegetaux_date') }} jours
        {% elif states('sensor.dechets_vegetaux_date') | int == 1 %}
          Demain
        {% else %}
          Aujourd'hui
        {% endif %}  

et voici la carte,

La Carte
type: horizontal-stack
cards:
  - type: custom:card-templater
    card:
      type: picture-entity
      name_template: '{{ states.sensor.ordures_menageres_jour.state }}'
      show_name: true
      show_state: false
      entity: sensor.ordures_menageres_date
      image_template: |
        {% if states('sensor.ordures_menageres_date') | int < 2 %}
          /local/containers/general_today_2.png
        {% else %}
          /local/containers/general_off_2.png
        {% endif %}
    entities:
      - sensor.ordures_menageres_jour
  - type: custom:card-templater
    card:
      type: picture-entity
      name_template: '{{ states.sensor.cartons_et_papiers_jour.state }}'
      show_name: true
      show_state: false
      entity: sensor.cartons_et_papiers_date
      image_template: |
        {% if states('sensor.cartons_et_papiers_date') | int < 2 %}
          /local/containers/plast_today_2.png
        {% else %}
          /local/containers/plast_off_2.png
        {% endif %}
    entities:
      - sensor.cartons_et_papiers_jour
  - type: custom:card-templater
    card:
      type: picture-entity
      name_template: '{{ states.sensor.dechets_vegetaux_jour.state }}'
      show_name: true
      show_state: false
      entity: sensor.dechets_vegetaux_date
      image_template: |
        {% if states('sensor.dechets_vegetaux_date') | int < 2 %}
          /local/containers/vegetaux_today_2.png
        {% else %}
          /local/containers/vegetaux_off_2.png
        {% endif %}
    entities:
      - sensor.dechets_vegetaux_jour

Capture d’écran 2023-05-02 171049

Ok, donc tu utilise plus la carte Garbage, j’avais pas compris ca.
AU final, faut tout refaire :stuck_out_tongue:

J’ai déja les calendriers sous google agenda. Je vais adapter et refaire une carte.
Merci pour le partage.

Edit:
j’ai fais un test dans outils de dev et m’apercoie que le sensor créer fonctionnera avec la carte garbage :slight_smile:

Tu parle de cette carte ?
https://github.com/amaximus/garbage-collection-card
parceque moi je suis plitôt sur celle-ci
https://github.com/bruxy70/Garbage-Collection

Oui cette carte, mais le sensor créer ne fonctionne pas sur la carte.
Je vais changer de carte.

Edit:
J’avais pas vu le code de la carte sur GitHub - bruxy70/Garbage-Collection: 🗑 Custom Home Assistant sensor for scheduling garbage collection (or other regularly re-occurring events - weekly on given days, semi-weekly or monthly), alors que je le chercher il y a plus d’un an… Q’un boulet que je suis.

Bonjour,
j’ai refais ma carte poubelle identique a Garbage card mais avec Button-card.
poubelle button card
1er ligne avec Garbage card
2eme ligne avec Button-card

autre exemple:
poubelle button card2

Les sensors template ( j’ai ajouter des attributs date et jours ):

template:
  - sensor:
      - name: "poubelle_verte_jour"
        state: >-
          {% set delta = state_attr('calendar.poubelle_verte', '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.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
          jours: "{{((as_timestamp(states.calendar.poubelle_verte.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"
      - name: "poubelle_jaune_jour"
        state: >-
          {% set delta = state_attr('calendar.poubelle_jaune', '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.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
          jours: "{{((as_timestamp(states.calendar.poubelle_jaune.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

Le code Button-card:

  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.poubelle_verte_jour
        name: Poubelle Verte
        icon: fas:dumpster
        layout: icon_name_state2nd
        show_state: true
        size: 60%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_verte_jour'].attributes.date;
            ]]]
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 6 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 5 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 4 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 3 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 2 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Demain
            operator: '=='
            color: orange
            icon: mdi:delete-restore
            styles:
              state:
                - color: orange
          - value: Aujourd'hui
            operator: '=='
            color: red
            icon: mdi:delete-restore
            styles:
              state:
                - color: red
        styles:
          icon:
            - margin-left: 32px
          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: white
              - font-size: 12px
      - type: custom:button-card
        entity: sensor.poubelle_jaune_jour
        name: Poubelle Jaune
        icon: fas:dumpster
        layout: icon_name_state2nd
        show_state: true
        size: 60%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_jaune_jour'].attributes.date;
            ]]]        
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 6 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 5 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 4 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 3 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 2 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Demain
            operator: '=='
            color: orange
            icon: mdi:delete-restore
            styles:
              state:
                - color: orange
          - value: Aujourd'hui
            operator: '=='
            color: red
            icon: mdi:delete-restore
            styles:
              state:
                - color: red
        styles:
          icon:
            - margin-left: 32px
          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: white
              - font-size: 12px

Pour l’icone fas:dumpster, j’utilise l’intégration hass-fontawesome a installer dans HACS.

A mon grand regret, désinstallation de Garbage Collection et Garbage Card :smiling_face_with_tear:

2 « J'aime »

Un p’tit code supplémentaire pour l’acquittement de la poubelle (en gros pour dire que c’est fait)?

C’est peu être pas la meilleur façon, mais c’est fonctionnelle.

poubelle button card3

Code carte:

  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.poubelle_verte_jour
        name: Poubelle Verte
        icon: fas:dumpster
        layout: icon_name_state2nd
        show_state: true
        size: 60%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_verte_jour'].attributes.date;
            ]]]
          statut: |
            [[[ 
              return '- ' + states['input_text.poubelle_verte_statut'].state;
            ]]]             
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 6 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 5 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 4 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 3 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 2 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Demain
            operator: '=='
            color: orange
            icon: mdi:delete-restore
            styles:
              state:
                - color: orange
          - value: Aujourd'hui
            operator: '=='
            color: red
            icon: mdi:delete-restore
            styles:
              state:
                - color: red
        styles:
          icon:
            - margin-left: 32px
          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: white
              - font-size: 12px
            statut:
              - top: 73%
              - left: 72%
              - position: absolute
              - color: white
              - font-size: 12px
        hold_action:
          action: call-service
          service: input_text.set_value
          service_data:
            entity_id: input_text.poubelle_verte_statut
            value: Vider
        card_mod:
          style: |
            ha-card {
              margin-top: -8px;
            }             
      - type: custom:button-card
        entity: sensor.poubelle_jaune_jour
        name: Poubelle Jaune
        icon: fas:dumpster
        layout: icon_name_state2nd
        show_state: true
        size: 60%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_jaune_jour'].attributes.date;
            ]]]
          statut: |
            [[[ 
              return '- ' + states['input_text.poubelle_jaune_statut'].state;
            ]]]            
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 6 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 5 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 4 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 3 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 2 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Demain
            operator: '=='
            color: orange
            icon: mdi:delete-restore
            styles:
              state:
                - color: orange
          - value: Aujourd'hui
            operator: '=='
            color: red
            icon: mdi:delete-restore
            styles:
              state:
                - color: red
        styles:
          icon:
            - margin-left: 32px
          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: white
              - font-size: 12px
            statut:
              - top: 73%
              - left: 72%
              - position: absolute
              - color: white
              - font-size: 12px
        hold_action:
          action: call-service
          service: input_text.set_value
          service_data:
            entity_id: input_text.poubelle_jaune_statut
            value: Vider
        card_mod:
          style: |
            ha-card {
              margin-top: -8px;
            }              

Créer deux input text.

Une automatisation, qui reset le statut au jours 7:

alias: Poubelle Statut
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.poubelle_verte_jour
    to: Dans 7 Jours
    id: verte
  - platform: state
    entity_id:
      - sensor.poubelle_jaune_jour
    to: Dans 7 Jours
    id: jaune
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: verte
        sequence:
          - service: input_text.set_value
            data:
              value: A vider
            target:
              entity_id: input_text.poubelle_verte_statut
      - conditions:
          - condition: trigger
            id: jaune
        sequence:
          - service: input_text.set_value
            data:
              value: A vider
            target:
              entity_id: input_text.poubelle_jaune_statut
mode: single

Pour le fonctionnement, quand ta vider la poubelle, tu fais un appuie long sur le button et ca passe en Vider. Quand le statut repasse a Dans 7 jours, ca change le statut en A vider.

Je verrais pour améliorer , peu être avec des icones pour le statut au lieu du texte. a réfléchir.

Edit:
Version avec icone en statut.
poubelle button card4

code:

  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.poubelle_verte_jour
        name: Poubelle Verte
        icon: fas:dumpster
        layout: icon_name_state2nd
        show_state: true
        size: 60%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_verte_jour'].attributes.date;
            ]]]
          statut: >
            [[[ if (states['input_text.poubelle_verte_statut'].state == "Vider")
            return '<ha-icon icon="mdi:delete" style="width: 30px; height: 30px;
            color: green;"></ha-icon>';
            else return '<ha-icon icon="mdi:delete-alert" style="width: 30px;
            height: 30px; color: red"></ha-icon>' ]]]             
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 6 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 5 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 4 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 3 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Dans 2 Jours
            operator: '=='
            color: green
            styles:
              state:
                - color: green
          - value: Demain
            operator: '=='
            color: orange
            icon: mdi:delete-restore
            styles:
              state:
                - color: orange
          - value: Aujourd'hui
            operator: '=='
            color: red
            icon: mdi:delete-restore
            styles:
              state:
                - color: red
        styles:
          icon:
            - margin-left: 32px
          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: white
              - font-size: 12px
            statut:
              - top: 50%
              - left: 78%
              - position: absolute
              - color: white
              - font-size: 12px
        hold_action:
          action: call-service
          service: input_text.set_value
          service_data:
            entity_id: input_text.poubelle_verte_statut
            value: Vider
        card_mod:
          style: |
            ha-card {
              margin-top: -8px;
            }             
      - type: custom:button-card
        entity: sensor.poubelle_jaune_jour
        name: Poubelle Jaune
        icon: fas:dumpster
        layout: icon_name_state2nd
        show_state: true
        size: 60%
        custom_fields:
          date: |
            [[[ 
              return 'Le ' + states['sensor.poubelle_jaune_jour'].attributes.date;
            ]]]
          statut: >
            [[[ if (states['input_text.poubelle_jaune_statut'].state == "Vider")
            return '<ha-icon icon="mdi:delete" style="width: 30px; height: 30px;
            color: green;"></ha-icon>';
            else return '<ha-icon icon="mdi:delete-alert" style="width: 30px;
            height: 30px; color: red"></ha-icon>' ]]]                       
        state:
          - value: Dans 7 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 6 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 5 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 4 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 3 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Dans 2 Jours
            operator: '=='
            color: yellow
            styles:
              state:
                - color: yellow
          - value: Demain
            operator: '=='
            color: orange
            icon: mdi:delete-restore
            styles:
              state:
                - color: orange
          - value: Aujourd'hui
            operator: '=='
            color: red
            icon: mdi:delete-restore
            styles:
              state:
                - color: red
        styles:
          icon:
            - margin-left: 32px
          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: white
              - font-size: 12px
            statut:
              - top: 50%
              - left: 78%
              - position: absolute
              - color: white
              - font-size: 12px
        hold_action:
          action: call-service
          service: input_text.set_value
          service_data:
            entity_id: input_text.poubelle_jaune_statut
            value: Vider
        card_mod:
          style: |
            ha-card {
              margin-top: -8px;
            }

je n’ai rien fait de tous cela chez moi, sa fonctionne j’ai seulement ce mesage dans HACS

Y a t’il un moyen de ne plus avoir ce message, sans désinstaller.
Car la case ignorer ne fait rien !

Après il y a la solution de tous refaire, mais déjà un problème :

  • Il faut créer un calendrier pour chaque poubelle (Tri,Végétaux,Ménagé,monstres) ?
  • ou Il faut créer un seul calendrier dans lequel on met tous les éventements ?
  • Faut il chaque année recréer les événements ?

Je crois pas, tu dois faire avec :sweat_smile:

Ca fonctionne toujours, mais comme c’est plus maintenu, il risque d’avoir des bug dans le futur.
J’ai préférer prendre les devant et tout refaire.

Moi, j’ai créer un calendrier sous google calendar pour chaque poubelle (j’ai pas de poubelle, ce sont les grosse poubelles dans ma rue verte et jaune ).
quand tu créer le calendrier, tu peu choisir répéter l’évènement et ca créera automatiquement un événement le jours ou les jours choisie.
Tu fais un calendrier par poubelle, puis tu créer des sensors template pour chaque poubelle.

Je pense pas qu’il faut recréer chaque année un évènement. J’ai pas passer une année encore pour te certifier :wink:

Bon jusqu’à présent j’ai tous bon, c’est ce que je viens de faire :sweat_smile:

si je désinstalle garbage, tous les sensor vont disparaitre ou ils vont rester ?
(Je me doute de la réponse, il va falloir les recréer)

C’est chaud à refaire…je sens que je vais encore y passer des jours…

Ton doute est bon, ils seront supprimer.

pour les sensors , tu as des exemples la Integration Garbage qui a disparu de HA? - #21 par WarC0zes et la Integration Garbage qui a disparu de HA? - #17 par telenaze

Bon je savais que ce serait compliqué
J’ai essayé de créer les sensors
Voici le code que j’ai utilisé :

sensor
#*****************Collecte de dechets***************************************************

- sensor:
    - name: "ordures_menageres_date"
      state: "{{((as_timestamp(states.calendar.poubelle_marron_menager.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

    - name: "cartons_et_papiers_date"
      state: "{{((as_timestamp(states.calendar.poubelle_bleu_tri.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

    - name: "dechets_vegetaux_date"
      state: "{{((as_timestamp(states.calendar.poubelle_verte_vegetaux.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"


    - name: "ordures_menageres_jour"
      state: >
        {% if states('sensor.ordures_menageres_date') | int > 1 %}
          {{ states('sensor.ordures_menageres_date') }} jours
        {% elif states('sensor.ordures_menageres_date') | int == 1 %}
          Demain
        {% else %}
          Aujourd'hui
        {% endif %}
        
        
    - name: "cartons_et_papiers_jour"
      state: >
        {% if states('sensor.cartons_et_papiers_date') | int > 1 %}
          {{ states('sensor.cartons_et_papiers_date') }} jours
        {% elif states('sensor.cartons_et_papiers_date') | int == 1 %}
          Demain
        {% else %}
          Aujourd'hui
        {% endif %}       
      

        
        
    - name: "dechets_vegetaux_jour"
      state: >
        {% if states('sensor.dechets_vegetaux_date') | int > 1 %}
          {{ states('sensor.dechets_vegetaux_date') }} jours
        {% elif states('sensor.dechets_vegetaux_date') | int == 1 %}
          Demain
        {% else %}
          Aujourd'hui
        {% endif %}

J’ai aussi utilisé ce code, mais pas mieux:

sensor2
#sensor:
# poubelle tri

- plateform: template
  sensors:
    name: "poubelle_verte_vegetaux_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_bleu_tri_jour5"
    state: >-
      {% set delta = state_attr('calendar.poubelle_bleu_tri', '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_bleu_tri.attributes.start_time) | timestamp_custom("%d/%m/%y", True) }}
      jours: "{{((as_timestamp(states.calendar.poubelle_bleu_tri.attributes.start_time)- as_timestamp(now())) /86400+1) | int}}"

J’ai placé ce code dans mon dossier sensors sour le nom de garbage_sensor.yaml
garbage_5

Mais sa ne fonctionne pas, j’ai le message d’erreur suivant:

Invalid config for [sensor]: required key not provided @ data['platform']. Got None. (See ?, line ?). 

Merci pour votre aide, car je m’en sort pas… :woozy_face:

@pascal_ha comme je le precise, j’utilise le nouveau format pour les sensors.
Il faut que tu fasses de même (regarde l’image que j’ai jointe pour la reconfiguration )ou que tu adapte le code si tu utilises un fichier yaml situé dans le répertoire sensors.

J’ai la même erreur avec le code de warc0zes, c’est aussi le nouveau format ?
Je suis vraiment nul en yaml (ou autres codes d’ailleurs) alors adapté c’est compliqué car je sais pas vraiment quoi adapté… :woozy_face:

bon je viens de faire la modification suivante :
J’ai crée un dossier template dans entities, dedans j’ai mis garbage_sensor.yaml (avec ton code)
dans le dossier intégration, j’ai mis un fichier template.yaml avec le code suivant

sensor: !include_dir_merge_list ../entities/template/

j’ai toujours la même erreur.

Créer un nouveau répertoire dans config et nomme le template.
Dans ce répertoire ajoute ton fichier yaml contenant mon code redemarre hassio.
C’est tout. :wink: