Müllabfuhrtermine - Entitäten sortieren nach Datum

SkyWalker2_D

Active member
Moin!

Ich würde gerne eine Terminübersicht der Müllabfuhr Termine aufsteigend sortiert angezeigt bekommen.
Leider klappt das über die GUI nicht und die Termine werden nicht gänzlich korrekt sortiert.

YAML:
type: custom:auto-entities
card:
  type: entities
  title: Müllabfuhr
filter:
  include:
    - entity_id: sensor.abfall*
  exclude:
    - entity_id: sensor.abfall*next
    - entity_id: sensor.abfallnaechster

sort:
  method: state
  reverse: true

Ich habe auch schon hier gesucht bzw. Google angeschmissen, werde aber nicht fündig bzw. schlau.

Wie könnte ich das korrekt sortieren? Aktuell sieht es so aus:
1696918527529.png

Grüße
Sky
 
Das selbe Problem hatte ich auch. Simon24 hatte da auch mal einen Beitrag zu, war aber etwas Aufwendiger und man mußte noch recht viel selbst machen, wenn ich nicht irre, in HTML und der Markdown Karte.
Aber, wenn Du es sortiert haben willst, klick links in der Leiste auf den Kalender. Da sind bei mir die Abholtermine eingetragen und dementsprechend auch sortiert. :D
 
Alles klar, einfach wäre ja auch zu schön :)
Ich würde es gerne als Card auf einem Dashboard haben. Daher ist der Klick auf den Kalender nicht "die" Lösung!
 
Naja, einfach ist ein Klick auf den Kalender schon. :D
Wenn Du es unbedingt als Karte haben willst, könntest ja auch die Kalender Karte einbinden.
Aber ja, ist natürlich nicht die tolle Optik.
Außer Du stellst die Darstellung auf "Liste 7 Tage"

Tja, ansonsten dann viel Spaß beim umsetzen dieser Anleitung.
 
Hilfssensoren nutzen, um die Datumsausgabe in den Attributen (welche ja leider Name und nicht Wert ist) zu verwenden?
1697018491374.png

In sensor.yaml:
YAML:
- platform: template
  sensors:
    altpapier_custom:
      friendly_name: Altpapier
      value_template: >-
        {{ states('sensor.abfallaltpapier') }}
      attribute_templates:
        next_date: '{{ (states.sensor.abfallaltpapier.attributes | list)[0] }}'
    gelber_sack_custom:
      friendly_name: Gelber Sack
      value_template: >-
        {{ states('sensor.abfallgelber_sack') }}
      attribute_templates:
        next_date: '{{ (states.sensor.abfallgelber_sack.attributes | list)[0] }}'
    restmuell_custom:
      friendly_name: Restmüll
      value_template: >-
        {{ states('sensor.abfallrestmull_grune_woche') }}
      attribute_templates:
        next_date: '{{ (states.sensor.abfallrestmull_grune_woche.attributes | list)[0] }}'
Ergibt:
1697018528190.png

Und dann als Karte:
YAML:
type: custom:auto-entities
card:
  type: entities
  title: Müllabfuhr
filter:
  include:
    - entity_id: sensor.*custom
sort:
  method: attribute
  attribute: next_date
  reverse: true

Scheint bei mir mit Testdaten (habs ja nicht live im Betrieb) jedenfalls gut zu funktionieren.
 
Du hast dabei aber leider auch das "SORTIERT" überlesen.
Wie man an die Daten kommt ist nicht das Problem.
 
Sortiert Anzeigen geht z.B: so:

Code:
initial_view: listWeek
type: calendar
entities:
  - calendar.jumomind
Sieht halt nur nicht soooo toll aus und auch wenig Möglichkeiten, das etwas besser darzustellen.
 
Ich kanns leider nicht testen, weil mein HA mit "type: custom:auto-entities" nichts anzufangen weiß.
Aber die Zeile "- entity_id: sensor.*custom" sieht für mich aus wie "Setzte hier die verschiedenen Entitäten rein, die Du vom Abfallkalender bekommst"
Und nachdem ich nochmal überlegt und mir den Code angesehen habe, denke ich, das ich falsch liege und mal mittels "*custom" alle Entitäten bekommt, die "custom" im Namen haben.
Ich habe bei mir auch keine Entität Abfallkalender, sondern Abfall.Restmüll, Abfall.Altpapier usw.
Wenn ich die aber alle einzeln rein setzen, wars das wieder mit sortieren.
Leider finde ich keine Karte, wo ich SORT nutzen kann.
 
weil mein HA mit "type: custom:auto-entities" nichts anzufangen weiß
Ja, war bei mir auch so, HACS => Frontend => "auto-entities" ist es.

Wie Deine Entitäten heissen ist egal, kannst ja alle ansprechen (ja, ist ne Filterung für die zu verwendenden). Problem ist, dass "Sortier nach Status" leider nicht zu dem gewünschten Ergebnis führt, deshalb habe ich die Hilfssensoren angelegt (hier mit custom benannt) um an das dafür relevante Datum zu kommen, nach dem gefiltert werden kann.

Zur Verdeutlichung, links original nach Status, rechts Sortierung nach Datum :)
1697026379274.png
 
Zur Erklärung, bezüglich der Sortierung von Strings: "Morgen" fängt mit "M" an, das wiegt höher als "i". Die anderen drei fangen alle mit "i" an, aber 7 ist höher als 2 und 2 ist höher als 1 (oder in meinem Fall: 7 > 5 > 1).

Deshalb diese Sortierung nach state, das ist richtig, aber hier halt unerwünscht, und deshalb gehe ich nach Datum: 2023-12-05 > 2023-10-24 > 2023-10-18 (und bei mir auf dem Screenshot das "umgedreht" rausgenommen).

Das einzige Problem hierbei war dann, an den "Namen" vom ersten Attribut des Sensors zu kommen, ich sehe keine Möglichkeit, das direkt innerhalb der auto-entities umzusetzen, deshalb die Hilfssensoren, die dann halt den Status der originalen nochmal zur Ausgabe übernehmen. Bisschen Schreibarbeit, aber zumindest unkompliziert.

Bin mir nicht sicher, als was das nun sortiert wird - als String, als Datum, als was daraus gemacht wird - kann sein, dass es noch Sinn macht, das Datum in nen Timestamp umzuwandeln, um den Jahreswechsel sauber durchzuführen. Bin mir aber sicher, das wird @SkyWalker2_D im Zweifel dann problemlos selber hinbekommen :D
 
Ja, habs zwichenzeitlich auch bei HACS gefunden. :D
Auch soweit eingebaut, aber Sort geht bei mir nicht, da.
Code:
sensor.abfallbiotonnenext_custom
AbfallBiotonnenext_custom
am: 18.10.2023    attribution: Last update: 10/11/23 14:24:01
icon: mdi:leaf
friendly_name: AbfallBiotonnenext_custom
2023-10-18: Biomüll
2023-11-02: Biomüll
2023-11-15: Biomüll
2023-11-29: Biomüll
2023-12-13: Biomüll
2023-12-28: Biomüll
sensor.abfallgelbersacknext_custom
AbfallGelberSacknext_custom
am: 16.10.2023    attribution: Last update: 10/11/23 14:24:01
icon: mdi:trash-can
friendly_name: AbfallGelberSacknext_custom
2023-10-16: Leichtverpackungen
2023-10-30: Leichtverpackungen
2023-11-13: Leichtverpackungen
2023-11-27: Leichtverpackungen
2023-12-11: Leichtverpackungen
2023-12-23: Leichtverpackungen

Also kein "next_date" wonach ich sortieren könnte, nur das nackte Datum.
Ja, meine sensor.yaml sieht in dem Bereich auch etwas anders aus, da der *.ics Kalender bei mir nicht funktioniert hat, ich habe da "jumomind" laufen und ja, ich würde da ungern drin rum pfuschen, bin froh, es soweit am laufen zu haben.
Bei mir sieht das da so aus:

Code:
  - platform: waste_collection_schedule
    name: AbfallRestmuellnext_custom
    details_format: "upcoming"
    value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
    types:
      - Restabfall

  - platform: waste_collection_schedule
    name: AbfallPapierTonnenext_custom
    details_format: "upcoming"
    value_template: 'am: {{value.date.strftime("%d.%m.%Y")}}'
    types:
      - Altpapier
 
Hui, habs doch noch hin bekommen.

Code:
type: custom:auto-entities
card:
  type: entities
  title: Müllabfuhr
filter:
  include:
    - entity_id: '*custom'
sort:
  method: state
  attribute: value_template
  reverse: false

Ich muß nach "state" sortieren, dann klappts auch mit dem Müllmann.
 
Ja, jetzt bist Du ungefähr an dem Punkt, der @SkyWalker2_D zu der Eröffnung des Threads bewegt hat :D nur wenn Du immer "am [Datum]" dort stehen hast ist das natürlich eine völlig andere Situation als "in [X] Tagen".
 
Was habe ich verpasst?

Danke, ich schaue mir da mal in Ruhe an. Vorhin, schnell schnell zwischendurch, hatte es nicht geklappt. Da fehlt mir die Zeit und Ruhe.

Vielen Dank schonmal :)
 
Was habe ich verpasst?
So geht's mir auch - mal nen Tag über nicht da, und schon hat sich hier ein Riesenthread entwickelt! 🤯

Ich darf da auch noch was zu ergänzen, ja? 😊 Grundsätzlich würde auch ich einen Helfer nutzen, denn solche Sortiergeschichten sind ja immer ein bisschen komplex. Zumal es sich hier anbietet, da man dann auch noch andere Dinge gleich dort lösen könnte.

Was mir aber auffällt, Nival Du verwendest hier das "legacy" Format für den Template-Sensor. Daran ist grundsätzlich ja auch nichts falsch, denn das Legacy-Format wird weiterhin und lt. Aussage auch dauerhaft unterstützt werden.

Nichts desto Trotz bietet sich hier ein sg. "Trigger-based-template-sensor" an. Das ist das neue Format für Template-Sensoren, dass u.a. auch die Möglichkeit bietet, einen Trigger an den Sensor zu binden, einfach erklärt, die Automation um den Sensor-Wert zu verändern läuft dann bereits im Template-Sensor mit. Ich will da auch gar nicht drauf rumreiten, allerdings ist die gängige Empfehlung, wenn man jetzt einen neuen Template-Sensor erstellt, sollte man nur noch das neue Format verwenden.

Worum es hauptsächlich dabei geht ist folgendes: bislang laufen diese Template-Sensoren "verstreut" rum, und sind immer der Domain zugeordnet, die sie darstellen, in diesem Fall also der "Sensor"-Domain. Mit dem neuen Format werden Template-Sensoren nun der richtigen Domain zugeordnet, will sagen, sie laufen nicht mehr verstreut, sondern alle unter der Domain "Template". Das ist für viele interne Dinge wichtig, für uns als User ist es eher als Information zu verstehen, denn an der Funktion und/oder der Darstellung für uns ändert sich nichts!

Bislang ist das so:
YAML:
sensor:
  - platform: template
    sensors:

Jetzt wird das zu:
YAML:
template:
  - sensor:
      - name: xxx
        Inhalt Sensor

Das wird dann wichtig, wenn wir noch bestimmte andere Dinge dazu nehmen, z.B. den Trigger und/oder mehrere Sensoren:
YAML:
template:
  - trigger:
      - platform: state
        hier den üblichen Trigger-Inhalt
    sensor:
      - name: 1. Sensor
        Inhalt 1. Sensor
      - name: 2. Sensor
        Inhalt 2. Sensor
  - sensor:
      - name: hier würde jetzt der nächste Template-Sensor beginnen

Ich würde das dann gleich nach der neuen Methode machen, wenn man eh schon bei ist. Hier noch der Link zur Doku: https://www.home-assistant.io/integrations/template/
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
4.608
Beiträge
47.204
Mitglieder
4.258
Neuestes Mitglied
fumdock
Zurück
Oben