Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Zuviel fuer JS ?

    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

    Zuviel fuer JS ?

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

      Hab das s am ende übersehen.

      Das ist ne Harte Nuss. Dein Code ist sehr aufgeräumt und Übersichtlich.

      > Ich war dabei das Programm zu erweitern und habe an einer bestimmten Funktion gearbeitet. Dann ging das los.
      An welcher Funktion hast du da gearbeitet?

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

        das war dieser Teil:

        
        //-----------------------------------------------------------------------------------------------------
        // Funktion zum Anlegen der Variablen im System
        //-----------------------------------------------------------------------------------------------------
        function CreateStates(){
        
            for (var zaehler = 0,
                     zaehler_array = Gruppen.length;
                     zaehler < zaehler_array;
                     zaehler++) {
                     zaehler2 = addZero(zaehler).zero2;
                     if (Gruppen[zaehler][0] !== '') {                                                                  // Check for  blanks
          				CreateStateCounter(zaehler, countLocation + '.' +  Gruppen[zaehler][1], sysLocation + '.Grp' + zaehler2 );            // Anlegen aller count variablen
                     }  //  endif space check (nur wenn keine spaces in der ID enthalten sind wird angelegt)
            } // Ende FOR    var zaehler2 = 0;
        }  // ende Funktion
        
        //-----------------------------------------------------------------------------------------------------
        // Funktion zum Anlegen der Variablen im System - hier Statusinformationen
        //-----------------------------------------------------------------------------------------------------
        
        function CreateStateCounter(nummer, pathcount, pathsys) {
        
            var zaehler;
            var statusname;
            for	(zaehler = 8; zaehler < 18; zaehler++) {                                                                    // Spalte 8 - 18 fuer die Gruppentabelle entspriche logname -8
                 statusname = '';                                                                                           // initialisieren Feldname fuer Status
                 if (Gruppen[nummer][zaehler] !== '') {                                                                     // Gibt es einen Status in der Gruppentabelle ? wenn ja merken
                    statusname = Gruppen[nummer][zaehler-8];
                 }
                 if (logname[nummer][zaehler-8] !== ''&& statusname !== '') {                                                // Gibt es einen Status in der logname tabelle  ? wenn ja merken mit vorrang
                     statusname = logname[nummer][zaehler-8];
                 }
        
                 if (statusname !== '')  {                                                                                   // gibt es einen Statuseintrag
                    createState(pathcount + '.TIME.' + statusname,   "000:00:00:00");                                            // Anlegen des Zeiteintrages anhand der Gruppentabelle nur TIME
                    createState(pathsys  + 'MSec.' + statusname ,  0);
                    createState(pathsys  + 'Kum.' + statusname,   0);
        			if (Gruppen[zaehler][7] === true) {	                                                                    // Soll auch eine Switch Variable angelegt werden
                       createState(pathcount + '.SWITCH.'+ statusname,   0);		                                                // Anlegen der Switchvariabel	    
        			}    
                    if (Gruppen[nummer][3] === true) {                                                                      // soll eine DAY kumulations Variable angelegt werden ?
                        createState(pathcount + '.TIME.' + statusname +'.DAY',   "000:00:00:00");                                // DAY fuer TIME anlegen 
                        createState(pathsys + "Kum." + statusname +'.DAY');
         			if (Gruppen[zaehler][7] === true) {	                                                                // soll auch ein Schaltungszaehler fuer Zeitabschnitt angelegt werden erden ?
                            createState(pathcount + '.SWITCH.'+ statusname + '.DAY',   0);	
                         } // endif Zeitabschnitt fuer switch
        			}      // endif Summierung soll angelegt werden
        
                    if (Gruppen[nummer][4] === true) {                                                                      // soll eine DAY kumulations Variable angelegt werden ?
                        createState(pathcount + '.TIME.' + statusname +'.WEEK',   "000:00:00:00");                          // WEEK fuer TIME anlegen 
                        createState(pathsys + "Kum." + statusname +'.WEEK');
             			if (Gruppen[zaehler][7] === true) {	                                                                // soll auch ein Schaltungszaehler fuer Zeitabschnitt angelegt werden erden ?
                            createState(pathcount + '.SWITCH.'+ statusname + '.WEEK',   0);	
                         } // endif Zeitabschnitt fuer switch
        			}      // endif Summierung sol angelegt werden
        
                    if (Gruppen[nummer][5] === true) {                                                                      // soll eine DAY kumulations Variable angelegt werden ?
                        createState(pathcount + '.TIME.' + statusname +'.MONTH',   "000:00:00:00");                                // MONZH fuer TIME anlegen 
                        createState(pathsys + "Kum." + statusname +'.MONTH');
             			if (Gruppen[zaehler][7] === true) {	                                                                // soll auch ein Schaltungszaehler fuer Zeitabschnitt angelegt werden erden ?
                            createState(pathcount + '.SWITCH.'+ statusname + '.MONTH',   0);	
                         } // endif Zeitabschnitt fuer switch
        			}      // endif Summierung soll angelegt werden
        
                    if (Gruppen[nummer][6] === true) {                                                                      // soll eine DAY kumulations Variable angelegt werden ?
                        createState(pathcount + '.TIME.' + statusname +'.YEAR',   "000:00:00:00");                                // YEAR  fuer TIME anlegen 
                        createState(pathsys + "Kum." + statusname +'.YEAR');
         			if (Gruppen[zaehler][7] === true) {	                                                                // soll auch ein Schaltungszaehler fuer Zeitabschnitt angelegt werden erden ?
                            createState(pathcount + '.SWITCH.'+ statusname + '.YEAR',   0);	
                         } // endif Zeitabschnitt fuer switch
        			}      // endif Summierung soll angelegt werden
        
                }   // endif es gibt einen Status eintrag in der Gruppen bzw logname tabelle
        
            } // Ende FOR  
        
        }  // ende Funktion
        
        
        1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer last edited by

              for (var zaehler = 0,
                       zaehler_array = Gruppen.length;
                       zaehler < zaehler_array;
                       zaehler++) {
                      [b] zaehler2[/b] = addZero(zaehler).zero2;
                       if (Gruppen[zaehler][0] !== '') {                                                                  // Check for  blanks
                        CreateStateCounter(zaehler, countLocation + '.' +  Gruppen[zaehler][1], sysLocation + '.Grp' + zaehler2 );            // Anlegen aller count variablen
                       }  //  endif space check (nur wenn keine spaces in der ID enthalten sind wird angelegt)
              [b]} // Ende FOR    var zaehler2 = 0;[/b]
          

          Könnte Zaehler2 das Problem sein?

          Er scheint nirgendwo als variable deklariert zu sein.

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

            stimmt, hab es jetzt eingefügt und das Verhalten hat sich geändert.

            Es wird ein Teil des Programmes ausgeführt (logausgabe). das war vorher nicht so.

            Dann scheint es immer noch einen Abstürz zu geben aber nicht im endlos loop.

            normalerweise würde der interpreter doch einen Fehler melden. Ich verstehe es nicht ganz

            ! ` > message 2016-02-02 19:10:14 error system.adapter.javascript.0.alive [object Object] Unexpected token u

            SyntaxError: 2016-02-02 19:10:13 error at TCP.onread (net.js:526:21)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.Readable.push (_stream_readable.js:127:10)

            SyntaxError: 2016-02-02 19:10:13 error at readableAddChunk (_stream_readable.js:165:9)

            SyntaxError: 2016-02-02 19:10:13 error at emitReadable (_stream_readable.js:404:5)

            SyntaxError: 2016-02-02 19:10:13 error at emitReadable_ (_stream_readable.js:408:10)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.EventEmitter.emit (events.js:92:17)

            SyntaxError: 2016-02-02 19:10:13 error at Socket. (_stream_readable.js:746:14)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.EventEmitter.emit (events.js:95:17)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.realHandler (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:800:20)

            SyntaxError: 2016-02-02 19:10:13 error at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:95:24)

            SyntaxError: 2016-02-02 19:10:13 error at Receiver.expectHandler (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:457:31)

            SyntaxError: 2016-02-02 19:10:13 error at Receiver.opcodes.1.finish (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:482:12)

            SyntaxError: 2016-02-02 19:10:13 error at Receiver.flush (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:340:3)

            SyntaxError: 2016-02-02 19:10:13 error at /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:466:14

            SyntaxError: 2016-02-02 19:10:13 error at Receiver.applyExtensions (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:364:5)

            SyntaxError: 2016-02-02 19:10:13 error at /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:477:18

            SyntaxError: 2016-02-02 19:10:13 error at Receiver.ontext (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:816:10)

            SyntaxError: 2016-02-02 19:10:13 error at WebSocket.EventEmitter.emit (events.js:98:17)

            SyntaxError: 2016-02-02 19:10:13 error at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:418:14)

            SyntaxError: 2016-02-02 19:10:13 error at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/websocket.js:132:10)

            SyntaxError: 2016-02-02 19:10:13 error at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:135:8)

            SyntaxError: 2016-02-02 19:10:13 error at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:143:8)

            SyntaxError: 2016-02-02 19:10:13 error at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-emitter/index.js:134:20)

            SyntaxError: 2016-02-02 19:10:13 error at WS. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:258:10)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:441:14)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-emitter/index.js:134:20)

            SyntaxError: 2016-02-02 19:10:13 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)

            SyntaxError: 2016-02-02 19:10:13 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)

            SyntaxError: 2016-02-02 19:10:13 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)

            SyntaxError: 2016-02-02 19:10:13 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)

            SyntaxError: 2016-02-02 19:10:13 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)

            SyntaxError: 2016-02-02 19:10:13 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)

            SyntaxError: 2016-02-02 19:10:13 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)

            SyntaxError: 2016-02-02 19:10:13 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)

            SyntaxError: 2016-02-02 19:10:13 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)

            SyntaxError: 2016-02-02 19:10:13 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1963:80)

            SyntaxError: 2016-02-02 19:10:13 error at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:192:17)

            SyntaxError: 2016-02-02 19:10:13 error at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:452:17)

            SyntaxError: 2016-02-02 19:10:13 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2316:17)

            SyntaxError: 2016-02-02 19:10:13 error at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:456:48

            SyntaxError: 2016-02-02 19:10:13 error at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1113:48)

            SyntaxError: 2016-02-02 19:10:13 error at Object. (script.js.Betriebsstundenzaehler_Extended:199:81)

            SyntaxError: 2016-02-02 19:10:13 error at GeraetUpdate (script.js.Betriebsstundenzaehler_Extended:311:19)

            SyntaxError: 2016-02-02 19:10:13 error at sandbox.getObject (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1488:33)

            SyntaxError: 2016-02-02 19:10:13 error at Object.parse (native)

            SyntaxError: 2016-02-02 19:10:13 error Unexpected token u

            message 2016-02-02 19:10:13 error javascript.0.scriptEnabled.Betriebsstundenzaehler_Extended [object Object] Unexpected token u

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: registered 21 subscriptions and 1 schedule

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp20MSec BSZ.System.Grp20Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp19MSec BSZ.System.Grp19Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp18MSec BSZ.System.Grp18Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp17MSec BSZ.System.Grp17Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp16MSec BSZ.System.Grp16Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp15MSec BSZ.System.Grp15Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp14MSec BSZ.System.Grp14Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp13MSec BSZ.System.Grp13Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp12MSec BSZ.System.Grp12Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp11MSec BSZ.System.Grp11Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp10MSec BSZ.System.Grp10Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp09MSec BSZ.System.Grp09Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp08MSec BSZ.System.Grp08Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp07MSec BSZ.System.Grp07Kum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp06MSec BSZ.System.Grp06Kum Oekofen_Laufzeit_Manuell

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp05MSec BSZ.System.Grp05Kum Licht_UN_Hobbyraum

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp04MSec BSZ.System.Grp04Kum Filter_Pool

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp03MSec BSZ.System.Grp03Kum Licht_UN_Kinderbad

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp02MSec BSZ.System.Grp02Kum Licht_WZ_Terrassentuere

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp01MSec BSZ.System.Grp01Kum Licht_WZ_EsstischDecke

            javascript-0 2016-02-02 19:10:13 info script.js.Betriebsstundenzaehler_Extended: GrpSystem BSZ.System.Grp00MSec BSZ.System.Grp00Kum Licht_WZ_EsstischStehlampe `

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

              ich habe vom JS online editor einen Hinweis bekommen

              JavaScript error: Uncaught SyntaxError: Unexpected end of input on line 481

              Das ist die letzte Zeile mit Leerzeile im Script. Dort habe ich einen Kommentarzeichen (//) hinzugefügt und der Fehler ist weg

              Da muss irgendwie ein verstecktes Zeichen gewesen sein

              vG Looxer

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

                nach ein paar Aenderungen im Programm faengt es wieder an.

                Ich komme anscheinend da nicht weiter. 😢

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

                  da fällt mir ein, dass ich node 10.22. installiert habe.

                  JS-Controller warnt ja schon eine weile bei updates, das 10.40 erforderlich ist.

                  könnte es daran liegen ? könnte jemand mal das Programm in einer Testumgebung laufen lassen ?

                  Im Moment glaube ich, dass es mit meiner Umgebung zu tun hat. Sonst hätten auch andere schon das Problem gehabt.

                  vG Looxer

                  1 Reply Last reply Reply Quote 0
                  • Jey Cee
                    Jey Cee Developer last edited by

                    Ich hätte da noch eine idee. Schreibst du dein script im ioBroker Editor oder in einem Programm?

                    Es gibt so genannte Steuerzeichen in textdateien, die sind unsichtbar. Im texteditor werden die Automatisch erzeugt, weil es sich dabei zum Beispiel um den Zeilenumbruch handelt.

                    Damit hatte ich schon probleme bei bash scripten. Windows und Linux handhaben die Steuerzeichen unterschiedlich.

                    Eigentlich sollte das kein Thema bei javascript sein, aber man weiss ja nie.

                    Gesendet von meinem Jolla mit Tapatalk

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

                      ja, daran dachte ich auch schon.

                      Ich habe heute mit note++ gearbeitet - abwechselnd mit iobroker.

                      note++ erzeugt solche Probleme üblicherweise nicht.

                      Zudem ist es ja auch so, dass, wenn ich die subsriptions reduziere, dann ist es ok.

                      Ich glaube eher, dass es ein Node.JS oder ein Speicherproblem ist - was systemseitiges

                      Ich versuche es auch mal mit konvertieren.

                      Danke für den Hinweis. Ist echt doof. Ging viel Zeit heute drauf.

                      vG Looxer

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

                        also ich habe mittels notepad++ tabs entfernt etc. ohne Ergebnis.

                        Wenn ich die subscriptions z.B. auf 2 reduziere funktioniert alles.

                        (die subsrictions ändern nur variablen aber der Programmablauf ist ansonsten 100% identisch)

                        Ist ja ein klarer Hinweis darauf, dass das Programm im Prinzip ok ist aber JS damit nicht klar kommt.

                        warum auch immer :? (Speicher, Node-Version oder sonst was)

                        Sieht nicht gut aus für mein Projekt

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

                          Es sieht danach, als ob du ein Objekt (getObject) fragst, welches nicht existiert.

                          Abstürzen darf natürlich nicht.

                          Probier mal 1.1.10

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

                            Danke BF,

                            habe es gerade installiert und habe folgenden Error bekommen:

                            javascript.0 2016-02-02 23:06:04 error javascript.0 http 200 https://registry.npmjs.org/nan

                            javascript.0 2016-02-02 23:06:04 error javascript.0 npm

                            javascript.0 2016-02-02 23:06:04 error javascript.0 http GET https://registry.npmjs.org/nan

                            javascript.0 2016-02-02 23:06:04 error javascript.0 npm

                            javascript-0 2016-02-02 23:06:03 error 304 https://registry.npmjs.org/vcgencmd

                            javascript-0 2016-02-02 23:06:03 error http

                            javascript-0 2016-02-02 23:06:03 error npm

                            javascript-0 2016-02-02 23:06:02 error GET https://registry.npmjs.org/vcgencmd

                            javascript-0 2016-02-02 23:06:02 error http

                            javascript-0 2016-02-02 23:06:02 error npm

                            vG Looxer

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

                              jetzt sieht es anders aus:

                              [spoiler]
                              
                              Log 	Log-Größe: 11.68 MB  	
                              Zeit 	
                              Nachricht
                              javascript-0	2016-02-02 23:09:03	info	Stop script script.js.Betriebsstundenzaehler_Extended
                              TypeError:	2016-02-02 23:09:03	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1963:80)
                              TypeError:	2016-02-02 23:09:03	error	at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:192:17)
                              TypeError:	2016-02-02 23:09:03	error	at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:452:17)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2326:17)
                              TypeError:	2016-02-02 23:09:03	error	at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:456:48
                              TypeError:	2016-02-02 23:09:03	error	at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1113:48)
                              TypeError:	2016-02-02 23:09:03	error	at Object. (script.js.Betriebsstundenzaehler_Extended:514:81)
                              TypeError:	2016-02-02 23:09:03	error	at GeraetUpdate (script.js.Betriebsstundenzaehler_Extended:287:39)
                              TypeError:	2016-02-02 23:09:03	error	Cannot read property 'common' of null
                              message	2016-02-02 23:09:03	error	system.adapter.sayit.0.uptime [object Object] Cannot read property 'common' of null
                              javascript-0	2016-02-02 23:09:03	warn	Object "" does not exist
                              TypeError:	2016-02-02 23:09:03	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1963:80)
                              TypeError:	2016-02-02 23:09:03	error	at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:192:17)
                              TypeError:	2016-02-02 23:09:03	error	at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:452:17)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2326:17)
                              TypeError:	2016-02-02 23:09:03	error	at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:456:48
                              TypeError:	2016-02-02 23:09:03	error	at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1113:48)
                              TypeError:	2016-02-02 23:09:03	error	at Object. (script.js.Betriebsstundenzaehler_Extended:514:81)
                              TypeError:	2016-02-02 23:09:03	error	at GeraetUpdate (script.js.Betriebsstundenzaehler_Extended:287:39)
                              TypeError:	2016-02-02 23:09:03	error	Cannot read property 'common' of null
                              message	2016-02-02 23:09:03	error	system.adapter.sayit.0.memHeapUsed [object Object] Cannot read property 'common' of null
                              javascript-0	2016-02-02 23:09:03	warn	Object "" does not exist
                              TypeError:	2016-02-02 23:09:03	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1963:80)
                              TypeError:	2016-02-02 23:09:03	error	at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:192:17)
                              TypeError:	2016-02-02 23:09:03	error	at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:452:17)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2326:17)
                              TypeError:	2016-02-02 23:09:03	error	at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:456:48
                              TypeError:	2016-02-02 23:09:03	error	at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1113:48)
                              TypeError:	2016-02-02 23:09:03	error	at Object. (script.js.Betriebsstundenzaehler_Extended:514:81)
                              TypeError:	2016-02-02 23:09:03	error	at GeraetUpdate (script.js.Betriebsstundenzaehler_Extended:287:39)
                              TypeError:	2016-02-02 23:09:03	error	Cannot read property 'common' of null
                              message	2016-02-02 23:09:03	error	system.adapter.sayit.0.memHeapTotal [object Object] Cannot read property 'common' of null
                              javascript-0	2016-02-02 23:09:03	warn	Object "" does not exist
                              TypeError:	2016-02-02 23:09:03	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1963:80)
                              TypeError:	2016-02-02 23:09:03	error	at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:192:17)
                              TypeError:	2016-02-02 23:09:03	error	at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:452:17)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2345:28)
                              TypeError:	2016-02-02 23:09:03	error	at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2326:17)
                              TypeError:	2016-02-02 23:09:03	error	at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:456:48
                              TypeError:	2016-02-02 23:09:03	error	at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1113:48)
                              TypeError:	2016-02-02 23:09:03	error	at Object. (script.js.Betriebsstundenzaehler_Extended:514:81)
                              TypeError:	2016-02-02 23:09:03	error	at GeraetUpdate (script.js.Betriebsstundenzaehler_Extended:287:39)
                              TypeError:	2016-02-02 23:09:03	error	Cannot read property 'common' of null
                              message	2016-02-02 23:09:03	error	system.adapter.sayit.0.memRss [object Object] Cannot read property 'common' of null
                              javascript-0	2016-02-02 23:09:03	warn	Object "" does not exis
                              [/spoiler]
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • L
                                looxer01 last edited by

                                das log sagt ja, dass alle möglichen Adapter Fehler melden.

                                aber du hast ja wieder mal recht. GetObjekt hatte ich noch nicht umgestellt auf die neue Programmstuktur.

                                Ich hätte mit solchen Auswirkungen nicht gerechnet. Das scheint es gewesen zu sein.

                                puuuuuuuhhh, das war heftig

                                Danke dir 1000x

                                Looxer

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

                                  Hi,

                                  leider habe ich das Problem immer noch.

                                  Und ich verstehe überhaupt nicht warum das so passiert.

                                  Ich habe das Stück Coding durch BF Hinweis isoliert und es ist jederzeit nachvollziebar.

                                  Obwohl in dem Coding keine Schleife eingebaut ist fängt JS an zu loopen sobald das Programm aufgerufen wird

                                  es ist so als wenn die on({id: sequenzen immer wieder aufgerufen werden. Anders ist das für mich nicht zu erklären.

                                  Hat jemand eine Erklärung bzw. eine Lösung wie ich das Problem umgehen kann ?

                                  vG Looxer

                                  resultat im Log:

                                  ! javascript-0 2016-02-03 10:55:31 info Stop script script.js.ZZZTestGetObjekt javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found javascript-0 2016-02-03 10:55:31 info script.js.ZZZTestGetObjekt: Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe undefined javascript-0 2016-02-03 10:55:31 warn State "undefined" not found !

                                  und hier ist das Stück Coding:

                                  ! var SpaceChk = new RegExp(/\s/); var Gruppen = []; ! Gruppen[0] = ['hm-rpc.0.JEQ003xxxx.1.STATE' ]; Gruppen[1] = ['hm-rpc.0.JEQ0199xxx.1.LEVEL' ]; Gruppen[2] = ['hm-rpc.0.IEQ037xxxx.1.STATE' ]; Gruppen[3] = ['hm-rpc.0.JEQ003xxxx.1.STATE' ]; Gruppen[4] = ['hm-rpc.0.JEQ029xxxx.1.STATE' ]; Gruppen[5] = ['hm-rpc.0.KEQ017xxxx.1.STATE' ]; Gruppen[6] = ['hm-rpc.0.JEQ005xxxx.1.STATE' ]; Gruppen[7] = ['modbus.0.holdingRegisters.26_FA1_STATE' ]; Gruppen[8] = ['' ]; Gruppen[9] = ['' ]; Gruppen[10] = ['' ]; Gruppen[11] = ['' ]; Gruppen[12] = ['' ]; Gruppen[13] = ['' ]; Gruppen[14] = ['' ]; Gruppen[15] = ['' ]; Gruppen[16] = ['' ]; Gruppen[17] = ['' ]; Gruppen[18] = ['' ]; Gruppen[18] = ['' ]; Gruppen[19] = ['' ]; Gruppen[20] = ['' ]; //------------------------------------------------------------------------------- // var objGruppe = "hm-rpc.0.IEQ0379466.2.STATE"; var objGruppe = Gruppen[1][0]; log("check gestartet "+Gruppen[1][0] ,"info"); if(ObjectExists(objGruppe)) { log("object existiert","info") } ! //----------------------------------------------------------------------------------------------------- // Funktion zur Ueberpruefung ob die angegebenen Geraete exisiteren //----------------------------------------------------------------------------------------------------- function ObjectExists(objGruppe) { var back = false; ! if (SpaceChk.test(objGruppe)) { // objIDGruppe darf kein space enthalten // ist ein Geraet ueberhaupt zugeordnet ? // log("Geraet hat kein assignment - Gruppe " + objGruppe, "info"); return back; } // endif IDGruppe hat kein assignment ! if (getState(objGruppe)) { // Existiert das Geraet ? back = true; } else { log("Geraet existiert nicht - bitte in den Einstellungen ueberpruefen - Gruppe " + objGruppe, "info"); } // endif check on Geraet exists ! return back; } // ende Funktion ! function GeraetUpdate(nummer) { var objGruppe = Gruppen[nummer[0]]; if(ObjectExists(objGruppe)) { log("object existiert","info") } } // ende Funktion ! on({id: Gruppen[0][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 0 ); } }); // ende on id on({id: Gruppen[1][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 1 ); } }); // ende on id on({id: Gruppen[2][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 2 ); } }); // ende on id on({id: Gruppen[3][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 3 ); } }); // ende on id on({id: Gruppen[4][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 4 ); } }); // ende on id on({id: Gruppen[5][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 5 ); } }); // ende on id on({id: Gruppen[6][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 6 ); } }); // ende on id on({id: Gruppen[7][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 7 ); } }); // ende on id on({id: Gruppen[8][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 8 ); } }); // ende on id on({id: Gruppen[9][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate( 9 ); } }); // ende on id on({id: Gruppen[10][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(10); } }); // ende on id on({id: Gruppen[11][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(11); } }); // ende on id on({id: Gruppen[12][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(12); } }); // ende on id on({id: Gruppen[13][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(13); } }); // ende on id on({id: Gruppen[14][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(14); } }); // ende on id on({id: Gruppen[15][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(15); } }); // ende on id on({id: Gruppen[16][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(16); } }); // ende on id on({id: Gruppen[17][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(17); } }); // ende on id on({id: Gruppen[18][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(18); } }); // ende on id on({id: Gruppen[19][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(19); } }); // ende on id on({id: Gruppen[20][0], valNe: 1000 }, function(obj) { if (obj.state.ack) { GeraetUpdate(20); } }); // ende on id !

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

                                    Hallo Looxer,

                                    probier mal statt

                                    if  (getState(objGruppe))   { // Existiert das Geraet ?
                                    
                                    if  (getState(objGruppe).val)   { // Existiert das Geraet ?
                                    

                                    Gruß

                                    Pix

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

                                      Hier ist auch noch ein Fehler:````
                                      function GeraetUpdate(nummer) {
                                      var objGruppe = Gruppen[nummer[0]];

                                      
                                      ****EDIT: ist natürlich quatsch, jetzt sehe ich es auch :oops: Oops****
                                      
                                      Und in den Subscriptions verwendest du obj.state.ack. in den If-Abfragen. Allerdings liefert das Callback der Subscription keinen "state", wenn man nach [https://github.com/iobroker/ioBroker.javascript#on–-subscribe-on-changes-or-updates-of-some-state](https://github.com/iobroker/ioBroker.javascript#on–-subscribe-on-changes-or-updates-of-some-state) geht, sondern nur oldState und newState.
                                      
                                      Gruß
                                      
                                      Pix
                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        looxer01 last edited by

                                        Hi Pix,

                                        das bringt leider keine Aenderung. Anscheinend gibt es Problem mit on id, weil ja quasi ein permanenter loop das log vollmüllt und wie BF auch schon sagte scheint es ein Problem bei GetState/GetObject zu geben, wenn das Geraet nicht exisitiert.

                                        Könntest du bei dir mal ckecken ob esbei dir auch loooed ? Wenn er anfängt zu loopen, dann deaktiviere ich das script und alles ist gut. Sollte also kein problem geben.

                                        ich bin mir übrigens auch gar nicht sicher, ob ich nicht zwei Probleme habe. Das Loop Problem und das getObject Problem naemlich.

                                        vG Looxer

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

                                          zu ack.

                                          das stück code habe ich von BF und eingefügt weil on id immer zweimal ausgefürt wurde.

                                          einmal für false und einmal für true. Im script Betriebsstundenzähler funktioniert da auch einwandfrei.

                                          vG Looxer

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

                                            @pix:

                                            Und in den Subscriptions verwendest du obj.state.ack. in den If-Abfragen. Allerdings liefert das Callback der Subscription keinen "state", wenn man nach dieser Doku geht, sondern nur oldState und newState. `
                                            obj.state.ack ist zwar nicht dokumentiert, funktioniert aber: Es entspricht obj.newState.ack.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            907
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            32
                                            2606
                                            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