Schreiben in der Home Assistant BACnet-Integration
Sicherheit im laufenden Gebäude
Was diese Integration auf deine Geräte schreibt, damit du es weißt, bevor du sie in einem laufenden Gebäude ausprobierst:
- Geschrieben wird nur auf deine Aktion hin. Home Assistant schreibt einen Wert nur, wenn du schaltest oder eine Automatisierung schaltet, setzt oder eine Aktion aufruft. Erkennung, Polling und COV-Abonnements ändern keine Werte.
- Eine Ausnahme: COV increment. Setzt du das COV increment über
0, wird es in die PropertycovIncrementjedes importierten analogen Objekts (mit COV) geschrieben, dessen Wert auf dem Gerät abweicht. - Standardmäßig Priorität 16. Entitäten schreiben mit der niedrigsten Priorität, sodass alles auf 1 bis 15, auch ein Manual-Operator-Befehl auf 8, weiterhin Vorrang hat.
- Aktionen können höher gehen.
bacnet.write_valueundbacnet.relinquishakzeptieren jede Priorität von 1 bis 16. Ein Schreibzugriff auf 1 bis 7 übertrumpft einen Manual-Operator-Befehl; nutze diese Stufen nur mit Absicht. - Ausschalten ist ein Befehl. Ausschalten schreibt
inactivemit derselben Priorität. Der Output wird dadurch nicht freigegeben. Nutzebacnet.relinquish, um die Kontrolle zurückzugeben. - Schedules haben keine Priorität.
bacnet.write_scheduleändert die Konfiguration des Schedule-Objekts selbst. Es weigert sich, bestehende Ausnahmen zu entfernen, außer du setztallow_removal, und liest das Ergebnis zurück. Siehe Schedules. - Noch kein Nur-Lesen-Modus. Um ein Objekt schreibgeschützt zu halten, importiere es als
sensoroderbinary_sensor, oder lass es weg. Aktionen können trotzdem auf jedes Objekt des Geräts schreiben.
Warnung: Die Integration wird ohne Gewährleistung bereitgestellt. Nutze sie nicht zur Steuerung lebenswichtiger Sicherheitssysteme wie Brandmeldung oder Rauchabzug. Du bist selbst dafür verantwortlich, was du in ein laufendes Gebäude schreibst; teste zuerst an einem einzelnen Objekt.
Das Priority Array
BACnet erlaubt es, dass mehrere Schreiber gleichzeitig einen Output ansteuern. Jeder Schreiber nutzt eine von 16 Prioritätsstufen, und das Gerät handelt nach der Stufe mit der niedrigsten Nummer, die einen Wert enthält. Diese Liste von 16 Plätzen ist das Priority Array. Stufe 8 ist per Konvention der Manual Operator; Stufe 16 ist die niedrigste.
Alle Schreibzugriffe auf commandable Objekte nutzen dieses Array:
- Einschalten oder einen Wert setzen schreibt mit der konfigurierten Priorität (Standard 16).
- Ausschalten schreibt
inactive(0) mit derselben Priorität. Das befiehlt dem Output, aus zu sein; es gibt ihn nicht frei. - Climate → Off gibt den Sollwert frei (schreibt Null), sodass der Schedule oder Relinquish Default des Geräts übernimmt. Siehe Climate.
- Freigeben (Relinquish) leert den Platz auf dieser Priorität, sodass niedrigere Prioritäten oder der Relinquish Default übernehmen. Nutze die Aktion
bacnet.relinquish; siehe Aktionen.
Binary Outputs nutzen den BACnet-Typ Enumerated: 0 ist inactive, 1 ist active. Lehnt ein Gerät einen Schreibzugriff ab, zeigt Home Assistant einen Fehler an, statt stillschweigend den alten Zustand beizubehalten.
Write Priority select
Jedem BACnet-Gerät wird eine Write Priority-Select-Entität (unter Configuration auf der Geräteseite) hinzugefügt. Sie ist standardmäßig deaktiviert, damit Dashboards aufgeräumt bleiben.
So nutzt du sie:
- Gehe zu Settings → Devices & Services → BACnet IP und öffne dein Gerät.
- Suche die Entität Write Priority und aktiviere sie.
- Wähle im Dropdown eine Priorität.
Schritt für Schritt: Schalten mit Priorität.
Verfügbare Stufen: 8 (Manual Operator), 9, 12, 13, 14, 15 und 16 (Standard, niedrigste). Priorität 16 ist der sicherste Standard; nimm 8, wenn dein Gebäudeleitsystem eine Manual-Operator-Übersteuerung verlangt. Die gewählte Priorität bleibt über Neustarts erhalten. Sie gilt für Entitäts-Schreibzugriffe und für Aktionen, die keine eigene priority angeben.