Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Javascript - doppelte Ausführung von Scripten

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Javascript - doppelte Ausführung von Scripten

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active last edited by

      wat hör ich zum ersten mal.. ich habe unzählige Scripte laufen.. ohne dass diese 2 mal ausgeführt werden.. und mein Pi rennt manchmal Wochenlang..

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

        Hast du mal ein Beispielskript mit dem das auftritt? Eventuell liegt es ja an deinem Code.

        1 Reply Last reply Reply Quote 0
        • L
          Linedancer last edited by

          Na klar, hier der Blockly Export.

          Einfacher geht's ja kaum:

           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="hT;GJ~fjM7|ThoXeV8[U" x="37" y="13"><field name="OID">hm-rpc.0.MEQ1849371.3.MOTION</field>
              <field name="CONDITION">ne</field>
          
              <statement name="STATEMENT"><block type="controls_if" id="4oqT?{Hb#hBnv@g)4Aco"><value name="IF0"><block type="logic_compare" id="v-pM/7T%BWW68i81[.[H"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="Qok0AE7Dy[=-()j:M13#"><field name="ATTR">val</field>
                          <field name="OID">hm-rpc.0.MEQ1849371.3.MOTION</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="i!iE]bKPj:z1X5+2zB*c"><field name="BOOL">TRUE</field></block></value></block></value> 
                  <statement name="DO0"><block type="control" id="4R(@t59#XCK[+LZ_!t51"><mutation delay_input="false"></mutation>
                      <field name="OID">hm-rpc.1.CUX0200006.1.TOGGLE</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="logic_boolean" id="MD-{YDe2,0Z~BbLI2LVn"><field name="BOOL">TRUE</field></block></value> 
                      <next><block type="control" id="{h^uHFL*!XA/G=[884#V"><mutation delay_input="true"></mutation>
                          <field name="OID">hm-rpc.1.CUX0200006.1.TOGGLE</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">1000</field>
                          <field name="UNIT">ms</field>
                          <field name="CLEAR_RUNNING">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="C8~GAaI{^Mh}PEES7Rrx"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></xml> 
          
          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer last edited by

            Danke, aber ich bin nicht so der Blockly-Typ. Schon gar nicht wenns um den rohen XML-Code geht 😄

            Geht auch ein Screenshot?

            1 Reply Last reply Reply Quote 0
            • L
              Linedancer last edited by

              Auch das:

              Hier der Code den Blockly erzeugt:

              on({id: "hm-rpc.0.MEQ1849371.3.MOTION"/*Bewegung-OG_Flur.MOTION*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (getState("hm-rpc.0.MEQ1849371.3.MOTION").val == true) {
                  setState("hm-rpc.1.CUX0200006.1.TOGGLE"/*OG_Flur_Wandtablet.TOGGLE*/, true);
                  setStateDelayed("hm-rpc.1.CUX0200006.1.TOGGLE"/*OG_Flur_Wandtablet.TOGGLE*/, false, 1000, false);
                }
              });
              

              Screenshot kommt noch

              1 Reply Last reply Reply Quote 0
              • L
                Linedancer last edited by

                So, hier der Screenshot:
                1564_2017-08-03.png

                1 Reply Last reply Reply Quote 0
                • D
                  dna909 last edited by

                  Liegt das Script unter "Global"??

                  Wenn ja, nimm es da raus. Hatte ich glaub ich zum Anfang auch mal.

                  MfG

                  dna909

                  1 Reply Last reply Reply Quote 0
                  • L
                    Linedancer last edited by

                    Ne, da liegts nicht. Unter "global" hab ich gar nix.

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

                      Ich hab das auch seit ein paar Tagen so ähnlich.

                      Zuerst kann man wohl hiermit checken ob was doppelt läuft:

                      ps -A | grep io
                      

                      Ist bei mir nicht der Fall.

                      Bei mir läuft das Script parallel auf instanz.1, obwohl das script auf instanz.0 gestellt ist. Ich habe mal in Vergangenheit zum Testen die Instanz gewechselt. Das bleibt irgendwo noch gespeichert. Nur wo? Deswegen will das Script nicht mehr laufen. Hatte ich monatelang ohne Probleme am Laufen.

                      javascript.1	2017-08-03 13:59:15.483	info	Stop script script.js.common.Telegram.Cam2_motion
                      javascript.0	2017-08-03 13:59:15.483	info	Stop script script.js.common.Telegram.Cam2_motion
                      javascript.0	2017-08-03 13:59:14.561	info	Stop script script.js.common.Telegram.Cam2_motion
                      
                      1 Reply Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer last edited by

                        @lobomau:

                        Bei mir läuft das Script parallel auf instanz.1, obwohl das script auf instanz.0 gestellt ist. `
                        @Linedancer hast du mehrere Instanzen vom JavaScript-Adapter?

                        Das könnte erklären, warum ich solche Probleme noch nicht hatte. Ich habe nur eine Instanz.

                        1 Reply Last reply Reply Quote 0
                        • R
                          RappiRN Most Active last edited by

                          Stell mal bei "ist anerkannt" auf bestätigt, oder was da noch zur Auswahl steht. So, wie das bei dir steht, kommt eine Ansage beim Ändern des Datenpunktes und eine Ansage beim Bestätigen durch die CCU.

                          Enrico

                          1 Reply Last reply Reply Quote 0
                          • L
                            Linedancer last edited by

                            Ne, hab nur eine Instanz laufen.

                            @ RappiRN

                            Das klingt interessant, wird ausprobiert. Würde aber nicht erklären warum das Problem erst nach ein paar Tagen auftaucht und nach Adapter Neustart erstmal verschwindet.

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

                              @AlCalzone:

                              @Linedancer hast du mehrere Instanzen vom JavaScript-Adapter?

                              Das könnte erklären, warum ich solche Probleme noch nicht hatte. Ich habe nur eine Instanz. `
                              Ich habe auch zwei Instanzen.

                              0 = produktiv

                              1 = testen

                              Ich probiere und teste etliches aus. Nachdem ich mir schon einigemale Instanz 0 abgeschossen habe, teste ich nur noch in Instanz 1.

                              Dopplungen habe ich noch nie gehabt.

                              Grüße

                              1 Reply Last reply Reply Quote 0
                              • arteck
                                arteck Developer Most Active last edited by

                                @rantanplan:

                                @AlCalzone:

                                @Linedancer hast du mehrere Instanzen vom JavaScript-Adapter?

                                Das könnte erklären, warum ich solche Probleme noch nicht hatte. Ich habe nur eine Instanz. `
                                Ich habe auch zwei Instanzen.

                                0 = produktiv

                                1 = testen

                                Ich probiere und teste etliches aus. Nachdem ich mir schon einigemale Instanz 0 abgeschossen habe, teste ich nur noch in Instanz 1.

                                Dopplungen habe ich noch nie gehabt.

                                Grüße `

                                ditto ich nutze auch 2 instanzen ..

                                und bis dato keine Probleme mit doppelung..

                                was ich mir mal eingebaut habe ist … ein Script setzt die variabe und ein anderes der einmal die woche läuft setzte die wieder um .. da suchst du dir nen wolf..

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

                                  @arteck:

                                  was ich mir mal eingebaut habe ist … ein Script setzt die variabe und ein anderes der einmal die woche läuft setzte die wieder um .. da suchst du dir nen wolf.. `
                                  Das wäre so ein Wunsch… nach allen Scripten/Programmen suchen wo eine bestimmte Variable, State vorkommt... so wie bei homematic.

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

                                    Ja genau. Diesen Wunsch der globalen Suche hätte ich auch. Ich glaube das wurde auch irgendwo hier im Forum schon mal angesprochen.

                                    Wäre mir wesentlich lieber als das ganze Alexa, Cloud und sonstwie Zeugs 😉 Soll aber keine Kritik an Bluefox & Co. sein. Ich wollte mich nur mal outen als jemand für den der ganze SocialMedia-Kram noch nicht lebenswichtig ist 😉

                                    1 Reply Last reply Reply Quote 0
                                    • arteck
                                      arteck Developer Most Active last edited by

                                      als workaround

                                      exportiere alle Scripte.. diese liegen dann in txt format..

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

                                        Das mit dem Exportieren ist schon klar. Aber auch wenn ich ein Dino bin 😉 dieser Weg ist wohl dann doch mehr als mittelalterlich

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

                                          Ich finde die Idee erstmal gar nicht schlecht mit dem Export. Habe ich gemacht. Alle Dateien sind aber .json!?

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pix last edited by

                                            @Thisoft:

                                            Ja genau. Diesen Wunsch der globalen Suche hätte ich auch. Ich glaube das wurde auch irgendwo hier im Forum schon mal angesprochen.

                                            Wäre mir wesentlich lieber als das ganze Alexa, Cloud und sonstwie Zeugs 😉 Soll aber keine Kritik an Bluefox & Co. sein. Ich wollte mich nur mal outen als jemand für den der ganze SocialMedia-Kram noch nicht lebenswichtig ist 😉 `
                                            Habe Alexa auch zuerst kritisch gesehen, bin aber mittlerweile ganz begeistert.

                                            Der Export der Skripte ist wirklich die beste Möglichkeit. Natürlich mutet das sehr mittelalterlich an, aber man kann gleich den Seiteneffekt des Backups nutzen. Da sind dann mal alle Skripte gleich auf der Platte. Ich speichere Sie übrigens nicht als .txt sondern als .json und nutze TextWrangler (OS X) zum Durchsuchen.

                                            In diesem Zusammenhang ist mir eine kleiner Bug/Fehlverhalten aufgefallen. Vielleicht auch ein Feature :?

                                            Wenn ich globale Funktionen (Funktionen in globalen Skripten) aus normalen Skripten aufrufe und diese globalen Funktionen Logausgaben produzieren, dann erscheinen im Log diese Logzeilen hinterm dem Namen des Skriptes, das die globale Funktion aufgerufen hat (Monstersatz :oops: ). Wie wäre es mit einem kleinen Hinweis (zB ein "(g)" ) darauf, dass diese Logausgabe von einer globalen Funktion kommt?

                                            Gruß

                                            Pix

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            872
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            22
                                            2380
                                            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