klein0r / ioBroker.birthdays

ioBroker adapter which calculates the next birthdays of your friends and family
https://haus-automatisierung.com/
MIT License
6 stars 6 forks source link

Unterstützung für mehrere gleichnamige Personen fixes #183 #185

Closed hansdueck closed 8 months ago

hansdueck commented 8 months ago

Ich habe dem Objekt "birthdays" eine neue Eigenschaft (id) gegeben. Die ID setzt sich aus dem Namen und dem Geburtsdatum zusammen. Damit werden Personen mit gleichen Namen, die an verschiedenen Tagen geboren sind, unterstützt.

klein0r commented 8 months ago

Damit ändern sich ja alle Objekt-IDs...

hansdueck commented 8 months ago

Das ist richtig. Ich habe darin aber kein Problem gesehen, weil ich nur "birthdays.0.next.text" und "birthdays.0.nextAfter.text" genutzt habe. Wenn man eine neue Person dem Kalender hinzufügt oder entfernt, wird für diese bei der nächsten Aktualisierung auch eine ID hinzugefügt bzw. entfernt. Bei mir wurde gewissermaßen alle Personen entfernt und unter der neuen ID angelegt.

Im ersten Schritt hatte ich die ID nicht umbenannt, sondern nur die Eigenschaft ID hinzugefügt und die Überprüfung mit "birthdaysSameName" angepasst. Das führt dazu, das Personen mit gleichem Namen trotzdem angelegt werden, wenn sie in verschiedenen Monaten geboren sind. Wenn der Monat aber gleich ist, wird der Kanal überschrieben.

Aus diesem Grund habe ich die IDs umbenannt.

Es ist also doch nicht so einfach, wie ich dachte.

hansdueck commented 8 months ago

Ich überlege nochmal weiter und mache einen neuen Vorschlag.

klein0r commented 8 months ago

Ich überlege nochmal weiter und mache einen neuen Vorschlag.

Für das Problem gibt es aktuell keine Lösung (wenn man die Objekt-IDs nicht ändern möchte). Die einfachste wäre momentan, den Personen im Kalender unterschiedliche Namen zu geben.

Weil wenn "Max Mustermann" Geburtstag hat, möchte man ggf. ja auch noch wissen, welcher von beiden.

hansdueck commented 8 months ago

Eine Möglichkeit wäre noch die älteste Person mit dem Namen als ID anzulegen und allen weiteren einen Zusatz in der ID mitzugeben. Damit bleibt alles was auf den alten ID aufbaut bestehen und nur die neuen bekommen eine angepasste ID. Mit der Anpassung des Namens ist aber das gleiche Ziel erreicht.