Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. JavaScript startet nach update von CSV-parse nicht mehr

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    895

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

JavaScript startet nach update von CSV-parse nicht mehr

Geplant Angeheftet Gesperrt Verschoben Gelöst Error/Bug
csv-parse javasript update
41 Beiträge 4 Kommentatoren 2.6k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N Offline
    N Offline
    Nobody28
    schrieb am zuletzt editiert von
    #18

    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
    
    foxriver76F 1 Antwort Letzte Antwort
    0
    • N Nobody28

      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
      
      foxriver76F Offline
      foxriver76F Offline
      foxriver76
      Developer
      schrieb am zuletzt editiert von
      #19

      @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.

      Videotutorials & mehr

      Hier könnt ihr mich unterstützen.

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        Nobody28
        schrieb am zuletzt editiert von
        #20

        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 Antwort Letzte Antwort
        0
        • foxriver76F Offline
          foxriver76F Offline
          foxriver76
          Developer
          schrieb am zuletzt editiert von
          #21

          @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);
              });
          }
          

          Videotutorials & mehr

          Hier könnt ihr mich unterstützen.

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            Nobody28
            schrieb am zuletzt editiert von
            #22

            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.

            foxriver76F 1 Antwort Letzte Antwort
            0
            • N Nobody28

              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.

              foxriver76F Offline
              foxriver76F Offline
              foxriver76
              Developer
              schrieb am zuletzt editiert von
              #23

              @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);
                      });
                  }
              });
              

              Videotutorials & mehr

              Hier könnt ihr mich unterstützen.

              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                Nobody28
                schrieb am zuletzt editiert von
                #24

                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 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  Nobody28
                  schrieb am zuletzt editiert von
                  #25

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

                  foxriver76F AlCalzoneA 2 Antworten Letzte Antwort
                  0
                  • N Nobody28

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

                    foxriver76F Offline
                    foxriver76F Offline
                    foxriver76
                    Developer
                    schrieb am zuletzt editiert von
                    #26

                    @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

                    Videotutorials & mehr

                    Hier könnt ihr mich unterstützen.

                    1 Antwort Letzte Antwort
                    0
                    • N Nobody28

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

                      AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      schrieb am zuletzt editiert von
                      #27

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

                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                      1 Antwort Letzte Antwort
                      0
                      • N Offline
                        N Offline
                        Nobody28
                        schrieb am zuletzt editiert von
                        #28

                        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 Antwort Letzte Antwort
                        0
                        • foxriver76F Offline
                          foxriver76F Offline
                          foxriver76
                          Developer
                          schrieb am zuletzt editiert von
                          #29

                          @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.

                          Videotutorials & mehr

                          Hier könnt ihr mich unterstützen.

                          1 Antwort Letzte Antwort
                          0
                          • foxriver76F Offline
                            foxriver76F Offline
                            foxriver76
                            Developer
                            schrieb am zuletzt editiert von
                            #30

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

                            Videotutorials & mehr

                            Hier könnt ihr mich unterstützen.

                            foxriver76F 1 Antwort Letzte Antwort
                            0
                            • foxriver76F foxriver76

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

                              foxriver76F Offline
                              foxriver76F Offline
                              foxriver76
                              Developer
                              schrieb am zuletzt editiert von foxriver76
                              #31

                              @Nobody28 Außerdem habe ich dir geschrieben:

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

                              du hast es abgeändert in

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

                              Videotutorials & mehr

                              Hier könnt ihr mich unterstützen.

                              1 Antwort Letzte Antwort
                              0
                              • N Offline
                                N Offline
                                Nobody28
                                schrieb am zuletzt editiert von
                                #32

                                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!

                                foxriver76F 1 Antwort Letzte Antwort
                                0
                                • N Offline
                                  N Offline
                                  Nobody28
                                  schrieb am zuletzt editiert von
                                  #33

                                  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 Antwort Letzte Antwort
                                  0
                                  • N Nobody28

                                    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!

                                    foxriver76F Offline
                                    foxriver76F Offline
                                    foxriver76
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #34

                                    @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.

                                    Videotutorials & mehr

                                    Hier könnt ihr mich unterstützen.

                                    1 Antwort Letzte Antwort
                                    0
                                    • N Offline
                                      N Offline
                                      Nobody28
                                      schrieb am zuletzt editiert von
                                      #35

                                      Super...vielen vielen Dank :)
                                      Du bist mein Held...

                                      javascript.0	2019-03-05 15:20:00.010	info	script.js.common.HMT.Zemo-CSV-in-Objekte: Start: ==>
                                      javascript.0	2019-03-05 15:15:00.004	info	script.js.common.HMT.Zemo-CSV-in-Objekte: Start: ==>
                                      

                                      Der vollständigkeithalber, falls es damit auch jemand anderem hilft, hier das derzeitige 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('\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);
                                              });
                                          }
                                      });
                                      

                                      Nun kann es weitergehen !!!

                                      Danke... Danke... Danke

                                      foxriver76F 1 Antwort Letzte Antwort
                                      0
                                      • N Nobody28

                                        Super...vielen vielen Dank :)
                                        Du bist mein Held...

                                        javascript.0	2019-03-05 15:20:00.010	info	script.js.common.HMT.Zemo-CSV-in-Objekte: Start: ==>
                                        javascript.0	2019-03-05 15:15:00.004	info	script.js.common.HMT.Zemo-CSV-in-Objekte: Start: ==>
                                        

                                        Der vollständigkeithalber, falls es damit auch jemand anderem hilft, hier das derzeitige 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('\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);
                                                });
                                            }
                                        });
                                        

                                        Nun kann es weitergehen !!!

                                        Danke... Danke... Danke

                                        foxriver76F Offline
                                        foxriver76F Offline
                                        foxriver76
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #36

                                        @Nobody28 Top, gerne.

                                        Videotutorials & mehr

                                        Hier könnt ihr mich unterstützen.

                                        1 Antwort Letzte Antwort
                                        0
                                        • N Offline
                                          N Offline
                                          Nobody28
                                          schrieb am zuletzt editiert von
                                          #37

                                          Baue mir gerade noch das Ende Signal fürs Log ein :)

                                          Dann kann ich die Laufzeit besser erfassen und kann auch besser feststellen, wenn das Script ggf. mal nciht zuende läuft.

                                          Danke :)

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          342

                                          Online

                                          32.6k

                                          Benutzer

                                          82.1k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe