NEWS
(erledigt) Blockly: switch / Case Block funktioniert nicht
-
Hallo,
denke ich falsch oder funktioniert der Block switch/ case nicht.
Blockly:

JS:var i; setState('javascript.0.Dummy2' /* Dummy2 */, 0, true); setState('0_userdata.0.Dummy1' /* Dummy1 */, 0, true); on({ id: [].concat(['javascript.0.Dummy_fuer_alles']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; i = (obj.state ? obj.state.val : ""); switch (i) { case i == 1: setState('0_userdata.0.Dummy1' /* Dummy1 */, i, true); console.log(('hier sollte i = 1 stehen' + String(i))); break; case i == 2: setState('javascript.0.Dummy2' /* Dummy2 */, i, true); console.log(('hier sollte i = 2 stehen' + String(i))); break; case i == 4: setState('0_userdata.0.Dummy1' /* Dummy1 */, i, true); console.log(('hier sollte i = 4 stehen' + String(i))); break; } console.log(('gesamt ' + String(i))); });Debug Output:
27.12.2023, 22:29:44.505 [info ]: javascript.0 (1670) Stop script script.js.Tests.zum_test 27.12.2023, 22:29:44.554 [info ]: javascript.0 (1670) Start javascript script.js.Tests.zum_test 27.12.2023, 22:29:44.557 [info ]: javascript.0 (1670) script.js.Tests.zum_test: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 27.12.2023, 22:29:52.035 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 1 27.12.2023, 22:29:53.301 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 2 27.12.2023, 22:29:54.515 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 3 27.12.2023, 22:29:55.515 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 4Versionen:
Used repository: stable Adapter "admin" : 6.12.0 , installed 6.12.0 Adapter "backitup" : 2.8.7 , installed 2.8.7 Adapter "broadlink2" : 2.1.5 , installed 2.1.5 Adapter "discovery" : 4.2.0 , installed 4.2.0 Adapter "email" : 1.2.0 , installed 1.2.0 Adapter "flot" : 1.12.0 , installed 1.12.0 Adapter "history" : 3.0.1 , installed 3.0.1 Adapter "hm-rega" : 4.0.0 , installed 4.0.0 Adapter "hm-rpc" : 1.15.19 , installed 1.15.19 Adapter "icons-material-svg": 0.1.0, installed 0.1.0 Adapter "icons-mfd-svg": 1.1.0 , installed 1.1.0 Adapter "javascript" : 7.1.6 , installed 7.1.6 Controller "js-controller": 5.0.17 , installed 5.0.17 Adapter "simple-api" : 2.7.2 , installed 2.7.2 Adapter "socketio" : 6.6.0 , installed 6.6.0 Adapter "tankerkoenig" : 3.3.7 , installed 3.3.7 Adapter "vis" : 1.5.4 , installed 1.4.16 [Updatable] Adapter "vis-history" : 1.0.0 , installed 1.0.0 Adapter "vis-jqui-mfd" : 1.0.12 , installed 1.0.12 Adapter "vis-material-advanced": 1.7.4, installed 1.7.4 Adapter "web" : 6.1.10 , installed 6.1.10 Adapter "ws" : 2.5.8 , installed 2.5.8 /usr/bin/nodejs v18.19.0 /usr/bin/node v18.19.0 /usr/bin/npm 10.2.3 /usr/bin/npx 10.2.3 /usr/bin/corepack 0.22.0 -
Hallo,
denke ich falsch oder funktioniert der Block switch/ case nicht.
Blockly:

JS:var i; setState('javascript.0.Dummy2' /* Dummy2 */, 0, true); setState('0_userdata.0.Dummy1' /* Dummy1 */, 0, true); on({ id: [].concat(['javascript.0.Dummy_fuer_alles']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; i = (obj.state ? obj.state.val : ""); switch (i) { case i == 1: setState('0_userdata.0.Dummy1' /* Dummy1 */, i, true); console.log(('hier sollte i = 1 stehen' + String(i))); break; case i == 2: setState('javascript.0.Dummy2' /* Dummy2 */, i, true); console.log(('hier sollte i = 2 stehen' + String(i))); break; case i == 4: setState('0_userdata.0.Dummy1' /* Dummy1 */, i, true); console.log(('hier sollte i = 4 stehen' + String(i))); break; } console.log(('gesamt ' + String(i))); });Debug Output:
27.12.2023, 22:29:44.505 [info ]: javascript.0 (1670) Stop script script.js.Tests.zum_test 27.12.2023, 22:29:44.554 [info ]: javascript.0 (1670) Start javascript script.js.Tests.zum_test 27.12.2023, 22:29:44.557 [info ]: javascript.0 (1670) script.js.Tests.zum_test: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 27.12.2023, 22:29:52.035 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 1 27.12.2023, 22:29:53.301 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 2 27.12.2023, 22:29:54.515 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 3 27.12.2023, 22:29:55.515 [info ]: javascript.0 (1670) script.js.Tests.zum_test: gesamt 4Versionen:
Used repository: stable Adapter "admin" : 6.12.0 , installed 6.12.0 Adapter "backitup" : 2.8.7 , installed 2.8.7 Adapter "broadlink2" : 2.1.5 , installed 2.1.5 Adapter "discovery" : 4.2.0 , installed 4.2.0 Adapter "email" : 1.2.0 , installed 1.2.0 Adapter "flot" : 1.12.0 , installed 1.12.0 Adapter "history" : 3.0.1 , installed 3.0.1 Adapter "hm-rega" : 4.0.0 , installed 4.0.0 Adapter "hm-rpc" : 1.15.19 , installed 1.15.19 Adapter "icons-material-svg": 0.1.0, installed 0.1.0 Adapter "icons-mfd-svg": 1.1.0 , installed 1.1.0 Adapter "javascript" : 7.1.6 , installed 7.1.6 Controller "js-controller": 5.0.17 , installed 5.0.17 Adapter "simple-api" : 2.7.2 , installed 2.7.2 Adapter "socketio" : 6.6.0 , installed 6.6.0 Adapter "tankerkoenig" : 3.3.7 , installed 3.3.7 Adapter "vis" : 1.5.4 , installed 1.4.16 [Updatable] Adapter "vis-history" : 1.0.0 , installed 1.0.0 Adapter "vis-jqui-mfd" : 1.0.12 , installed 1.0.12 Adapter "vis-material-advanced": 1.7.4, installed 1.7.4 Adapter "web" : 6.1.10 , installed 6.1.10 Adapter "ws" : 2.5.8 , installed 2.5.8 /usr/bin/nodejs v18.19.0 /usr/bin/node v18.19.0 /usr/bin/npm 10.2.3 /usr/bin/npx 10.2.3 /usr/bin/corepack 0.22.0@ubecker sagte in Blockly: switch / Case Block funktioniert nicht:
denke ich falsch oder funktioniert der Block switch/ case nicht.
Wenn man den richtig verwendet, funktioniert der auch ;-)

-
@ubecker sagte in Blockly: switch / Case Block funktioniert nicht:
denke ich falsch oder funktioniert der Block switch/ case nicht.
Wenn man den richtig verwendet, funktioniert der auch ;-)

