Anzeigeproblem bei waste collection schedule

Hallo zusammen.
Wahrscheinlich ein simples Problem, aber ich suche nun schon länger vergeblich rum und blicke es einfach nicht. Die Integration läuft einwandfrei bei mir, allerdings werden bei 2 Tonnen “x Tage” angezeigt und bei den anderen beiden Tonnen nur “x” angezeigt:

card:
  type: glance
type: custom:auto-entities
filter:
  include:
    - entity_id: sensor.restmull
      options: {}
    - entity_id: sensor.gelbe_tonne
      options: {}
    - entity_id: sensor.papier
      options: {}
    - entity_id: sensor.biotonne
      options: {}
sort:
  method: state
  ignore_case: true
  numeric: true
  reverse: false
  show_empty: true

Das komische ist, wenn ich mir z.B. den Sensor Restmüll und Biotonne ansehe, steht da noch das Feld Anzeigegenauigkeit:

Anzeigegenauigkeit fehlt aber beim Sensor Papier und gelbe Tonne:

Warum das so ist oder ob es was damit zu tun hat, keine Ahnung.
Aber weiß jemand zufällig, wie ich die Anzeige gleich bekomme, also entweder “x Tage” oder halt nur die Anzahl der Tage “x”.

Ich habe zwar keine konkrete Lösung für Dich, aber ggf. hilft dir ja diese custom:trash-card

type: custom:trash-card
entities:
  - calendar.tbv_velbert
event_grouping: true
drop_todayevents_from: "23:00:00"
next_days: 14
pattern:
  - icon: mdi:flower
    color: lime
    type: organic
    pattern: Bio
    label: Bio
  - icon: mdi:newspaper
    color: blue
    type: paper
    pattern: Papier
    label: Papier
  - icon: mdi:recycle-variant
    color: amber
    type: recycle
    pattern: Gelb
    label: Gelb
  - icon: mdi:trash-can-outline
    color: grey
    type: waste
    pattern: Rest
    label: Rest
  - icon: mdi:dump-truck
    color: purple
    type: others
day_style: counter
day_style_format: yyyy.MM.dd
card_style: chip
alignment_style: space
color_mode: icon
items_per_row: 1
refresh_rate: 60
with_label: true
layout: default
use_summary: false
hide_time_range: true
full_size: false
filter_events: false

image

danke dir, würde es aber gerne so wie ich es jetzt habe, nur eben mit einheitlicher Anzeige.
Ist sicherlich nur eine Kleinigkeit, nur wo :sweat_smile:

Moin,

wie und wo hast Du denn die sensoren angelegt, wie sieht der Code dazu aus?

Wenn ich das auf mein Müll anwende, ist es OK, mal abgesehen, dass bei mir zu viel steht, es deswegen nicht passt
grafik
Wenn ich das aber etwas anpasse, dann

VG
Bernd

In meiner Config steht:

sensor: !include sensors.yaml

waste_collection_schedule:
  sources:
    - name: ics
      args:
        file: "www/Umweltkalender_BB.ics"
      customize:
        - type: Restmüll
          alias: restmull
          icon: mdi:trash-can
          picture: local/waste/Rest.png
        - type: Gelbe Tonne
          alias: gelbetonne
          icon: mdi:recycle
          picture: local/waste/Kunststoff.webp
        - type: Biotonne
          alias: biotonne
          icon: mdi:trash-can
          picture: local/waste/Bio.webp
        - type: Altpapiersammlung
          alias: altpapiersammlung
          icon: mdi:recycle
          picture: local/waste/Papier.webp
      calendar_title: Abfallkalender
  fetch_time: "04:00"
  day_switch_time: "10:00"
  
homeassistant:
  customize:
    sensor.naechster:
      unit_of_measurement: Tage
    sensor.altpapiersammlung:
      unit_of_measurement: Tage
    sensor.biotonne:
      unit_of_measurement: Tage
    sensor.gelbetonne:
      unit_of_measurement: Tage
    sensor.restmull:
      unit_of_measurement: Tage

und in meiner sensors.yaml

  - platform: waste_collection_schedule
    name: Restmüll
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - restmull
  - platform: waste_collection_schedule
    name: gelbe Tonne
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - gelbetonne
  - platform: waste_collection_schedule
    name: Biotonne
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - biotonne
  - platform: waste_collection_schedule
    name: Papier
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True
    types:
      - altpapiersammlung
  - platform: waste_collection_schedule
    name: Naechster
    details_format: "upcoming"
    value_template: '{{ value.daysTo }}'
    add_days_to: True

Das Problem muss irgendwo anders liegen :man_shrugging:

