NEWS
Ical-Adapter fkt. nicht. getHours is not a function at checkDates
-
Seit meiner letzten Update-Orgie funktioniert der ical-Apdater nicht. Folgender Fehler wird angezeigt:
> TypeError: ev.start.getHours is not a function at checkDates (/opt/iobroker/node_modules/iobroker.ical/main.js:238:18) at Request._callback (/opt/iobroker/node_modules/iobroker.ical/main.js:20Die Fehlermeldung deutet darauf hin, dass das Objekt kein Date Objekt ist. Da der iCal-Adapter keine Update erfahren hat (1.1.1), muss der Fehler woanders herkommen.
Vielleicht kann jemand weiterhelfen.
Gru
ß
Gerhard -
So inzwischen konnte ich mich dem Problem etwas n
ä
hern.Grunds
ä
tzlich scheint der Adapter zu funktionieren. Ich habe zwecks Analyse die Variable ev.start ausgeben lassen.Es gibt ein Ereignis, bei dem kein Type vom Wert Date () zur
ü
ckgegeben wird, sondern lediglich eine Zahl (hier 20160619). Bei dem Ereignis handelt es sich um ein ganzt
ä
giges Ereignis. Datum ist 19.6.2016. -
Das betreffende Ereignis ist vom Datentyp String. Da dieses als ganzt
ä
giges Ereignis nicht relevant ist, habe ich folgenden Bugfix in main.js des Adapter eingebaut:nach Zeile 235:
// If not type Date return if (typeof ev.start === 'string') return;Ich denke, die L
ö
sung d
ü
rfte auch anderen gegebenenfalls helfen. Vielleicht wird er in die n
ä
chste Version des Adapters
ü
bernommen. -
Jip, kann ich best
ä
tigen. http://forum.iobroker.net/viewtopic.php?f=22&t=2928 -
Das betreffende Ereignis ist vom Datentyp String. Da dieses als ganzt
ä
giges Ereignis nicht relevant ist, habe ich folgenden Bugfix in main.js des Adapter eingebaut:nach Zeile 235:
// If not type Date return if (typeof ev.start === 'string') return;Ich denke, die L
ö
sung d
ü
rfte auch anderen gegebenenfalls helfen. Vielleicht wird er in die n
ä
chste Version des Adapters
ü
bernommen. `Funktioniert bei mir leider nicht.
pi 02 11:30:08.502 error host.pi instance system.adapter.ical.0 terminated with code 6 (uncaught exception) ical.0 02 11:30:08.191 error TypeError: Object 20160519 has no method 'getMonth' at Object.RRule (/opt/iobroker/node_modules/iobroker.ical/node_modules/rrule/lib/rrule.js:537:49) at Request._callback (/opt/iobroker/node_m
-
Vielleicht finden wir Dein Problem auch noch. Bitte f
ü
ge vor der Zeile, die den Fehler ausl
ö
st folgendes ein:adapter.log.info('Content von ev.start: '+ev.start);Mich interessiert, was dann im Log zur
ü
ck gegeben wird. -
Mich interessiert, was dann im Log zur
ü
ck gegeben wird. `Hier die Ausgabe:
pi 03 09:08:18.254 error host.pi instance system.adapter.ical.0 terminated with code 6 (uncaught exception) ical.0 03 09:08:17.941 error Error: Content von opts.dtstart: 20160519 at Object.RRule (/opt/iobroker/node_modules/iobroker.ical/node_modules/rrule/lib/rrule.js:534:7) at Request._callback (/opt/iobroker/node_modules/iobr ical.0 03 09:08:17.940 error uncaught exception: Content von opts.dtstart: 20160519Das ist dann mein Geburtstag yyyymmdd: 19.05.2016 (in diesem Jahr)
Allerdings muss da Kommand wie folgt lauten
…
throw new Error('Content von opts.dtstart: '+opts.dtstart);das urspr
ü
nglich angemeckerte Kommando lautet:if (!opts.bymonth) { opts.bymonth = opts.dtstart.getMonth() + 1; } -
Danke Frank. Das Problem ist dasselbe nur an einer anderen Stelle. Eigentlich wird ein Javascript Date-Objekt von dem Programm erwartet. Tats
ä
chlich kommt hier manschmal auch ein einfacher String mit dem Datum vor. Der Fehler tritt offensichtlich nur bei ganzt
ä
tigen Ereignissen auf. Dann aber wohl auch nicht immer. Ich hatte schon fr
ü
her ganzt
ä
tige Ereignisse ohne diesen Fehler.Das sinnvollste d
ü
rfte f
ü
r eine dauerhafte L
ö
sung sein, zu pr
ü
fen, ob es sich um einen String mit Datum handelt und dieses dann in ein Date-Objekt umgewandelt wird. Dann d
ü
rfter dieser Fehler nicht mehr auftreten. -
Hallo zusammen,
ich nochmal.
Gibt es mittlerweile eine offizielle Korrektur?
Ich habe schon versucht, aus dem String ein Date-Objekt zu machen, mit dem Erfolg, dass die Fehlermeldungen weg sind.
Allerdings funktioniert dann der gesamte Kalender nicht mehr
…
..
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