Calendar automatisch aktualisieren?

Begonnen von Dracolein, 26 November 2019, 21:19:11

Vorheriges Thema - Nächstes Thema

Dracolein

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.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

OdfFhem

@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.

rabehd

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.
Auch funktionierende Lösungen kann man hinterfragen.

Dracolein

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.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

OdfFhem

@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.

Dracolein

#5
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.

Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

CoolTux

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..
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

OdfFhem

@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.

Dracolein

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.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Dracolein

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)
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;