NEWS
Countdown von 10 Min auf 0 runter
-
Hi, wie bzw. was muß ich machen um von 10 Min/Sek (variabel) auf 0 Minuten/Sekunden
runter zu zählen. Brauche das für die VIS als DP wenn die USV anspringt.
Begonnen habe ich so, aber ich weiß nicht wie das mit dem zählen geht bzw.
man das in Blockly macht.
-
@nashra Bin zwar kein Blockly-Fan und vielleicht geht das auch anders, aber so funktioniert es zumindest im Test:
In deinem Abbrechen-Ast kannst ja dann nochmal so ein stop zyklische Ausführung zu machen. Alternativ könnte man auch den Wert des Datenpunkt mit einer ODER Verknüpfung mit einzubeziehen - dann sparst Du Dir die SONST Abfrage.
-
Wenn ich ein Gerät nach einem Countdown ausschalten will, wie sieht das Blockly dann aus?
Frag nur mal so, weil du gerade im Flow bist -
@haselchen sagte in Countdown von 10 Min auf 0 runter:
Frag nur mal so, weil du gerade im Flow bist
Nun normalerweise ist mein Flow ja eher der mit Knoten und dann auch noch rot, aber ich würde einfach in die Abbruchbedingung des CountDown Stops den steuere Befehl hinzufügen.
Ist halt alles nicht so schön, wie mit den roten Knoten, aber um zu verdeutlichen, dass der CountDown asynchron läuft, siehst Du hier . Das heißt obwohl der CountDown gestartet Befehl als letztes kommt, erfolgt die Ausgabe des CountDowns später:
Und wie gesagt anstelle der Debug Ausgabe - kannst Du natürlich beliebige Steuerbefehle absetzen.
-
@mickym Man kann den CountDown natürlich auch mit Minuten machen.
Das belastet ggf. weniger, wenn man eh immer volle Minuten haben will.
-
Ich werde nachher, wenn der WM Ball nicht mehr rollt, mich an deine Lösung ran wagen.
-
@mickym Habe das jetzt mal so gemacht wie du geschrieben hast aber der wirft mir ein WARN raus
Zählt ja auch runter aber ich hätte gerne die Ausgabe so 09:59 min / 09:58 min usw.
und das in einem Datenpunkt -
Man kann den CountDown natürlich auch mit Minuten machen.
Wenn man eh immer volle Minuten haben will bzw. statt ms auch s nehmen.
-
Anbei mal ein Script. Wer Fragen hat, dann melden.
// Countdown Modus-Dusche var count,timer; function countdown(){ count--; if(count > 0) { setState('javascript.0.System.Countdown.Dusche.countdown', count); if (count > 60) { var min = parseInt(count/60); var sek = count - (min*60); setState('javascript.0.System.Countdown.Dusche.countdown', count); setState('javascript.0.System.Countdown.Dusche.countdown2', min + " Min. " + sek + " Sek."); } else { setState('javascript.0.System.Countdown.Dusche.countdown', count); setState('javascript.0.System.Countdown.Dusche.countdown2', count + " Sek."); } } else { setState('javascript.0.System.Countdown.Dusche.countTrigger', false ); } } on({id: "javascript.0.System.Countdown.Dusche.countTrigger", change: "ne"}, function(obj){ if(obj.state.val) { count = getState('javascript.0.System.Countdown.Dusche.Zeitvorgabe').val * 60; // in Sekunden setState('javascript.0.System.Countdown.Dusche.countdown', count); timer = setInterval(countdown, 1000); // 1000 = 1 Sek. ; 60000 = 60 Sek. } else { clearInterval(timer); setState('javascript.0.System.Countdown.Dusche.countdown', 0 ); setState('javascript.0.System.Countdown.Dusche.countdown2', "" ); } });
Gestartet wird dies indem du den Trigger auf true setzt:
// Countdown starten für Anzeige der Zeit auf View setState('javascript.0.System.Countdown.Dusche.countTrigger', true); // Countdown Dusche starten
-
Moinsen,
könntest du das auch nochmal als Blockly umswitchen?
Das wäre nice. Ich habs nicht so mit JS -
@haselchen sagte in Countdown von 10 Min auf 0 runter:
könntest du das auch nochmal als Blockly umswitchen?
tut mir leid, aber blockly kann ich gar nicht
-
@bahnuhr Ich kann auch gerne noch eine NodeRed Lösung posten.
-
-
@mickym sagte in Countdown von 10 Min auf 0 runter:
NodeRed
Hab ich erwartet.
Kann ich aber auch nicht; und ich glaube ich mag es auch nicht.
(habs aber auch noch nie probiert; muss ich zugeben).
Mache alles mit JS. -
-
-
@nashra sagte in Countdown von 10 Min auf 0 runter:
@mickym @bahnuhr
Ich danke euch, habe jetzt das JS von bahnuhr genommenWenn du nur Minuten brauchst, dann schreib es einfach um.
Falls es nicht klappt, dann meld dich.Achja,
DP musst du natürlich selber anlegen und anpassen. -
@bahnuhr sagte in Countdown von 10 Min auf 0 runter:
@nashra sagte in Countdown von 10 Min auf 0 runter:
@mickym @bahnuhr
Ich danke euch, habe jetzt das JS von bahnuhr genommenWenn du nur Minuten brauchst, dann schreib es einfach um.
Falls es nicht klappt, dann meld dich.Achja,
DP musst du natürlich selber anlegen und anpassen.Genau so wie es ist brauche ich es, DP hatte ich direkt angelegt und läuft
-
@nashra sagte in Countdown von 10 Min auf 0 runter:
habe jetzt das JS von bahnuhr
Ist nicht von mir; stammt aus den Anfangszeiten von iob. War damals ! noch im alten Forum.
Und ja, ich benutze es sehr oft:
-
Ist halt etwas hölzern im Blockly diese Textausgabe zu definieren - aber so würde das nach meiner Ansicht gehen:
das sind wieder genau die Gründe, warum ich Blockly nicht mag.