Commentaires Article Garbage Collection

Je profite de ce post pour un petit problème d’affichage Lovelace avec Garbage Collection.

En gros, j’ai 2 boutons sur mon interface. Un pour chaque poubelle.
J’utilise l’état du sensor des poubelles et si la valeur est égale à « tomorrow », je fais clignoter le bouton en vert jusqu’à ce que quelqu’un confirme qu’elle a bien été sortie.
Pour la confirmation, j’utilise un input_boolean.confirmation_sortie_poubelle_grise

Le truc, c’est qu’une fois la confirmation effectuée, je ne reviens pas automatiquement au visuel souhaité. Il faut que je rafraichisse la page pour que cela soit bon…

Voici le comportement de mon bouton lorsque c’est la veille du ramassage de la poubelle :

Enregistrement de l’écran 2021-03-17 à 13.21.01 2

On clique sur le bouton (pour confirmer que la poubelle a été sortie) :

Capture d’écran 2021-03-17 à 13.21.41

On clique sur OK et là c’est le drame… enfin, c’est pas ce que je veux :slight_smile:

Capture d’écran 2021-03-17 à 13.22.12

Après un rafraichissement de la page, le résultat est bien celui souhaité.

Capture d’écran 2021-03-17 à 13.22.31

Voici le code, j’ai fais quoi de mal ? :slight_smile:

      - type: 'custom:button-card'
        entity: sensor.poubelle_grise
        size: 30%
        tap_action:
          action: call-service
          service: input_boolean.turn_on
          service_data:
            entity_id: input_boolean.confirmation_sortie_poubelle_grise
        state:
          - value: today
            color: '#3EA64C'
            icon: 'hass:trash-can'
            name: Ramassage aujourd'hui
          - value: tomorrow
            icon: 'hass:trash-can'
            name: |
              [[[
                if (states['input_boolean.confirmation_sortie_poubelle_grise'].state === "off") return 'Sortir poubelle verte !';
                else return 'Poubelle déjà sortie :)';
              ]]]
            styles:
              icon:
                - color: |
                    [[[
                      if (states['input_boolean.confirmation_sortie_poubelle_grise'].state == "off") return 'white';
                      else return '#3EA64C'
                    ]]]
              card:
                - animation: |
                    [[[
                      if (states['input_boolean.confirmation_sortie_poubelle_grise'].state == "off") return 'blink 1s ease infinite';
                    ]]]
                - background-color: |
                    [[[
                      if (states['input_boolean.confirmation_sortie_poubelle_grise'].state == "off") return '#3EA64C';
                    ]]]
              name:
                - color: |
                    [[[
                      if (states['input_boolean.confirmation_sortie_poubelle_grise'].state == "off") return 'white';
                    ]]]
          - operator: default
            color: '#3EA64C'
            icon: 'hass:trash-can'
        confirmation:
          text: '[[[ return `Le poubelle GRISE a bien été sortie ?` ]]]'

Dans le style du nom et de l’icône tu as mis un else.

Je mettrais

else return null;

Dans les paramètres de style de card car tu as un if sans else donc le code css ajouté par ton booléen à Vrai n’est pas effacé (null) quand il est à Faux.

1 « J'aime »

Ca marche parfaitement avec ça ! Merci @Clemalex, qu’est ce que l’on ne ferait pas sans toi ! :slight_smile:

1 « J'aime »

Bonjour,

Depuis l’installation de cette intégration, j’ai une ligne « calendrier » dans la barre latérale menu, savez vous s’il est possible de l’enlever ?

Du coup je me répond à moi même.
En fait en allant dans mon profil, j’ai trouvé une option:
« Modifier l’ordre et masquer les éléments de la barre latérale »

Et voilà plus de « Calendrier » dans ma barre latérale :grin:

1 « J'aime »

L’info est dans la présentation de @Clemalex sur lovelave ui

Hihi

Bonjour,
J’ai suivi le tuto mais j’obtiens ceci dans mon dashboard
HA-poubelles

type: vertical-stack
cards:
  - type: 'custom:garbage-collection-card'
    entity: sensor.poubelle_grise
    icon_size: 35px
    icon_color: green
    hide_date: true
  - type: 'custom:garbage-collection-card'
    entity: sensor.poubelle_jaune
    hide_before: 4
    icon_size: 35px
    icon_color: '#FFD700'

Dans les Entities j’ai bien comme Entity ID « sensor.poubelle_grise » et « sensor.poubelle_jaune »
Je veux bien tout mettre à la poubelle, mais dans laquelle ; la jaune ou la grise ? :smiley:

voici le code de ma carte et j’avais également copier le répertoire « containers » contenant les images des containers dans le répertoire www:https://github.com/bruxy70/Garbage-Collection/tree/development/images

type: 'custom:card-templater'
card:
  type: picture-entity
  name_template: '{{ states.sensor.ordures_menageres_fr.state }}'
  show_name: true
  show_state: false
  entity: sensor.ordures_menageres
  state_image:
    '0': /local/containers/general_today_3.png
    '1': /local/containers/general_today_3.png
    '2': /local/containers/general_off_3.png
entities:
  - sensor.ordures_menageres

Effectivement, je n’avais pas vu et en plus c’est super détaillé et vraiment accessible à tous.:+1:

2 « J'aime »

Merci pour ton code.
Je pensais également que se serait sans problème mais ce n’est pas le cas pourtant tout semble se passer normalement !

De plus, dans le code on ne retrouve pas tous les éléments du paramétrage effectué en amont (jour du ramassage, etc.) ; je ne peux donc pas utiliser ton code et difficile de trouver l’origine du problème.

