Timer unter bestimmter Zeit, dann

timur

New member
Hallo zusammen,

Ich wollte einen Button erstellen der nur dann Sichtbar ist, wenn die Restzeit der Waschmaschine unter 10min. Beträgt.
Nun einige hab ich mit der Einstellung "Sichtbarkeit" so hinbekommen, aber da das nur als number dient und nicht als Timer (hh:mm:ss) funktioniert das nicht.
Nun steh ich etwas auf dem Schlauch....
Muss ich nun eine Automation und einen Helfer erstellen? Oder reicht ein Helfer? Wie müsste das aussehen, ich müsste ja dann ein template erstellen und da bin ich dann leider raus 🙈
Hab schon überall im Internet gesucht, aber in der Richtung leider nichts gefunden. Über eure Unterstützung wäre ich dankbar.

Mein Button würde so aussehen:

Code:
show_name: true

show_icon: false

type: custom:button-card

tap_action:

  action: card

entity: sensor.waschmaschine_remaining_time

visibility:

  - condition: numeric_state

    entity: sensor.waschmaschine_remaining_time

    below: 15

show_state: true

name: Waschmaschine endet in

card_mod:

  style: |

    {% if states('sensor.waschmaschine_remaining_time') | float(14) <= 15 %}

    ha-card { animation: blink 2s linear infinite; }

    @keyframes blink { 50% {opacity: ;} }

    {%- endif %}

    ha-card {

    background: rgba(255, 0, 0, 0.4);

    border: none;

    color: white;

    }

lg Timur
 
Oder reicht ein Helfer? Wie müsste das aussehen, ich müsste ja dann ein template erstellen
Genau. Ein Helfer vom Typ Template, den füllst Du mit diesem Code:
YAML:
{% set h, m, s = states('sensor.waschmaschine_remaining_time').split(':') %}
{{ true if h | int(0) <= 0 and m | int(0) <= 10 else false }}
Der ergibt true, wenn die Minuten auf gleich oder kleiner 10 stehen und die Stunden auf 0. Diesen Helfer kannst Du dann in einer Karte "Konditional" verwenden, als Bedingung "Entitätszustand", den eben angelegten Helfer auswählen, Zustand True (Großschreibung beachten!) eintragen, und als Karte Deinen Button.
 
Genau. Ein Helfer vom Typ Template, den füllst Du mit diesem Code:
YAML:
{% set h, m, s = states('sensor.waschmaschine_remaining_time').split(':') %}
{{ true if h | int(0) <= 0 and m | int(0) <= 10 else false }}
Der ergibt true, wenn die Minuten auf gleich oder kleiner 10 stehen und die Stunden auf 0. Diesen Helfer kannst Du dann in einer Karte "Konditional" verwenden, als Bedingung "Entitätszustand", den eben angelegten Helfer auswählen, Zustand True (Großschreibung beachten!) eintragen, und als Karte Deinen Button.

Super vielen Dank. Das werde ich heute Abend gleich ausprobieren 👍🏽👍🏽👍🏽
 
Das werde ich heute Abend gleich ausprobieren
Viel Erfolg! Und falls Du noch nicht mit den Bedingungskarten gearbeitet haben solltest, ausgeblendet werden sie erst, wenn die Bearbeitung des Deshboards beendet wurde ;)

Wenn ich mir das Geblinke der Karte ansehe sollte man aber vielleicht noch ein "wieder ausblenden, wenn der Timer komplett abgelaufen ist" mit integrieren..?
 
Viel Erfolg! Und falls Du noch nicht mit den Bedingungskarten gearbeitet haben solltest, ausgeblendet werden sie erst, wenn die Bearbeitung des Deshboards beendet wurde ;)

Wenn ich mir das Geblinke der Karte ansehe sollte man aber vielleicht noch ein "wieder ausblenden, wenn der Timer komplett abgelaufen ist" mit integrieren..?

Bin Grad dabei und hab genau das festgestellt 🤣
Ja der sollte bei 0:000:00 nicht mehr blinken, da bekommen wir dann auch eine Meldung aufs Handy und über Alexa.
Bei uns ist es oft so, dass wir grad aus dem Haus sind und dann die Meldung bekommen, dass die Waschmaschine fertig ist. Daher dieser Plan 😬
Ich müsste ja nun nur die Sekunde null auf 1 stellen, dann wäre das geblinke ausgeblendet.
 
Wo sollte ich das ändern?
Wenn Du einfach nur die Karte wieder ausblenden möchtest wenn der Countdown durch ist könntest Du den Helfer ergänzen:
YAML:
{% set h, m, s = states('sensor.waschmaschine_remaining_time').split(':') %}
{{ true if h | int(0) <= 0 and m | int(0) <= 10 and (m | int(0) > 0 or s | int(0) > 0) else false }}
Also wenn Stunde auf 0 und Minute kleiner gleich 10, gleichzeitig aber auch entweder Minute oder Sekunde (oder beides) größer 0.
 
Zurück
Oben