Anleitung - Feiertag zu einem BACnet Schedule hinzufügen
Ziel: An einem Datum folgt der Controller einem anderen Wert als dem Wochenplan, indem du einem Schedule-Objekt eine Ausnahme hinzufügst.
Bevor du anfängst
- Das Schedule-Objekt ist importiert. Es erscheint als Sensor, der den Wert zeigt, den der Schedule gerade vorgibt.
- Jedes BACnet-Gerät ist ein eigener Eintrag, mit dem Gerätenamen als Titel, unter Settings → Devices & Services → BACnet IP; der Schedule-Sensor steht auf der Geräteseite deines Geräts.
- Du kennst die Entity-ID dieses Sensors, zum Beispiel
sensor.ddc_heating_schedule. - Lies Schedules: Der Exception Schedule wird immer als Ganzes ersetzt.
Schritte
- Gehe zu Developer tools → Actions und führe
bacnet.read_scheduleauf dem Schedule-Sensor aus. Das zeigt, was dein Controller zurückgibt, einschließlich des bestehendenexception_schedule. Die Developer tools zeigen die Antwort selbst.response_variablebrauchst du nur in einer Automatisierung oder einem Script.action: bacnet.read_schedule target: entity_id: sensor.ddc_heating_schedule
- Kopiere die bestehenden Ausnahmen. Du musst sie erneut mitgeben, sonst schlägt das Schreiben fehl.
- Führe
bacnet.write_schedulemit der vollständigen Liste aus: den bestehenden Ausnahmen und der neuen. Der Wert wird im Datentyp des Schedules selbst geschrieben.priorityreicht von 1 bis 16; niedriger gewinnt. Nach dem Schreiben wird der Schedule zurückgelesen. Du solltest keinen Fehler sehen. Führebacnet.read_schedulenoch einmal aus, um zu bestätigen, dass die Ausnahme vorhanden ist.action: bacnet.write_schedule target: entity_id: sensor.ddc_heating_schedule data: exception_schedule: # ...plus every existing exception you want to keep - period: { date: "2026-12-25" } priority: 10 time_values: - { time: "00:00:00", value: 16 }
Wenn es nicht funktioniert
- Die Aktion schlägt fehl und listet Ausnahmen: Das Schreiben würde Ausnahmen entfernen, die das Gerät hat. Gib die vollständige Liste mit, oder setze
allow_removal: true, wenn du sie entfernen willst. - Die Aktion schlägt nach dem Schreiben fehl: Das Gerät hat die Änderung abgelehnt oder etwas anderes gespeichert.
- Die Daten sehen beim Zurücklesen anders aus: Daten kommen mit rohen BACnet-Zahlen zurück (Monat 13 und 14 bedeuten ungerade und gerade Monate, Tag 32 den letzten Tag des Monats).
Mehr Details: Schedules und bacnet.write_schedule. Eine automatische Variante: Kalendertermine als Schedule-Ausnahmen.