Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. JavaScript startet nach update von CSV-parse nicht mehr

    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

    SOLVED JavaScript startet nach update von CSV-parse nicht mehr

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

      Ich hoffe mich schlägt dann keiner 🙂 Bis was JS Schript angeht blutiger Anfänger...

      var parse = require('csv-parse');
      console.log("Start: ");
      for (var i = 0; i<100; i++)
      {
      var input = require('fs').readFileSync('/mnt/hmtw2k-d/ZEMO-MDE/Zemo-Anzeige/ioBroker/ioBroker-Zemo.csv').toString();
      parse(input, {comment: '#'}, function(err, output){
      var Zeile = input.split('§')[i];
      
      var Terminialnr = Zeile.split(';')[0];
      //createState('Zemo.'+Terminialnr+'.'); 
      createState('Zemo.'+Terminialnr+'.'+ 'Terminialnr', {name: Terminialnr, type: 'number', role: 'value', });
      setState('Zemo.'+Terminialnr+'.'+'Terminialnr', Terminialnr);
      
      var Menge_1 = Zeile.split(';')[1];
      createState('Zemo.'+Terminialnr+'.'+ 'Menge_1', {name: Menge_1, type: 'number', role: 'value', });
      setState('Zemo.'+Terminialnr+'.'+'Menge_1', Menge_1);
      
      var Menge_2 = Zeile.split(';')[2];
      createState('Zemo.'+Terminialnr+'.'+ 'Menge_2', {name: Menge_2, type: 'number', role: 'value', });
      setState('Zemo.'+Terminialnr+'.'+'Menge_2', Menge_2);
      
      
          var Zeit = Zeile.split(';')[3];
          var Menge_Total = Zeile.split(';')[4];
          var Auftragsnummer = Zeile.split(';')[5];
          var HubIst = Zeile.split(';')[6];
          var HubSoll = Zeile.split(';')[7];
          var Kostenstelle = Zeile.split(';')[8];
          var Maschinennr = Zeile.split(';')[9];
          var Maschinenname = Zeile.split(';')[10];
          var HubStatus = Zeile.split(';')[11];
              
      	// show result
      //	console.log(JSON.stringify(output));
      //    console.log(Terminialnr+" "+Maschinenname+" "+HubSoll+" "+HubIst+" "+HubStatus);
          console.log(Zeile+" "+Terminialnr);
          
      });
      }
      
      foxriver76 1 Reply Last reply Reply Quote 0
      • foxriver76
        foxriver76 Developer last edited by

        @Nobody28 sagte in JavaScript startet nach update von CSV-parse nicht mehr:

        javascript.0 2019-03-05 12:24:39.863 error at script.js.common.HMT.Zemo-in-Objekte:10:25

        Also das Log ist so gütig und sagt einem in welcher Zeile des Skriptes der Fehler ist und in welchem Skript, siehe

        javascript.0 2019-03-05 12:24:39.863 error at script.js.common.HMT.Zemo-in-Objekte:10:25

        d. h. er ist in Zeile 10 des Skriptes, allerdings hattest du weiter oben mal ein Log gepostet, wo er in Zeile 11 war. So oder so scheint es daran zu liegen, dass die Variable Zeile wohl mal undefined ist. Was wiederum daran liegt, dass input.split('§')[i]; nichts zurück gibt.

        Du benutzt ja parse eigentlich gar nicht in deinem Skript fällt mir gerade auf.
        Probier mal das hier:

        console.log("Start: ==>");
        
        const input = require('fs').readFileSync('/mnt/hmtw2k-d/ZEMO-MDE/Zemo-Anzeige/ioBroker/ioBroker-Zemo.csv').toString();
        const Zeilen = input.split('§');
        
        for (const Zeile of Zeilen) {
                
            const Terminialnr = parseFloat(Zeile.split(';')[0]);
        
            if(!Terminialnr) continue;
        
            const Menge_1 = parseInt(Zeile.split(';')[1]);
        
            const Menge_2 = parseInt(Zeile.split(';')[2]);
        
            const Zeit = Zeile.split(';')[3];
        
            const Menge_Total = parseInt(Zeile.split(';')[4]);
        
            const Auftragsnummer = parseInt(Zeile.split(';')[5]);
        
            const HubIst = parseFloat(Zeile.split(';')[6]);
        
            const HubSoll = parseFloat(Zeile.split(';')[7]);
        
            const Kostenstelle = parseInt(Zeile.split(';')[8]);
        
            const Maschinennr = parseInt(Zeile.split(';')[9]);
        
            const Maschinenname = Zeile.split(';')[10];
        
            const HubStatus = parseInt(Zeile.split(';')[11]);
        
            createState('Zemo.'+Terminialnr+'.'+'Terminialnr', {name: 'Terminialnr', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Menge_1', {name: 'Menge_1', desc: 'Menge_1', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Menge_2', {name: 'Menge_2', desc: 'Menge_2', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Zeit', {name: 'Zeit', desc: 'Zeit', type: 'string', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Menge_Total', {name: 'Menge_Total', desc: 'Menge_Total', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Auftragsnummer', {name: 'Auftragsnummer', desc: 'Auftragsnummer', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'HubIst', {name: 'HubIst', desc: 'HubIst', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'HubSoll', {name: 'HubSoll', desc: 'HubSoll', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Kostenstelle', {name: 'Kostenstelle', desc: 'Kostenstelle', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Maschinennr', {name: 'Maschinennr', desc: 'Maschinennr', type: 'number', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'Maschinenname', {name: 'Maschinenname', desc: 'Maschinenname', type: 'string', role: 'value'});
            createState('Zemo.'+Terminialnr+'.'+'HubStatus', {name: 'HubStatus', desc: 'HubStatus', type: 'number', role: 'value'} ,() => {
            
                setState('Zemo.'+Terminialnr+'.'+'Terminialnr',Terminialnr, true);
                setState('Zemo.'+Terminialnr+'.'+'Menge_1',Menge_1, true);
                setState('Zemo.'+Terminialnr+'.'+'Menge_2',Menge_2, true);
                setState('Zemo.'+Terminialnr+'.'+'Zeit',Zeit, true);
                setState('Zemo.'+Terminialnr+'.'+'Menge_Total',Menge_Total, true);
                setState('Zemo.'+Terminialnr+'.'+'Auftragsnummer',Auftragsnummer, true);
                setState('Zemo.'+Terminialnr+'.'+'HubIst',HubIst, true);
                setState('Zemo.'+Terminialnr+'.'+'HubSoll',HubSoll, true);
                setState('Zemo.'+Terminialnr+'.'+'Kostenstelle',Kostenstelle, true);
                setState('Zemo.'+Terminialnr+'.'+'Maschinennr',Maschinennr, true);
                setState('Zemo.'+Terminialnr+'.'+'Maschinenname',Maschinenname, true);
                setState('Zemo.'+Terminialnr+'.'+'HubStatus',HubStatus, true);
            });
        }
        
        1 Reply Last reply Reply Quote 0
        • foxriver76
          foxriver76 Developer @Nobody28 last edited by

          @Nobody28 Habe jetzt csv-parse nicht drauf und kenne dein File nicht, wird das File korrekt eingelesen? Kannst du vor dem parse Befehl (Zeile 6 im geposteten Code) mal log(input, 'warn'); machen.

          1 Reply Last reply Reply Quote 0
          • N
            Nobody28 last edited by

            Das CSV, wird im 5 minuten Takt in einem anderen System erzeugt.

            Nun kommt das ==>

            javascript.0	2019-03-05 12:25:42.364	info	received all objects
            javascript.0	2019-03-05 12:25:42.309	info	received all states
            javascript.0	2019-03-05 12:25:42.199	info	requesting all objects
            javascript.0	2019-03-05 12:25:42.199	info	requesting all states
            javascript.0	2019-03-05 12:25:42.199	info	starting. Version 4.1.8 in /opt/iobroker/node_modules/iobroker.javascript, node: v8.15.0
            javascript.0	2019-03-05 12:25:10.968	info	received all objects
            javascript.0	2019-03-05 12:25:10.895	info	received all states
            javascript.0	2019-03-05 12:25:10.804	info	requesting all objects
            javascript.0	2019-03-05 12:25:10.804	info	requesting all states
            javascript.0	2019-03-05 12:25:10.804	info	starting. Version 4.1.8 in /opt/iobroker/node_modules/iobroker.javascript, node: v8.15.0
            javascript.0	2019-03-05 12:24:39.864	error	at process._tickCallback (internal/process/next_tick.js:181:9)
            javascript.0	2019-03-05 12:24:39.864	error	at _combinedTickCallback (internal/process/next_tick.js:139:11)
            javascript.0	2019-03-05 12:24:39.864	error	at endReadableNT (_stream_readable.js:1064:12)
            javascript.0	2019-03-05 12:24:39.864	error	at Parser.emit (events.js:208:7)
            javascript.0	2019-03-05 12:24:39.864	error	at emitNone (events.js:111:20)
            javascript.0	2019-03-05 12:24:39.864	error	at Parser.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/lib/index.js:855:7)
            javascript.0	2019-03-05 12:24:39.864	error	at script.js.common.HMT.Zemo-in-Objekte:10:25
            javascript.0	2019-03-05 12:24:39.864	error	TypeError: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.864	error	uncaught exception: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.863	error	at process._tickCallback (internal/process/next_tick.js:181:9)
            javascript.0	2019-03-05 12:24:39.863	error	at _combinedTickCallback (internal/process/next_tick.js:139:11)
            javascript.0	2019-03-05 12:24:39.863	error	at endReadableNT (_stream_readable.js:1064:12)
            javascript.0	2019-03-05 12:24:39.863	error	at Parser.emit (events.js:208:7)
            javascript.0	2019-03-05 12:24:39.863	error	at emitNone (events.js:111:20)
            javascript.0	2019-03-05 12:24:39.863	error	at Parser.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/lib/index.js:855:7)
            javascript.0	2019-03-05 12:24:39.863	error	at script.js.common.HMT.Zemo-in-Objekte:10:25
            javascript.0	2019-03-05 12:24:39.863	error	TypeError: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.863	error	uncaught exception: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.862	error	at process._tickCallback (internal/process/next_tick.js:181:9)
            javascript.0	2019-03-05 12:24:39.862	error	at _combinedTickCallback (internal/process/next_tick.js:139:11)
            javascript.0	2019-03-05 12:24:39.862	error	at endReadableNT (_stream_readable.js:1064:12)
            javascript.0	2019-03-05 12:24:39.862	error	at Parser.emit (events.js:208:7)
            javascript.0	2019-03-05 12:24:39.862	error	at emitNone (events.js:111:20)
            javascript.0	2019-03-05 12:24:39.862	error	at Parser.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/lib/index.js:855:7)
            javascript.0	2019-03-05 12:24:39.862	error	at script.js.common.HMT.Zemo-in-Objekte:10:25
            javascript.0	2019-03-05 12:24:39.862	error	TypeError: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.862	error	uncaught exception: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.862	error	at process._tickCallback (internal/process/next_tick.js:181:9)
            javascript.0	2019-03-05 12:24:39.862	error	at _combinedTickCallback (internal/process/next_tick.js:139:11)
            javascript.0	2019-03-05 12:24:39.862	error	at endReadableNT (_stream_readable.js:1064:12)
            javascript.0	2019-03-05 12:24:39.862	error	at Parser.emit (events.js:208:7)
            javascript.0	2019-03-05 12:24:39.862	error	at emitNone (events.js:111:20)
            javascript.0	2019-03-05 12:24:39.862	error	at Parser.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/lib/index.js:855:7)
            javascript.0	2019-03-05 12:24:39.862	error	at script.js.common.HMT.Zemo-in-Objekte:10:25
            javascript.0	2019-03-05 12:24:39.862	error	TypeError: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.862	error	uncaught exception: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.861	error	at processImmediate [as _immediateCallback] (timers.js:745:5)
            javascript.0	2019-03-05 12:24:39.861	error	at tryOnImmediate (timers.js:768:5)
            javascript.0	2019-03-05 12:24:39.861	error	at runCallback (timers.js:810:20)
            javascript.0	2019-03-05 12:24:39.861	error	at Immediate._tickCallback [as _onImmediate] (internal/process/next_tick.js:181:9)
            javascript.0	2019-03-05 12:24:39.861	error	at _combinedTickCallback (internal/process/next_tick.js:139:11)
            javascript.0	2019-03-05 12:24:39.861	error	at endReadableNT (_stream_readable.js:1064:12)
            javascript.0	2019-03-05 12:24:39.861	error	at Parser.emit (events.js:208:7)
            javascript.0	2019-03-05 12:24:39.861	error	at emitNone (events.js:111:20)
            javascript.0	2019-03-05 12:24:39.861	error	at Parser.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/lib/index.js:855:7)
            javascript.0	2019-03-05 12:24:39.861	error	at script.js.common.HMT.Zemo-in-Objekte:10:25
            javascript.0	2019-03-05 12:24:39.861	error	TypeError: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.861	error	uncaught exception: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.860	info	Stop script script.js.common.HMT.Zemo-in-Objekte
            javascript.0	2019-03-05 12:24:39.859	error	at process._tickCallback (internal/process/next_tick.js:181:9)
            javascript.0	2019-03-05 12:24:39.859	error	at _combinedTickCallback (internal/process/next_tick.js:139:11)
            javascript.0	2019-03-05 12:24:39.859	error	at endReadableNT (_stream_readable.js:1064:12)
            javascript.0	2019-03-05 12:24:39.859	error	at Parser.emit (events.js:208:7)
            javascript.0	2019-03-05 12:24:39.859	error	at emitNone (events.js:111:20)
            javascript.0	2019-03-05 12:24:39.859	error	at Parser.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/lib/index.js:855:7)
            javascript.0	2019-03-05 12:24:39.859	error	at script.js.common.HMT.Zemo-in-Objekte:10:25
            javascript.0	2019-03-05 12:24:39.859	error	TypeError: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.859	error	uncaught exception: Cannot read property 'split' of undefined
            javascript.0	2019-03-05 12:24:39.856	info	script.js.common.HMT.Zemo-in-Objekte: registered 0 subscriptions and 0 schedules
            javascript.0	2019-03-05 12:24:39.854	warn	10820;1446;2055;12:19;1446;1901740010;0.50;7.92;433031;433031;Schneideranlage 5772/B;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10800;808;20111;12:19;808;1901462010;2.20;3.79;432003;432003;Mutternschw. Luise;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10580;1490;82191;12:20;1490;1901254010;0.48;7.50;461007;461007;Laser 7 6259/60;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10560;9862;21203;12:20;9738;1901041010;46.15;30.00;421010;421010;800 to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10540;6038;16712;02:41;5969;1900472010;31.58;20.00;421000;421000;1000to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10500;379;32568;12:18;379;1900618010;0.59;1.35;433090;433090;Kleb-Nietanlage6507/08;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10490;282;12024;12:18;282;1901214010;0.59;1.00;433091;433091;Schraub-Niet 6519/20;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10421;82;6186;12:15;82;1900948010;0.59;1.19;433061;433061;2. Duoanlage 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10420;79;5122;12:14;79;1900947010;0.59;1.19;421010;421010;800 to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10411;187;1941;12:18;187;1901213010;0.30;1.73;433078;433078;Duo 6600;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10410;186;1927;12:18;186;1901213010;0.59;1.73;421010;421010;800 to Helmerding;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10400;1276;95262;12:05;1276;1900562020;1.19;0.00;450051;450051;Montage 6290;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10390;860;5072;12:20;860;1900949020;1.78;2.33;461002;461002;Laser 4 6603/04;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10380;743;75593;12:11;743;1900560010;1.78;3.75;450050;450050;6290;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10370;151;90833;12:15;151;1901419010;0.59;7.50;461001;461001;Laserschw. 6259/60;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10341;169;12507;12:19;169;1900948010;0.59;1.19;433076;433076;Duo 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10340;166;12934;12:17;166;1900947010;1.19;1.19;433075;433075;Duo 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10320;1;7231;12:13;1;1901470010;Produktwechsel;1.00;433092;433092;Kleb-Nietanlage6763/64;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10310;37;5999;07:33;37;1900504010;0.59;0.73;442029;442029;H-Wender;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10300;90;790;12:19;90;1901512010;0.34;0.00;450030;450030;Sonderanl. Opel;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10291;359;6891;12:15;359;1900786010;0.58;1.38;433041;433041;Duo 6596/97/98/99;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10290;354;5693;12:15;354;1900785010;0.59;1.38;433040;433040;Duo 6596/97/98/99;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10280;680;1611;12:19;662;1901807010;0.90;2.81;450045;450045;Opel-Anlage;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10250;1687;24954;12:16;1687;1901353010;4.16;10.00;433032;433032;Drehteller gross;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10240;176;1103;12:20;176;1901458010;0.30;0.67;433095;433095;Neue Tunnelstrebe;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10230;139;1891;12:14;139;1900931010;0.59;0.96;442026;442026;Mercedes Magschweissen;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10220;686;63595;12:20;686;1900560010;2.38;3.75;450020;450020;6290 Passat;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10200;149;1118;09:38;149;1900565020;0.59;1.25;432120;432120;Mercedes Punkt-Schw.;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10160;5459;5399;12:20;5399;1901904010;8.96;86.00;421015;421015;MW 400 to;1;§
            javascript.0	2019-03-05 12:24:39.854	warn	10150;33283;71407;06:00;33225;1900727010;75.00;70.00;421024;421024;HR 160 to;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10140;25993;120507;05:50;25879;1900277010;66.67;60.00;421022;421022;Kaiser 250 to;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10130;399;291;09:24;291;1901890010;17.23;0;421011;421011;Raster 630 to;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	10120;3915;7697;12:15;3788;1900887010;8.11;19.00;421012;421012;MW 630 to;0;§
            javascript.0	2019-03-05 12:24:39.854	warn	script.js.common.HMT.Zemo-in-Objekte: 10110;5545;6004;12:20;5414;1901083010;8.70;21.00;421014;421014;MW 450 to;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10820;1446;2055;12:19;1446;1901740010;0.50;7.92;433031;433031;Schneideranlage 5772/B;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10800;808;20111;12:19;808;1901462010;2.20;3.79;432003;432003;Mutternschw. Luise;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10580;1490;82191;12:20;1490;1901254010;0.48;7.50;461007;461007;Laser 7 6259/60;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10560;9862;21203;12:20;9738;1901041010;46.15;30.00;421010;421010;800 to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10540;6038;16712;02:41;5969;1900472010;31.58;20.00;421000;421000;1000to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10500;379;32568;12:18;379;1900618010;0.59;1.35;433090;433090;Kleb-Nietanlage6507/08;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10490;282;12024;12:18;282;1901214010;0.59;1.00;433091;433091;Schraub-Niet 6519/20;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10421;82;6186;12:15;82;1900948010;0.59;1.19;433061;433061;2. Duoanlage 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10420;79;5122;12:14;79;1900947010;0.59;1.19;421010;421010;800 to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10411;187;1941;12:18;187;1901213010;0.30;1.73;433078;433078;Duo 6600;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10410;186;1927;12:18;186;1901213010;0.59;1.73;421010;421010;800 to Helmerding;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10400;1276;95262;12:05;1276;1900562020;1.19;0.00;450051;450051;Montage 6290;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10390;860;5072;12:20;860;1900949020;1.78;2.33;461002;461002;Laser 4 6603/04;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10380;743;75593;12:11;743;1900560010;1.78;3.75;450050;450050;6290;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10370;151;90833;12:15;151;1901419010;0.59;7.50;461001;461001;Laserschw. 6259/60;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10341;169;12507;12:19;169;1900948010;0.59;1.19;433076;433076;Duo 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10340;166;12934;12:17;166;1900947010;1.19;1.19;433075;433075;Duo 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10320;1;7231;12:13;1;1901470010;Produktwechsel;1.00;433092;433092;Kleb-Nietanlage6763/64;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10310;37;5999;07:33;37;1900504010;0.59;0.73;442029;442029;H-Wender;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10300;90;790;12:19;90;1901512010;0.34;0.00;450030;450030;Sonderanl. Opel;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10291;359;6891;12:15;359;1900786010;0.58;1.38;433041;433041;Duo 6596/97/98/99;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10290;354;5693;12:15;354;1900785010;0.59;1.38;433040;433040;Duo 6596/97/98/99;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10280;680;1611;12:19;662;1901807010;0.90;2.81;450045;450045;Opel-Anlage;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10250;1687;24954;12:16;1687;1901353010;4.16;10.00;433032;433032;Drehteller gross;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10240;176;1103;12:20;176;1901458010;0.30;0.67;433095;433095;Neue Tunnelstrebe;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10230;139;1891;12:14;139;1900931010;0.59;0.96;442026;442026;Mercedes Magschweissen;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10220;686;63595;12:20;686;1900560010;2.38;3.75;450020;450020;6290 Passat;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10200;149;1118;09:38;149;1900565020;0.59;1.25;432120;432120;Mercedes Punkt-Schw.;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10160;5459;5399;12:20;5399;1901904010;8.96;86.00;421015;421015;MW 400 to;1;§
            javascript.0	2019-03-05 12:24:39.852	warn	10150;33283;71407;06:00;33225;1900727010;75.00;70.00;421024;421024;HR 160 to;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10140;25993;120507;05:50;25879;1900277010;66.67;60.00;421022;421022;Kaiser 250 to;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10130;399;291;09:24;291;1901890010;17.23;0;421011;421011;Raster 630 to;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	10120;3915;7697;12:15;3788;1900887010;8.11;19.00;421012;421012;MW 630 to;0;§
            javascript.0	2019-03-05 12:24:39.852	warn	script.js.common.HMT.Zemo-in-Objekte: 10110;5545;6004;12:20;5414;1901083010;8.70;21.00;421014;421014;MW 450 to;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10820;1446;2055;12:19;1446;1901740010;0.50;7.92;433031;433031;Schneideranlage 5772/B;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10800;808;20111;12:19;808;1901462010;2.20;3.79;432003;432003;Mutternschw. Luise;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10580;1490;82191;12:20;1490;1901254010;0.48;7.50;461007;461007;Laser 7 6259/60;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10560;9862;21203;12:20;9738;1901041010;46.15;30.00;421010;421010;800 to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10540;6038;16712;02:41;5969;1900472010;31.58;20.00;421000;421000;1000to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10500;379;32568;12:18;379;1900618010;0.59;1.35;433090;433090;Kleb-Nietanlage6507/08;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10490;282;12024;12:18;282;1901214010;0.59;1.00;433091;433091;Schraub-Niet 6519/20;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10421;82;6186;12:15;82;1900948010;0.59;1.19;433061;433061;2. Duoanlage 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10420;79;5122;12:14;79;1900947010;0.59;1.19;421010;421010;800 to Helmerding;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10411;187;1941;12:18;187;1901213010;0.30;1.73;433078;433078;Duo 6600;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10410;186;1927;12:18;186;1901213010;0.59;1.73;421010;421010;800 to Helmerding;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10400;1276;95262;12:05;1276;1900562020;1.19;0.00;450051;450051;Montage 6290;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10390;860;5072;12:20;860;1900949020;1.78;2.33;461002;461002;Laser 4 6603/04;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10380;743;75593;12:11;743;1900560010;1.78;3.75;450050;450050;6290;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10370;151;90833;12:15;151;1901419010;0.59;7.50;461001;461001;Laserschw. 6259/60;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10341;169;12507;12:19;169;1900948010;0.59;1.19;433076;433076;Duo 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10340;166;12934;12:17;166;1900947010;1.19;1.19;433075;433075;Duo 6563/64;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10320;1;7231;12:13;1;1901470010;Produktwechsel;1.00;433092;433092;Kleb-Nietanlage6763/64;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10310;37;5999;07:33;37;1900504010;0.59;0.73;442029;442029;H-Wender;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10300;90;790;12:19;90;1901512010;0.34;0.00;450030;450030;Sonderanl. Opel;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10291;359;6891;12:15;359;1900786010;0.58;1.38;433041;433041;Duo 6596/97/98/99;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10290;354;5693;12:15;354;1900785010;0.59;1.38;433040;433040;Duo 6596/97/98/99;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10280;680;1611;12:19;662;1901807010;0.90;2.81;450045;450045;Opel-Anlage;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10250;1687;24954;12:16;1687;1901353010;4.16;10.00;433032;433032;Drehteller gross;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10240;176;1103;12:20;176;1901458010;0.30;0.67;433095;433095;Neue Tunnelstrebe;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10230;139;1891;12:14;139;1900931010;0.59;0.96;442026;442026;Mercedes Magschweissen;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10220;686;63595;12:20;686;1900560010;2.38;3.75;450020;450020;6290 Passat;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10200;149;1118;09:38;149;1900565020;0.59;1.25;432120;432120;Mercedes Punkt-Schw.;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10160;5459;5399;12:20;5399;1901904010;8.96;86.00;421015;421015;MW 400 to;1;§
            javascript.0	2019-03-05 12:24:39.849	warn	10150;33283;71407;06:00;33225;1900727010;75.00;70.00;421024;421024;HR 160 to;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10140;25993;120507;05:50;25879;1900277010;66.67;60.00;421022;421022;Kaiser 250 to;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10130;399;291;09:24;291;1901890010;17.23;0;421011;421011;Raster 630 to;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	10120;3915;7697;12:15;3788;1900887010;8.11;19.00;421012;421012;MW 630 to;0;§
            javascript.0	2019-03-05 12:24:39.849	warn	script.js.common.HMT.Zemo-in-Objekte: 10110;5545;6004;12:20;5414;1901083010;8.70;21.00;421014;421014;MW 450 to;1;§ 
            
            1 Reply Last reply Reply Quote 0
            • N
              Nobody28 last edited by

              ich würde das problem ja hier vermuten ==>

              javascript.0	2019-03-05 12:24:39.859	error	uncaught exception: Cannot read property 'split' of undefined
              
              foxriver76 1 Reply Last reply Reply Quote 0
              • foxriver76
                foxriver76 Developer @Nobody28 last edited by

                @Nobody28 Jop ist es mit Sicherheit auch, nur was ist denn Zeile 10 in deinem Skript , bzw. vor dem Einbau des Logging war es Zeile 11, ist es

                var Menge_1 = Zeile.split(';')[1]; ? Dann ist Zeile undefined in einer Iteration deiner for-Schleife. Ich würde auch input einlesen und parsen vor der for Schleife machen, sonst machst du das ja in jeder Iteration neu, was 'auf den ersten Blick' unnötig aussieht.

                1 Reply Last reply Reply Quote 0
                • N
                  Nobody28 last edited by

                  Hallo @foxriver, ich kann dir nicht ganz folgen. 😞

                  Hier ein Ausschnitt der CSV Datei:

                  10110;5795;6244;12:40;5654;1901083010;8.57;21.00;421014;421014;MW 450 to;1;§ 
                  10120;4039;7807;12:38;3898;1900887010;8.33;19.00;421012;421012;MW 630 to;0;§ 
                  10130;399;291;09:24;291;1901890010;17.23;0;421011;421011;Raster 630 to;0;§ 
                  10140;25993;120507;05:50;25879;1900277010;66.67;60.00;421022;421022;Kaiser 250 to;0;§ 
                  10150;33283;71407;06:00;33225;1900727010;75.00;70.00;421024;421024;HR 160 to;0;§ 
                  10160;5764;5699;12:38;5699;1901904010;22.22;86.00;421015;421015;MW 400 to;0;§ 
                  10200;149;1118;09:38;149;1900565020;0.59;1.25;432120;432120;Mercedes Punkt-Schw.;0;§ 
                  

                  Das "§" habe ich als Zeilen Trennzeichen eingebaut (Ich habe den "normalen" Zeilentrenner noch nciht finden können 😞 ) . Sprich ich trenne jeweils mit dem "§" Zeichen, und hole mir die 11 Werte dann mit ";" heraus. Das hat auch bis gestern Nachmittag ca. 14 Uhr wunderbar geklappt.

                  Ich hatte das Script ja mitlerweile ja schon soweit ==>

                  var parse = require('csv-parse');
                  console.log("Start: ==>");
                  for (var i = 0; i<50; i++)
                  {
                  var input = require('fs').readFileSync('/mnt/hmtw2k-d/ZEMO-MDE/Zemo-Anzeige/ioBroker/ioBroker-Zemo.csv').toString();
                  parse(input, {comment: '#'}, function(err, output){
                  var Zeile = input.split('§')[i];
                  console.log(Zeile);   
                  
                  var Terminialnr = Zeile.split(';')[0];
                  var Menge_1 = Zeile.split(';')[1];
                  var Menge_2 = Zeile.split(';')[2];
                  var Zeit = Zeile.split(';')[3];
                  var Menge_Total = Zeile.split(';')[4];
                  var Auftragsnummer = Zeile.split(';')[5];
                  var HubIst = Zeile.split(';')[6];
                  var HubSoll = Zeile.split(';')[7];
                  var Kostenstelle = Zeile.split(';')[8];
                  var Maschinennr = Zeile.split(';')[9];
                  var Maschinenname = Zeile.split(';')[10];
                  var HubStatus = Zeile.split(';')[11];
                  
                  createState('Zemo.'+Terminialnr+'.'+'Terminialnr', {name: 'Terminialnr', type: 'number', role: 'value', });
                  createState('Zemo.'+Terminialnr+'.'+'Menge_1', {name: 'Menge_1', desc: 'Menge_1', type: 'number', role: 'value', states: Menge_1,});
                  createState('Zemo.'+Terminialnr+'.'+'Menge_2', {name: 'Menge_2', desc: 'Menge_2', type: 'number', role: 'value', states: Menge_2,});
                  createState('Zemo.'+Terminialnr+'.'+'Zeit', {name: 'Zeit', desc: 'Zeit', type: 'number', role: 'value', states: Zeit,});
                  createState('Zemo.'+Terminialnr+'.'+'Menge_Total', {name: 'Menge_Total', desc: 'Menge_Total', type: 'number', role: 'value', states: Menge_Total,});
                  createState('Zemo.'+Terminialnr+'.'+'Auftragsnummer', {name: 'Auftragsnummer', desc: 'Auftragsnummer', type: 'number', role: 'value', states: Auftragsnummer,});
                  createState('Zemo.'+Terminialnr+'.'+'HubIst', {name: 'HubIst', desc: 'HubIst', type: 'number', role: 'value', states: HubIst,});
                  createState('Zemo.'+Terminialnr+'.'+'HubSoll', {name: 'HubSoll', desc: 'HubSoll', type: 'number', role: 'value', states: HubSoll,});
                  createState('Zemo.'+Terminialnr+'.'+'Kostenstelle', {name: 'Kostenstelle', desc: 'Kostenstelle', type: 'number', role: 'value', states: Kostenstelle,});
                  createState('Zemo.'+Terminialnr+'.'+'Maschinennr', {name: 'Maschinennr', desc: 'Maschinennr', type: 'number', role: 'value', states: Maschinennr,});
                  createState('Zemo.'+Terminialnr+'.'+'Maschinenname', {name: 'Maschinenname', desc: 'Maschinenname', type: 'number', role: 'value', states: Maschinenname,});
                  createState('Zemo.'+Terminialnr+'.'+'HubStatus', {name: 'HubStatus', desc: 'HubStatus', type: 'number', role: 'value', states: HubStatus,});
                  
                  setState('Zemo.'+Terminialnr+'.'+'Terminialnr',Terminialnr);
                  setState('Zemo.'+Terminialnr+'.'+'Menge_1',Menge_1);
                  setState('Zemo.'+Terminialnr+'.'+'Menge_2',Menge_2);
                  setState('Zemo.'+Terminialnr+'.'+'Zeit',Zeit);
                  setState('Zemo.'+Terminialnr+'.'+'Menge_Total',Menge_Total);
                  setState('Zemo.'+Terminialnr+'.'+'Auftragsnummer',Auftragsnummer);
                  setState('Zemo.'+Terminialnr+'.'+'HubIst',HubIst);
                  setState('Zemo.'+Terminialnr+'.'+'HubSoll',HubSoll);
                  setState('Zemo.'+Terminialnr+'.'+'Kostenstelle',Kostenstelle);
                  setState('Zemo.'+Terminialnr+'.'+'Maschinennr',Maschinennr);
                  setState('Zemo.'+Terminialnr+'.'+'Maschinenname',Maschinenname);
                  setState('Zemo.'+Terminialnr+'.'+'HubStatus',HubStatus);
                  });
                  };
                  

                  Bis das ganze dann plötzlich nicht mehr funktioniert hat, als das mit dem Update aus Post 1 begann..

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

                    @Nobody28 sagte in JavaScript startet nach update von CSV-parse nicht mehr:

                    javascript.0 2019-03-05 12:24:39.863 error at script.js.common.HMT.Zemo-in-Objekte:10:25

                    Also das Log ist so gütig und sagt einem in welcher Zeile des Skriptes der Fehler ist und in welchem Skript, siehe

                    javascript.0 2019-03-05 12:24:39.863 error at script.js.common.HMT.Zemo-in-Objekte:10:25

                    d. h. er ist in Zeile 10 des Skriptes, allerdings hattest du weiter oben mal ein Log gepostet, wo er in Zeile 11 war. So oder so scheint es daran zu liegen, dass die Variable Zeile wohl mal undefined ist. Was wiederum daran liegt, dass input.split('§')[i]; nichts zurück gibt.

                    Du benutzt ja parse eigentlich gar nicht in deinem Skript fällt mir gerade auf.
                    Probier mal das hier:

                    console.log("Start: ==>");
                    
                    const input = require('fs').readFileSync('/mnt/hmtw2k-d/ZEMO-MDE/Zemo-Anzeige/ioBroker/ioBroker-Zemo.csv').toString();
                    const Zeilen = input.split('§');
                    
                    for (const Zeile of Zeilen) {
                            
                        const Terminialnr = parseFloat(Zeile.split(';')[0]);
                    
                        if(!Terminialnr) continue;
                    
                        const Menge_1 = parseInt(Zeile.split(';')[1]);
                    
                        const Menge_2 = parseInt(Zeile.split(';')[2]);
                    
                        const Zeit = Zeile.split(';')[3];
                    
                        const Menge_Total = parseInt(Zeile.split(';')[4]);
                    
                        const Auftragsnummer = parseInt(Zeile.split(';')[5]);
                    
                        const HubIst = parseFloat(Zeile.split(';')[6]);
                    
                        const HubSoll = parseFloat(Zeile.split(';')[7]);
                    
                        const Kostenstelle = parseInt(Zeile.split(';')[8]);
                    
                        const Maschinennr = parseInt(Zeile.split(';')[9]);
                    
                        const Maschinenname = Zeile.split(';')[10];
                    
                        const HubStatus = parseInt(Zeile.split(';')[11]);
                    
                        createState('Zemo.'+Terminialnr+'.'+'Terminialnr', {name: 'Terminialnr', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Menge_1', {name: 'Menge_1', desc: 'Menge_1', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Menge_2', {name: 'Menge_2', desc: 'Menge_2', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Zeit', {name: 'Zeit', desc: 'Zeit', type: 'string', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Menge_Total', {name: 'Menge_Total', desc: 'Menge_Total', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Auftragsnummer', {name: 'Auftragsnummer', desc: 'Auftragsnummer', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'HubIst', {name: 'HubIst', desc: 'HubIst', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'HubSoll', {name: 'HubSoll', desc: 'HubSoll', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Kostenstelle', {name: 'Kostenstelle', desc: 'Kostenstelle', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Maschinennr', {name: 'Maschinennr', desc: 'Maschinennr', type: 'number', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'Maschinenname', {name: 'Maschinenname', desc: 'Maschinenname', type: 'string', role: 'value'});
                        createState('Zemo.'+Terminialnr+'.'+'HubStatus', {name: 'HubStatus', desc: 'HubStatus', type: 'number', role: 'value'} ,() => {
                        
                            setState('Zemo.'+Terminialnr+'.'+'Terminialnr',Terminialnr, true);
                            setState('Zemo.'+Terminialnr+'.'+'Menge_1',Menge_1, true);
                            setState('Zemo.'+Terminialnr+'.'+'Menge_2',Menge_2, true);
                            setState('Zemo.'+Terminialnr+'.'+'Zeit',Zeit, true);
                            setState('Zemo.'+Terminialnr+'.'+'Menge_Total',Menge_Total, true);
                            setState('Zemo.'+Terminialnr+'.'+'Auftragsnummer',Auftragsnummer, true);
                            setState('Zemo.'+Terminialnr+'.'+'HubIst',HubIst, true);
                            setState('Zemo.'+Terminialnr+'.'+'HubSoll',HubSoll, true);
                            setState('Zemo.'+Terminialnr+'.'+'Kostenstelle',Kostenstelle, true);
                            setState('Zemo.'+Terminialnr+'.'+'Maschinennr',Maschinennr, true);
                            setState('Zemo.'+Terminialnr+'.'+'Maschinenname',Maschinenname, true);
                            setState('Zemo.'+Terminialnr+'.'+'HubStatus',HubStatus, true);
                        });
                    }
                    
                    1 Reply Last reply Reply Quote 0
                    • N
                      Nobody28 last edited by

                      Hey, super !!!

                      Danke @foxriver76 🙂

                      Das läuft. Und auch kein Leereintrag.

                      Wenn Du mir jetzt noch sagen kannst, wir ich das im 5 Minutentakt hinbbekomme, und als Zeilenende "CRLF" benutzen kann anstatt das blöde "§", dann kann das auch raus.

                      foxriver76 1 Reply Last reply Reply Quote 0
                      • foxriver76
                        foxriver76 Developer @Nobody28 last edited by

                        @Nobody28

                        schedule('*/5 * * * *', () => {
                            console.log("Start: ==>");
                            const input = require('fs').readFileSync('/mnt/hmtw2k-d/ZEMO-MDE/Zemo-Anzeige/ioBroker/ioBroker-Zemo.csv').toString();
                            const Zeilen = input.split('\n');
                            
                            for (const Zeile of Zeilen) {
                                    
                                const Terminialnr = parseFloat(Zeile.split(';')[0]);
                        
                                if(!Terminialnr) continue;
                        
                                const Menge_1 = parseInt(Zeile.split(';')[1]);
                        
                                const Menge_2 = parseInt(Zeile.split(';')[2]);
                        
                                const Zeit = Zeile.split(';')[3];
                        
                                const Menge_Total = parseInt(Zeile.split(';')[4]);
                        
                                const Auftragsnummer = parseInt(Zeile.split(';')[5]);
                        
                                const HubIst = parseFloat(Zeile.split(';')[6]);
                        
                                const HubSoll = parseFloat(Zeile.split(';')[7]);
                        
                                const Kostenstelle = parseInt(Zeile.split(';')[8]);
                        
                                const Maschinennr = parseInt(Zeile.split(';')[9]);
                        
                                const Maschinenname = Zeile.split(';')[10];
                        
                                const HubStatus = parseInt(Zeile.split(';')[11]);
                        
                                createState('Zemo.'+Terminialnr+'.'+'Terminialnr', {name: 'Terminialnr', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Menge_1', {name: 'Menge_1', desc: 'Menge_1', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Menge_2', {name: 'Menge_2', desc: 'Menge_2', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Zeit', {name: 'Zeit', desc: 'Zeit', type: 'string', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Menge_Total', {name: 'Menge_Total', desc: 'Menge_Total', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Auftragsnummer', {name: 'Auftragsnummer', desc: 'Auftragsnummer', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'HubIst', {name: 'HubIst', desc: 'HubIst', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'HubSoll', {name: 'HubSoll', desc: 'HubSoll', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Kostenstelle', {name: 'Kostenstelle', desc: 'Kostenstelle', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Maschinennr', {name: 'Maschinennr', desc: 'Maschinennr', type: 'number', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'Maschinenname', {name: 'Maschinenname', desc: 'Maschinenname', type: 'string', role: 'value'});
                                createState('Zemo.'+Terminialnr+'.'+'HubStatus', {name: 'HubStatus', desc: 'HubStatus', type: 'number', role: 'value'} ,() => {
                                
                                    setState('Zemo.'+Terminialnr+'.'+'Terminialnr',Terminialnr, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Menge_1',Menge_1, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Menge_2',Menge_2, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Zeit',Zeit, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Menge_Total',Menge_Total, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Auftragsnummer',Auftragsnummer, true);
                                    setState('Zemo.'+Terminialnr+'.'+'HubIst',HubIst, true);
                                    setState('Zemo.'+Terminialnr+'.'+'HubSoll',HubSoll, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Kostenstelle',Kostenstelle, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Maschinennr',Maschinennr, true);
                                    setState('Zemo.'+Terminialnr+'.'+'Maschinenname',Maschinenname, true);
                                    setState('Zemo.'+Terminialnr+'.'+'HubStatus',HubStatus, true);
                                });
                            }
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • N
                          Nobody28 last edited by

                          Das mit dem Zeilenende klappt priema...danke dafür 🙂

                          Sprich das "§" ist schon raus...

                          Wo kann ich sehen, dass das schedule funtkioniert?!

                          Ich hätte jetzt im 5 Minutentakt einen Logeintrag erwartet.

                          Ist da evtl. noch etwas falsch? Evtl. ein ";" in Zeile 60? Bin da noch nciht so vertraut.

                          Danke für Deine Hilfe

                          1 Reply Last reply Reply Quote 0
                          • N
                            Nobody28 last edited by

                            Was bedeutet denn das "=>" in Zeile 1?

                            foxriver76 AlCalzone 2 Replies Last reply Reply Quote 0
                            • foxriver76
                              foxriver76 Developer @Nobody28 last edited by

                              @Nobody28 () => ist eine callback Funktion wie bei deinem parse damals function(err, output)
                              Und ja es sollte alle 5 Minuten deine Start: Meldung geloggt werden

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

                                @Nobody28
                                https://codeburst.io/javascript-arrow-functions-for-beginners-926947fc0cdc

                                1 Reply Last reply Reply Quote 0
                                • N
                                  Nobody28 last edited by

                                  Leider klappt dass dann doch noch nciht 😞

                                  Ich habe die angelegte Struktur "Zemo" mal gelöscht, da diese ja eigentlich neuangelegt werden müsste.

                                  Nun wird aber nur der erste Eintrag erzeugt. Im Logfile steht dann das ==>

                                  javascript.0	2019-03-05 14:48:01.427	info	script.js.common.HMT.Zemo-CSV-in-Objekte: registered 0 subscriptions and 0 schedules
                                  javascript.0	2019-03-05 14:48:01.423	info	script.js.common.HMT.Zemo-CSV-in-Objekte: Start: ==>
                                  javascript.0	2019-03-05 14:48:01.422	info	Start javascript script.js.common.HMT.Zemo-CSV-in-Objekte
                                  javascript.0	2019-03-05 14:47:44.484	info	Stop script script.js.common.HMT.Zemo-in-Objekte
                                  javascript.0	2019-03-05 14:47:43.209	info	Stop script script.js.common.HMT.Zemo-CSV-in-Objekte
                                  

                                  Nur Zur Sicherheit hier das Script ==>

                                  schedule('*/5 * * * *', () => {
                                      console.log("Start: ==>");
                                      const input = require('fs').readFileSync('/mnt/hmtw2k-d/ZEMO-MDE/Zemo-Anzeige/ioBroker/ioBroker-Zemo.csv').toString();
                                      const Zeilen = input.split('\r\n');
                                      for (const Zeile of Zeilen) {
                                          const Terminialnr = parseFloat(Zeile.split(';')[0]);
                                          if(!Terminialnr) continue;
                                          const Menge_1 = parseInt(Zeile.split(';')[1]);
                                          const Menge_2 = parseInt(Zeile.split(';')[2]);
                                          const Zeit = Zeile.split(';')[3];
                                          const Menge_Total = parseInt(Zeile.split(';')[4]);
                                          const Auftragsnummer = parseInt(Zeile.split(';')[5]);
                                          const HubIst = parseFloat(Zeile.split(';')[6]);
                                          const HubSoll = parseFloat(Zeile.split(';')[7]);
                                          const Kostenstelle = parseInt(Zeile.split(';')[8]);
                                          const Maschinennr = parseInt(Zeile.split(';')[9]);
                                          const Maschinenname = Zeile.split(';')[10];
                                          const HubStatus = parseInt(Zeile.split(';')[11]);
                                          createState('Zemo.'+Terminialnr+'.'+'Terminialnr', {name: 'Terminialnr', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Menge_1', {name: 'Menge_1', desc: 'Menge_1', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Menge_2', {name: 'Menge_2', desc: 'Menge_2', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Zeit', {name: 'Zeit', desc: 'Zeit', type: 'string', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Menge_Total', {name: 'Menge_Total', desc: 'Menge_Total', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Auftragsnummer', {name: 'Auftragsnummer', desc: 'Auftragsnummer', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'HubIst', {name: 'HubIst', desc: 'HubIst', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'HubSoll', {name: 'HubSoll', desc: 'HubSoll', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Kostenstelle', {name: 'Kostenstelle', desc: 'Kostenstelle', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Maschinennr', {name: 'Maschinennr', desc: 'Maschinennr', type: 'number', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'Maschinenname', {name: 'Maschinenname', desc: 'Maschinenname', type: 'string', role: 'value'});
                                          createState('Zemo.'+Terminialnr+'.'+'HubStatus', {name: 'HubStatus', desc: 'HubStatus', type: 'number', role: 'value'} ,() => {
                                              setState('Zemo.'+Terminialnr+'.'+'Terminialnr',Terminialnr, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Menge_1',Menge_1, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Menge_2',Menge_2, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Zeit',Zeit, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Menge_Total',Menge_Total, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Auftragsnummer',Auftragsnummer, true);
                                              setState('Zemo.'+Terminialnr+'.'+'HubIst',HubIst, true);
                                              setState('Zemo.'+Terminialnr+'.'+'HubSoll',HubSoll, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Kostenstelle',Kostenstelle, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Maschinennr',Maschinennr, true);
                                              setState('Zemo.'+Terminialnr+'.'+'Maschinenname',Maschinenname, true);
                                              setState('Zemo.'+Terminialnr+'.'+'HubStatus',HubStatus, true);
                                          });
                                      }
                                  });
                                  

                                  Und hier ein Teil der Datei ==>

                                  10110;470;7634;14:31;461;1901083010;20.00;21.00;421014;421014;MW 450 to;0; 
                                  10120;395;8807;14:40;380;1900887010;8.22;19.00;421012;421012;MW 630 to;1; 
                                  10130;507;476;14:39;476;1900694010;14.85;0;421011;421011;Raster 630 to;0; 
                                  10140;1155;121660;14:40;1144;1900277010;75.00;60.00;421022;421022;Kaiser 250 to;0; 
                                  10150;1990;73393;14:32;1984;1900727010;75.00;70.00;421024;421024;HR 160 to;0; 
                                  10160;431;7429;14:27;422;1901904010;22.22;86.00;421015;421015;MW 400 to;0; 
                                  10200;149;1118;09:38;149;1900565020;0.59;1.25;432120;432120;Mercedes Punkt-Schw.;0; 
                                  10220;64;63897;14:27;64;1900560010;1.28;3.75;450020;450020;6290 Passat;0; 
                                  

                                  Es wird also nur der Ordner 10110 angelegt, aber keine Objekte darin.

                                  Evtl. findet noch jemand einen Fehler?!

                                  Danke für Eure Unterstützung

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

                                    @Nobody28 sagte in JavaScript startet nach update von CSV-parse nicht mehr:

                                    javascript.0 2019-03-05 14:48:01.427 info script.js.common.HMT.Zemo-CSV-in-Objekte: registered 0 subscriptions and 0 schedules

                                    Laut dem Log registriert er kein schedule. Füge ich das Skript bei mir 1:1 so ein, registriert er ein schedule.

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

                                      Zeig mal ein Screen vom eingefügten Skript im Editor, kann mir das Problem nicht vorstellen.

                                      foxriver76 1 Reply Last reply Reply Quote 0
                                      • foxriver76
                                        foxriver76 Developer @foxriver76 last edited by foxriver76

                                        @Nobody28 Außerdem habe ich dir geschrieben:

                                        const Zeilen = input.split('\n');

                                        du hast es abgeändert in

                                        const Zeilen = input.split('\r\n');

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          Nobody28 last edited by

                                          Oh man...Asche auf mein Haupt ;(

                                          Habe das fälschlicherweise in ein anderes Sript eingefügt und nicht bemerkt...

                                          Schedule scheint es jetzt zu geben ==>

                                          javascript.0	2019-03-05 15:06:18.564	info	script.js.common.HMT.Zemo-CSV-in-Objekte: registered 0 subscriptions and 1 schedule
                                          

                                          Sorry nochmal dafür... manchmal sieht man den Wald vor lauter Bäumen nicht 🙂

                                          die Splitzeile habe ich auch wieder zurückgeändert...aber es werden keine Objekte erzeugt!

                                          foxriver76 1 Reply Last reply Reply Quote 0
                                          • N
                                            Nobody28 last edited by

                                            Mmmmhhh...

                                            verstehe ich gerade noch nicht... wenn ich das manuel ausführe macht er nichts...

                                            kann es sein, dass ich immer auf die vollen 5 Minuten warten muss, damit das Script auch läuft?!
                                            Dann war es unwissenheit und ungeduld von mit... das bitte ich dann zu entschuldigen.

                                            1 Reply Last reply Reply Quote 0
                                            • foxriver76
                                              foxriver76 Developer @Nobody28 last edited by

                                              @Nobody28 sagte in JavaScript startet nach update von CSV-parse nicht mehr:

                                              Oh man...Asche auf mein Haupt ;(

                                              Habe das fälschlicherweise in ein anderes Sript eingefügt und nicht bemerkt...

                                              Schedule scheint es jetzt zu geben ==>

                                              javascript.0	2019-03-05 15:06:18.564	info	script.js.common.HMT.Zemo-CSV-in-Objekte: registered 0 subscriptions and 1 schedule
                                              

                                              Sorry nochmal dafür... manchmal sieht man den Wald vor lauter Bäumen nicht 🙂

                                              die Splitzeile habe ich auch wieder zurückgeändert...aber es werden keine Objekte erzeugt!

                                              Das Skript läuft nicht beim Start sondern alle 5 Minuten, sprich 15:15 --> 15:20 --> 15:25 ... vermutlich wurde deshalb noch nichts erzeugt.

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

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              913
                                              Online

                                              31.8k
                                              Users

                                              80.0k
                                              Topics

                                              1.3m
                                              Posts

                                              csv-parse javasript update
                                              4
                                              41
                                              1799
                                              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