Le code que @telenaze ta donné est juste pour l’affichage (la carte) il te faut changer

par le nom de ton entités a toi.

Maintenant, en intégrant une carte par l’entité, j’arrive à afficher « Poubelle jaune », l’icone et 0, 1 ou 2 mais je voudrais afficher ramassage le « date » dans x jours.

Voici ce que j’ai dans la carte :

type: glance
entities:
  - sensor.poubelle_jaune

et ceci dans configuration.yaml

sensor:
- platform: template
  sensors:
    ramassage_poubelle_jaune:
      friendly_name: "Poubelle Jaune"
      value_template: >
        {% set mois = ["","Janvier", "Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre"] %}
        {% set device = state_attr('sensor.poubelle_jaune','next_date') %}
        {% set days = (device - now()).days  %}
        {% if (device - now()).seconds > 0 %}
        {% set days = days + 1  %}
        {% endif %}
        {% set days_label = 'jour'  %}
        {% if days > 1 %}
        {% set days_label = days_label ~ 's'  %}
        {% endif %}
        Le {{ device.day }} {{ mois[device.month]}} (dans {{ days }} {{days_label}})

Il doit manquer un lien entre les deux ?

il te faut utiliser l’entité que tu crées sensor.ramassage_poubelle_jaune dans ta carte en lieu et place de sensor.poubelle_jaune :

type: glance
entities:
  - sensor.ramassage_poubelle_jaune
1 « J'aime »

:+1:Merci Clematex. C’est OK, ils viennent ramasser la poubelle jaune le 29 mars ! :smiley:

Encore un truc mystérieux.
Avec le modification que tu as proposé j’ai mis ce code dans une carte entities

type: entities
entities:
  - sensor.ramassage_poubelle_jaune

et j’ai bien l’affichage du texte "Poubelle Jaune Le 29 Mars (dans 7 jours)
Idem pour la poubelle grise
Mais voici que maintenant j’ai l’affichage de la première carte que j’avais fait à la fin du tuto avec ce code

type: vertical-stack
cards:
  - type: 'custom:garbage-collection-card'
    entity: sensor.poubelle_jaune
    icon_size: 35px
    icon_color: yellow
    hide_date: false
  - type: 'custom:garbage-collection-card'
    entity: sensor.poubelle_grise
    hide_before: 4
    icon_size: 35px
    icon_color: gray
    hide_date: false
  1. J’avais pourtant bien redémarré HA (complet) après le tuto ; quelle est la raison de ce fonctionnement erratique ?
  2. Comment faire pour modifier la couleur de la poubelle grise car « icon_color : gray » est sans effet tout comme icon_color: ‹ #322F2E › ?

    Dans les options accessibles via Configuration / intégration / Garbage Collection / Poubelle grise on peut modifier les icones mais pas les couleurs.

[Edit]. Je viens de trouver ; la couleur de l’icone le jour d’enlèvement c’est « due_color »

Bonjour,

je voudrais faire quelque chose de plus simple que vous…même si ce que donne garbage est super je n’ai pas l’utilité d’avoir le nombre de jours. Juste la mise un jour d’un switch dans certains conditions.

Un input_boulen « Poubelle » qui est jaune quand c’est la poubelle jaune (donc le switch =on) et qui est gris ( poubelle normal) quand le virtual switch est = off.

Jusque la je sais faire!

En revanche je voulais faire une automatisation du genre :
Déclencheur temps : lancement tous les jours a 03:00
Condition : être en semaine impair & lundi
action : mettre input_boulen « Poubelle » sur on sinon sur off

seulement voila, dans les conditions je n’arrive pas a trouver comment mettre la condition paire ou impair!

j’ai écris cela en automation :

alias: Etat poubelle verte
description: ''
  trigger:
  - at: 03:00:00 
  platform: time
condition: time
  weekday:
          - mon
condition:
  condition: template
  value_template: "{{states.calendar.privat.attributes.message == 'Ställ ut soporna' }}"
action:
service: input_boolean.turn_on
target:
  entity_id: input_boolean.rezet_cam

mais quand je veux sauvegarder j’ai une erreur !

Message malformed: extra keys not allowed @ data[‹ value_template ›]

un peu d’aide SVP
merci d’avance
seb

C’est ici pour rédiger avec plusieurs conditions :

Hello

Merci mais mon soucis n’est pas la rédaction des conditions mais plutôt comment déterminer si on est en semaine paire ou impaire.

J’ai trouvé des informations comme quoi je devais utiliser des templates du genre :

value_template: « {{(as_timestamp(now())|timestamp_custom (‹ %U ›) | int % 2) == 1 }} »

Ou

value_template: « {{ not now().isocalendar()[1] % 2 }} »

Mais cela ne donne rien.

Quelqu’un a une solution /proposition ?
Merci

Euh si, va quand même faire un tour sur le lien car tu as 2 fois la clé condition :upside_down_face:

Ma réponse est en rapport avec ton message d’erreur…

Oui :

Semaine paire :

binary_sensor:
  - platform: template
    sensors:
      semaine_paire:
        value_template: >
          #Récupération du numéro de semaine
          {% set numero_de_semaine = (now()).isocalendar()[1] %}
          #Calcul du modulo (0 si paire)
          {%set modulo = (numero_de_semaine % 2) %}
          #Affectation de l'état de l'entité
          #Si 0 alors pair donc mettre 'not' pour avoir 1 et donc Vrai quand la semaine est paire
          {{ not modulo }}