NEWS
Test Adapter Birthdays
-
@haus-automatisierung
Ich nutze in meiner Nextcloud mehrere Adressbücher, die alle Geburtstagsinformationen haben können. CardDAV kann ich somit bei deinem Adapter nicht nutzen um alle Geburtstage anzeigen zu lassen. Oder gibt es da einen Kniff?In Nextcloud Kalender kann ich mir Geburtstage der Kontakte zeigen lassen und diese sind dann aus allen Adressbüchern.
Also müsste doch mit der ical Funktion deines Adapters möglich sein diese Geburtstage abzufragen, tut sie hier aber nicht.
Der Linkhttps://<url>/remote.php/dav/calendars/<user>/contact_birthdays/?export
ausgeführt im Browser jedenfalls läd die Datei nach Benutzername und Passwort eingabe herunter.
Im Debug Log werden die Geburtstage gezeigt (ich habe das auf einen gekürzt und den Namen geändert):2022-07-22 17:26:49.605 - info: birthdays.0 (12297) starting. Version 2.1.0 in /opt/iobroker/node_modules/iobroker.birthdays, node: v16.16.0, js-controller: 4.0.23 2022-07-22 17:26:49.658 - debug: birthdays.0 (12297) [settings] done 2022-07-22 17:26:49.658 - debug: birthdays.0 (12297) [ical] url/path: https://<url>remote.php/dav/calendars/<user>/contact_birthdays/?export 2022-07-22 17:26:49.659 - debug: birthdays.0 (12297) [ical] addByCalendar - looks like an http url, performing get request 2022-07-22 17:26:49.659 - debug: birthdays.0 (12297) [ical] addByCalendar - performing https requests with rejectUnauthorized = false 2022-07-22 17:26:49.685 - debug: birthdays.0 (12297) [carddav] done - url not configured - skipped 2022-07-22 17:26:52.017 - debug: birthdays.0 (12297) [ical] http(s) request finished with status: 200 2022-07-22 17:26:52.030 - debug: birthdays.0 (12297) [ical] found 151 events 2022-07-22 17:26:52.032 - debug: birthdays.0 (12297) [ical] processing event: {"component":["vevent",[["dtstamp",{},"date-time","2022-07-15T12:51:47Z"],["dtstart",{},"date","1972-05-20"],["dtend",{},"date","1972-05-21"],["uid",{},"text","176a74a9-0e17-4d8f-9e4a-99b41bad8c3e"],["rrule",{},"recur",{"freq":"YEARLY"}],["summary",{},"text","🎂 Fritz Müller (1972)"],["transp",{},"text","TRANSPARENT"],["x-nextcloud-bc-field-type",{},"unknown","BDAY"],["x-nextcloud-bc-unknown-year",{},"unknown","0"],["x-nextcloud-bc-year",{},"unknown","1972"]],[["valarm",[["trigger",{},"duration","-PT0M"],["action",{},"text","DISPLAY"],["description",{},"text","🎂 Fritz Müller (1972)"]],[]]]],"_rangeExceptionCache":{},"exceptions":{},"rangeExceptions":[]} 2022-07-22 17:26:52.033 - debug: birthdays.0 (12297) [ical] missing birth year in event: 🎂 Fritz Müller (1972)
Die Geburtstage werden also erkannt, allerdings wird ein fehlendes Geburtsjahr angemeckert. Das steht aber in Klammern dabei.Ist es möglich deinen Adapter entsprechend zu erweitern?
PS: Ich kann dann gerne noch einen Request auf Github stellen
-
@fredf sagte in Test Adapter Birthdays:
Das steht aber in Klammern dabei.
Also soll ich jetzt auch noch das Geburtsjahr aus dem Namen parsen? Bitte trag das Geburtsdatum einfach in das richtige Feld ein und dann läuft es auch.
Siehe https://github.com/klein0r/ioBroker.birthdays/blob/master/docs/de/ical.md
-
@fredf sagte in Test Adapter Birthdays:
Ich nutze in meiner Nextcloud mehrere Adressbücher, die alle Geburtstagsinformationen haben können.
Ich habe NextCloud nicht laufen um das zu testen. Was ist denn jetzt der Wunsch? Dass man mehrere CardDAV Urls pflegen kann?
-
@haus-automatisierung sagte in Test Adapter Birthdays:
Also soll ich jetzt auch noch das Geburtsjahr aus dem Namen parsen?
Meine Güte, die kleinste sinnlose Anforderung und schon verweigerst du dich
@FredF : So ganz habe ich es nicht verstanden, aber wenn du die Info (aus ical ??) in der Form bekommst, dass das Geburtsjahr "irgendwo anders" steht, dann müsstest du das doch durch ein Skript parsen und richtig setzen können
-
@amg_666 So wie ich das verstanden habe baut NextCloud den Kalender automatisch aus den Adressbüchern zusammen. Und die haben es wohl für eine gute gehalten, das Geburtsdatum in Klammern hinter den Namen zu schreiben…
-
@haus-automatisierung sagte in Test Adapter Birthdays:
Bitte trag das Geburtsdatum einfach in das richtige Feld ein und dann läuft es auch.
Klappt nur nicht, da von Nextcloud vorgegeben.
@haus-automatisierung sagte in Test Adapter Birthdays:
Dass man mehrere CardDAV Urls pflegen kann?
Wenn das machbar ist, dann bitte ja.
@amg_666 sagte in Test Adapter Birthdays:
@FredF : So ganz habe ich es nicht verstanden, aber wenn du die Info (aus ical ??) in der Form bekommst, dass das Geburtsjahr "irgendwo anders" steht, dann müsstest du das doch durch ein Skript parsen und richtig setzen können
Keine Ahnung wie das geht... Könnte man versuchen, aber es gibt ja diesen Adapter
-
@fredf sagte in Test Adapter Birthdays:
Wenn das machbar ist, dann bitte ja.
Machbar ist das alles. Nur ein Breaking Change und ne Menge Arbeit für Dich als einzigen Nutzer mit der Anforderung. Gibts keine URL welche alle Kontakte aus allen Adressbüchern zurückgibt?!
-
@haus-automatisierung
Leider gibt es diese URL für alle Kontakte nicht. Ich hatte auch schon überlegt mal bei Nextcloud anzuklopfen um die Klammern rauszunehmen aber bei >500 auch recht alten open issues lasse ich das mal lieber
Aber wie von @amg_666 vorgeschlagen, parse ich jetzt ical und bekomme somit das Geburtsjahr und kann das Alter selbst ohne diesen Adapter berechnen -
Hallo,
ich pflege meine Kontakte über Synology Contacts mit CardDAV. Die Geburtstagsdaten sind im entsprechenden Feld bei den Kontakten natürlich eingetragen (z.B. 1969-12-9). Die CardDAV URL geht über https bzw. Port 5001 und funktioniert in allen anderen Anwendungen prima.
Allerdings bekomme ich die Objekte im iobroker nicht mit dieser URL gefüllt. Das sollte doch so funktionieren, oder übersehe ich was entscheidendes? Hat jemand einen Tip? -
@mom_fuzzi sagte in Test Adapter Birthdays:
funktioniert in allen anderen Anwendungen prima.
Und wie lange ist die Response time in anderen Anwendungen?
-
@haus-automatisierung im iobroker habe ich jetzt nichts weiter im CardDAV. Im Handy funktioniert die Synchronisation mit der Diskstation.
code 401 deutet doch auf ein Berechtigungsproblem hin, oder? Den Haken bei "Zertifikatsfehlern ignorieren" habe ich gesetzt.
Und die Geburtstage werden doch in das entsprechende Feld des Formulares eingetragen, oder? -
@mom_fuzzi sagte in Test Adapter Birthdays:
Und die Geburtstage werden doch in das entsprechende Feld des Formulares eingetragen, oder?
Was meinst Du damit? Was für ein Formular?
-
Im Synology-Contacts, bei der Erstellung eines neuen Kontaktes...
-
@mom_fuzzi Richtig, das Feld wird ausgewertet.
bday
heißt das in CardDAV. https://github.com/klein0r/ioBroker.birthdays/blob/2ba56d099abcd524648b0603d92be58a593c37df/main.js#L263 -
@haus-automatisierung
Danke für den Adapter, kann ich sehr gut gebrauchen.Mir ist aber aufgefallen, dass ich bei "Name" kein Leerzeichen machen kann, so kann ich keinen Vor- und Nachnamen eintragen. Ich denke das ist ein Bug.
Grüße Alex
-
@alexmi sagte in Test Adapter Birthdays:
Ich denke das ist ein Bug.
Korrekt, ist ein Bug vom Admin-Adapter. Einfach den kompletten Namen schreiben und dann das Leerzeichen danach erst einfügen... Siehe
-
@haus-automatisierung
Danke für die InfoGibt es eigentlich eine Möglichkeit auch Geburtstage über die VIS hinzuzufügen, oder nur in der Adapter Instanz?
Wäre nämlich ganz interessant, wenn es über die VIS geht, weil dann kann mein Besuch den Geburtstag selber eintragen.
-
@alexmi sagte in Test Adapter Birthdays:
Gibt es eigentlich eine Möglichkeit auch Geburtstage über die VIS hinzuzufügen
Das Problem ist, dass das ein Schedule-Adapter ist, der also nur 1x am Tag gestartet wird für die Neuberechnung. Wenn man jetzt jederzeit einen Termin aufnehmen können wollen würde (z.B. über VIS), dann müsste die Instanz entweder andauernd laufen oder VIS müsste direkt die Instanz-Konfiguration bearbeiten (was nicht so cool wäre).
Dafür müsste ich also sehr viel umbauen.
-
Hi,
ich habe aktuell das Problem, das der Adapter im Ordner summary keine Werte liefert []. Alle anderen Ordner liefern mir die nächsten Geburtstage (next, nextAfter, etc.). Ich habe die Geburtstage über ical eingebunden.
Woran kann das liegen?
Dankeschön vorab
-
@deehay sagte in Test Adapter Birthdays:
Woran kann das liegen?
Debug-Log aktivieren und selbst schauen was der Adapter tut... Ich kann nicht raten