Countdown wenn wert auf true

  • Hallo Zusammen,

    ich möchte folgendes in meiner Vis umsetzen.

    Ich habe eine Steckdose die ich einschalte un nach 30 min per skript wieder ausgeschaltet wird.

    Nun möchte ich in meiner VIS ein Widget bauen welche mir anzeigt wieviele Minuten noch bis zum aussschalten bleiben. Nachdem die Steckdose ausgeschaltet wurde (manuell oder durch das Skript) soll der wert wieder auf 30 min stehen bleiben bis zum erneuten einschalten.

    Ich habe hier viel gelesen allerdings nur dinge gefunden wo die skripte nicht laufen.

    Vielen Dank im Vorauf für die tolle Unterstützung hier.

    Beste Grüße

  • Hi

    id von deiner Steckdose rein und das Widget auf den countdown-state zeigen lassen

    Viel Grüße




  • Hi , sorry

    ich hatte kleinen Fehler im Skript , da ich es nicht getestet hatte als ich es rein geschrieben habe

    aber bei den getState() fehlt .val dahinter :


    Du musst in das Widget den State eintragen den wir im Script erzeugen , dann sollte es schon gehen



  • Müsste dann hier nicht der wert rückwärts in den objekten laufen?

    Ich weiß nicht was du meinst.

    Du müsstest ein State haben "countdown", der wird ja vom Skript angelegt und in dem zählt er runter.

    , funzt das bei dir?

    ja, im vis zählt er von 30 runter auf 0 wenn ich die Steckdose anmache

    wenn die Steckdose nach 30 mins wieder ausgeht setzt er den Zähler zurück

    und wenn die Steckdose dann wieder angeht fängt er wieder an zu zählen.


    Stimmen deine IDs der Steckdose die du in deinem Post eingetragen hast,

    mich wundert das die Shellys unter Sonoff laufen, hast du die mit Tasmota geflasht?

  • ERstmal vielen Dank. State Countdown wird mit 30 angelegt. Sobald ich nun die Steckdose anmache zähltz er runter. Alleridngs pro Minute 2 Minuten weniger ???


    2. Problem ist das der Zahäler wenn ich die Steckdose vor Ablauf der Zeit wieder aussschalte setzt der Wertt sich nicht auf 30 zurück???

  • Komischerweise funktioniert es jetzt das er die korrekten minuten anzeigt.


    1. Wert ändert sich vor ablauf der zeit wieder auf false, wert stellt sich aber nicht auf 30 zurück.

    2. Countdown zählt weiter runter obwohl die Steckdose bereits aus ist( Wert ist auf false)


    ZU deiner Frage: Ja die Shellys sind mit tasmota geflasht.


  • Sind diese beiden passagen korrekt?


    da es ganzzahliger Wert ist reicht auch nen "==" sollte aber kein unterschied machen

    und das Leerzeichen beim setstate macht auch nix , schade aber auch nicht es rauszulöschen ;)


    Mein Code war nur Beispiel du kannst du Logik natürlich erweitern wenn die Steckdose ausgeht/angeht,

    ich wollte damit nur sichergehen, dass der Countdown einmal runterzählt und dann stoppt und nicht ewig weiter läuft wenn die Steckdose ausgeht.

  • weiß jetzt nicht ob du mit dem script die dose wieder ausschalten willst oder das von wo anders tiggerst

    habs trotzdem mal angepasst :


    um nicht 30 minuten warten zu müssen, um zu testen kannst du den timer ja mal auf 1000 stellen das er nur 30 sekunden runterzählt

    viele grüße

  • Also die Steckdose nach 30 sekunden aussschalten mache ich bereits mit einem anderen script. Dieses skript soll lediglich für den countdown dienen.


    Welche werte müssen geändert werden um zum beispiel den countdown von 30 auf 1 zu ändern?


    Doch alle werte die aktuell auf 30 stehen oder nicht?


    mit den 1000 verstehe ich nicht. Vielen Dank für deine tolle hilfe bis hierhin

  • 1 was? das er nur 1 minute runterzählt ?

    dann müsstest du alle 30 auf 60 stellen und im timer die 60000 auf 1000 weil 1000ms == 1 sek.

    dann würde der countdown von 60 auf 0 zählen


    vermutlich hab ich dich nicht richtig verstanden

  • bei einer Minute würde er von 60 auf 0 zählen ansonsten ging noch von 1 auf 0 ;)


  • Okay ich verstege nur einfach nicht warum 30 min im Skript 30 waren und nun stimmen 60 eine Minute sein. Welche Werte muss ich anpassen wenn ich statt 30 min meinetwegen 10 min haben will. Ist das Skript nun so das es sich automatische zurückstellt wenn entweder der countdown abgelaufen ist oder wenn die steckdose wieder abgeschaltet wird?


    Das Skript soll nicht die Steckdose schalten



    Danke für deine geduld

  • Hi,

    in der ersten Version löste die count- Funktion alle 60 (60000 ms)Sekunden aus und 60 Sekunden sind gleich 1 Minute, wenn sie 30 mal ausgelöst hat haben wir 30 Minuten.

    in der zweiten Version löst die count -Funktion jede Sekunde aus das bedeutet, wenn sie 60 mal ausgelöst hat ist eine Minute abgelaufen.

    Wenn du 10 Minuten willst löst du sie wieder 60000 ms aus und stellst auf 10.


    hier noch mal das angepasste Script auf 10 Mintuen, wenn deine Steckdose ausgeschaltet wird stoppt der countdown

    falls der countdown runtergezählt ist bevor die steckdose aus ist stoppt er auch.