Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. On mit mehreren State Trigger

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    On mit mehreren State Trigger

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 last edited by

      Genau. Und on({id: […], change: "ne"}, function (obj) { sollte auch tun, aber das hat bei mir nicht geklappt. Aber wie geschrieben schaut duh das Bluefox schon an.

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Ich habe Array Subscribe auf Github gefixt. wird dann 3.3.8

        Bitte testen wer mag

        1 Reply Last reply Reply Quote 0
        • blauholsten
          blauholsten Developer last edited by

          @apollon77:

          Ich habe Array Subscribe auf Github gefixt. wird dann 3.3.8

          Bitte testen wer mag `
          Klappt!

          nice

          1 Reply Last reply Reply Quote 0
          • M
            Marty56 last edited by

            Ich würde auch gern testen, mir ist aber nicht ganz klar, wie ich an die Pre Release herankomme.

            Auf meinem Mac mache ich das Update der Platform mit

            sudo ./iobroker stop
            sudo ./iobroker update
            sudo ./iobroker upgrade self
            sudo ./iobroker upgrade
            sudo ./iobroker start
            
            

            Damit bekomme ich die Production Version.

            Vermutlich benötige ich bei einem der Befehle eine "– xxxx " extension.

            Noch eine (dumme) Frage:

            Zur Ausgabe eines Mp3 Files muss man sein File unter Linux wohl in das OPT Verzeichnis kopieren, in dem auch die Sprachausgabe ihr Mp3 Files ablegt. Wo liegt dieses Verzeichnis auf dem MAC?

            1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 last edited by

              @Marty56:

              Ich würde auch gern testen, mir ist aber nicht ganz klar, wie ich an die Pre Release herankomme. `

              Geht in der Admin UI.

              Oben sind kleine Buttons und das dritte von Links ist ein Github-Symbol. Da drauf - ist "Custom Install" und dort im ersten tab den Adapter wählen den Du willst (in dem Fall hier "Javascript") und dann updated er direkt vom Github.

              @Marty56:

              Noch eine (dumme) Frage:

              Zur Ausgabe eines Mp3 Files muss man sein File unter Linux wohl in das OPT Verzeichnis kopieren, in dem auch die Sprachausgabe ihr Mp3 Files ablegt. Wo liegt dieses Verzeichnis auf dem MAC? `
              Machst DU dazu bitte nen extra Thread auf ?! Wollen nicht zuviele Themen mischen 🙂

              1 Reply Last reply Reply Quote 0
              • M
                Marty56 last edited by

                Ich sehe kein "Custom install", wenn ich das GitHub Symbol anklicke.

                Muss ich da noch eine URL eintragen?
                2722_bildschirmfoto_2017-05-23_um_09.22.19.png
                2722_bildschirmfoto_2017-05-23_um_09.23.26.png

                1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 last edited by

                  "von github" und dort im dropdown Javascript und Installieren

                  Der Mouse-Over von dem Github Button sagt an sich "Custom Install" :-))

                  1 Reply Last reply Reply Quote 0
                  • M
                    Marty56 last edited by

                    Hallo

                    Das Hatte ich schon so gemacht. Jetzt sehe ich aber immer noch die alte Version und rechts daneben die neue Version. Leider bekomme ich nicht die neue Version installiert. Ich habe auch schon iobroker heruntergefahren und wieder gestartet ohne Erfolg.

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 last edited by

                      Wenn du den javascript_Adapter neu startest was steht denn dann im Log? Da ist in einer der ersten zeilen die Version drin.

                      1 Reply Last reply Reply Quote 0
                      • M
                        Marty56 last edited by

                        Ok.

                        Da steht Version 3.3.8.

                        Dann werde ich mal die neuen Listentrigger testen.

                        Danke!!

                        1 Reply Last reply Reply Quote 0
                        • apollon77
                          apollon77 last edited by

                          In der UI wird in einer Spalte immer die Version aus dem entsprechenden gewählten Repository angezeigt und daneben die installierte Version. Bei manuellen Updates aus dem Github kann es da anzeigetechnisch zu komischen Situationen kommen 😉

                          1 Reply Last reply Reply Quote 0
                          • M
                            Marty56 last edited by

                            Es scheint, dass die Funktion funktioniert, wenn man keine weiteren Parameter wie zum Beispiel change: 'gt' hinzufügt.

                            Wenn ich Letztes tue, werden andauernd irgendwelche Phantom- Events getriggert, die keinen Sinn machen.

                            1 Reply Last reply Reply Quote 0
                            • apollon77
                              apollon77 last edited by

                              Hast Du mal deinen Code?!

                              1 Reply Last reply Reply Quote 0
                              • M
                                Marty56 last edited by

                                Das ist der Code der funktioniert.

                                `var KE_Fenster                       = [K1_Fenster_Nord,   K3_Fenster_Sued_links,K3_Fenster_Sued_rechts];
                                var KE_Fenster_namen           = ["Fenster Keller 1","Fenster Keller 3 links","Fenster Keller 3 links"];
                                
                                var Fenster_offen                    = "javascript.0.Fenster_offen"; createState('Fenster_offen','');
                                var KE_Fenster_offen               = "javascript.0.KE_Fenster_offen"; createState('KE_Fenster_offen','');
                                var KE_Fenster_offen_namen  = "javascript.0.KE_Fenster_offen_namen"; createState('KE_Fenster_offen_namen','');
                                
                                function checkwindow(Fenster,Fenster_namen,Fenster_offen) {
                                    var delimiter = "";
                                    var offen = "";
                                
                                    Fenster.forEach.call(Fenster, function (item, i, arr) 
                                        {   if (getState(item).val === true) {
                                                offen = offen + delimiter + Fenster_namen[i];
                                                delimiter = ", ";
                                            }
                                        }
                                    );
                                    setState(Fenster_offen,offen);
                                }
                                
                                on(KE_Fenster , function(obj) { 
                                    checkwindow(KE_Fenster,KE_Fenster_namen,KE_Fenster_offen);
                                    console.log("offene Fenster KE: " + getState(KE_Fenster_offen).val);});` 
                                
                                und wenn ich die untere Funktion mit "change: " erweitere bekomme ich eine endlos Schleife
                                
                                `~~[code]~~on({KE_Fenster, change: "gt" }, function(obj) { 
                                    checkwindow(KE_Fenster,KE_Fenster_namen,KE_Fenster_offen);
                                    console.log("offene Fenster KE: " + getState(KE_Fenster_offen).val);});
                                [/code]`
                                
                                Es würde mich nicht wundern, wenn ich einen Fehler habe. Mein Erfahrungszeitraum mit iobroker ist erst 2 Tage.[/i]
                                
                                1 Reply Last reply Reply Quote 0
                                • apollon77
                                  apollon77 last edited by

                                  Vor KE_Fenster fehlt "id:" … wenn du die Daten als Objekt übergibst dann braucht er ja die Info was das Array ist

                                  Also: on({id:KE_Fenster, change:"gt"}, ...

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Marty56 last edited by

                                    Danke!.

                                    😄 Mit der korrigierten Syntax geht es.

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      tempestas last edited by

                                      Hallo Apollon, hallo Marty,

                                      villeicht könnt ihr mir helfen.

                                      Ich bekomme beim updaten des JS Adapters folgende Fehler

                                      ! iobroker 2017-07-23 13:25:48.327 info exit 1
                                      ! iobroker 2017-07-23 13:25:48.317 error at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:321:29)
                                      ! iobroker 2017-07-23 13:25:48.317 error at upload (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:280:57)
                                      ! iobroker 2017-07-23 13:25:48.317 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:675:40
                                      ! iobroker 2017-07-23 13:25:48.317 error at Upload.uploadAdapter (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:214:23)
                                      ! iobroker 2017-07-23 13:25:48.317 error at require (internal/module.js:12:17)
                                      ! iobroker 2017-07-23 13:25:48.317 error at Module.require (module.js:353:17)
                                      ! iobroker 2017-07-23 13:25:48.317 error at Function.Module._load (module.js:300:12)
                                      ! iobroker 2017-07-23 13:25:48.317 error at Module.load (module.js:343:32)
                                      ! iobroker 2017-07-23 13:25:48.317 error at Object.Module._extensions..json (module.js:424:27)
                                      ! iobroker 2017-07-23 13:25:48.317 error at Object.parse (native)
                                      ! iobroker 2017-07-23 13:25:48.317 error SyntaxError: /opt/iobroker/node_modules/iobroker.javascript/io-package.json: Unexpected token }
                                      ! iobroker 2017-07-23 13:25:48.317 error ^
                                      ! iobroker 2017-07-23 13:25:48.317 error module.js:427 throw err;
                                      ! iobroker 2017-07-23 13:25:39.787 info upload [0] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/adminWords.js adminWords.js application/javascript
                                      ! iobroker 2017-07-23 13:25:39.709 info upload [1] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/blockly.png blockly.png image/png
                                      ! iobroker 2017-07-23 13:25:39.647 info upload [2] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/coffeescript.png coffeescript.png image/png
                                      ! iobroker 2017-07-23 13:25:39.586 info upload [3] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/cron/jquery-cron.css cron/jquery-cron.css text/css
                                      ! iobroker 2017-07-23 13:25:39.523 info upload [4] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/cron/jquery-cron.js cron/jquery-cron.js application/javascript
                                      ! iobroker 2017-07-23 13:25:39.450 info upload [5] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/cron2text.js cron2text.js application/javascript
                                      ! iobroker 2017-07-23 13:25:39.388 info upload [6] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/LICENSE google-blockly/LICENSE application/octet-stream
                                      ! iobroker 2017-07-23 13:25:39.177 info upload [7] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/blockly_compressed.js google-blockly/blockly_compressed.js application/javascript
                                      ! iobroker 2017-07-23 13:25:39.105 info upload [8] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/blocks_compressed.js google-blockly/blocks_compressed.js application/javascript
                                      ! iobroker 2017-07-23 13:25:39.033 info upload [9] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/javascript_compressed.js google-blockly/javascript_compressed.js application/javascript
                                      ! iobroker 2017-07-23 13:25:38.973 info upload [10] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/1x1.gif google-blockly/media/1x1.gif image/gif
                                      ! iobroker 2017-07-23 13:25:38.913 info upload [11] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/accessible.css google-blockly/media/accessible.css text/css
                                      ! iobroker 2017-07-23 13:25:38.853 info upload [12] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/click.mp3 google-blockly/media/click.mp3 audio/mpeg
                                      ! iobroker 2017-07-23 13:25:38.792 info upload [13] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/click.ogg google-blockly/media/click.ogg audio/ogg
                                      ! iobroker 2017-07-23 13:25:38.731 info upload [14] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/click.wav google-blockly/media/click.wav audio/x-wav
                                      ! iobroker 2017-07-23 13:25:38.669 info upload [15] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/delete.mp3 google-blockly/media/delete.mp3 audio/mpeg
                                      ! iobroker 2017-07-23 13:25:38.608 info upload [16] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/delete.ogg google-blockly/media/delete.ogg audio/ogg
                                      ! iobroker 2017-07-23 13:25:38.546 info upload [17] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/delete.wav google-blockly/media/delete.wav audio/x-wav
                                      ! iobroker 2017-07-23 13:25:38.486 info upload [18] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/disconnect.mp3 google-blockly/media/disconnect.mp3 audio/mpeg
                                      ! iobroker 2017-07-23 13:25:38.426 info upload [19] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/disconnect.ogg google-blockly/media/disconnect.ogg audio/ogg
                                      ! iobroker 2017-07-23 13:25:38.367 info upload [20] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/disconnect.wav google-blockly/media/disconnect.wav audio/x-wav
                                      ! iobroker 2017-07-23 13:25:38.309 info upload [21] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/handclosed.cur google-blockly/media/handclosed.cur application/octet-stream
                                      ! iobroker 2017-07-23 13:25:38.251 info upload [22] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/handdelete.cur google-blockly/media/handdelete.cur application/octet-stream
                                      ! iobroker 2017-07-23 13:25:38.193 info upload [23] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/handopen.cur google-blockly/media/handopen.cur application/octet-stream
                                      ! iobroker 2017-07-23 13:25:38.135 info upload [24] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/quote0.png google-blockly/media/quote0.png image/png
                                      ! iobroker 2017-07-23 13:25:38.079 info upload [25] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/quote1.png google-blockly/media/quote1.png image/png
                                      ! iobroker 2017-07-23 13:25:38.019 info upload [26] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/sprites.png google-blockly/media/sprites.png image/png
                                      ! iobroker 2017-07-23 13:25:37.957 info upload [27] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/sprites.svg google-blockly/media/sprites.svg image/svg+xml
                                      ! iobroker 2017-07-23 13:25:37.893 info upload [28] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/de.js google-blockly/msg/js/de.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.829 info upload [29] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/en.js google-blockly/msg/js/en.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.759 info upload [30] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/ru.js google-blockly/msg/js/ru.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.677 info upload [31] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/uk.js google-blockly/msg/js/uk.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.600 info upload [32] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/messages.js google-blockly/msg/messages.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.541 info upload [33] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_action.js google-blockly/own/blocks_action.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.475 info upload [34] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_convert.js google-blockly/own/blocks_convert.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.386 info upload [35] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_procedures.js google-blockly/own/blocks_procedures.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.276 info upload [36] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_sendto.js google-blockly/own/blocks_sendto.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.193 info upload [37] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_system.js google-blockly/own/blocks_system.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.130 info upload [38] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_time.js google-blockly/own/blocks_time.js application/javascript
                                      ! iobroker 2017-07-23 13:25:37.062 info upload [39] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_timeout.js google-blockly/own/blocks_timeout.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.995 info upload [40] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_trigger.js google-blockly/own/blocks_trigger.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.932 info upload [41] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/field_cron.js google-blockly/own/field_cron.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.871 info upload [42] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/field_oid.js google-blockly/own/field_oid.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.810 info upload [43] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/field_script.js google-blockly/own/field_script.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.745 info upload [44] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/de.js google-blockly/own/msg/de.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.273 info upload [45] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/en.js google-blockly/own/msg/en.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.200 info upload [46] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/ru.js google-blockly/own/msg/ru.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.138 info upload [47] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/uk.js google-blockly/own/msg/uk.js application/javascript
                                      ! iobroker 2017-07-23 13:25:36.070 info upload [48] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/index.html index.html text/html
                                      ! iobroker 2017-07-23 13:25:36.010 info upload [49] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/jquery.cron.css jquery.cron.css text/css
                                      ! iobroker 2017-07-23 13:25:35.924 info upload [50] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/jquery.cron.js jquery.cron.js application/javascript
                                      ! iobroker 2017-07-23 13:25:35.842 info upload [51] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/js.jpeg js.jpeg image/jpeg
                                      ! iobroker 2017-07-23 13:25:35.779 info upload [52] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/js.png js.png image/png
                                      ! host.raspberrypi 2017-07-23 13:25:35.774 info instance system.adapter.tankerkoenig.0 terminated with code 0 (OK)
                                      ! iobroker 2017-07-23 13:25:35.369 info upload [53] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/bootstrap.css query-builder/bootstrap.css text/css
                                      ! iobroker 2017-07-23 13:25:35.212 info upload [54] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/glyphicons-halflings-regular.eot query-builder/glyphicons-halflings-regular.eot application/vnd.ms-font
                                      ! iobroker 2017-07-23 13:25:35.141 info upload [55] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/glyphicons-halflings-regular.ttf query-builder/glyphicons-halflings-regular.ttf application/x-font-ttf
                                      ! iobroker 2017-07-23 13:25:35.056 info upload [56] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/glyphicons-halflings-regular.woff query-builder/glyphicons-halflings-regular.woff application/font-woff
                                      ! iobroker 2017-07-23 13:25:34.911 info upload [57] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/query-builder.default.min.css query-builder/query-builder.default.min.css text/css
                                      ! iobroker 2017-07-23 13:25:34.822 info upload [58] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/query-builder.standalone.min.js query-builder/query-builder.standalone.min.js application/javascript
                                      ! iobroker 2017-07-23 13:25:34.188 info upload [59] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/rule.png rule.png image/png
                                      ! iobroker 2017-07-23 13:25:34.115 info upload [60] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/tab.html tab.html text/html
                                      ! iobroker 2017-07-23 13:25:33.986 info upload [61] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/tab.js tab.js application/javascript
                                      ! iobroker 2017-07-23 13:25:33.750 info upload [62] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/words.js words.js application/javascript

                                      Als Alterantive habe ich die Array Version von Apollon probiert zu nutzen, aber ich bin zu blöd dafür. Zum einen sagt er mir immer "don't make functions inside a loop". Wobei das doch genau so von Apollon vorgeschlagen war?

                                      Hier mein Mini Versuch. Eigentlich wollte ich nur mein "Sonos Boxen zählen" Skript etwas eleganter machen.

                                      `var c;
                                      var liste = [   "sonos.0.root.192_168_2_6.state_simple", 
                                                      "sonos.0.root.192_168_2_7.state_simple", 
                                                      "sonos.0.root.192_168_2_8.state_simple", 
                                                      "sonos.0.root.192_168_2_9.state_simple",
                                                      "sonos.0.root.192_168_2_10.state_simple"];
                                      
                                      for (var i=0; i<liste.length;i++) {/on(liste[i],/function(){/if/(i.state.val="==" true)/c="c" +/1;/}/else{/-1;/if(c/<0){c="0}" setstate('javascript.0.sonos.playing',/c);/});/<e=""></liste.length;i++)>`
                                      
                                      Hilfe wäre sehr nett. Danke vorab[/i]
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pix last edited by

                                        Hallo,

                                        du hast da eine Subscription ("on") innerhalb der Zählschleife. Das klappt so nicht.

                                        Deine Schleife zähl durch von 0 bis Menge der Einträge im Array. Und wenn es gerade bei einem Eintrag ist, dann wird schnell eine Subscription gemacht, für den Fall, dass sich etwas ändert, bis zum nächsten Zähler. Das geht nicht.

                                        Wenn du nur abfragen willst, welche States gerade auf true sind, verwende doch getState() in dem Skript.

                                        `var c;
                                        var liste = [   "sonos.0.root.192_168_2_6.state_simple", 
                                                        "sonos.0.root.192_168_2_7.state_simple", 
                                                        "sonos.0.root.192_168_2_8.state_simple", 
                                                        "sonos.0.root.192_168_2_9.state_simple",
                                                        "sonos.0.root.192_168_2_10.state_simple"];
                                        
                                        for (var i=0; i<liste.length;i++) {/if/(getstate(liste[i]).val)/wenn/true/im/moment/der/abfrage/c="c" +/1;/}/else/false/-1;/(c/<0)/setstate('javascript.0.sonos.playing',/c);/<e=""></liste.length;i++)>`
                                        
                                        Achso, damit das auch angestoßen wird, brauchst du noch eine Subscription auf alle STATE_SIMPLE Datenpunkte. 
                                        `~~[code]~~var regex_vol = /^sonos\.[0-9]\.root\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.state_simple$/;
                                        [/code]`Hab mal meinen Code aus einem andere Skript verwendet (die IP muss valide sein).
                                        
                                        Also hier das ganze Skript (ungetestet und hier im Forum Editor geschrieben  8-) ):
                                        `~~[code]~~
                                        var c;
                                        var liste = [   "sonos.0.root.192_168_2_6.state_simple", 
                                                        "sonos.0.root.192_168_2_7.state_simple", 
                                                        "sonos.0.root.192_168_2_8.state_simple", 
                                                        "sonos.0.root.192_168_2_9.state_simple",
                                                        "sonos.0.root.192_168_2_10.state_simple"];
                                        
                                        var regex_vol = /^sonos\.[0-9]\.root\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.state_simple$/;
                                        
                                        function countSonos () {
                                          for (var i=0; i<liste.length;i++) {/if/(getstate(liste[i]).val)/wenn/true/im/moment/der/abfrage/c="c" +/1;/}/else/false/-1;/(c/<0)/setstate('javascript.0.sonos.playing',/c);/on({/id:/regex_vol,/change:/'ne'/},/countsonos);/<e=""></liste.length;i++)>`
                                        
                                        Gruß
                                        
                                        Pix[/i][/code][/i]
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tempestas last edited by

                                          und wieder mal bleibt mir nur ein beeindrucktes "Danke" zu sagen 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • blauholsten
                                            blauholsten Developer last edited by

                                            @tempestas:

                                            Hallo Apollon, hallo Marty,

                                            villeicht könnt ihr mir helfen.

                                            Ich bekomme beim updaten des JS Adapters folgende Fehler

                                            ! iobroker 2017-07-23 13:25:48.327 info exit 1
                                            ! iobroker 2017-07-23 13:25:48.317 error at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:321:29)
                                            ! iobroker 2017-07-23 13:25:48.317 error at upload (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:280:57)
                                            ! iobroker 2017-07-23 13:25:48.317 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:675:40
                                            ! iobroker 2017-07-23 13:25:48.317 error at Upload.uploadAdapter (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:214:23)
                                            ! iobroker 2017-07-23 13:25:48.317 error at require (internal/module.js:12:17)
                                            ! iobroker 2017-07-23 13:25:48.317 error at Module.require (module.js:353:17)
                                            ! iobroker 2017-07-23 13:25:48.317 error at Function.Module._load (module.js:300:12)
                                            ! iobroker 2017-07-23 13:25:48.317 error at Module.load (module.js:343:32)
                                            ! iobroker 2017-07-23 13:25:48.317 error at Object.Module._extensions..json (module.js:424:27)
                                            ! iobroker 2017-07-23 13:25:48.317 error at Object.parse (native)
                                            ! iobroker 2017-07-23 13:25:48.317 error SyntaxError: /opt/iobroker/node_modules/iobroker.javascript/io-package.json: Unexpected token }
                                            ! iobroker 2017-07-23 13:25:48.317 error ^
                                            ! iobroker 2017-07-23 13:25:48.317 error module.js:427 throw err;
                                            ! iobroker 2017-07-23 13:25:39.787 info upload [0] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/adminWords.js adminWords.js application/javascript
                                            ! iobroker 2017-07-23 13:25:39.709 info upload [1] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/blockly.png blockly.png image/png
                                            ! iobroker 2017-07-23 13:25:39.647 info upload [2] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/coffeescript.png coffeescript.png image/png
                                            ! iobroker 2017-07-23 13:25:39.586 info upload [3] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/cron/jquery-cron.css cron/jquery-cron.css text/css
                                            ! iobroker 2017-07-23 13:25:39.523 info upload [4] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/cron/jquery-cron.js cron/jquery-cron.js application/javascript
                                            ! iobroker 2017-07-23 13:25:39.450 info upload [5] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/cron2text.js cron2text.js application/javascript
                                            ! iobroker 2017-07-23 13:25:39.388 info upload [6] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/LICENSE google-blockly/LICENSE application/octet-stream
                                            ! iobroker 2017-07-23 13:25:39.177 info upload [7] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/blockly_compressed.js google-blockly/blockly_compressed.js application/javascript
                                            ! iobroker 2017-07-23 13:25:39.105 info upload [8] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/blocks_compressed.js google-blockly/blocks_compressed.js application/javascript
                                            ! iobroker 2017-07-23 13:25:39.033 info upload [9] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/javascript_compressed.js google-blockly/javascript_compressed.js application/javascript
                                            ! iobroker 2017-07-23 13:25:38.973 info upload [10] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/1x1.gif google-blockly/media/1x1.gif image/gif
                                            ! iobroker 2017-07-23 13:25:38.913 info upload [11] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/accessible.css google-blockly/media/accessible.css text/css
                                            ! iobroker 2017-07-23 13:25:38.853 info upload [12] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/click.mp3 google-blockly/media/click.mp3 audio/mpeg
                                            ! iobroker 2017-07-23 13:25:38.792 info upload [13] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/click.ogg google-blockly/media/click.ogg audio/ogg
                                            ! iobroker 2017-07-23 13:25:38.731 info upload [14] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/click.wav google-blockly/media/click.wav audio/x-wav
                                            ! iobroker 2017-07-23 13:25:38.669 info upload [15] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/delete.mp3 google-blockly/media/delete.mp3 audio/mpeg
                                            ! iobroker 2017-07-23 13:25:38.608 info upload [16] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/delete.ogg google-blockly/media/delete.ogg audio/ogg
                                            ! iobroker 2017-07-23 13:25:38.546 info upload [17] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/delete.wav google-blockly/media/delete.wav audio/x-wav
                                            ! iobroker 2017-07-23 13:25:38.486 info upload [18] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/disconnect.mp3 google-blockly/media/disconnect.mp3 audio/mpeg
                                            ! iobroker 2017-07-23 13:25:38.426 info upload [19] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/disconnect.ogg google-blockly/media/disconnect.ogg audio/ogg
                                            ! iobroker 2017-07-23 13:25:38.367 info upload [20] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/disconnect.wav google-blockly/media/disconnect.wav audio/x-wav
                                            ! iobroker 2017-07-23 13:25:38.309 info upload [21] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/handclosed.cur google-blockly/media/handclosed.cur application/octet-stream
                                            ! iobroker 2017-07-23 13:25:38.251 info upload [22] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/handdelete.cur google-blockly/media/handdelete.cur application/octet-stream
                                            ! iobroker 2017-07-23 13:25:38.193 info upload [23] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/handopen.cur google-blockly/media/handopen.cur application/octet-stream
                                            ! iobroker 2017-07-23 13:25:38.135 info upload [24] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/quote0.png google-blockly/media/quote0.png image/png
                                            ! iobroker 2017-07-23 13:25:38.079 info upload [25] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/quote1.png google-blockly/media/quote1.png image/png
                                            ! iobroker 2017-07-23 13:25:38.019 info upload [26] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/sprites.png google-blockly/media/sprites.png image/png
                                            ! iobroker 2017-07-23 13:25:37.957 info upload [27] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/media/sprites.svg google-blockly/media/sprites.svg image/svg+xml
                                            ! iobroker 2017-07-23 13:25:37.893 info upload [28] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/de.js google-blockly/msg/js/de.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.829 info upload [29] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/en.js google-blockly/msg/js/en.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.759 info upload [30] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/ru.js google-blockly/msg/js/ru.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.677 info upload [31] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/js/uk.js google-blockly/msg/js/uk.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.600 info upload [32] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/msg/messages.js google-blockly/msg/messages.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.541 info upload [33] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_action.js google-blockly/own/blocks_action.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.475 info upload [34] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_convert.js google-blockly/own/blocks_convert.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.386 info upload [35] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_procedures.js google-blockly/own/blocks_procedures.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.276 info upload [36] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_sendto.js google-blockly/own/blocks_sendto.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.193 info upload [37] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_system.js google-blockly/own/blocks_system.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.130 info upload [38] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_time.js google-blockly/own/blocks_time.js application/javascript
                                            ! iobroker 2017-07-23 13:25:37.062 info upload [39] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_timeout.js google-blockly/own/blocks_timeout.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.995 info upload [40] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/blocks_trigger.js google-blockly/own/blocks_trigger.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.932 info upload [41] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/field_cron.js google-blockly/own/field_cron.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.871 info upload [42] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/field_oid.js google-blockly/own/field_oid.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.810 info upload [43] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/field_script.js google-blockly/own/field_script.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.745 info upload [44] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/de.js google-blockly/own/msg/de.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.273 info upload [45] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/en.js google-blockly/own/msg/en.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.200 info upload [46] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/ru.js google-blockly/own/msg/ru.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.138 info upload [47] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/google-blockly/own/msg/uk.js google-blockly/own/msg/uk.js application/javascript
                                            ! iobroker 2017-07-23 13:25:36.070 info upload [48] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/index.html index.html text/html
                                            ! iobroker 2017-07-23 13:25:36.010 info upload [49] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/jquery.cron.css jquery.cron.css text/css
                                            ! iobroker 2017-07-23 13:25:35.924 info upload [50] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/jquery.cron.js jquery.cron.js application/javascript
                                            ! iobroker 2017-07-23 13:25:35.842 info upload [51] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/js.jpeg js.jpeg image/jpeg
                                            ! iobroker 2017-07-23 13:25:35.779 info upload [52] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/js.png js.png image/png
                                            ! host.raspberrypi 2017-07-23 13:25:35.774 info instance system.adapter.tankerkoenig.0 terminated with code 0 (OK)
                                            ! iobroker 2017-07-23 13:25:35.369 info upload [53] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/bootstrap.css query-builder/bootstrap.css text/css
                                            ! iobroker 2017-07-23 13:25:35.212 info upload [54] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/glyphicons-halflings-regular.eot query-builder/glyphicons-halflings-regular.eot application/vnd.ms-font
                                            ! iobroker 2017-07-23 13:25:35.141 info upload [55] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/glyphicons-halflings-regular.ttf query-builder/glyphicons-halflings-regular.ttf application/x-font-ttf
                                            ! iobroker 2017-07-23 13:25:35.056 info upload [56] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/glyphicons-halflings-regular.woff query-builder/glyphicons-halflings-regular.woff application/font-woff
                                            ! iobroker 2017-07-23 13:25:34.911 info upload [57] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/query-builder.default.min.css query-builder/query-builder.default.min.css text/css
                                            ! iobroker 2017-07-23 13:25:34.822 info upload [58] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/query-builder/query-builder.standalone.min.js query-builder/query-builder.standalone.min.js application/javascript
                                            ! iobroker 2017-07-23 13:25:34.188 info upload [59] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/rule.png rule.png image/png
                                            ! iobroker 2017-07-23 13:25:34.115 info upload [60] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/tab.html tab.html text/html
                                            ! iobroker 2017-07-23 13:25:33.986 info upload [61] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/tab.js tab.js application/javascript
                                            ! iobroker 2017-07-23 13:25:33.750 info upload [62] javascript.admin /opt/iobroker/node_modules/iobroker.javascript/admin/words.js words.js application/javascript

                                            Als Alterantive habe ich die Array Version von Apollon probiert zu nutzen, aber ich bin zu blöd dafür. Zum einen sagt er mir immer "don't make functions inside a loop". Wobei das doch genau so von Apollon vorgeschlagen war?

                                            Hier mein Mini Versuch. Eigentlich wollte ich nur mein "Sonos Boxen zählen" Skript etwas eleganter machen.

                                            `var c;
                                            var liste = [   "sonos.0.root.192_168_2_6.state_simple", 
                                                            "sonos.0.root.192_168_2_7.state_simple", 
                                                            "sonos.0.root.192_168_2_8.state_simple", 
                                                            "sonos.0.root.192_168_2_9.state_simple",
                                                            "sonos.0.root.192_168_2_10.state_simple"];
                                            
                                            for (var i=0; i<liste.length;i++) {/on(liste[i],/function(){/if/(i.state.val="==" true)/c="c" +/1;/}/else{/-1;/if(c/<0){c="0}" setstate('javascript.0.sonos.playing',/c);/});/<e=""></liste.length;i++)>`
                                            
                                            Hilfe wäre sehr nett. Danke vorab
                                            
                                            Vielleicht geht das....
                                            `~~[code]~~const liste = [ "sonos.0.root.192_168_2_6.state_simple", 
                                                            "sonos.0.root.192_168_2_7.state_simple", 
                                                            "sonos.0.root.192_168_2_8.state_simple", 
                                                            "sonos.0.root.192_168_2_9.state_simple",
                                                            "sonos.0.root.192_168_2_10.state_simple"];
                                            
                                            const zaehlen = function() {
                                              var c;
                                              
                                               for (var i=0; i <liste.length;i++) {/if/(getstate(liste[i]).val="==" true)/{c="c" +/1;}/else{/c="c" -1;/if(c/<0){c="0}" }/setstate('javascript.0.sonos.playing',/c);/};/on(liste,/(dp)="">{
                                                zaehlen();
                                            });</liste.length;i++)>` [/i][/code][/i]
                                            ``` ` 
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            786
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            48
                                            11346
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo