NEWS
Countdown
-
Hallo Leute,
Folgendes beschäftigt mich schon seit Tagen.
Habe folgendes Script für einen Countdown:
createState('countdown', 10); createState('afterCount', false); createState('countTrigger', false); function count() { setTimeout(function () { var timer = getState('countdown').val || 10; if (timer > 1) { setState('countTrigger', false); setState('countdown', timer - 1); count(); } else { setState('countdown', 0); setState('afterCount', true); } }, 1000); } on('countTrigger', function (obj) { if (obj.newState.val === true || obj.newState.val === 'true' || obj.newState.val == 1) { setState('countdown', 10); // 2h30min = 150min = 9000s setState('afterCount', false); count(); } }); // Wenn Wama an, Counter starten on('hm-rega.0.Waschmaschine', function (obj) { // Homematic Variable if (obj.newState.val === true || obj.newState.val === 'true' || obj.newState.val === 'läuft' || obj.newState.val == 1) { setState('countTrigger', true); } });Soweit so gut, das funktioniert perfekt.
Möchte diesen in der Vis anzeigen, damit ich sehe wieviel Zeit bis zum Scharfstellen der Alarmanlage noch übrig ist.
Wenn ich jetzt aber den count Trigger mit einen Taster in der Vis triggere , zählt er zwar aber nicht korrekt. Zuerst in 2er Schritten usw….
Wenn ich den count Trigger händisch auf true stelle läuft er normal durch.
Was mache ich hier falsch?
mfg Daniel
-
Füge mal ein change: "ne" in dein on ein.
on({id: 'countTrigger', change: "ne"}, function (obj)Dann wird nur reagiert, wenn sich der Wert von countTrigger geändert hat. Ich vermute mal, dass die Funktion mehrfach parallel ausgeführt wird.
Außerdem erschließt sich mir dieser Teil hier nicht:
var timer = getState('countdown').val || 10];Warum "||10"?
-
Ich denke mal du hast das Script von hier: viewtopic.php?f=23&t=737&fbclid=IwAR0XN … lvm2VGG7eU von Bluefox. Dort wird ein Schalter betätigt und nach Ablauf den Countdown ein anderer Schalter geschaltet. Stimmt das soweit? Wenn ja, musst du natürlich die zusätzlichen Aktionen rauslöschen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden