NEWS
neuer Adapter webCal
-
@chris299 so hier mal ein JS Beispiel:
function webCalAlert(dpID, minutesBefore) { let s = null; function initALert(timeStr) { if (s != null) clearSchedule(s); if (timeStr) { s = schedule(new Date(new Date(timeStr).getTime() - 1000 * 60 * minutesBefore), function () { s = null; log("Alert form " + dpID, "error") }) } } on({ id: dpID, change: "ne" }, function (obj) { initALert(obj.state.val); }) initALert(getState(dpID).val); } webCalAlert("webcal.0.events.Restabfall.next", 5) webCalAlert("0_userdata.0.example_state", 1);
-
@dirkhe Hi, schon mal vorab: tolle Arbeit!
Bei mir sehe ich keine Serientermine.
Ich nutze die Download-Funktion. Die Termine werden auch heruntergeladen. Aber im der json ist zu sehen, dass kein Serientermin dabei ist.
Kannst du die Funktion hinzufügen oder fehlt mir nur etwas.P.S.: ich habe aktuell keine Ereignisse konfiguriert. Also ist alles ungefiltert.
-
@mika84 serientermine werden einzeln aufgelöst, du siehst also nicht mehr, dass es ein serientermin ist. Oder werden die einzelnen termine auch nicht angezeigt? Dann müsstest du mir mal deine downloaddatei schicken. Kannst ja durch suchen und ersetzen alles private unkenntlich machen
-
@dirkhe Hi, ich habe ein paar Testtermine erstellt. NormalEvent(x) sind normale Events. www und Orchester sind Serientermine (1x wöchentlich). In der ics sind sie vorhanden. Im "data" Objekt also der json fehlen diese.
Hab ich ebenfalls mit angehangen. Damit alles gedownloaded wird, habe ich ein Event gesetzt. Filter nach "." für einfach alles. Wenn ich nur den Serientermin im Kalender habe, geht der Filter da auch. Vielleicht liegt der Fehler wirklich im Filter. Wie kann ich einfach alles erstmal im "data" Objekt haben?
-
@mika84 muß ich dann mal analysieren
-
@dirkhe Na, hast du schon eine Idee? Ich glaube, es passiert immer dann, wenn noch ein weiterer "einfacher/normaler" Termin am gleichen Tag wie ein Serientermin existiert.
-
@mika84 bin noch nicht dazu gekommen, aber wenn es 2 einträge für dieselbe uhrzeit gibt, macht es ja sinn, den nicht anzuzeigen. Wie gesagt, dasist alles eventbasiert. Wenn du ein catchAll event anlegst, wird er ja nur die uhrzeiten für einen tag suchen..
Leg doch mal 3 events an und schau ob er die richtig anzeigt. Denn so ist es eigentluch gedacht, dass fu für so ein event die datenpunkte bekommst, wo du dann per script oder vis drauf reagieren kannst und auch per vis einen weiteren termin anlegen kannst -
@dirkhe Hi, die sind nicht zur gleichen Zeit. Nur am gleichen Tag. Dann warte ich auf deine Analyse.
-
@mika84 Also ich habe deine Datei gerade eingelesen und bekomme auch alle angezeigt.
[ { "id": "2tummvmig9o65vf4u6qn7h7ffo@google.com", "calendarName": "test 1", "summary": "NormalEvent3", "date": "2024-07-02T11:00:00.000Z", "startTime": "13:00", "endTime": "14:00", "timeText": "from 13:00 until 14:00", "dateText": "today" }, { "id": "1pus6bgnr67n61frdui1c0us08@google.com", "calendarName": "test 1", "summary": "NormalEvent4", "date": "2024-07-02T12:30:00.000Z", "startTime": "14:30", "endTime": "15:30", "timeText": "from 14:30 until 15:30", "dateText": "today" }, { "id": "5vfaqnm9m61p6spmgsj0r7rsse@google.com", "calendarName": "test 1", "summary": "NormalEvent", "date": "2024-07-03T11:00:00.000Z", "startTime": "13:00", "endTime": "14:00", "timeText": "from 13:00 until 14:00", "dateText": "Tomorrow" }, { "id": "43bu69jm5bck63u8d010r6u4fs@google.com", "calendarName": "test 1", "summary": "NormalEvent1", "date": "2024-07-04T11:00:00.000Z", "startTime": "13:00", "endTime": "14:00", "timeText": "from 13:00 until 14:00", "dateText": "in 2 days" }, { "id": "7cgc8gas0mefjpaknj6np0j16j@google.com", "calendarName": "test 1", "summary": "Orchester", "date": "2024-07-10T14:30:00.000Z", "startTime": "16:30", "endTime": "17:30", "timeText": "from 16:30 until 17:30", "dateText": "in 8 days" }, { "id": "0gdt7e58bukrv2amaur6q3r499@google.com", "calendarName": "test 1", "summary": "www", "date": "2024-07-11T16:00:00.000Z", "startTime": "18:00", "endTime": "19:00", "timeText": "from 18:00 until 19:00", "dateText": "in 9 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-17T15:30:00.000Z", "startTime": "17:30", "timeText": "from 17:30", "dateText": "in 15 days" }, { "id": "7cgc8gas0mefjpaknj6np0j16j@google.com", "calendarName": "test 1", "summary": "Orchester", "date": "2024-07-17T14:30:00.000Z", "startTime": "16:30", "endTime": "17:30", "timeText": "from 16:30 until 17:30", "dateText": "in 15 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-18T15:30:00.000Z", "timeText": "all day", "dateText": "in 16 days" }, { "id": "0gdt7e58bukrv2amaur6q3r499@google.com", "calendarName": "test 1", "summary": "www", "date": "2024-07-18T16:00:00.000Z", "startTime": "18:00", "endTime": "19:00", "timeText": "from 18:00 until 19:00", "dateText": "in 16 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-19T15:30:00.000Z", "timeText": "all day", "dateText": "in 17 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-20T15:30:00.000Z", "timeText": "all day", "dateText": "in 18 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-21T15:30:00.000Z", "timeText": "all day", "dateText": "in 19 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-22T15:30:00.000Z", "endTime": "18:30", "timeText": "until 18:30", "dateText": "in 20 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-24T15:30:00.000Z", "startTime": "17:30", "timeText": "from 17:30", "dateText": "in 22 days" }, { "id": "7cgc8gas0mefjpaknj6np0j16j@google.com", "calendarName": "test 1", "summary": "Orchester", "date": "2024-07-24T14:30:00.000Z", "startTime": "16:30", "endTime": "17:30", "timeText": "from 16:30 until 17:30", "dateText": "in 22 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-25T15:30:00.000Z", "timeText": "all day", "dateText": "in 23 days" }, { "id": "0gdt7e58bukrv2amaur6q3r499@google.com", "calendarName": "test 1", "summary": "www", "date": "2024-07-25T16:00:00.000Z", "startTime": "18:00", "endTime": "19:00", "timeText": "from 18:00 until 19:00", "dateText": "in 23 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-26T15:30:00.000Z", "timeText": "all day", "dateText": "in 24 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-27T15:30:00.000Z", "timeText": "all day", "dateText": "in 25 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-28T15:30:00.000Z", "timeText": "all day", "dateText": "in 26 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-29T15:30:00.000Z", "endTime": "18:30", "timeText": "until 18:30", "dateText": "in 27 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-07-31T15:30:00.000Z", "startTime": "17:30", "timeText": "from 17:30", "dateText": "in 29 days" }, { "id": "7cgc8gas0mefjpaknj6np0j16j@google.com", "calendarName": "test 1", "summary": "Orchester", "date": "2024-07-31T14:30:00.000Z", "startTime": "16:30", "endTime": "17:30", "timeText": "from 16:30 until 17:30", "dateText": "in 29 days" }, { "id": "2dtpkjl55nso27eometl3it1qe@google.com", "calendarName": "test 1", "summary": "test", "date": "2024-08-01T15:30:00.000Z", "endTime": "18:30", "timeText": "until 18:30", "dateText": "in 30 days" }, { "id": "0gdt7e58bukrv2amaur6q3r499@google.com", "calendarName": "test 1", "summary": "www", "date": "2024-08-01T16:00:00.000Z", "startTime": "18:00", "endTime": "19:00", "timeText": "from 18:00 until 19:00", "dateText": "in 30 days" } ]
-
@dirkhe Ok, wie hast du den Filter eingestellt?
-
@dirkhe: Ich hätte einmal eine frage zu dem Adapter: Ich hoste meinen Kalender auf einem Synology NAS. Ich habe es aber noch nicht hinbekommen, dort einen Termin eintragen zu lassen. Mache ich etwas falsch? Die Instanz hat zwar eine Verbindung aber irgendwie kommt der Termin nicht im Kalender an.
Den "Add-Event" Datenpunkt habe ich zum Testen mal manuell mit einem Datum befüllt.
Vielleicht mache ich ja etwas falsch?? -
@surfer09 wie hast du den wert eingetragen, mit ackk =false oder true?. Das muss auf false stehen. Steht denn was im log?
-
@dirkhe Ach, ich habe das Problem gerade gefunden. Ich hatte 31.12.2024 eingetragen. Damit kommt er scheinbar nicht klar. Es muss 31.12.24 lauten, dann funktioniert es auch
-
@surfer09 sollte aber auch gehen, das kann ich mir aber gerne nochmal anschauen
-
@dirkhe Du hast Recht, jetzt geht's auch mit 31.12.2024. Komisch, aber okay!
Danke dir! -
@surfer09 habe es gerade auch noch mal getestet. Normalerweise schreibt er dir ach eine Fehlermeldung ins Feld. Du kannst auch ranges angeben, siehe doku
-
@dirkhe: Eine Sache habe ich doch noch: Ich habe auf der Synology mehrere Kalender angelegt. Verstehe ich das richtig, dass ich mit diesem Punkt hier steuere, in welchen Kalender das Ereignis angelegt wird?
Hier habe ich 2 unterschiedliche Kalender hinterlegt. Bei meinen Testereignissen habe ich diese ebenfalls hinterlegt:
Er packt mir aber "Spuelmaschine reinigen" auch in den "Dennis - privat" Kalender, wenn ich "addEvent" benutze.
Auffällig ist, dass er zwar meldet "erfolgreich hinzugefügt", aber das "data"-Objekt wird nicht befüllt, was ja sonst immer mit befüllt wird.Habe ich da irgendwo ein Verständnisproblem?
-
Wenn ich den "Dennis-privat" Kalender in der Instanz deaktiviere, dann funktioniert es. Dann wird der Eintrag in den anderen Kalender übernommen.
-
Sorry, dass ich jetzt hier alles zubombe, aber mir ist noch etwas aufgefallen. Ich habe den "Dennis &" Kalender auf inaktiv gesetzt.
Bei "Spülmaschine" kann der Termin erfolgreich hinzugefügt werden, obwohl das Ereignis in den inaktiven Kalender eingetragen werden soll.
Bei dem anderen Test-Termin erscheint die Meldung, dass der Kalender nicht gefunden werden kann, was ja auch korrekt ist.
-
@surfer09 also du hast einmal die event ebene und die kalenderebene. Die werde hier absichtlich gemischt, du kannst aber bej dem event auch sagen, welches der default Kalender ist oder den auch nur auf einen kalender beschränken.
Wenn du ein event anlegst, kannsg du per @ den zielkalender angeben, siehe doku