@codierknecht das wäre schön.
i ist auf dem Wert von dem Trigger. ist eine Zahl. Ich kann auch die Zahl direkt in "i" schreiben. geht trotzdem nicht. -
@codierknecht das wäre schön.
i ist auf dem Wert von dem Trigger. ist eine Zahl. Ich kann auch die Zahl direkt in "i" schreiben. geht trotzdem nicht. -
@codierknecht
ahhh, da darf kein Vergleich stehen.
Könnt ihr das als Hinweis in Blockly für dummy aufnehmen. -
@codierknecht
ahhh, da darf kein Vergleich stehen.
Könnt ihr das als Hinweis in Blockly für dummy aufnehmen.@ubecker sagte in Blockly: switch / Case Block funktioniert nicht:
ahhh, da darf kein Vergleich stehen.
Das meinte ich mit "richtig verwenden" ;-)
Könnt ihr das als Hinweis in Blockly für dummy aufnehmen.
Wird umgehend ergänzt!
-
@ubecker sagte in Blockly: switch / Case Block funktioniert nicht:
ahhh, da darf kein Vergleich stehen.
Das meinte ich mit "richtig verwenden" ;-)
Könnt ihr das als Hinweis in Blockly für dummy aufnehmen.
Wird umgehend ergänzt!
@codierknecht super, ich war auf den Trigger fixiert. In meinem Script hab ich diesen Block erstmal durch viel "if then" ersetzt.
-
@codierknecht super, ich war auf den Trigger fixiert. In meinem Script hab ich diesen Block erstmal durch viel "if then" ersetzt.
@ubecker
Das Beispiel im "Dummy-Thread" zeigt auch bereits die korrekte Verwendung.
Ich habe trotzdem mal einen Hinweistext spendiert. -
@ubecker
Das Beispiel im "Dummy-Thread" zeigt auch bereits die korrekte Verwendung.
Ich habe trotzdem mal einen Hinweistext spendiert.@codierknecht hatte ich wohl schon gelesen aber der Hinweis ist richtig.
danke und bis demnächst
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
