NEWS
Fehler in einem Script - wer findet ihn?
-
Moinsen,
ich bin jetzt nicht so der Programmier Crack, deshalb die Frage an Euch.
Habe ein Script aus dem Forum verwendet (s.u.) und für mich nur minimal angepasst.
Jetzt gibt es alle 30 Minuten einen Fehler im Log: u.a. Datum_holen is not defined
Wo und was muss ich denn eintragen das der Fehler verschwindet?
Danke im Voraus
LG Martin
javascript.0 2019-11-18 08:00:02.512 error at JavascriptRedisParser.returnReply (/opt/iobroker/node_modules/redis/index.js:192:18) javascript.0 2019-11-18 08:00:02.512 error at RedisClient.return_reply (/opt/iobroker/node_modules/redis/index.js:833:9) javascript.0 2019-11-18 08:00:02.512 error at return_pub_sub (/opt/iobroker/node_modules/redis/index.js:794:18) javascript.0 2019-11-18 08:00:02.512 error at RedisClient.emit (events.js:198:13) javascript.0 2019-11-18 08:00:02.511 error at RedisClient.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:603:25) javascript.0 2019-11-18 08:00:02.511 error at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37) javascript.0 2019-11-18 08:00:02.511 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25) javascript.0 2019-11-18 08:00:02.511 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38) javascript.0 2019-11-18 08:00:02.511 error at Object.<anonymous> (script.js.common.Abfall:231:5) javascript.0 2019-11-18 08:00:02.511 error at iCalToHTMLTable (script.js.common.Abfall:69:17) javascript.0 2019-11-18 08:00:02.510 error Error in callback: ReferenceError: Datum_holen is not defined// Script stammt von uhula und sputnik // Das Script greift auf die ical.0.html zu und ändert den Text. // Gespeichert wird das geänderte Script in "javascript.0.ical.html" // Geändert und erweitert in 12/2017 von bahnuhr var idCal = "ical.0"; var idCalTrigger = idCal + ".data.trigger"; var idCalTable = idCal + ".data.table"; var idCalHTML = idCal + ".data.html"; var idCalHTMLtable = 'EigeneDP.0.Visualisierung.Abfall.html'; var anz_ganztags = true; // wenn true wird bei Ganztags-Terminen als time auch "ganzer Tag" angezeigt; wenn false erfolgt gar keine Anzeige var anz_time = true; // wenn true werden die Uhrzeiten angezeigt; wenn false erfolgt gar keine Anzeige var balken = false; // wenn true wird Balken links angezeigt; wenn false dann erfolgt keine Anzeige function iCalToHTMLTable() { var html = "<table style='font-size:0.75em;'><tbody>"; var calTable = getState(idCalTable); var inst = getObject("system.adapter."+idCal); var instopt = inst.native; var calendar = {}; for (var i = 0; i < calTable.val.length; i++) { var entry = calTable.val[i]; var _date = new Date(entry._date); var _time = ""; // "_time und date" Variable festlegen if (entry.date.indexOf("→") >= 0) { // Pfeil ist enthalten if (entry.date.indexOf(":") >= 0) { // Uhrzeit ist enthalten _time = "bis " + (entry.date).substring(entry.date.length-5,entry.date.length); entry.date = Datum_holen("tm"); } else { _time= ""; entry.date = Datum_holen("tm"); } } else { // Pfeil ist nicht enthalten if (entry.date.indexOf(":") >= 0) { // Uhrzeit ist enthalten _time = (entry.date).substring(entry.date.length-11,entry.date.length); } else { _time= ""; } entry.date = getFormattedDate(_date); } 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; } } } var _color = "color:"+calendar.color; if (entry._class.includes("ical_today")) _color = "color:red;"; else if (entry._class.includes("ical_tomorrow")) _color = "color:orange"; else if (entry._class.includes("ical_dayafter")) _color = "color:yellow"; var _bgcolor = ""; if(calendar.name == "Müllabfuhr") { if(entry.event == "Biogut") { _bgcolor = "#a67d3c"; _color="color:#a67d3c"; } else if(entry.event == "Restmüll 1.100 L") { _bgcolor = "#778396"; _color="color:#778396"; } else if(entry.event == "Flach 1.100 L") { _bgcolor = "#35b52a"; _color="color:#35b52a"; } else if(entry.event == "Rund") { _bgcolor = "#a8e8a2"; _color="color:#a8e8a2"; } } else _bgcolor = calendar.color; if (balken === false) _bgcolor = ""; if (_bgcolor !== "") html+="<tr style='background:transparent; background-image: linear-gradient("+_bgcolor+","+_bgcolor+"); background-size: 6px 90%; background-repeat: no-repeat;'>"; else html+="<tr>"; var abstand = "15px;"; if (balken === false) abstand = "3px;"; html+="<td style='font-size:1.1em; padding-left:"+abstand+_color+"'>"+entry.date+"</td>"; if ((_time === "ganzer Tag" && anz_ganztags === false) || anz_time === false) { html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+entry.event+"</td>"; // nur event anzeigen } else { html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+_time + " " + entry.event+"</td>"; // time + event wird angezeigt } html+="</tr>"; } html+="</body></table>"; setState(idCalHTMLtable, html); } function getFormattedDate(date) { var month = (1 + date.getMonth()).toString(); month = month.length > 1 ? month : '0' + month; var day = date.getDate().toString(); day = day.length > 1 ? day : '0' + day; return day + '.' + month + '.'; } on({id: idCalTable, change: "ne"}, function (obj) { iCalToHTMLTable(); }); iCalToHTMLTable(); -
Moinsen,
ich bin jetzt nicht so der Programmier Crack, deshalb die Frage an Euch.
Habe ein Script aus dem Forum verwendet (s.u.) und für mich nur minimal angepasst.
Jetzt gibt es alle 30 Minuten einen Fehler im Log: u.a. Datum_holen is not defined
Wo und was muss ich denn eintragen das der Fehler verschwindet?
Danke im Voraus
LG Martin
javascript.0 2019-11-18 08:00:02.512 error at JavascriptRedisParser.returnReply (/opt/iobroker/node_modules/redis/index.js:192:18) javascript.0 2019-11-18 08:00:02.512 error at RedisClient.return_reply (/opt/iobroker/node_modules/redis/index.js:833:9) javascript.0 2019-11-18 08:00:02.512 error at return_pub_sub (/opt/iobroker/node_modules/redis/index.js:794:18) javascript.0 2019-11-18 08:00:02.512 error at RedisClient.emit (events.js:198:13) javascript.0 2019-11-18 08:00:02.511 error at RedisClient.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:603:25) javascript.0 2019-11-18 08:00:02.511 error at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37) javascript.0 2019-11-18 08:00:02.511 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25) javascript.0 2019-11-18 08:00:02.511 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38) javascript.0 2019-11-18 08:00:02.511 error at Object.<anonymous> (script.js.common.Abfall:231:5) javascript.0 2019-11-18 08:00:02.511 error at iCalToHTMLTable (script.js.common.Abfall:69:17) javascript.0 2019-11-18 08:00:02.510 error Error in callback: ReferenceError: Datum_holen is not defined// Script stammt von uhula und sputnik // Das Script greift auf die ical.0.html zu und ändert den Text. // Gespeichert wird das geänderte Script in "javascript.0.ical.html" // Geändert und erweitert in 12/2017 von bahnuhr var idCal = "ical.0"; var idCalTrigger = idCal + ".data.trigger"; var idCalTable = idCal + ".data.table"; var idCalHTML = idCal + ".data.html"; var idCalHTMLtable = 'EigeneDP.0.Visualisierung.Abfall.html'; var anz_ganztags = true; // wenn true wird bei Ganztags-Terminen als time auch "ganzer Tag" angezeigt; wenn false erfolgt gar keine Anzeige var anz_time = true; // wenn true werden die Uhrzeiten angezeigt; wenn false erfolgt gar keine Anzeige var balken = false; // wenn true wird Balken links angezeigt; wenn false dann erfolgt keine Anzeige function iCalToHTMLTable() { var html = "<table style='font-size:0.75em;'><tbody>"; var calTable = getState(idCalTable); var inst = getObject("system.adapter."+idCal); var instopt = inst.native; var calendar = {}; for (var i = 0; i < calTable.val.length; i++) { var entry = calTable.val[i]; var _date = new Date(entry._date); var _time = ""; // "_time und date" Variable festlegen if (entry.date.indexOf("→") >= 0) { // Pfeil ist enthalten if (entry.date.indexOf(":") >= 0) { // Uhrzeit ist enthalten _time = "bis " + (entry.date).substring(entry.date.length-5,entry.date.length); entry.date = Datum_holen("tm"); } else { _time= ""; entry.date = Datum_holen("tm"); } } else { // Pfeil ist nicht enthalten if (entry.date.indexOf(":") >= 0) { // Uhrzeit ist enthalten _time = (entry.date).substring(entry.date.length-11,entry.date.length); } else { _time= ""; } entry.date = getFormattedDate(_date); } 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; } } } var _color = "color:"+calendar.color; if (entry._class.includes("ical_today")) _color = "color:red;"; else if (entry._class.includes("ical_tomorrow")) _color = "color:orange"; else if (entry._class.includes("ical_dayafter")) _color = "color:yellow"; var _bgcolor = ""; if(calendar.name == "Müllabfuhr") { if(entry.event == "Biogut") { _bgcolor = "#a67d3c"; _color="color:#a67d3c"; } else if(entry.event == "Restmüll 1.100 L") { _bgcolor = "#778396"; _color="color:#778396"; } else if(entry.event == "Flach 1.100 L") { _bgcolor = "#35b52a"; _color="color:#35b52a"; } else if(entry.event == "Rund") { _bgcolor = "#a8e8a2"; _color="color:#a8e8a2"; } } else _bgcolor = calendar.color; if (balken === false) _bgcolor = ""; if (_bgcolor !== "") html+="<tr style='background:transparent; background-image: linear-gradient("+_bgcolor+","+_bgcolor+"); background-size: 6px 90%; background-repeat: no-repeat;'>"; else html+="<tr>"; var abstand = "15px;"; if (balken === false) abstand = "3px;"; html+="<td style='font-size:1.1em; padding-left:"+abstand+_color+"'>"+entry.date+"</td>"; if ((_time === "ganzer Tag" && anz_ganztags === false) || anz_time === false) { html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+entry.event+"</td>"; // nur event anzeigen } else { html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+_time + " " + entry.event+"</td>"; // time + event wird angezeigt } html+="</tr>"; } html+="</body></table>"; setState(idCalHTMLtable, html); } function getFormattedDate(date) { var month = (1 + date.getMonth()).toString(); month = month.length > 1 ? month : '0' + month; var day = date.getDate().toString(); day = day.length > 1 ? day : '0' + day; return day + '.' + month + '.'; } on({id: idCalTable, change: "ne"}, function (obj) { iCalToHTMLTable(); }); iCalToHTMLTable();@kaiserm sagte in Fehler in einem Script - wer findet ihn?:
Moinsen,
ich bin jetzt nicht so der Programmier Crack, deshalb die Frage an Euch.
Habe ein Script aus dem Forum verwendet (s.u.) und für mich nur minimal angepasst.
Jetzt gibt es alle 30 Minuten einen Fehler im Log: u.a. Datum_holen is not defined
Wo und was muss ich denn eintragen das der Fehler verschwindet?
Danke im Voraus
LG MartinWo hast du das Script (oder den Script-Teil) denn her ?
Du nutzt eine Funktion Datum_holen in Zeile 67 und 73. Diese Funktion hast du möglicherweise aus der Quelle nicht mit kopiert. Wenn du die Funktion auskommentierst dann fehlt Dir die Information zum Tag.
A.
-
Das Script stammt aus diesem Thread.
https://forum.iobroker.net/topic/26782/ical-kalender-farben-anpassen/2
-
Das Script stammt aus diesem Thread.
https://forum.iobroker.net/topic/26782/ical-kalender-farben-anpassen/2
-
@Asgothian Habe ich gemacht.
Funktioniert komischerweise auch ohne diese Funktion einwandfrei.
-
@Asgothian Habe ich gemacht.
Funktioniert komischerweise auch ohne diese Funktion einwandfrei.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden