Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Fehler nach Update js-controller

    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

    Fehler nach Update js-controller

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      @AndyUM61:

      aber wenn du bei Windows raus bist, hilft das nicht wirklich bei meinem Problem. `
      Noch wissen wir ja nicht, ob es an Windows liegt. Warum beantwortest du nicht die Fragen?

      @AndyUM61:

      Aber warum sollte der zu bearbeitende Wert JETZT plötzlich falsch sein, wenn dieses Script bis zum Update korrekt gelaufen ist? `
      Weil er z.B. schon immer falsch war, aber frühere Versionen des Javascript Adapters diesen Fehler haben durchrutschen lassen.

      Genaueres kann man erst sagen, wenn wir mehr Informationen haben.

      Gruß

      Rainer

      1 Reply Last reply Reply Quote 0
      • A
        AndyUM61 last edited by

        @Homoran:

        Leider bist du nicht der einzige User der einen

        Fehler nach Update js-controller

        hat.

        Und hier hat niemand einen Privatthread. `

        Dafür habe ich auch vollstes Verständnis, und damit ioBroker weiter so funktioniert wie es bisher funktioniert hat ist auch jede Meldung wichtig.

        Das bringt trotzdem nichts, wenn einer einen Fehler in der Script-Ausführung hat, ein anderer mit dem Web-Interface,

        und man das in einem einzigen Thema schön zusammenwürfelt.

        … > Warum beantwortest du nicht die Fragen?
        Hab ich nicht?

        Im ersten Post ist die genaue Fehlermeldung.

        Ich habe jetzt debug aktiviert und schau mir das mal eine Weile an.

        ` > Weil er z.B. schon immer falsch war, aber frühere Versionen des Javascript Adapters diesen Fehler haben durchrutschen lassen.

        Genaueres kann man erst sagen, wenn wir mehr Informationen haben. `

        Sobald ich dieses Script aktiviere kommen Fehlermeldungen:

        /*  System Homematic Servicemeldungen
        Skript erstellt Variablen Service.Homematic.*
        http://forum.iobroker.org/viewtopic.php?f=21&t=914#p9153
        
        erstellt: 03.08.2015 von paul53 - angepasst von pix
        
        */
        
        // Service Meldungen
        
        createState('Servicemeldungen.Homematic.Anzahl', 0);     // Anzahl der Service-Alarme
        createState('Servicemeldungen.Homematic.Text', "");      // Service-Alarme, als Variable unter Javascript.0 anlegen
        
        var SelectorUNREACH = $('channel[state.id=*.UNREACH]');
        var SelectorLOWBAT = $('channel[state.id=*.LOWBAT]');
        // var SelectorSTICKY_UNREACH = $('channel[state.id=*.STICKY_UNREACH]');
        var SelectorCONFIG_PENDING = $('channel[state.id=*.CONFIG_PENDING]');
        
        function countService(obj) {
           var anzahl    = 0;
           var text      = "";
        
           function count(id) {
              var status = getState(id).val;                // Zustand abfragen (jedes Element)
              if (status === true) {                        // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
                 text = text + id + " -> " + getObject(id).common.name +",
        ";                   // Zu String hinzufügen
                 ++anzahl;                                  // Zählt die Anzahl der Service-Alarme
              }
           }
        
           SelectorUNREACH.each(function (id, i) {
              count(id);
              });
        
        //   SelectorSTICKY_UNREACH.each(function (id, i) {
        //      count(id);
        //      });  
        
           SelectorLOWBAT.each(function (id, i) {
              count(id);
              });
        
           SelectorCONFIG_PENDING.each(function (id, i) {
              count(id);
              });
        
           // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon Service zutreffend) ausgegeben
           log("Homematic-Servicemeldungen: " + text);
           log("Anzahl Homematic-Servicemeldungen: " + anzahl);
        
           // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert
           if (!anzahl) {
               text = "kein Service-Alarm";
           }
           setState("Servicemeldungen.Homematic.Text", text);          // Schreibt die IDs der Datenpunkte mit Service Meldung
           setState("Servicemeldungen.Homematic.Anzahl", anzahl);      // Schreibt die aktuelle Anzahl der Service Meldungen
        }   
        
        SelectorUNREACH.on(function(obj) {          // bei Zustandänderung *.UNREACH in allen Gewerken
           countService(obj);
        });
        
        // SelectorSTICKY_UNREACH.on(function(obj) {          // bei Zustandänderung *.UNREACH in allen Gewerken
        //    countService(obj);
        // });
        
        SelectorLOWBAT.on(function(obj) {          // bei Zustandänderung *.LOWBAT in allen Gewerken
           countService(obj);
        });
        
        SelectorCONFIG_PENDING.on(function(obj) {   // bei Zustandänderung *.CONFIG_PENDING in allen Gewerken
           countService(obj);
        });
        
        // alternative Abfrage jede Minute
        schedule("*/15 * * * *", function () {
            countService();
        });
        
        // Ausführung bei Scriptstart
        countService();
        
        1 Reply Last reply Reply Quote 0
        • A
          AndyUM61 last edited by

          @Bluefox:

          @AndyUM61:

          HAT EIGENTLICH JEMAND IN DEN EINGANGS-POST GESCHAUT?? `
          Ja. Bei dir im Skript ist ein Fehler drin. Habe ich neulich gepostet nur finde ich nicht wo :lol:

          Du musst eine Zeile mit getState gegen eine andere umtauschen, wo erst geprüft wird ob State existiert.

          getState(id).val blablbal
          

          mit so was ergänzen:

          if (!getState(id)) return oder continue; 
          

          Wie sieht dein Kode aus? `

          DANKE Bluefox!!

          Das ist doch wenigstens konstruktiv:).

          Dann werden sicher noch andere diesen Fehler haben.

          Ist ja das Script hier aus dem Forum;).

          1 Reply Last reply Reply Quote 0
          • A
            AndyUM61 last edited by

            @Bluefox:

            DANKE, funktioniert jetzt Fehlerfrei.

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

              Stellt sich natürlich die Frage, warum ein Datenpunkt des hm-rpc-Adapters zwar ein object (statischer Teil des Datenpunktes - zu sehen im Reiter "Objekte") aber kein state (dynamischer Teil des Datenpunktes - zu sehen im Reiter "Zustände") hat. Auch wenn state noch keine gültigen Werte hat, da noch nie etwas von der CCU gesendet wurde, sollte doch die Struktur vorhanden sein.

              EDIT: http://forum.iobroker.net/viewtopic.php?f=36&t=3239&p=30151#p30151 hat Bluefox geschrieben
              @Bluefox:

              Objekt ist da, aber Zustand vom Objekt wurde nie beschrieben und existiert nicht. `
              Es kann also auch Datenpunkte ohne state geben (wenn diese noch nie geschrieben wurden), was bedeutet, dass man in Schleifen, in denen solche Datenpunkte abgefragt werden, den Test auf die Existenz des state machen muss.

              1 Reply Last reply Reply Quote 0
              • A
                AndyUM61 last edited by

                Also wie es aussieht gibt es da entweder ein Problem mit CUX oder mit dem hm-rpc.2

                Ich habe auf jeden Fall mal CUX aktualisiert, aber die entsprechenden Datenpunkte werden vom ioBroker nicht erkannt bzw. nicht gefunden.

                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX4000007.0.UNREACH" not found
                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX4000005.0.UNREACH" not found
                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX4000004.0.UNREACH" not found
                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX4000003.0.UNREACH" not found
                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX4000002.0.UNREACH" not found
                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX4000001.0.UNREACH" not found
                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX4000008.0.UNREACH" not found
                javascript.0	2016-07-11 14:00:52.494	warn	javascript.0 State "hm-rpc.2.CUX1000001.0.UNREACH" not found
                

                Bei den Objekten im ioBroker-Admin sind die entsprechenden Datenpunkte vorhanden.

                1 Reply Last reply Reply Quote 0
                • H
                  holgerwolf last edited by

                  @holgerwolf:

                  Nochmal neu:

                  npm cache clean

                  iobroker stop

                  iobroker update

                  iobroker upgrade (nicht neues)

                  reboot

                  8081 ist weiterhin tot.

                  Das System läuft aber soweit. sql adapter, flot…

                  Auch im Log ist kein Fehler ersichtlich.

                  Gruß

                  Holger `

                  Aus irgendeinem Grund hat sich der Admin Adpater auf Disabled gestellt.

                  Mit dem hier:

                  http://www.iobroker.net/docu/?page_id=3 … ter_laeuft

                  Fehler gefunden und behoben. Keine Ahnung, was beim Upgrade da schief lief.

                  Danke und Gruß

                  Holger

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    Wenn wir jetzt nur glückliche User haben - kann dann der Thread als gelöst markiert werden?

                    Gruß

                    Rainer

                    1 Reply Last reply Reply Quote 0
                    • H
                      holgerwolf last edited by

                      @Homoran:

                      Wenn wir jetzt nur glückliche User haben - kann dann der Thread als gelöst markiert werden?

                      Gruß

                      Rainer `

                      Von meiner Seite, gerne.

                      Wie man den Admin checken kann, habe ich mir jetzt germerkt 😉

                      Danke und Gruß

                      Holger

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

                        Hallo,

                        ich wecke mal den Thread wieder auf - ist ja eh noch nicht als gelöst markiert und mein Problem passt zum Eingangsgpost.

                        Ich habe jetzt mal dieses Script welches Servicemeldungen zählt bei mir implementiert und erhalt habe die gleiche Fehlermeldung:

                        javascript.0
                        2017-02-05 23:15:00.916 warn javascript.0 State "hm-rpc.0.MEQ0690365.0.CONFIG_PENDING" not found
                        

                        Das Eigenartige ist dass auch die Prüfung, ob der Zustand existiert wie von Bluefox vorgeschlagen bei mir nicht hilft. Ich habe mein Script wie folgt angepasst:

                            function count(id) {
                                if (!id.match("[\\.][1-9][\\.]")) {
                                    log('1: ' + getState(id));
                                    if (!getState(id)) return;
                                    log('2: ' + getState(id).val);
                        

                        und erhalte damit folgende Logausgabe:

                        `2017-02-05 23:15:00.791  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 1: [object Object]
                        2017-02-05 23:15:00.791  - [33mwarn[39m: javascript.0 State "hm-rpc.0.LEQ0411469.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.791  - [33mwarn[39m: javascript.0 State "hm-rpc.0.LEQ0411469.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.791  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 2: null
                        2017-02-05 23:15:00.806  - [33mwarn[39m: javascript.0 State "hm-rpc.0.MEQ0197597.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.806  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 1: [object Object]
                        2017-02-05 23:15:00.806  - [33mwarn[39m: javascript.0 State "hm-rpc.0.MEQ0197597.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.806  - [33mwarn[39m: javascript.0 State "hm-rpc.0.MEQ0197597.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.806  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 2: null
                        2017-02-05 23:15:00.806  - [33mwarn[39m: javascript.0 State "hm-rpc.0.MEQ0690365.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.806  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 1: [object Object]
                        2017-02-05 23:15:00.806  - [33mwarn[39m: javascript.0 State "hm-rpc.0.MEQ0690365.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.806  - [33mwarn[39m: javascript.0 State "hm-rpc.0.MEQ0690365.0.CONFIG_PENDING" not found
                        2017-02-05 23:15:00.806  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 2: null
                        2017-02-05 23:15:00.806  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 1: [object Object]
                        2017-02-05 23:15:00.806  - [32minfo[39m: javascript.0 script.js.InArbeit.HM_Servicemeldungen: 2: false[/code]`
                        
                        Das scheint mir so, als ob die Prüfung an sich schon einen Fehler wirft, aber trotzdem erstmal ein Object zurückgibt und somit nicht greift und wieder in den Fehler läuft. Bei den States wo zwischen Log1 und Log2 kein Fehler kommt wurde der Datenpunkt schon mal beschrieben und somit ist alles OK. Bei den anderen DP's gibt .val eben "null" zurück was ja eigentlich IMO korrekt ist , aber warum kommen dann die Fehlermeldungen vom JS-Adapter?
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        874
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        6
                        28
                        2875
                        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