NEWS
ICal Daten in Datenpunkte schreiben
-
Wenn ich:
createState( „ Hilfsvariablen.0.Kalender.Name.event1“, „ „);
Mache erstellt er die Ordner unter JavaScript.
Gesendet von iPhone mit Tapatalk
-
Wenn ich:
createState( „ Hilfsvariablen.0.Kalender.Name.event1“, „ „);
Mache erstellt er die Ordner unter JavaScript.
Gesendet von iPhone mit Tapatalk `
Ordner vorher erstellen, am besten auch das Objekt. Dann gehts sicher.
-
Dann kann ich das createState aus dem Skript raus nehmen wenn ich die Datenpunkte selber erstelle?
Gesendet von iPhone mit Tapatalk
-
ja
-
Jetzt ist doch irgendwie der Hund drin. Kannst Du da bitte mal drüber schauen?
`var idCal = "ical.1"; var idCalTrigger = idCal + ".data.trigger"; var idCalTable = idCal + ".data.table"; var idCalHTML = idCal + ".data.html"; var idCalHTMLtable = idCal + "_1.json"; function iCalToHTMLTable() { 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 < 3; 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 event3 = event.split(",")[2]; var date1 = date.split(",")[0]; var date2 = date.split(",")[1]; var date3 = date.split(",")[2]; console.log(event); console.log(event1); console.log(event2); console.log(event3); console.log(date); console.log(date1); console.log(date2); console.log(date3); setState('Hilfsvariablen.0.Kalender.Daniel.event1', event1); setState('Hilfsvariablen.0.Kalender.Daniel.event2', event2); setState('Hilfsvariablen.0.Kalender.Daniel.event3', event3); setState('Hilfsvariablen.0.Kalender.Daniel.date1', date1); setState('Hilfsvariablen.0.Kalender.Daniel.date2', date2); setState('Hilfsvariablen.0.Kalender.Daniel.date3', date3); setState('Hilfsvariablen.0.Kalender.Daniel.event', event); setState('Hilfsvariablen.0.Kalender.Daniel.date', date); } on({id: idCalTable, change: "ne"}, function (obj) { iCalToHTMLTable(); }); schedule("5,35 * * * *", function () { iCalToHTMLTable(); }); iCalToHTMLTable();` Komme nicht drauf, was daran falsch ist bzw was die errors bedeuten... Danke schon mal [10117_bildschirmfoto_2019-02-05_um_16.02.00.png](/assets/uploads/files/10117_bildschirmfoto_2019-02-05_um_16.02.00.png) [/i]
-
Auch wenn du mich per PN anschreibst geht es nicht schneller. Ich bin weder bezahlter Programmierer, noch hier angestellt.
`var idCal = "ical.1"; var idCalTrigger = idCal + ".data.trigger"; var idCalTable = idCal + ".data.table"; var idCalHTML = idCal + ".data.html"; var idCalHTMLtable = idCal + "_1.json"; function iCalToHTMLTable() { 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 < 3; 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 event3 = event.split(",")[2]; var date1 = date.split(",")[0]; var date2 = date.split(",")[1]; var date3 = date.split(",")[2]; setState('Hilfsvariablen.0.Kalender.Daniel.event1', event1); setState('Hilfsvariablen.0.Kalender.Daniel.event2', event2); setState('Hilfsvariablen.0.Kalender.Daniel.event3', event3); setState('Hilfsvariablen.0.Kalender.Daniel.date1', date1); setState('Hilfsvariablen.0.Kalender.Daniel.date2', date2); setState('Hilfsvariablen.0.Kalender.Daniel.date3', date3); setState('Hilfsvariablen.0.Kalender.Daniel.event', event); setState('Hilfsvariablen.0.Kalender.Daniel.date', date); } on({id: idCalTable, change: "ne"}, function (obj) { iCalToHTMLTable(); }); schedule("5,35 * * * *", function () { iCalToHTMLTable(); }); iCalToHTMLTable();` Bis jetzt fallen mir nur fehlende ";" auf, habe ich mal hinzugefügt. Welche Zeile ist die, die den Fehler generiert? Ich weiss ja nicht, ob dein Script noch größer ist.[/i]
-
Ok, sorry…
Laut error im Post darüber 17, 20, 61.
Danke trotzdem für deine Zeit auch wenn Du nicht hier angestellt bist.
Gesendet von iPhone mit Tapatalk
-
Die Frage war welche Zeile das bei dir ist?
if (entry._calName != calendar.name) {
Die?
-
Diese sind es 3. Hab gerade gesehen, Du siehst ja nicht die Zeilennr.
if ( entry._calName != calendar.name ) { if (entry._calName == instopt.calendars[c].name ) { iCalToHTMLTable();
-
Bei mir kein Problem, hab mir grad extra den Adapter installiert.
Ist die Instanz denn korrekt ical.1? Wenn du nur eine Instanz hast ist es meistens ical.0.
-
Nein, ist nicht die einzige. Aber der Fehler bezieht sich immer wieder auf die erste Zeile
Ich habe 3 Instanzen aber davon aktuell nur die ical.1 aktiv.
> var idCal = "ical.1";
-
Das wären die Fehler im Log wenn Dir das evtl was sagt.
avascript.0 2019-02-06 13:30:39.609 error at ContextifyScript.Script.runInContext (vm.js:59:29)
javascript.0 2019-02-06 13:30:39.609 error at script.js.common.Kalender.Daniel.iCal.1:61:1
javascript.0 2019-02-06 13:30:39.609 error at iCalToHTMLTable (script.js.common.Kalender.Daniel.iCal.1:17:20)
javascript.0 2019-02-06 13:30:39.609 error TypeError: Cannot read property '_calName' of undefined
javascript.0 2019-02-06 13:30:39.608 error ^
javascript.0 2019-02-06 13:30:39.608 error if ( entry._calName != calendar.name ) {
javascript.0 2019-02-06 13:30:39.608 error script.js.common.Kalender.Daniel.iCal.1: script.js.common.Kalender.Daniel.iCal.1:17
-
Steht dann auch was in den Objekten des Adapter drin? Wie gesagt: Hier kein Problem.
Ersatz mal folgende Zeilen
`for (var i = 0; i < 3; i++) { console.log("entry: " + JSON.stringify(entry)); console.log("caltable: " + JSON.stringify(calTable)); console.log("caltable inc: " + JSON.stringify(calTable.val[i])); var entry = calTable.val[i]; if (entry._calName != calendar.name) {` [/i][/i]
-
Das wären die Fehler im Log wenn Dir das evtl was sagt.
avascript.0 2019-02-06 13:30:39.609 error at ContextifyScript.Script.runInContext (vm.js:59:29)
javascript.0 2019-02-06 13:30:39.609 error at script.js.common.Kalender.Daniel.iCal.1:61:1
javascript.0 2019-02-06 13:30:39.609 error at iCalToHTMLTable (script.js.common.Kalender.Daniel.iCal.1:17:20)
javascript.0 2019-02-06 13:30:39.609 error TypeError: Cannot read property '_calName' of undefined
javascript.0 2019-02-06 13:30:39.608 error ^
javascript.0 2019-02-06 13:30:39.608 error if ( entry._calName != calendar.name ) {
javascript.0 2019-02-06 13:30:39.608 error script.js.common.Kalender.Daniel.iCal.1: script.js.common.Kalender.Daniel.iCal.1:17 `
Dann steht nix in den Objektes des Adapters drin.
-
Das wären die Fehler im Log wenn Dir das evtl was sagt.
avascript.0 2019-02-06 13:30:39.609 error at ContextifyScript.Script.runInContext (vm.js:59:29)
javascript.0 2019-02-06 13:30:39.609 error at script.js.common.Kalender.Daniel.iCal.1:61:1
javascript.0 2019-02-06 13:30:39.609 error at iCalToHTMLTable (script.js.common.Kalender.Daniel.iCal.1:17:20)
javascript.0 2019-02-06 13:30:39.609 error TypeError: Cannot read property '_calName' of undefined
javascript.0 2019-02-06 13:30:39.608 error ^
javascript.0 2019-02-06 13:30:39.608 error if ( entry._calName != calendar.name ) {
javascript.0 2019-02-06 13:30:39.608 error script.js.common.Kalender.Daniel.iCal.1: script.js.common.Kalender.Daniel.iCal.1:17 `
Dann steht nix in den Objektes des Adapters drin. `
Meinst Du im Kalender oder der Standardwert der Datenpunkte?
-
In den Objekten unter ICal.1
-
Die sind aber nicht leer.
Den Teil wenn ich ersetze sind anscheinend geschweifte Klammern zu viel. wenn ich diese lösche komme ich wieder auf eine Meldung das eine andere Zeile mit code falsch ist.
`var idCal = "ical.1"; var idCalTrigger = idCal + ".data.trigger"; var idCalTable = idCal + ".data.table"; var idCalHTML = idCal + ".data.html"; var idCalHTMLtable = idCal + "_1.json"; function iCalToHTMLTable() { 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 < 3; i++) { console.log("entry: " + JSON.stringify(entry)); console.log("caltable: " + JSON.stringify(calTable)); console.log("caltable inc: " + JSON.stringify(calTable.val[i])); var entry = calTable.val[i]; if (entry._calName != calendar.name) { break; } } } event += entry.event + "," date += entry.date + "," } var event1 = event.split(",")[0]; var event2 = event.split(",")[1]; var event3 = event.split(",")[2]; var date1 = date.split(",")[0]; var date2 = date.split(",")[1]; var date3 = date.split(",")[2]; console.log(event); console.log(event1); console.log(event2); console.log(event3); console.log(date); console.log(date1); console.log(date2); console.log(date3); setState('Hilfsvariablen.0.Kalender.Daniel.event1', event1); setState('Hilfsvariablen.0.Kalender.Daniel.event2', event2); setState('Hilfsvariablen.0.Kalender.Daniel.event3', event3); setState('Hilfsvariablen.0.Kalender.Daniel.date1', date1); setState('Hilfsvariablen.0.Kalender.Daniel.date2', date2); setState('Hilfsvariablen.0.Kalender.Daniel.date3', date3); setState('Hilfsvariablen.0.Kalender.Daniel.event', event); setState('Hilfsvariablen.0.Kalender.Daniel.date', date); } on({id: idCalTable, change: "ne"}, function (obj) { iCalToHTMLTable(); }); schedule("5,35 * * * *", function () { iCalToHTMLTable(); }); iCalToHTMLTable();` [10117_bildschirmfoto_2019-02-06_um_13.48.22.png](/assets/uploads/files/10117_bildschirmfoto_2019-02-06_um_13.48.22.png) [/i][/i]
-
Es fehlen weiterhin die ";" die ich zuvor hinzugefügt habe. Was geben die console.logs aus? Ohne Fehlermeldung kann ich dir nicht helfen.
-
`var idCal = "ical.1"; var idCalTrigger = idCal + ".data.trigger"; var idCalTable = idCal + ".data.table"; var idCalHTML = idCal + ".data.html"; var idCalHTMLtable = idCal + "_1.json"; function iCalToHTMLTable() { 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 < 3; i++) { console.log("entry: " + JSON.stringify(entry)); console.log("caltable: " + JSON.stringify(calTable)); console.log("caltable inc: " + JSON.stringify(calTable.val[i])); var entry = calTable.val[i]; if (entry._calName != calendar.name) { break; } } } event += entry.event + "," date += entry.date + "," } var event1 = event.split(",")[0]; var event2 = event.split(",")[1]; var event3 = event.split(",")[2]; var date1 = date.split(",")[0]; var date2 = date.split(",")[1]; var date3 = date.split(",")[2]; console.log(event); console.log(event1); console.log(event2); console.log(event3); console.log(date); console.log(date1); console.log(date2); console.log(date3); setState('Hilfsvariablen.0.Kalender.Daniel.event1', event1); setState('Hilfsvariablen.0.Kalender.Daniel.event2', event2); setState('Hilfsvariablen.0.Kalender.Daniel.event3', event3); setState('Hilfsvariablen.0.Kalender.Daniel.date1', date1); setState('Hilfsvariablen.0.Kalender.Daniel.date2', date2); setState('Hilfsvariablen.0.Kalender.Daniel.date3', date3); setState('Hilfsvariablen.0.Kalender.Daniel.event', event); setState('Hilfsvariablen.0.Kalender.Daniel.date', date); } on({id: idCalTable, change: "ne"}, function (obj) { iCalToHTMLTable(); }); schedule("5,35 * * * *", function () { iCalToHTMLTable(); }); iCalToHTMLTable();` `~~[code]~~javascript.0 2019-02-06 13:55:11.874 error at TCP.onread (net.js:601:20) javascript.0 2019-02-06 13:55:11.874 error at Socket.Readable.push (_stream_readable.js:208:10) javascript.0 2019-02-06 13:55:11.874 error at readableAddChunk (_stream_readable.js:250:11) javascript.0 2019-02-06 13:55:11.874 error at addChunk (_stream_readable.js:263:12) javascript.0 2019-02-06 13:55:11.873 error at Socket.emit (events.js:211:7) javascript.0 2019-02-06 13:55:11.873 error at emitOne (events.js:116:13) javascript.0 2019-02-06 13:55:11.873 error at Socket._ultron.on (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:138:22) javascript.0 2019-02-06 13:55:11.873 error at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:139:10) javascript.0 2019-02-06 13:55:11.873 error at Receiver.startLoop (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:165:16) javascript.0 2019-02-06 13:55:11.873 error at Receiver.getData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:330:12) javascript.0 2019-02-06 13:55:11.872 error at Receiver.dataMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:389:14) javascript.0 2019-02-06 13:55:11.872 error at Receiver._receiver.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:141:47) javascript.0 2019-02-06 13:55:11.872 error at WebSocket.emit (events.js:211:7) javascript.0 2019-02-06 13:55:11.872 error at emitOne (events.js:116:13) javascript.0 2019-02-06 13:55:11.872 error at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:99:16) javascript.0 2019-02-06 13:55:11.872 error at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:147:10) javascript.0 2019-02-06 13:55:11.872 error at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8) javascript.0 2019-02-06 13:55:11.871 error at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8) javascript.0 2019-02-06 13:55:11.871 error at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20) javascript.0 2019-02-06 13:55:11.871 error at WS. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:273:10) javascript.0 2019-02-06 13:55:11.871 error at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:456:14) javascript.0 2019-02-06 13:55:11.871 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20) javascript.0 2019-02-06 13:55:11.870 error at Socket. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) javascript.0 2019-02-06 13:55:11.870 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:335:16) javascript.0 2019-02-06 13:55:11.870 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-parser/index.js:251:12) javascript.0 2019-02-06 13:55:11.870 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20) javascript.0 2019-02-06 13:55:11.870 error at Decoder. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) javascript.0 2019-02-06 13:55:11.870 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8) javascript.0 2019-02-06 13:55:11.870 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20) javascript.0 2019-02-06 13:55:11.869 error at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) javascript.0 2019-02-06 13:55:11.869 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12) javascript.0 2019-02-06 13:55:11.869 error at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9) javascript.0 2019-02-06 13:55:11.869 error at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:837:17) javascript.0 2019-02-06 13:55:11.869 error at createActiveObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1214:20) javascript.0 2019-02-06 13:55:11.869 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1160:37) javascript.0 2019-02-06 13:55:11.868 error at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:971:28) javascript.0 2019-02-06 13:55:11.868 error at Object.createScript (vm.js:80:10) javascript.0 2019-02-06 13:55:11.868 error SyntaxError: Unexpected token } javascript.0 2019-02-06 13:55:11.868 error ^ javascript.0 2019-02-06 13:55:11.868 error } javascript.0 2019-02-06 13:55:11.867 error at script.js.common.Kalender.Daniel.danw:27 javascript.0 2019-02-06 13:55:11.867 error script.js.common.Kalender.Daniel.danw compile failed:[/code]</anonymous></anonymous></anonymous></anonymous>`[/i][/i]
-
Es fehlen weiterhin die ";" die ich zuvor hinzugefügt habe. Was geben die console.logs aus? Ohne Fehlermeldung kann ich dir nicht helfen. `
Fehlen immernoch.