NEWS
zählen i von 6 bis 1 geht nicht - gelöst!
-
Hallo Welt - das Blockly

soll eigentlich meinen Leuchten am Gartenweg "rückwärts" aus- bzw. ein-schalten. Jedoch gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?Die Verzögerung wars!

@wagner Zeig mal bitte den generierten JavaScript Code
-
Hallo Welt - das Blockly

soll eigentlich meinen Leuchten am Gartenweg "rückwärts" aus- bzw. ein-schalten. Jedoch gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?Die Verzögerung wars!

@wagner In einem ersten Schritt könntest Du Dir das Javascript anschauen, was da generiert wird

wird zu:
for (i = 6; i >= 1; i--) { }Der Blockly Javascript Generator "weiß" wohl selber dass es "abwärts" geht, und nimmt "--"
EDIT: Das führt zum selben Code:

Da sitzt der Hase im Pfeffer:
Nummer sechs wird als estes dur
Nummer 6 wird zwar als Erster durchlaufen, aber durch die längste Verzögerung als Letzter geschaltet....
3000 * (5-i) wäre die bessere Wahl
-
Hallo Welt - das Blockly

soll eigentlich meinen Leuchten am Gartenweg "rückwärts" aus- bzw. ein-schalten. Jedoch gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?Die Verzögerung wars!

-
Hallo Welt - das Blockly

soll eigentlich meinen Leuchten am Gartenweg "rückwärts" aus- bzw. ein-schalten. Jedoch gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?Die Verzögerung wars!

@wagner sagte in zählen i von 6 bis 1 geht nicht:
gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?
Naja 1x3000 ist halt auch der kleinste Wert und somit geht der Kanal mit der 1 als erstes an/aus mit dem Code
Egal wie rum die Schleife läuft
-
@wagner Zeig mal bitte den generierten JavaScript Code
- var i;
- console.warn('LampenAus');
- for (i = 6; i >= 1; i--) {
- setStateDelayed(('alias.0.EigeneGeräte.Lichtschalter.GartenWeg.GartenwegPower' + String(i)), { val: false, ack: false }, parseInt((((3000 * i)) || '').toString(), 10), false);
- console.error(i);
- }
-
@wagner sagte in zählen i von 6 bis 1 geht nicht:
gehen die Leuchten stets von 1 nach 6 an/aus! Was mache ich falsch?
Naja 1x3000 ist halt auch der kleinste Wert und somit geht der Kanal mit der 1 als erstes an/aus mit dem Code
Egal wie rum die Schleife läuft
-
@wagner In einem ersten Schritt könntest Du Dir das Javascript anschauen, was da generiert wird

wird zu:
for (i = 6; i >= 1; i--) { }Der Blockly Javascript Generator "weiß" wohl selber dass es "abwärts" geht, und nimmt "--"
EDIT: Das führt zum selben Code:

Da sitzt der Hase im Pfeffer:
Nummer sechs wird als estes dur
Nummer 6 wird zwar als Erster durchlaufen, aber durch die längste Verzögerung als Letzter geschaltet....
3000 * (5-i) wäre die bessere Wahl
-
@wagner sagte in zählen i von 6 bis 1 geht nicht - gelöst!:
@paul53
mit Pause gehtsMit pause geht es. Schlecht ist es trotzdem.
Besser so:

Diese Anordnung von Blöcken kannst du in einen Trigger einbauen und musst dich nicht darum kümmern was passiert wenn der innerhalb von weniger als 18 Sekunden 2 mal aufgerufen wird.A.
p.s. da ich dein Objekt LichtAn nicht hab habe ich da einfach ein wahr stehen lassen - die Transferleistung das anzupassen traue ich aber jedem zu.
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
