Anzahl Tage/ Mit Datum rechnen

Hallo,

ich würde gerne berechnen wieviele Tage es bis zur nächsten Müllabholung sind, leider passen die Beispiele aus dem WWW nicht, da ich die Integration von Hamburg (Stadtreinigung Hamburg) nutzen muss. Dort habe ich folgenden Wert:

sensor.stadtreinigung_hamburg_muell_blaue_papiertonne
Blaue Papiertonne
2023-03-07T00:00:00 Last update: 2023-02-21T10:32:04.574691
unit_of_measurement:
device_class: timestamp
icon: mdi:recycle
friendly_name: Blaue Papiertonne

Offensichtlich device_class timestamp, aber egal was ich versuche immer kommt nichts sinnvolles heraus.

Tage = sensor.stadtreinigung_hamburg_muell_blaue_papiertonne- now()

Habt ihr einen Tipp für mich?

Grüße aus Hamburg

Ich habe nun noch einmal weiter probiert aber die Werte unterscheiden sich doch noch, so das man damit scheinbar nicht rechnen kann.

{{ states.sensor.stadtreinigung_hamburg_muell_blaue_papiertonne.state }} => 2023-03-07T00:00:00

{{ now() }} => 2023-02-21

Wenn ich jetzt aber folgenes ausführen will, klappt es nicht.

{{ states.sensor.stadtreinigung_hamburg_muell_blaue_papiertonne.state - now() }}

Du musst den Zektwert in einen Zahlenwert konvertieren. Erst dann kannst du das berechnen. Probiere mal diesen Code

{{as_timestamp(states.sensor.stadtreinigung_hamburg_muell_blaue_papiertonne.state) - as_timestamp(now())}}

@guezli

Das ist schon Besser, nur wie komme ich jetzt auf die Tage?

Das kommt da raus: 1094039.8645141125

Grüße aus Hamburg

@frankhh Das Ergebnis sind Sekunden. Also musst du den Wert nun in Tage umwandeln. Dies schaffst du, in dem du den Wert durch 86400 teilst. Versuche mal diese Formel. Ich kann sie nicht testen. Round rundet dir den Wert ohne Dezimalstelle.

{{ ((as_timestamp(states.sensor.stadtreinigung_hamburg_muell_blaue_papiertonne.state) - as_timestamp(now())) / 86400) | round (0)}}

@guezli

Das ist die Lösung!!!! Ich habe immer int verwendet und da fehlte dann 1 Tag

image.png

Grüße aus Hamburg

Ich versuche es auch gerade hinzubekommen. Könntest du mir vielleicht den kompletten Code geben?