frankhh
21. Februar 2023 um 09:48
1
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
frankhh
21. Februar 2023 um 16:43
2
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() }}
guezli
21. Februar 2023 um 20:40
3
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())}}
frankhh
22. Februar 2023 um 07:07
4
@guezli
Das ist schon Besser, nur wie komme ich jetzt auf die Tage?
Das kommt da raus: 1094039.8645141125
Grüße aus Hamburg
guezli
22. Februar 2023 um 07:34
5
@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)}}
frankhh
22. Februar 2023 um 08:52
6
@guezli
Das ist die Lösung!!!! Ich habe immer int verwendet und da fehlte dann 1 Tag
Grüße aus Hamburg
Ich versuche es auch gerade hinzubekommen. Könntest du mir vielleicht den kompletten Code geben?