Uhrzeiten subtrahieren / Differenz finden

Hallo in die Runde,

ich habe ein Problem an dem ich einfach nicht weiter komme, es gibt hierzu auch einige Einträge im Netz aber nichts was mir hilft bzw. begreife ich es einfach nicht.

Ich setze in einem Skript per Dienstaufruf zweit Zeitstempel:

data:
  timestamp: "{{ as_timestamp(now()) }}"
target:
  entity_id: input_datetime.beginn
action: input_datetime.set_datetime

UND 

data:
  timestamp: "{{ as_timestamp(now()) }}"
target:
  entity_id: input_datetime.ende
action: input_datetime.set_datetime

Diese beiden Zeitstempel möchte ich gene Subtrahieren (Ende - Beginn)
Sodass ein Wert in Minuten rauskommt (00:12) → zum Beispiel.

Ich habe hierfür in der Configuration.yamls folgenden Code erstellt:

  - platform: template
    sensors:
      duschzeit:
        unique_id: duschzeit
        entity_id:
          - input_datetime.beginn
          - input_datetime.ende
        value_template: >-
          {% set beginn = as_timestamp(states('input_datetime.beginn'))|int %}
          {% set ende = as_timestamp(states('input_datetime.ende'))|int %}
          {{ (ende - beginn) |int }} 

Der Sensor wird mir in den Helfern auch angezeit allerdings als “Nicht Verfügbar”

Der Template Editor sagt folgendes:

Ich danke für eure Hilfe
Gruß Paul

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

Moin,
input_datetime.xyz haben schon ein timestamp als attribut:


Probiere es mal damit:

          {% set beginn = state_attr('input_datetime.beginn','timestamp')|int %}
          {% set ende = state_attr('input_datetime.ende','timestamp')|int %}
          {{ (ende - beginn) |int }}

Edit:
musst das ergebnis dann glaube ich noch /60 rechnen da es Sekunden sind, wenn ich es noch richtig im Kopf habe

LG
Tobi

Das hat mir weitergeholfen, vielen Dank!

1 „Gefällt mir“