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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zweite javascript Instanz

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

                        643
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

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