Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. (erledigt) Blockly: switch / Case Block funktioniert nicht

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    334

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    300

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    929

(erledigt) Blockly: switch / Case Block funktioniert nicht

Geplant Angeheftet Gesperrt Verschoben Blockly
9 Beiträge 2 Kommentatoren 412 Aufrufe 3 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ubeckerU Offline
    ubeckerU Offline
    ubecker
    schrieb am zuletzt editiert von ubecker
    #1

    Hallo,
    denke ich falsch oder funktioniert der Block switch/ case nicht.
    Blockly:
    Screenshot 2023-12-27 223258.png
    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
    
    

    Gruß Udo

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • ubeckerU ubecker

      Hallo,
      denke ich falsch oder funktioniert der Block switch/ case nicht.
      Blockly:
      Screenshot 2023-12-27 223258.png
      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
      
      
      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @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 ;-)

      83b6420a-5234-4048-9967-4afd356f403b-image.png

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      ubeckerU 1 Antwort Letzte Antwort
      0
      • CodierknechtC Codierknecht

        @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 ;-)

        83b6420a-5234-4048-9967-4afd356f403b-image.png

        ubeckerU Offline
        ubeckerU Offline
        ubecker
        schrieb am zuletzt editiert von
        #3

        @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.

        Gruß Udo

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • ubeckerU ubecker

          @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.

          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von Codierknecht
          #4

          @ubecker
          Funktioniert einwandfrei!

          e11b465c-2eec-43eb-91cf-6ec77614038f-image.png

          https://www.w3schools.com/js/js_switch.asp

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          ubeckerU 1 Antwort Letzte Antwort
          0
          • CodierknechtC Codierknecht

            @ubecker
            Funktioniert einwandfrei!

            e11b465c-2eec-43eb-91cf-6ec77614038f-image.png

            https://www.w3schools.com/js/js_switch.asp

            ubeckerU Offline
            ubeckerU Offline
            ubecker
            schrieb am zuletzt editiert von
            #5

            @codierknecht
            ahhh, da darf kein Vergleich stehen.
            Könnt ihr das als Hinweis in Blockly für dummy aufnehmen.

            Gruß Udo

            CodierknechtC 1 Antwort Letzte Antwort
            0
            • ubeckerU ubecker

              @codierknecht
              ahhh, da darf kein Vergleich stehen.
              Könnt ihr das als Hinweis in Blockly für dummy aufnehmen.

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @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!

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              ubeckerU 1 Antwort Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @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!

                ubeckerU Offline
                ubeckerU Offline
                ubecker
                schrieb am zuletzt editiert von
                #7

                @codierknecht super, ich war auf den Trigger fixiert. In meinem Script hab ich diesen Block erstmal durch viel "if then" ersetzt.

                Gruß Udo

                CodierknechtC 1 Antwort Letzte Antwort
                0
                • ubeckerU ubecker

                  @codierknecht super, ich war auf den Trigger fixiert. In meinem Script hab ich diesen Block erstmal durch viel "if then" ersetzt.

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @ubecker
                  Das Beispiel im "Dummy-Thread" zeigt auch bereits die korrekte Verwendung.
                  Ich habe trotzdem mal einen Hinweistext spendiert.

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  ubeckerU 1 Antwort Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

                    @ubecker
                    Das Beispiel im "Dummy-Thread" zeigt auch bereits die korrekte Verwendung.
                    Ich habe trotzdem mal einen Hinweistext spendiert.

                    ubeckerU Offline
                    ubeckerU Offline
                    ubecker
                    schrieb am zuletzt editiert von
                    #9

                    @codierknecht hatte ich wohl schon gelesen aber der Hinweis ist richtig.
                    danke und bis demnächst 😁

                    Gruß Udo

                    1 Antwort Letzte Antwort
                    0

                    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
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    557

                    Online

                    32.8k

                    Benutzer

                    82.8k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe