homebridge-calendar ( Kalender Trigger)

  • So, ich habe jetzt noch einmal ein komplett neues Image aufgespielt und die Homebridge von vorne neu installiert:


    Jetzt gehts! Keine Ahnung woran es gelegen hat.

    Ich werde mal sehen, was ich mit dem guten Plugin alles anfangen kann. Dadurch kann man ja einen ganzen Satz Regeln, Szenen und dergleichen variabel ersetzen. Super, genau das Richtige für mich! Vielen Dank grover!


    Wenn ich in aller Dreistigkeit noch was wünschen dürfte:

    Ist es möglich die Termine genauso zu benennen, wie Aktoren, die in HomeKit bereits hinterlegt sind und diese Aktoren, z.B. eine Lampe, direkt anzusprechen? Dann könnte man sich das Anlegen und Abfragen eines Dummy-Kontaktsensors sparen.:/ Ich kann mir zwar nicht vorstellen, dass HomeKit einen so direkten Zugriff zulässt, aber man weiß ja nie... 8)

  • Herrlich! ^^


    Ich habe jetzt unseren Abfallkalender in iCloud importiert und über das Calendar-Plugin entsprechende Szenen und Regeln definiert, so dass unsere "Benachrichtigungslampe" im Flur morgens mit der entsprechenden Farbe leuchtet, falls eine Mülltonne rausgestellt werden muss:


    Altpapier = blau

    gelber Sack = gelb (naja, was so gelb wie möglich aussieht)

    Bio = grün

    Restmüll = schwarz, ne okay: weiß


    Nie mehr den Müll vergessen!


    Nebenher habe ich noch einen zweiten Kalender angelegt: Einfach in der config den entsprechenden Abschnitt unter "calendars" über Komma getrennt mit entsprechenden Angaben nochmal hinzufügen. Darin kann ich jetzt noch beliebige weitere Aktionen steuern. Mal gucken, was man nicht noch so für einen Schabernack damit anstellen kann.


    Nochmals Dank an Grover fürs Engagement hier ein Plugin nach dem anderen rauszuhauen. Ich probier mich gerade selber daran, musste allerdings merken, dass ich auf meine alten Jahre erstmal Javascript lernen muss =O:S

  • Gar nicht mal schlecht die Idee mit Müll :D

  • grover habe mich jetzt mal etwas intensiver mit dem Kalender Plugin beschäftigt und habe da noch ein zwei Ideen für die Weiterentwicklung um den WAF Faktor etwas zu erhöhen. ;)


    Hintergrund: Nachdem ich meiner Frau gesagt habe Sie muss vor jedes Ereignis absofort ein Schlagwort vergeben im Kalender damit es funktioniert, hat Sie mir gesagt ich habe einen an der Schüssel und die zusammenarbeit verweigert :(


    Vorab kurze Erklärung wie ich meine Kalender Organisiert habe, bin gespannt ob ihr es auch so habt oder ob ich wieder ein spezial Fall bin:S


    Ich habe mehrer Kalender für verschiedene Ereignisse hier mal Bsp., Urlaub, Feiertage, Arbeit

    in diese Kalender schreibe ich die zugehörigen Ereignisse bisher ohne Schlagwort.


    Um diese zu berücksichtigen in deinem Plugin ohne Schlagwort muss ich für jeden Kalender ein Gerät in der config anlegen damit der oberste Sensor reagiert oder alle Ereignisse in einen Kalender packen und mit Schlagwörte versehen damit der jeweilige Sensor der vorher angelegt wurde diese Ereignisse berücksichtigt.


    Wäre es hier nicht eventuell möglich das man ein Gerät in der Config anlegt Kalender und zu diesem Gerät für jeden iCloud Kalender ein Sensor erstellt. Diesem Sensor kann dann eine WebCal Adresse zugeordnet werden kann?


    Hätte den großen Vorteil das man alle Kalendersensoren unter einem Gerät hätte und alle iCloud Kalender übergreifend alle Ereignisse ohne Schlagwörter berücksichtigen kann.

  • Könnte nicht einfach der Kalendername verwendet werden? Das heißt, das Präfix vor dem jeweiligen Termin entfällt, weil sozusagen der Kalendername das Präfix ist.


    Gruß

  • Hintergrund: Nachdem ich meiner Frau gesagt habe Sie muss vor jedes Ereignis absofort ein Schlagwort vergeben im Kalender damit es funktioniert, hat Sie mir gesagt ich habe einen an der Schüssel und die zusammenarbeit verweigert :(

    Das würde mir hier zu Hause nicht anders gehen. Ich bin noch in der Phase davor, meine Familie zu überzeugen, ihren elektronischen Kalender überhaupt zu pflegen!


    Allerdings verstehe ich Deine Vorgehensweise mit den Schlagwörtern nicht so richtig. Der Sensorname muss doch mit dem Ereignisnamen übereinstimmen?! Deshalb habe ich meinen speziellen Müllkalender, in dem jede Müllart den selben Namen hat (Restabfall, Altpapier,...). Würde ich im Titel des Termins ein Schlagwort und den Bezeichner aufnehmen, kann das Plugin den Termin doch gar nicht auswerten, da der Titel dann nicht mehr mit dem Sensornamen übereinstimmt. Oder habe ich was an Deiner Vorgehensweise oder der Nutzung des Plugins was falsch verstanden?

    Und meine Arbeitstermine heißen z.B. je nach Inhalt alle unterschiedlich. Trägst Du da nur einen pauschalen Zeitraum für Arbeit mit dem Titel "Arbeit" ein?


    Ich habe zur Zeit insgesamt 18 verschiedene Kalender aktiv, aber das Plugin benötige ich derzeit nur für zwei davon: Müllkalender und einen, den ich "HomeKit" genannt habe, um speziell alle Steuerereignisse, die ich automatisieren will, zusammenzufassen. Den Homekit-Kalender und seine Sensoren habe ich in meinem "Dummyraum" untergebracht, in dem alle virtuellen Schalter usw. ihr Dasein fristen. Der Müllkalender habe ich im räum "Mülltonnen" im Bereich "Draußen". Ist für mich übersichtlich und einfach strukturiert. Ich sehe keine Bedarf für die Zusammenfassung unter einem Gerät. Würde es für mich eher unlogischer und unübersichtlicher erscheinen lassen.

  • Zitat

    Der Sensorname muss doch mit dem Ereignisnamen übereinstimmen?!

    Genau das würde bei meinem Vorschlag nicht mehr der Fall sein. Da jeder Sensor einen bestehenden iCloud Kalender überwacht und jedes Ereignis in diesem Kalender was anfällt berücksichtigt. Egal ob da steht "Urlaub Nastra" oder "Nastras Urlaub" oder Wochenende in Vegas.

  • Danke für diese tolle Inspiration … endlich mal eine Automation, die meiner Frau auch gefällt! :)

    Zum Glück habe ich noch den ein oder anderen Schnipsel RGB-Band hier, so konnte ich es direkt umsetzen.

    Jetzt muss das Ganze nur noch optisch ansprechend gestaltet werden. Ich denke ich bastel mir dazu einen kleinen

    Alu- oder Edelstahlrahmen und setze ein transluzentes Plexiglas davor.


    Zitat von SamBucca

    Nochmals Dank an Grover fürs Engagement hier ein Plugin nach dem anderen rauszuhauen.

    Dem Dank kann ich mich nur anschließen! Einfach Weltklasse :thumbup:

  • Mein calendar-Plugin hat sich verselbständigt!


    grover Ich habe das Gefühl, dass das Plugin ein wenig Schwierigkeiten hat, wenn man einen Termin verschiebt, der bereits begonnen hat, aber im Plugin noch nicht als beendet erkannt wurde. Dann wird der Status des Sensors nämlich nicht aktualisiert.


    Bsp.:

    Termin 10-11Uhr

    Jetzt nehmen wir an, es wäre inzwischen 10:15Uhr, d.h. das Plugin hat um 10Uhr erkannt, dass der Termin beginnt und den Sensor auf "geöffnet" geschaltet. Aktueller Status ist also "geöffnet". Jetzt verschiebe ich den Termin auf 10:30-11:30Uhr. Dann beliebt der Status des Sensors "geöffnet" obwohl zur Zeit eigentlich kein Termin stattfindet, da er nach der Verschiebung ja eigentlich um 10:15Uhr noch gar nicht gestartet sein dürfte.


    Gefahr erkannt, Gefahr gebannt. Jetzt dachte ich, ich bin besonders schlau, ziehe das Ende des Termins möglichst weit nach vorne und warte bei dem Termin einfach so lange, bis er regulär beendet wurde (die Endzeit überschritten wird). Dann müsste der Sensor durch das Plugin ja wieder auf "geschlossen" gestellt werden. Aber da schmierte mir der Raspi total ab! Von nun an versucht er permanent einen neuen Status der Kalender einzuholen. Das sieht dann im Log so aus:


    Besonderheit im Log ist, dass die Sensoren auf off geschaltet werden, obwohl der Kalender an sich auf on ist! Das darf ja schon mal gar nicht sein.


    Und das geht endlos so weiter, bis ich den Dienst manuell stoppe. Aber der Hammer ist: Selbst nach Stoppen des Homebridge-Dienstes, De- und Neuinstallation des Plugins, Reboot oder sogar Ziehen des Steckers fängt das wieder von vorne an!

    Was ist das denn bitte?!? Wie kann ein Plugin denn über den Systemstart hinaus solch eine Macht entwickeln??? =O=O=O Ist das Industrie 5.0??? Merkt es sich über die Stromlosigkeit und Deinstallation hinaus, dass ich mit der Terminverschiebung Mist gebaut hatte? Hat mein Raspi doch ein Seele???


    Nebenbemerkung: An der config habe ich in der Zeit genauso wenig wie am restlichen System herumgefummelt!


    Grover to the rescue!! =O=O


    P.S.: Mir fällt gerade ein, gibt es da nicht einen cachedaccessories Ordner oder so? Beim Harmony Plugin verursacht das doch manchmal Probleme. Wo ist denn der?


    P.P.S.: Gefunden, gelöscht, nix geholfen...


    Aaaaaaaaahhhh!8)

  • Nö, ich hatte nur mit zwei Terminen (zwei Sensoren) in einem Kalender herumgespielt. Ich habe dabei den einen Termin "CalSensor1" immer wieder verschoben, um eine Szene zu testen. Denn irgendwie schaffe ich es nicht den Sensor als Auslöser zu benutzen. Aber das kann auch mit der irgendwie fehlerhaften Statusänderung aufgrund der Terminverschiebung zusammenhängen. Ich habe das Gefühl, dass das Plugin durcheinander kommt, wenn man zwischen zwei Statusabfragen laufende Termine verschiebt.

    Eigentlich wollte ich über eine Geräteautomation ein Licht einschalten. Regel: Wenn Kontaktsensor "CalcSensor1" geöffnet, dann schalte Licht XY an. Läuft aber komischerweise nicht. daher habe ich beim Rumprobieren den auslösenden Termin immer wieder verschoben, um den Vorgang immer wieder zu testen.


    Ich habe zwar noch einen anderen Kalender eingebunden, aber dessen erster Termin ist erst am Donnerstag. Der sollte also keine Rolle spielen, oder?


    Ich habe nebenbei im Log gesehen, dass das Plugin alle 5 Minuten die Kalender abfragt und man das über die config anpassen kann. Kann man das auch verkürzen oder gibt es Gründe, dass man das nicht öfter macht?


    Config s.u., den Kram der anderen Plugins und des zweiten Kalenders habe ich rausgenommen. Falls Du das auch brauchst schicke ich Dir das. Den Kalender kann ich im Nachgang neu aufsetzen.


    Vielen Dank für Deine Untertstützung


  • Ich schau mal ob ich nachher eine Stunde freibekomme.


    Die Zeit mit 5 Minuten hatte ich mit Absicht gewählt: Anbieter haben typischerweise ein Rate Limiting gegen zu häufige Abfragen. Das könnte bis hin zur Dienstverweigerung gehen.


    Als ich die Tests gemacht habe, habe ich die Homebridge zwischendrin neu gestartet.

  • Ich habe mal eine Frage. Wie funktioniert das mit den Terminen genau? Wenn ich beispielsweise Geburtstage anzeigen lassen möchte und zusätzlich eine Aktion stattfinden soll. Muss ich dann zb Sensor 1 Geburtstag eingeben wenn ich nur Geburtstage angezeigt bekommen möchte? Wenn ich grundsätzlich Termine angezeigt bekomme, dann kommen die ja über Cal 1 . Wenn ich aber zum Beispiel nur meinen Müllplan haben möchte dann kann ich ja noch auf Sensor 2 Müllplan gehen und was wäre mit dem 3. Ereignis? Funktioniert nur 2 und der Cal 1 für grundsätzliche Termine?

  • Guck Dir mal meinen Beitrag #55 oben an. In dem Code kannst Du im Abschnitt der Zeile 22-32 die Einrichtung eines Kalenders sehen. Mit dem Code werden insgesamt 5 Kontaktsensoren in HomeKit angelegt. Die Sensoren bekommen Als Defaultwert "geschlossen" zugeordnet und haben folgende Funktionsweise:

    • "Abfallkalender": Bezieht sich auf alle Ereignisse im Kalender und wird geöffnet, wenn irgendein Ereignis mit egal welchem Namen in dem unter "web://" verlinkten Kalender stattfindet
    • "Restabfall": Wird immer nur dann auf geöffnet geschaltet, wenn ein Ereignis, das mit dem Namen "Restabfall" beginnt(!), stattfindet. Dieses Verhalten gilt für "Gelber Sack/Tonne", "Altpapier" und "Bioabfall" analog. Wenn die Ereignisse zu Ende sind, wird der korrespondierende Kontaktsensor wieder geschlossen.

    Wieviele Kalender Du anlegst und verlinkst und wieviele Sensoren Du darin anlegst ist (glaube ich) quasi unbegrenzt - irgendeine in der Praxis irrelevante Grenze wird's wohl geben....


    Die so erstellten und reagierenden Kontaktsensoren mit obigen Namen kannst Du dann in HomeKit als Auslöser für beliebige andere Aktionen nehmen.


    Anderes Beispiel: Geburtstagskalender

    Code
    {
     "name": "Geburtstagskalender",
     "url": "webcal://xxx",
     "pollingInterval": 5
     },

    Willst Du an Geburtstage erinnert werden, dann könntest Du Deinen Geburtstagskalender veröffentlichen und den Link in die config eintragen. Der Kontaktsensor, der hier erstellt wird hieße dann "Geburtstagskalender". Weitere Sensoren brauchst Du nicht, weil es Dir dann egal wäre, wer Geburtstag hat. Es geht ja nur darum, daran erinnert zu werden, dass jemand Geburtstag hat. Und dazu reicht es nur abzufragen, ob irgendein Ereignis an dem Tag vorliegt. Kannst dann ja nachgucken ob es Mutti oder sonst wer ist...

    2 Mal editiert, zuletzt von SamBucca () aus folgendem Grund: Korrektur aufgrund Grover's Anmerkungen

  • SamBucca Vielen Dank für die genau Erläuterung. Das bedeutet ich brauche für verschiedene Ereignisse auch verschiedenen Kalender oder habe ich das jetzt falsch verstanden?

  • Ich glaube ich habe es verstanden. Die fünf Sensor bekommst du durch Abfallkalender und den Rest. Aber wofür ist Cal 1 und Cal 2 in deiner Config?