Was mir auffällt, ist die Tatsache, das beide Sensoren, bei denen “Tage” fehlt, 2-stellig sind. Könnte es sein, das dort nur der Platz in der Karte nicht ausreicht?

Müsste es nicht eher papier und gelbe_tonne heißen?

Habe ich auch gedacht, aber auf der Karte ist genug Platz und da fehlt es auch:


gute Frage, aber es funktioniert ja einwandfrei, bis auf das Text Anzeigeproblem :thinking:

Ja aber…

Teste es doch einfach

homeassistant:
  customize:
    sensor.naechster:
      unit_of_measurement: Tage
    sensor.papier:
      unit_of_measurement: Tage
    sensor.biotonne:
      unit_of_measurement: Tage
    sensor.gelbe_tonne:
      unit_of_measurement: Tage
    sensor.restmull:
      unit_of_measurement: Tage

Tut es ja eben nicht, weil vermutlich die unit fehlt, durch die falschen Entitäten.

Du hast deine Anzeige nicht weiter spezifiziert, vielleicht liegt es daran. Ich habe bei mir die Anzeige, wenn es noch 0 Tage sind schreibt er “Heute”, wenn es noch 1 Tag ist dann “Morgen” und alles darüber dann “x Tage”. Sieht im Sensor so aus:

'{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'

Versuch es doch mal damit und lass im letzten Fall “Tagen” weg.

Ok, habe ich so geändert. Leider besteht das Problem weiterhin. Nur komisch, dass trotz dieser Änderung bis auf die Anzeige alles funktioniert. hmmm

Wo kann ich das ändern?

Also ich habe ein Helfer Template der mir die nächste zu leerende Tonne anzeigt, meinst du das? Das sieht bei mir so aus:

{%- set days = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] %}
{%- set ts = states.sensor.naechster.attributes | first | as_timestamp %}
{%- set weekday = days[ ts | timestamp_custom("%w") | int] %}
{{ states.sensor.naechster.attributes.values() | first |
replace("altpapier", "Papier Tonne") | replace("gelbersack", "gelbe Tonne") |
replace("restabfall", "Restmüll") | replace("bioabfall", "Biotonne") }}:
{{ ts | timestamp_custom(weekday~", %d.%m.%Y")}}

Deine ganze Konfiguration scheint mir sehr kompliziert zu sein und am Standard etwas vorbei.

Schau dir dazu doch mal den Beitrag von Simon42 an:

Auch hier im Forum finden man massenhaft Konfigurations-Beispiele, z.B.

Das sind die Sensoren:

- platform: waste_collection_schedule
  name: "Nächste Abholung"
#  details_format: upcoming
#  value_template: '{{ value.daysTo }}'
  source_index:
    - 0
    - 1
  #  - 2
  #  - 3
  value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
# Nächste Gelber Sack Abholung
- platform: waste_collection_schedule
  source_index: 0
  name: "GelberSack"
  value_template: '{{value.types|join(", ")| replace("Abholung Wertstoffe (Abholung durch ALBA)", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Abholung Wertstoffe (Abholung durch ALBA)
# Nächste Restmüll-Abholung
- platform: waste_collection_schedule
  source_index: 0
  name: "Hausmüll"
  value_template: '{{value.types|join(", ")| replace("Abholung Hausmüll", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Abholung Hausmüll
# Nächste Biomüll Abholung
- platform: waste_collection_schedule
  source_index: 0
  name: "Biotonne"
  value_template: '{{value.types|join(", ")| replace("Abholung Biogut", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}' 
  types:
    - Abholung Biogut
# Nächste Papier Abholung
- platform: waste_collection_schedule
  source_index: 1
  name: "Papiertonne"
  details_format: upcoming
  value_template: '{{value.types|join(", ")| replace("Papiertonne", " ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  types:
    - Papiertonne

Also kompliziert war es nicht. Habe es exakt nach dieser Anleitung gemacht:

Danke. Ich checke das mal. Eventuell lösche ich auch die ganze Integration und fange noch mal von vorne an.

Hast du nach der Änderung auch neu gestartet?
Du könntest auch mal posten, wie die beiden Sensoren in den Entwicklerwerkzeugen unter Zustände aussehen.

So, jetzt verstehe ich es nicht mehr. Vor ca. 1,5h hatte ich das ja geändert. Seitdem hatte ich bestimmt 3 mal neu gestartet und mind. 5 mal den Browser Cache geleert. Die Anzeige war trotzdem noch unverändert. Jetzt plötzlich:

Kann es sein, dass es manchmal trotz Neustart und Cache Leerung eine Zeit dauert bis sich sowas ändert?

Also lag es DOCH an den falsch benannten Entitäten. Aber warum hat es vorher bis auf das fehlende “Tage” trotzdem funktioniert? Sehr seltsam.