Hallo, ich habe jetzt ioBroker komplett neu auf einem neuem System aufgesetzt.
Nachdem ich alle Adapter neu Installiert habe, bin ich nun dabei die Scripte zu kopieren.
Altes System JS Script Engine: 4.0.12
Neues System JS Script Engine 3.6.5
Hier das Script welches nicht funktioniert:
var idCal = "ical.0";
var idCalTrigger = idCal + ".data.trigger";
var idCalTable = idCal + ".data.table";
var idCalHTML = idCal + ".data.html";
var idCalHTMLtable = idCal + "_1.json";
createState('Schicht.Tanja', " ");
createState('Schicht.Torsten', " ");
//createState('Test.event1', " ");
//createState('Test.event2', " ");
//createState('Test.date1', " ");
//createState('Test.date2', " ");
//createState('Test.event', " ");
//createState('Test.date', " ");
createState('Test.zeit1', " ");
createState('Test.zeit2', " ");
function iCalToHTMLTable() {
var TanjaArbeiten = "";
var TorstenArbeiten ="";
var calTable = getState(idCalTable);
var inst = getObject("system.adapter."+idCal);
var instopt = inst.native;
var calendar = {};
var event ="";
var date = "";
for (var i = 0; i < 2; i++) {
var entry = calTable.val[i];
if ( entry._calName != calendar.name ) {
calendar = {};
for (var c = 0; c < instopt.calendars.length; c++ ) {
if (entry._calName == instopt.calendars[c].name ) {
calendar = instopt.calendars[c];
break;
}
}
}
event += entry.event + ",";
date += entry.date + ",";
}
var event1 = event.split(",")[0];
var event2 = event.split(",")[1];
var date1 = date.split(",")[0];
var date2 = date.split(",")[1];
var date1a;
var date2a;
var date3;
var date3a;
var date3b;
date1 = date1.split("-")[0];
date1 = date1.split(" ")[1];
date1a = date1.split(':');
date1a = parseInt(date1a[0]) + parseInt(date1a[1]) / 60;
date2 = date2.split("-")[0];
date2 = date2.split(" ")[1];
date2a = date2.split(':');
date3a = parseInt(date2a[0]);
date3b = parseInt(date2a[1]) / 60;
date2a = parseInt(date2a[0]) + parseInt(date2a[1]) / 60;
// console.log(event);
// console.log(event1);
// console.log(event2);
// console.log(date);
// console.log(date1);
// console.log(date2);
if (event1 == event2) {
if (event1 == "Tanja Arbeiten") {
TanjaArbeiten = date1a
}
else {
TorstenArbeiten = date1a
}
}
else if (event1 != event2 ) {
if (event1 == "Tanja Arbeiten") {
TanjaArbeiten = date1a;
}
if (event1 == "Frühschicht" || event1 == "Spätschicht" || event1 == "Nachtschicht") {
TorstenArbeiten = date1a;
}
else {
TorstenArbeiten = "";
}
if (event2 == "Tanja Arbeiten") {
TanjaArbeiten = date2a;
}
if (event2 == "Frühschicht" || event2 == "Spätschicht" || event2 == "Nachtschicht") {
TorstenArbeiten = date2a;
}
else {
TorstenArbeiten = "";
}
}
setState('Schicht.Tanja', TanjaArbeiten);
setState('Schicht.Torsten', TorstenArbeiten);
// setState('Test.event1', event1);
// setState('Test.event2', event2);
// setState('Test.date1', date1);
// setState('Test.date2', date2);
// setState('Test.event', event);
// setState('Test.date', date);
setState('Test.zeit1', date3a);
setState('Test.zeit2', date3b);
}
on({id: idCalTable, change: "ne"}, function (obj) {
iCalToHTMLTable();
});
schedule("5 0 * * *", function () { iCalToHTMLTable(); });
iCalToHTMLTable();
Hier die Meldungen:
18:16:48.946 [info] javascript.0 Stop script script.js.Schicht.Schichturzeit_start
18:16:49.041 [info] javascript.0 Start javascript script.js.Schicht.Schichturzeit_start
18:16:49.058 [error] javascript.0 script.js.Schicht.Schichturzeit_start: script.js.Schicht.Schichturzeit_start:30
18:16:49.058 [error] javascript.0 at iCalToHTMLTable (script.js.Schicht.Schichturzeit_start:30:20)
18:16:49.058 [error] javascript.0 at script.js.Schicht.Schichturzeit_start:117:1
Kann mir da jemand weiterhelfen?
Auf dem alten System läuft das Script und auf dem neuen kommen die Fehlermeldungen