iobroker-community-adapters / ioBroker.ical

Read information from google calender and from iCal files into ioBroker.
MIT License
44 stars 32 forks source link

Events werden nicht korrekt ausgewertet #674

Open cvoelkel76 opened 2 months ago

cvoelkel76 commented 2 months ago

Wir nutzen unseren Kalender zur Heizungssteuerung.

Kalenderevents: Urlaub Frau --> Büro Frau wird nicht geheizt Urlaub Mann --> Büro Mann wird nicht geheizt Urlaub --> beide Büros werden nicht geheizt

Problem: Der Kalendereintrag "Urlaub Mann" stellt die Events "Urlaub Mann" und "Urlaub" auf true. Somit bleibt das Büro meiner Frau kalt, obwohl nur ich Urlaub habe.

Also Workaround könnte man zwar statt "Urlaub" zum Beispiel "Urlaub beide" eintragen, aber so wirklich schön ist das nicht.

Ich habe den Adapter für mich angepasst, hält natürlich nur bis zum nächsten update:

692 async function checkForEvents(reason, event, realnow) {

701     // check if event exists in table
702     for (let i = 0; i < events.length; i++) {
703         const ev = events[i];

704         //if ((reason.includes(ev.name)) || (ignoreCaseInEventname && (reason.toLowerCase().includes(ev.name.toLowerCase())))) {

705         if ((reason === ev.name) || (ignoreCaseInEventname && (reason.toLowerCase() === ev.name.toLowerCase()))) {

706             // check if event should shown
707             result = ev.display; 
708             adapter.log.debug(`found event in table: ${ev.name}, day=${ev.day}`);

Eventuell könnte man das generell ändern wenn gewünscht.

Grüße Christian

klein0r commented 2 months ago

Eventuell könnte man das generell ändern wenn gewünscht.

Wenn, dann nur konfigurierbar. Sonst würde sich ja das Verhalten bei allen ändern. Ich würde empfehlen, die Events "Urlaub" anders zu nennen. Also z.B. "Urlaub generell" oder "Urlaub alle".