Wie lange läuft die Waschmaschine schon

Ich hab das schon soweit hingekriegt, dass ich damit weiter arbeiten kann:

{% set t = 'timer.waschmaschinen_laufzeit' %}
{% if is_state(t, 'active') %}
  {% set d = state_attr(t,'duration') | as_timedelta %}
  {% set f = state_attr(t, 'finishes_at') | as_datetime %}
  {{ ( d.total_seconds() - ( f  - now()).total_seconds())  | timestamp_custom('%H:%M:%S', false) }}
{% elif is_state(t, 'paused') %}
{{ states.timer.waschmaschinen_laufzeit.attributes.remaining }}
{% elif is_state(t, 'idle') %}
  00:00:00
{% endif %} 

Wenn der Timer läuft, dann passt die Ausgabe.
(hoch laufende Uhrzeit)
Wenn ich den Timer abbreche passt es auch, da hab ich dann 00:00:00 stehen.

Was ich bis jetzt nicht hinbekommen habe, ist wenn ich den Timer anhalte, dann habe ich die Remaining Zeit stehen. Ich möchte aber die elapsed Zeit haben.
Ich habe versucht das zu berechnen, hab aber immer Fehlermeldungen drin.
Der TImer läuft in diesem Fall 4h (fixe Zeit) und ich hätte da gerne stehen, wie lange er gelaufen ist solange bis ich den TImer zurücksetze.

Kann mir da jemand kurz helfen?

Nachtrag:

falls jemand anderst braucht:
anstatt dem states.timer…
das hier:

  {% set d = state_attr(t,'remaining') | as_timedelta %}
  {{ ( 14400 - d.total_seconds())  | timestamp_custom('%H:%M:%S', false) }}

Grüße
Stefan

:crayon:by HarryP: Zusammenführung Doppelpost (bitte „bearbeiten“ Funktion nutzen)

Hallo Stefan

Ich habe auch mal dieses script eingebunden. Ich wollte wenn der meinem Binery Sensor koppeln, der mir sagt das die Waschmaschine läuft. Nun möchte ich gerne dieses Script nutzen um die Zeit zu messen wie lange die Waschmaschine läuft. Aber es klappt nicht. Was mache ich falsch?
Hier mal das script:

`- sensors:
    waschzeit1:
      value_template: >
        {% set t = 'binary_sensor.waschmaschine' %}
        {% if is_state(t, 'active') %}
          {% set d = state_attr(t,'duration') | as_timedelta %}
          {% set f = state_attr(t, 'finishes_at') | as_datetime %}
          {{ ( d.total_seconds() - ( f  - now()).total_seconds())  | timestamp_custom('%H:%M:%S', false) }}
        {% elif is_state(t, 'paused') %}
        {% set d = state_attr(t,'remaining') | as_timedelta %}
          {{ ( 14400 - d.total_seconds())  | timestamp_custom('%H:%M:%S', false) }}
        {% elif is_state(t, 'idle') %}
          00:00:00
        {% endif %}`

Vielen Dank
Tobias

Hallo Tobias,
bei mir hat das ganze zu Anzeigezwecken funktioniert.
Hab das in einen Templatesensor gepackt, war soweit ok.
Dann wollte ich das ganze in einen Apex Chart, bzw. in Grafana packen.
Da gingen die Probleme dann los.
Ich weiß nicht warum, aber ich konnte diesem Sensor keine EInheit und auch keine Klasse verpassen. Der hat nur funktioniert, wenn ich die Sachen weg gelassen habe.

Ich habe das jetzt mit einem history stats Sensor gelöst. Als entity hab ich einen Helper (Schalter) genommen und als Start einen Button.
Dadurch hab ich jetzt Einheit und Klasse drin und kann mit dem Sensor das machen was ich machen möchte.