Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Zweite javascript Instanz

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Zweite javascript Instanz

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

      probiere ich aus

      bzgl "info stop ….": kommt bei mir immer nach einen stop. iobroker scheint da aber schwierigkeiten zu haben, die Instanzen richtig zu trennen (oder ich verstehe was nicht :? ). Wie geschrieben, die Instanz .0 meldet, dass ein script aus der instanz .1 gestoppt wurde.

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

        Bei deinem Instanzenproblem muss wohl einer der Profis ran, ich betreibe alles nur mit je 1 Instanz. Dein JS-Adapter ist aktuell?

        Vielleicht hat das was mit dem https://trello.com/c/SiBDUPZp/144-bug-javascript-adapter-stopscript-startet-endlosschleife zu tun, dass stopScript nicht so ganz richtig funktioniert hat? :?

        Auf den 2. Blick frage ich mich aber dennoch, warum getState synchron nicht funktioniert. Bluefox ?

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

          instanzen sind alle auf dem neuesten Stand

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

            @Goersch:

            log("A");
            getState(id,function(err,state){_sendWOL(err,state)});
            log("B");
            ```` `  
            

            getState(id) mit callback ? getState(id) wird meiner Meinung nach vollständig ausgeführt und nicht nur angeschubst wie z.B. setState(id, val). Besser sollte das Skript so aussehen:

            var id = 'javascript.' + instance + '.Sonstiges.WOL.PCGNOW';
            
            function sendWOL(dp) {
                var status = dp.state.val;
            }
            
            on(id, sendWOL);
            
            
            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer last edited by

              paul53, siehe OPs ersten Post:
              > javascript.1 script.js.common.Sonstiges.WOL1: Cannot use sync getState, use callback instead getState("javascript.1.Sonstiges.WOL.PCGNOW", function (err, state){});
              Hat mich auch etwas gewundert, aber die Meldung ist schon recht eindeutig.

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

                dank paul53 einen Schritt weiter 😄 . Folgendes funktioniert jetzt:

                instanz = 'javascript.1.';
                
                var id = instanz + "Sonstiges.WOL.PCGNOW";
                
                on(id,sendWOL);
                
                function sendWOL(obj)
                {
                   if(obj.state.val) setState(id,false);
                }
                

                Verstehen tue ich nicht, warum getState(id).val in einem Fehler endet, aber ein setState sauber durchläuft. Ich habe jetzt mal andere Ids ausprobiert - bei allen kommt die Fehlermeldung.

                > 18:35:50.039 [error] javascript.1 script.js.common.Sonstiges.WOL1: Cannot use sync getState, use callback instead getState("javascript.1.Sonstiges.WOL.PCGNOW_MACADDRESS", function (err, state){});

                Die Variante mit "getState(id,_sendWOL)" brachte leider auch keine Besserung.

                Und das hier läßt mich auch immer noch verzweifeln (siehe Bild Anhang) - die Instanz .0 stoppt das Script der Instanz .1 - im log-Fenster sehe ich dann nach jedem dieser ".0-stops":
                > javascript.1 script.js.common.Sonstiges.WOL1: registered 1 subscription and 0 schedules
                1643_georg.png

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

                  @Goersch:

                  instanz = 'javascript.1.';
                  ```` `  
                  

                  –>

                  var instanz = 'javascript.1.';
                  

                  Das wird zwar mit der Fehlermeldung und dem Stoppen des Skripts nichts zu tun haben, aber eine Skriptvariable sollte sauber deklariert werden.

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

                    :oops: copy/paste Fehler beim Übertrag - ist im Script richtig deklariert 🙂

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

                      Also ich beziehe mich jetzt mal auf das Skript ganz oben:

                      Du machst mit "on" ein Subscript wo Du an sich das State zurückbekommst nur um dann ind er Funktion nochmal den State zu lesen ?!

                      instanz = 'javascript.1.';
                      
                      var id = instanz + "Sonstiges.WOL.PCGNOW";
                      
                      on(id,sendWOL);
                      
                      function sendWOL(state)
                      {
                          var status = state.val;
                      }
                      

                      Geht das?

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

                        ja, nur funktioniert das getState grundsätzlich auf alle ids nicht.

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

                          hier bitte nichts mehr posten - Problemchen ist hierhin verschoben worden :

                          http://forum.iobroker.net/viewtopic.php?f=22&t=6057

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          1.0k
                          Online

                          31.6k
                          Users

                          79.4k
                          Topics

                          1.3m
                          Posts

                          4
                          14
                          1750
                          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