ich versuche gerade eine Kalenderbasierte Node-Red Automation zur erstellen, und komme nicht weiter (vom internen HA Kalender)
Das ganze läuft bereits mit den Bordmitteln über die Autmoatisierungen wenn ich unter “Dann mache” ein Wert Template Abfrage und danach eine Aktion auslöse, möchte es aber graphisch machen.
Genaue Frage somit
Wenn im HA Kalender z.B am 30.10.2024 um 10:00 als Eintrag “licht” steht wie kann ich dieses “licht” in Node-Red auslesen und als Trigger verwenden.
Es gibt zwar einen calendar_event (beta) in Node-Red, nur fehlt mir hier der logische Schluss
Ich habe das mit einer “action”-node (früher “call-service”-node) geregelt.
Als Entity der Kalender und falls Du nur einen bestimmten Zeitraum abfragen möchtest, dann noch eine node mit Datum/Uhrzeit bzw. einem entsprechenden offset:
Die Daten kannst du dann mit Standard Nodes weiter verarbeiten. Woran genau scheitert es?
Vermutlich willst du msg.payload.summary oder msg.payload.description nutzen. Wenn du auf “licht” reagieren willst dann geht das mit z. B. mit einem Switch-Node.
2 Stolpersteine … zwischen Kalendereintrag erstellen und Sichtbarkeit in Node-Red vergehen ca. 15 Minuten, und Nummer 2, Offset im Calendar-Node funktioniert nicht.
Ich verstehen immer noch nicht warum du daran scheiterst. Das Calender Node liefert dir die Daten, die kannst du - wenn noch was unklar ist - per Debug Node ansehen. Die Felder siehst du im Debug, und in meinem Post genau und kannst dann in Change-Node, in eigener Funktion, oder anderen Nodes abgreifen und verarbeiten. Zeige doch mal was du hast, was dein Debug Node ausgibt, welchen Fehler du bekommst. Ein “geht nicht” ist zu wenig um zui helfen.
dafür hast du doch das Calender node angelegt. Schau dir doch mit einem Debug Node an was für Daten zum Event rauskommt und verarbeite das. Genau was du beschreibst habe ich dir schon in meiner Antwort beschrieben. Wenn du Anfänger bist dann schlage ich dir vor erstmal die Grundlagen von Node-Red zu lesen und ein Tutorial zu lesen das erklärt dir vieles.
Jetzt habe ich es hoffentlich verstanden, ich ging immer davon aus das ich im Kalender etwas auslesen muss, aber dieser Calender Node liest wohl alle 15 Minuten die Kalendereinträge welche ich dann für Aktionen verwenden kann.
Das CAlender Node ist dazu da die Termine als Payload zu liefern. Genau zum konfigurierten Zeiitpunkt. Wenn dein Termin um 20:17 Startet und du auf Start reagierst hast du genau um 20:17 das Event. Nur beim Anlegen eines neuen Termins dauert es ca. 15 Minuten bis das “durchsynchronisiert” ist.
Hier noch eine kleine Anmerkung: Der events: calendar-Node liest die Kalendereinträge nicht alle 15 Minuten, er hört auf Ereignisse der HA Kalender Integration. Das Triggersystem der HA Kalenderintegration schaut alle 15 Minuten nach neuen Einträgen in den Kalendern, weshalb neue Einträge mindestens 15 min in der Zukunft liegen sollten, um sicher getriggert zu werden.
Das bedeutet, dass der events: calendar-Node auch triggert, wenn der Flow erst 5 min vor dem Kalenderereignis erstellt wurde, der eigentliche Eintrag im Kalender aber älter als 15 min ist.
Danke, keinen Stress. Ist vielleicht ein Verständnis Problem. Ich dachte ich könnte von einem bestimmten Tag die Events auslesen. Allerdings bekomme ich aus der debug Note nur quasi das raus was er mir als Datum aus der Action Note anzeigt.
Zur Info wenn ich das über die Entwicklerwerkzeuge mache, geht es. Es ist also eine fehlende oder falsche Einstellung in der Action Node meinerseits.
ok habs raus. Mein fehler war, das ich msg.payload auf results stellen muss. Stand vorher auf send data und da kam nix. @harryp danke für deine Hilfe.
An deinem Flow hab ich aber immer noch Interesse.
by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)