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-ObjektStandard-EntitätBeschreibbar?
Analog InputSensorNein
Analog OutputNumberJa
Analog ValueSensorAutomatisch erkannt
Binary InputBinärsensorNein
Binary OutputSwitchJa
Binary ValueSwitchAutomatisch erkannt
Multi-State InputSensorNein
Multi-State OutputNumberJa
Multi-State ValueSensorAutomatisch erkannt
ScheduleSensor (aktueller Wert)Über bacnet.write_schedule
Trend LogSensor (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

Sensordetails mit den bacnet_*-Attributen

Jede Entität stellt BACnet-Metadaten als Zustandsattribute bereit:

AttributBeschreibung
bacnet_object_typeName des BACnet-Objekttyps, zum Beispiel „Analog Input“
bacnet_instanceBACnet-Objektinstanznummer
bacnet_commandableOb dieses Objekt Schreibzugriffe unterstützt
bacnet_unitsMaßeinheit, zum Beispiel „degrees-celsius“
bacnet_descriptionDie BACnet-Property description
bacnet_status_flagsDas BACnet-Array der Status-Flags
bacnet_in_alarmtrue, solange das Status-Flag IN_ALARM des Objekts gesetzt ist
bacnet_update_methodWie diese Entität aktualisiert wird: COV oder polling
bacnet_cov_incrementKonfigurierte COV-Empfindlichkeit (nur analoge Objekte mit aktivem COV)
bacnet_state_textDas 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:

SensorStandardmäßig aktiviert
Last successful pollJa
COV subscriptionsNein
Consecutive failed pollsJa

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

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.