Guten abend zusammen,
vorab: ich bin FHEM Neuling, mit der Bitte um Nachsicht. Leider habe ich mit der Suchfunktion und dem Wiki mir nicht helfen können.
- FHEM läuft
- Calendar Device angelegt mit
define iCloudCal Calendar ical url http://p53-caldav.iclo.....9Hn4 3600
- Daten werden von meinem iCloud-Kalender gelesen
- CalVIEW Device angelegt
- Paar Attribute gesetzt
- Widget in FTUI eingebunden
- Alles läuft wie es soll.
Leider aktualisieren sich die angezeigten Daten allerdings nicht. Wenn ich im Kalender extern einen Eintrag hinzufüge, oder lösche, wird dies in FTUI auch nach Stunden nicht geändert dargestellt.
Sobald ich in FHEM dann manuell
set iCloudCal reload
mache, sehe ich auch die geänderten Daten. Ich bin mir recht sicher, dass ich selbst mangels Kenntnisse das Problem bin. Ich hatte verstanden, dass die Ziffernfolge "3600" beim Erstellen des Calendar-Device die Zeit in Sekunden sind, in der sich die Daten erneuern sollen, ist das falsch?
Mit höflicher Bitte um Feedback, wie ich meine Kalenderdaten aktualisieren kann.
VIelen Dank vorab.
@Dracolein
Bitte ein list iCloudCal in der Kommandozeile ausführen und das anonymisierte Ergebnis hier bereitstellen.
Übrigens, 3600 bedeutet tatsächlich 3600 Sekunden und sollte somit die Daten stündlich aktualisieren.
Zitatwird dies in FTUI auch nach Stunden nicht geändert
ist wohl nicht das Problem. Du schreibst ja selbst, das mit
set iCloudCal reload
die geänderten Daten angezeigt werden.
FTUI zeigt nur an, was im Device (hier iCloudCal) ist.
Deshalb bittet
OdfFhem auch um das List.
So, hier das Ergebnis:
Internals:
DEF ical url http://p53-caldav.icloud.com/published/2/MTM........Hn4 3600
FUUID 5ddd2b7b-f33f-4dec-db9f-2ee5.......ea2
NAME iCloudCal
NOTIFYDEV global
NR 24
NTFY_ORDER 50-iCloudCal
STATE retrieved
TYPE Calendar
READINGS:
2019-11-26 17:07:05 calname Familie
2019-11-26 17:07:05 lastUpdate 2019-11-26 17:07:00
2019-11-26 14:41:15 modeAlarm
2019-11-26 14:41:15 modeAlarmOrStart
2019-11-26 14:41:15 modeAlarmed
2019-11-26 14:41:15 modeChanged
2019-11-26 17:07:05 modeEnd D6E98EC0782A4F9........................................2046;FF2CF601B43549F3B4513FD77281E859
2019-11-26 14:41:15 modeEnded
2019-11-26 14:41:15 modeStart
2019-11-26 14:41:15 modeStarted
2019-11-26 17:07:05 modeUpcoming D2F6AD063E9F436EB81D05D0E4A10F46;40DD081E77904A20B09CC6F38185A97B;B9C4D2B4......................DA86B;E36F946B7F6645E08CFB06A0D57DD109
2019-11-26 17:07:05 nextUpdate 2019-11-26 18:07:00
2019-11-26 17:07:05 nextWakeup 2019-11-26 18:07:00
2019-11-26 17:23:51 state retrieved
Attributes:
hideOlderThan 3600
room Kalender
Ich habe mit "........" diverse Datenmengen weggekürzt, der Übersicht wegen. Gerade bei "modeEnd" und "modeUpcomung" stehen viele viele Zeilen Datenkram noch dazwischen.
Diese hier zitierten Daten habe ich jetzt um 14:40 Uhr ausgelesen.
@Dracolein
Ich vermute mal stark, dass bei Dir auch ein Blick ins FHEM-Logfile notwendig ist (evtl. höheres verbose für iCloudCal).
Denn die Readings sind allesamt veraltet, so dass keine automatisierte Aktualisierung durchgeführt werden konnte. lastUpdate bzw. nextUpdate sollten ja gemäß der 3600 einen ganz anderen Wert haben ...
State "retrieved" ist auch kein gutes Zeichen, hier müsste eigentlich "triggered" stehen.
Zitat
Wenn der Kalendar neu geladen oder aktualisiert oder eine Alarm-, Start- oder Endzeit erreicht wurde, wird ein FHEM-Event erzeugt: triggered
Man kann sich darauf verlassen, dass alle Readings des Kalenders in einem konsistenten und aktuellen Zustand befinden, wenn dieses Event empfangen wird.
Hm, was mach ich nun?
Wie gesagt, bin ich FHEM-N00b, aber dachte gestern abend, dass die Kalendereinbindung gut gelaufen wäre.
Eigentlich war es auch ziemlich schnell wie folgt erledigt:
1.) Calendar Device angelegt mit:
DEF iCloudCal Calendar ical url http://p53-calda....LH9Hn4 3600
die URL hatte ich zuvor vom MacBook aus der Kalender-App, spezifisch dem Familienkalender, entnommen.
2.) CalVIEW Device angelegt mit modus 1
define FamilyCal CALVIEW iCloudCal 1
mit maxreadings=4 und modes=next
3.) entsprechend Wiki das Ganze in FTUI eingebunden mit
<div data-type="calview"
data-device="myCalView"
data-get="all"
data-detail='["bdate","btime","summary"]'
data-detailwidth='["30","30","40"]'></div>
und schon wurde alles dem ersten Anschein nach richtig dargestellt.
Mir fiel auf: gefühlt tausende teils jahre alter Termine waren anfang in den Readings zu erkennen, später auch in FTUI, weshalb ich dem Calendar-Device ein Attribut hideOlderThan = 3600 verpasste.
Danach standen in FTUI die passenden Termine drin.
Durch diesen Thread habe ich gerade manuell nochmal mit set iCloudCal update und auch set iCloudCal reload und sogar set FamilyCal update gemacht, aber mir fällt auf, dass ein nicht mehr existierender Kalendereintrag von heute, in FTUI weiterhin angezeigt wird. Den EINtrag hatten wir gestern im Kalender gelöscht.
und: im Calendar-Device steht weiterhin
lastUpdate 2019-11-26 17:07:00
Im Logfile finde ich den Eintrag:
Zitat2019.11.27 15:46:18 2: Calendar iCloudCal: update in progress, process aborted.
Schlecht Geräten würde ich sagen der Kalender ist zu groß.
In den Attributen gibt es cutOlderThen und cutLaterThen oder so. Schau mal bitte was in der Commandref dazu steht und ob es Sinn macht bei Dir. Also ob die Einträge zur Verarbeitung abgeschnitten werden. Zum Beispiel nur Einträge mit aktuellem Datum plus 14 Tage oder 7 Tage..
@Dracolein
Den Eintrag
Calendar <Calendar-Device>: update in progress, process aborted.
hatte ich auch schon mal im Logfile.
Dieser Eintrag hat aber meiner bisherigen Erfahrung nicht unbedingt etwas mit der Größe des Kalenders zu tun; er trat auch bei Datei-Kalendern mit maximal 20 Einträgen auf.
Man musste FHEM neu starten, dann war das Problem weg. Einen Versuch wär's vielleicht wert ...
Probeweise könntest Du ja anschließend mal das Aktualisierungsintervall für ein paar Minuten auf 60 setzen.
Danke für die Hinweise.
Ich habe zunächst die Attribute
cutoffLaterThan = 40d
cutoffOlderThan = 2d
gesetzt, dann shutdown restart gemacht.
Jetzt sind ERHEBLICH weniger Datencodes im Reading enthalten, die aktuelle FTUI Ausgabe ist gut UND!!
Zitatstate triggered
steht nun dort.
Ich habe soeben testweise einen Kalendereintrag für heute abend gemacht, warte jetzt eine Stunde ab und schaue, ob FHEM diese Änderung übernehmen wird.
Feedback meinerseits von heute vormittag:
Der Kalender hat sich brav aktualisiert in FHEM und auch im Frontent.
Ich gehe schwer davon aus, dass die 2 Attribute von @cooltox geholfen haben.
Evtl wäre das für zukünftige Nutzer auch ganz hilfreich, wenn man diesen Hinweis im Wiki nachträgt?
Vielen Dank für die Hilfe. 8)