BACnet-Objekte als Home Assistant Entitäten
Unterstützte Objekttypen
Jedes BACnet-Objekt, das du importierst, wird zu einer Entität. Der Standardtyp hängt vom Objekttyp ab:
| BACnet-Objekt | Standard-Entität | Beschreibbar? |
|---|---|---|
| Analog Input | Sensor | Nein |
| Analog Output | Number | Ja |
| Analog Value | Sensor | Automatisch erkannt |
| Binary Input | Binärsensor | Nein |
| Binary Output | Switch | Ja |
| Binary Value | Switch | Automatisch erkannt |
| Multi-State Input | Sensor | Nein |
| Multi-State Output | Number | Ja |
| Multi-State Value | Sensor | Automatisch erkannt |
| Schedule | Sensor (aktueller Wert) | Über bacnet.write_schedule |
| Trend Log | Sensor (Anzahl Datensätze) | Nein; Datensätze über bacnet.read_trend_log |
Inputs sind nie beschreibbar. Outputs immer, weil sie ein Priority Array haben, den BACnet-Mechanismus, mit dem mehrere Schreiber ein Objekt mit unterschiedlichen Prioritäten ansteuern können (siehe So funktioniert das Schreiben). Value-Objekte akzeptieren Schreibzugriffe oder nicht: Bei der Einrichtung prüft die Integration, ob das Objekt ein Priority Array hat. Ein Value-Objekt ohne Priority Array wird zu einem schreibgeschützten sensor oder binary_sensor.
Analoge Sensoren führen Langzeitstatistiken: Energie- und Volumenobjekte als Zähler (total_increasing, im Energy-Dashboard nutzbar), alle anderen als Messwert. Energie-, Leistungs-, Durchfluss- und Volumeneinheiten erhalten die Device Class, die das Energy-Dashboard braucht. Die Einstellung state class in Customize objects ändert das pro Objekt.
Jedem Objekt kann in Customize objects ein anderer Entitätstyp zugewiesen werden. Multi-State-Objekte können auch zu einem select werden, der ihre stateText-Labels zeigt, zum Beispiel Off / Heat / Cool. Ein Sollwert kann zu einer Climate-Entität werden. Siehe die Anleitungen Multi-State als Select und Sollwert als Climate.
Hinweis: Vor 1.0.53 waren Energie- und Volumensensoren ein Messwert. Nach dem Update kann Developer tools → Statistics sie mit geänderter State Class auflisten; klicke dort einmal pro Sensor auf Fix issue. Seit 1.0.55 erhalten mehr BACnet-Einheiten eine Home Assistant-Einheit (L/h, mL/s, m³/s, m³/min, ft³/min, gal/min, gal/h, mL, ft³, gal, J, kJ, MJ und mW). Sensoren in diesen Einheiten hatten vorher keine Einheit; klicke nach dem Update einmal pro Sensor in Developer tools → Statistics auf Fix issue.
Numbers verwenden minPresValue, maxPresValue und resolution des Objekts als Grenzen und Schrittweite, sofern das Gerät sie liefert. Analoge Sensoren behalten die volle Genauigkeit des Gerätewerts; Home Assistant zeigt standardmäßig 2 Nachkommastellen an, was du pro Entität ändern kannst.
Entitätsattribute

Jede Entität stellt BACnet-Metadaten als Zustandsattribute bereit:
| Attribut | Beschreibung |
|---|---|
bacnet_object_type | Name des BACnet-Objekttyps, zum Beispiel „Analog Input“ |
bacnet_instance | BACnet-Objektinstanznummer |
bacnet_commandable | Ob dieses Objekt Schreibzugriffe unterstützt |
bacnet_units | Maßeinheit, zum Beispiel „degrees-celsius“ |
bacnet_description | Die BACnet-Property description |
bacnet_status_flags | Das BACnet-Array der Status-Flags |
bacnet_in_alarm | true, solange das Status-Flag IN_ALARM des Objekts gesetzt ist |
bacnet_update_method | Wie diese Entität aktualisiert wird: COV oder polling |
bacnet_cov_increment | Konfigurierte COV-Empfindlichkeit (nur analoge Objekte mit aktivem COV) |
bacnet_state_text | Das stateText-Label des aktuellen Zustands (nur Multi-State-Objekte) |
Nur bacnet_status_flags, bacnet_in_alarm und bacnet_state_text werden im Recorder-Verlauf gespeichert; die anderen Attribute ändern sich nicht.
Eine Entität ist unavailable (nicht verfügbar), wenn das Gerät nicht antwortet. Status-Flags (in-alarm, fault, overridden, out-of-service) ändern die Verfügbarkeit nicht, weil manche Gateways bei jedem Objekt FAULT melden, obwohl die Werte aktuell sind. Prüfe bacnet_status_flags, um sie zu sehen.
Diagnosesensoren
Jedes Gerät erhält außerdem Diagnosesensoren, unter Diagnostic auf der Geräteseite:
| Sensor | Standardmäßig aktiviert |
|---|---|
| Last successful poll | Ja |
| COV subscriptions | Nein |
| Consecutive failed polls | Ja |
Sie bleiben verfügbar, solange das Gerät offline ist, also genau dann, wenn sie nützlich sind.
Weitere Entitäten an jedem Gerät
- Write Priority: ein Select zur Wahl der Schreibpriorität, standardmäßig deaktiviert. Siehe Write Priority select.
- Refresh object metadata: eine Schaltfläche unter Configuration, die Namen, Beschreibungen, Einheiten und Grenzwerte sofort neu einliest.
- Alarm und Active alarms: siehe Alarme.
Getestete Geräte
BACnet ist ein Standard, ein nicht aufgeführtes Gerät funktioniert also höchstwahrscheinlich ebenfalls. Die Liste der getesteten Geräte zeigt, was Nutzer tatsächlich mit dieser Integration betrieben haben: Hersteller, Modell, Firmware, Integrationsversion und was als funktionierend bestätigt wurde.