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 4
Versionen:
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
-
@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. -
@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.
-
@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