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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Javascript - doppelte Ausführung von Scripten

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                        • Thisoft
                                          Thisoft last edited by

                                          Naja, ich will ja hier keinen Streit vom Zaun brechen. Aber mehr als eine notgedrungene Zweckehe wird das so nicht 😄

                                          Das Durchsuchen von .txt (oder auch .json)-Dateien nach dem Vorkommen irgendwelcher Variablen etc. hat mit dem Komfort einer zeitgemäßen Entwicklungsumgebung ungefähr soviel zu tun wie ein Pferdefuhrwerk mit einem Tesla X (das Pferd fährt auch teilautonom) 😉

                                          Gruß Thilo

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          936
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

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