NEWS
SOLVED JavaScript startet nach update von CSV-parse nicht mehr
-
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); }); } });
-
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
-
Was bedeutet denn das "=>" in Zeile 1?
-
@Nobody28 () => ist eine callback Funktion wie bei deinem parse damals function(err, output)
Und ja es sollte alle 5 Minuten deineStart:
Meldung geloggt werden -
-
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
-
@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.
-
Zeig mal ein Screen vom eingefügten Skript im Editor, kann mir das Problem nicht vorstellen.
-
@Nobody28 Außerdem habe ich dir geschrieben:
const Zeilen = input.split('\n');
du hast es abgeändert in
const Zeilen = input.split('\r\n');
-
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!
-
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. -
@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.
-
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
-
@Nobody28 Top, gerne.
-
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
-
@foxriver76 und nattürlich die anderen, ich hatte da mal noch ein Problem
Das ist das derzeitige Script ==>
schedule('*/5 * * * *', () => { var hist = { "history.0": { "enabled": true, "changesOnly": true, "debounce": 10000, "maxLength": 360, "retention": 31536000 } }; console.log("Start ZEMO Daten import alle 5 Minuten ==>"); 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]); const StatusAktuell = Zeile.split(';')[12]; createState('Zemo.'+Terminialnr+'.'+'Terminialnr', {name: 'Terminialnummer', 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: 'Hub Ist', desc: 'Hub Ist', type: 'number', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'HubSoll', {name: 'Hub Soll', desc: 'Hub Soll', type: 'number', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'Kostenstelle', {name: 'Kostenstelle', desc: 'Kostenstelle', type: 'number', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'Maschinennr', {name: 'Maschinennummer', desc: 'Maschinennummer', 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: 'string', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'StatusAktuell', {name: 'Status Aktuell', desc: 'Status Aktuell', 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); setState('Zemo.'+Terminialnr+'.'+'StatusAktuell',StatusAktuell, true); }); } console.log("<== Ende ZEMO Daten import"); });
Ich bekomme dezeit nach einfügen der Zeilen 28, und 54 den folgenden Fehler ==>
09:48:00.009 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: Start ZEMO Daten import alle 5 Minuten ==> 09:48:00.009 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: <== Ende ZEMO Daten import 09:48:00.114 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.115 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10110 Produktion 09:48:00.115 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.116 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10120 Produktion 09:48:00.116 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.117 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10130 Ruesten 09:48:00.117 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.118 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10140 Werkzeug Reparatur 09:48:00.119 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.119 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10150 Ruesten 09:48:00.119 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.120 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10160 Reinigung 09:48:00.120 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.121 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10200 Unbegründet 09:48:00.121 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.122 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10220 Materialhandling 09:48:00.122 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.123 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10230 Produktion 09:48:00.123 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.124 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10240 Produktion 09:48:00.124 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.125 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10250 Qualitaetssicherung 09:48:00.125 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.126 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10280 Ruhe 09:48:00.126 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.130 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10290 Produktion 09:48:00.130 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.130 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10291 Produktion 09:48:00.130 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.131 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10300 Produktion 09:48:00.131 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.131 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10310 Ruhe 09:48:00.132 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.132 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10320 Produktion 09:48:00.132 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.133 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10340 Produktion 09:48:00.133 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.133 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10341 Produktion 09:48:00.134 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.134 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10370 MaStoer Laseranlage 09:48:00.134 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.135 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10380 Produktion 09:48:00.135 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.135 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10390 Produktion 09:48:00.135 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.136 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10400 Produktion 09:48:00.136 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.136 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10410 Ruhe 09:48:00.136 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.137 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10411 Ruhe 09:48:00.137 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.138 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10420 Unbegründet 09:48:00.138 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.138 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10421 Werkzeugstoerung 09:48:00.139 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.139 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10490 Produktion 09:48:00.139 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.139 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10500 Materialhandling 09:48:00.140 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.140 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10540 Werkzeug Reparatur 09:48:00.140 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.140 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10560 Behaelterwechsel 09:48:00.140 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.141 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10570 Produktion 09:48:00.141 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.142 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10580 Produktion 09:48:00.142 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.143 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10800 Produktion 09:48:00.143 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.143 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10810 Produktion 09:48:00.143 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:48:00.147 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: StatusAktuell 10820 Produktion 09:48:53.325 info javascript.0 Stop script script.js.common.HMT.Zemo-CSV-in-Objekte 09:48:53.333 info javascript.0 Start javascript script.js.common.HMT.Zemo-CSV-in-Objekte 09:48:53.333 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: registered 0 subscriptions and 1 schedule 09:50:00.032 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: Start ZEMO Daten import alle 5 Minuten ==> 09:50:00.032 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: <== Ende ZEMO Daten import 09:50:00.052 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.052 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.053 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.054 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.054 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.126 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.127 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.128 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.129 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.129 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.130 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.131 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.132 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.133 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.134 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.135 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.136 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.136 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.137 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13) 09:50:00.144 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:54:13)
Mein Verdacht sind die Leerzeichen im 12 Token!!!
Hier ein Ausschnitt der erweiterten Datei ==>
10110;3862;25444;09:50;3817;1901083010;8.70;21.00;421014;421014;MW 450 to;1;Produktion; 10120;3057;23147;09:49;3006;1900887010;8.11;19.00;421012;421012;MW 630 to;0;WKZStoerung eigenRep; 10130;2431;6463;00:06;2405;1900694010;18.46;37.00;421011;421011;Raster 630 to;0;Ruesten ; 10140;7688;177936;08:01;7667;1900277010;12.24;60.00;421022;421022;Kaiser 250 to;0;Werkzeug Reparatur ; 10150;8521;12896;09:27;8487;1901558010;46.15;45.00;421024;421024;HR 160 to;0;Ruesten ; 10160;15704;15538;08:49;15514;1901146010;6.52;36.00;421015;421015;MW 400 to;0;Ruesten ; 10200;153;1271;09:50;153;1900565020;0.59;1.25;432120;432120;Mercedes Punkt-Schw.;1;Produktion; 10220;247;66500;09:36;247;1900560010;1.78;3.75;450020;450020;6290 Passat;0;Materialhandling ; 10230;128;2584;09:50;128;1900931010;0.59;0.96;442026;442026;Mercedes Magschweissen;1;Produktion;
Bei Rüsten sind die Leerzeichen gut zu sehen. Der Text kommt in der Regel immer mit einer Länge von 20 Zeichen. Da war das derzeit nciht der Fall ist, wie bei Produktion, kann ich das ggf. manuell einbauen.
Aber vielleicht gibt es eine einfache Lösung?!
Erwähnt sei noch, dass die Variable "hist" schon als vorbereitung für die aktivierung von Historydaten für Hubist, HubSoll und Statusaktuell sein soll. Ich möchte aber erstmal die Fehlermeldungen wieder wegbekommen, bevor ich mich daran mache.
Ich sage schon mal danke.
-
@Nobody28 Status aktuell ist ja eine Zeichenkette und der State wurde mit type: number angelegt in Zeile 41, wenn du das durch String ersetzt und den entsprechenden State ein mal löschst sollte der Fehler verschwinden. Um Leerzeichen am rechten Ende weg zu machen, könntest du einfach in Zeile 28 eine trim Methode hinzufügen.
const StatusAktuell = Zeile.split(';')[12].trim();
siehe https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/Trim
beste Grüße
fox
-
Auf String hatte ich das schon gesetzt...deshalb blieben aus meiner leienhaften Sicht nur noch die Leerzeichen!
Das mit dem trim hat schon mal div. Meldungen elemeniert!!! Lieben Dank.Nun bleibt noch dieses ==>
07:24:27.109 info javascript.0 Stop script script.js.common.HMT.Zemo-CSV-in-Objekte 07:24:27.118 info javascript.0 Start javascript script.js.common.HMT.Zemo-CSV-in-Objekte 07:24:27.118 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: registered 0 subscriptions and 1 schedule 07:25:00.026 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: Start ZEMO Daten import alle 5 Minuten ==> 07:25:00.027 info javascript.0 script.js.common.HMT.Zemo-CSV-in-Objekte: <== Ende ZEMO Daten import 07:25:00.179 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.180 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.180 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.181 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.182 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.183 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.183 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.184 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.184 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.185 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.185 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.186 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.186 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.186 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.187 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.187 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.188 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.188 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.189 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.189 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:25:00.190 warn javascript.0 at Object.createState (script.js.common.HMT.Zemo-CSV-in-Objekte:152:13) 07:27:21.759 info javascript.0 Stop script script.js.common.HMT.Zemo-CSV-in-Objekte
Das Script sieht mittlerweile so aus ==>
schedule('*/5 * * * *', () => { console.log("Start ZEMO Daten import alle 5 Minuten ==>"); 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]); const StatusAktuell = Zeile.split(';')[12].trim(); const Artikelbezeichnung = Zeile.split(';')[13]; createState('Zemo.'+Terminialnr+'.'+'Terminialnr', {name: 'Terminialnummer', 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: 'Hub Ist', desc: 'Hub Ist', type: 'number', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'HubSoll', {name: 'Hub Soll', desc: 'Hub Soll', type: 'number', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'Kostenstelle', {name: 'Kostenstelle', desc: 'Kostenstelle', type: 'number', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'Maschinennr', {name: 'Maschinennummer', desc: 'Maschinennummer', 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: 'string', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'StatusAktuell', {name: 'StatusAktuell', desc: 'Status Aktuell', type: 'string', role: 'value'}); createState('Zemo.'+Terminialnr+'.'+'Artikelbezeichnung', {name: 'Artikelbezeichnung', desc: 'Artikelbezeichnung', type: 'string', role: 'value'} ,() => { setState('Zemo.'+Terminialnr+'.'+'Terminialnr',Terminialnr, true); setState('Zemo.'+Terminialnr+'.'+'Menge_1',Menge_1, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'Menge_1', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'Menge_2',Menge_2, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'Menge_2', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'Zeit',Zeit, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'Zeit', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'Menge_Total',Menge_Total, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'Menge_Total', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'Auftragsnummer',Auftragsnummer, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'Auftragsnummer', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'HubIst',HubIst, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'HubIst', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'HubSoll',HubSoll, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'HubSoll', options: { changesOnly: true, debounce: 10000, retention: 31536000, changesRelogInterval: 300000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'Kostenstelle',Kostenstelle, true); setState('Zemo.'+Terminialnr+'.'+'Maschinennr',Maschinennr, true); setState('Zemo.'+Terminialnr+'.'+'Maschinenname',Maschinenname, true); setState('Zemo.'+Terminialnr+'.'+'HubStatus',HubStatus, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'HubStatus', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'StatusAktuell',StatusAktuell, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'StatusAktuell', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); setState('Zemo.'+Terminialnr+'.'+'Artikelbezeichnung',Artikelbezeichnung, true); sendTo('history.0', 'enableHistory', { id: 'javascript.0.Zemo.'+Terminialnr+'.'+'Artikelbezeichnung', options: { changesOnly: true, debounce: 10000, retention: 31536000, maxLength: 360, } }, function (result) { if (result.error) { console.log(result.error); } }); }); } console.log("<== Ende ZEMO Daten import"); });
Den Status im History Adapter zu aktivieren lässt sich sicher eleganter lösen, aber hier fehlt mir noch das Wissen...
Aber jetzt die Frage:
Wenn ich Objekte lösche, wo Daten im History-Adapter sind, und das Script danach alle Objekte wieder anlegt, sind dann die Daten alle weg?! Oder wie wäre hier das bessere Vorgehen?! Auch, gibt es eine einfache Lösung wie ich die Objekte relativ einfach löschen kann?! Mehrere Markierungen funktionieren ja leider nicht.Evtl. sind dann die Fehlermeldungen aus dem Beginn dieses Posts erledigt
Danke das Du Dir die Mühe machst
Viele neue Möglichkeiten ergeben sich nun
-
@Nobody28 Würde es eher unter Objekte hinten auf dem Schraubenschlüssel aktivieren, da kann man dann auch ein Alias festlegen (zumindest bei SQL, bei History bin ich mir nicht sicher), dass über das Löschen des Objektes hinaus existiert. Ansonsten gehen die History Daten (glaube ich) verloren.
Objekte löschen, wenn es mal so umfangreich ist und nur bei bestimmten Kriterien, geht das per Skript, ansonsten kannst du auch einen Channel markieren und alles darunterliegende wird gelöscht.