Zum Inhalt springen
Elausys

HyperVisu / Integrationen

BACnet/IP-Integration

BACnet-Objekte von HLK-Reglern über UDP lesen und schreiben – Netzwerkerkennung, COV-Abonnements, Polling und Schreibprioritäten.

elausys · 21 August 2026
Auf dieser Seite

BACnet/IP-Integration

BACnet/IP (ASHRAE 135) ist das Standardprotokoll der gewerblichen HLK-Technik: Lüftungsanlagen, VAV-Boxen, Kältemaschinen, Wärmepumpenregler, Energiezähler und Gebäudeleitsysteme. HyperVisu liest und schreibt die Objekte von BACnet-Geräten – einen Analogeingang für eine Temperatur, einen Analogwert für einen Sollwert, einen Binärwert für eine Freigabe, einen Multi-State-Wert für eine Lüfterstufe – über UDP im lokalen Netzwerk. Werte werden über Change-of-Value-Abonnements (COV) empfangen, sofern das Gerät dies unterstützt, und überall sonst per Polling abgefragt; die Auswahl erfolgt automatisch pro Objekt.

Was Sie benötigen: den aktivierten BACnet/IP-Dienst (siehe „Dienste & Protokolle“), die IP-Adresse des Geräts (oder die Adresse des vorgeschalteten BACnet-Routers), dessen UDP-Port (Standard 47808), optional die Geräteinstanz und die gewünschten Objekte (Typ und Instanz) – oder ermitteln Sie diese über die Erkennung und die Objektauswahl.

Verbindungen. BACnet/IP unterstützt mehrere Verbindungen: eine Verbindung pro BACnet-Gerät (siehe „Verbindungen“). Der Server öffnet einen gemeinsamen UDP-Socket für alle Verbindungen. Felder:

FeldBeschreibung
GeräteadresseIP-Adresse des BACnet-Geräts oder des vorgeschalteten Routers.
PortDer UDP-Port, auf dem das Gerät lauscht (Standard 47808).
GeräteinstanzDie BACnet-Geräteobjektinstanz (0–4194302). Leer lassen, um die Prüfung zu überspringen; ist sie gesetzt und ein Gerät antwortet mit einer anderen Instanz, wird dies als Fehler gemeldet.
COV-Abonnement-GültigkeitsdauerWie lange ein Change-of-Value-Abonnement aktiv bleibt, bevor es erneuert wird. Leer lassen für den Standardwert des Dienstes (600 s).
Abfrageintervall (Sekunden)Wie oft Datenpunkte ohne COV-Abonnement neu eingelesen werden (Standard 30 s). Da COV der schnelle Übertragungsweg ist, ist ein längeres Polling-Intervall hier üblich.

Verbindung erstellen. Wählen Sie unter Verbindung hinzufügen die Kachel BACnet aus und tragen Sie einen Instanznamen sowie die Geräteadresse ein; Port und Geräteinstanz sind optional (ein leerer Port nutzt den Standard 47808). Der Dialog verfügt über keinen Netzwerk-Scan und erstellt keine Verbindung ohne Adresse: Falls Sie die Adresse noch nicht kennen, tragen Sie eine provisorische ein und korrigieren Sie diese anschließend über den Scan. Klicken Sie auf Verbindung erstellen; die neue Verbindung öffnet sich in ihren Einstellungen.

Netzwerk scannen. Der Scan steht nur bei einer gespeicherten Verbindung zur Verfügung. Klicken Sie neben Zieladresse auf Netzwerk scannen. Der Dialog BACnet-Geräte im Netzwerk sendet einen Who-Is-Broadcast aus und listet jedes antwortende Gerät auf – Gerät , Adresse, Port, Hersteller – und kennzeichnet Geräte als Bereits konfiguriert sowie Hinter einem Router. Wählen Sie ein Gerät aus und klicken Sie auf Dieses Gerät verwenden: Adresse, Port und Geräteinstanz werden übernommen. Diese sind noch nicht gespeichert: Klicken Sie auf Verbindung speichern. Verwenden Sie Adresse scannen, falls der Broadcast über das gesamte Netzwerk keine Ergebnisse liefert: eine Subnetz-Adresse (192.168.1.255), wenn Broadcasts zwischen VLANs gefiltert werden, oder direkt ein bestimmtes Gerät (192.168.1.70:47808) – die einzige Möglichkeit, ein Gerät auf einem Nicht-Standard-Port zu erreichen. Erneut scannen wiederholt den Scan; das letzte Ergebnis bleibt beim Schließen des Dialogs erhalten.

📘 Hinweis: Bereits konfiguriert markiert ein Gerät, auf das bereits eine Verbindung verweist (über Adresse und Port oder über die Geräteinstanz). Die aktuell bearbeitete Verbindung zählt ebenfalls dazu, sodass auch Ihr eigener Regler diese Markierung aufweisen kann.

Testen sendet ein gezieltes Who-Is an das Gerät und prüft die Antwort – einschließlich der Geräteinstanz, sofern konfiguriert. Das Ergebnis nennt die Geräteinstanz, die geantwortet hat; antwortet das falsche Gerät, schlägt der Test fehl und listet beide Instanzen auf. Im Dialog Verbindung hinzufügen prüft Testen die eingegebenen Werte. Bei einer gespeicherten Verbindung werden die gespeicherten Werte geprüft, nicht die noch ungespeicherten Eingabefelder: Klicken Sie zuerst auf Verbindung speichern und anschließend auf Testen.

BACnet/IP-Verbindungseditor mit geöffnetem Dialog "BACnet-Geräte im Netzwerk".

Objekt verknüpfen (siehe „BACnet/IP-Verknüpfung“ unten). Pro Objekt wählen Sie den Objekttyp und die Instanznummer; das System speichert die Adresse im Format <Verbindung>:<Typ>:<Instanz>, z. B. 5:AV:12 (Analog Value 12 auf Verbindung 5). Objekttypen:

TypBACnet-ObjektWertHinweise
AI / AO / AVAnalogeingang / -ausgang / -wertZahlAO ist steuerbar.
BI / BO / BVBinäreingang / -ausgang / -wert0/1BO ist steuerbar.
MSI / MSO / MSVMulti-State-Eingang / -Ausgang / -WertGanzzahl, beginnend bei 1MSO ist steuerbar.

Die Datentyp-Zeichenkette des Objekts enthält die im Editor verfügbaren Optionen: [TYPE][:PROP=<id>][:PRIORITY=<1-16>][:COV=AUTO | Y | N][:SCALE=<f>][:OFFSET=<f>]:

FeldGespeichert alsBedeutung
WerttypREAL / BOOL / UINT / INT / ENUMDer beim Schreiben verwendete BACnet-Datentyp. Belassen Sie die Einstellung auf Automatisch – sie wird vom Objekttyp abgeleitet –, es sei denn, Sie adressieren eine ungewöhnliche Eigenschaft.
Eigenschafts-IDPROP=85 ist present-value (Gegenwartswert), was für fast jede Verknüpfung zutrifft. Ändern Sie dies nur für herstellerspezifische Eigenschaften.
Skalierung / OffsetSCALE= / OFFSET=Lesen: Wert = Rohwert × Skalierung + Offset; beim Schreiben wird die Umkehrung verwendet. Dies wird innerhalb des Protokolls ausgeführt, vor jeder Transformation am Objekt (siehe „Werttransformationen & Status“) – skalieren Sie nicht an beiden Stellen.
Change-of-Value-AbonnementCOV=Automatisch – abonnieren, Rückfall auf Polling (Standard). Erforderlich – warnen, wenn das Gerät ablehnt. Nie – immer abfragen. Ein Abonnement meldet ausschließlich Eigenschaft 85 (present-value); bei allen anderen Eigenschaften wird gepollt. Angezeigt unter Aktualisierungsmodus, bei Objekten, die lesen.
SchreibprioritätPRIORITY=BACnet-Befehlspriorität 1–16 für steuerbare Objekte. Leer lassen, um keine Priorität zu senden, was das Gerät wie Priorität 16 behandelt. Angezeigt unter Befehlssteuerung, bei Objekten, die schreiben.

📘 Hinweis: BACnet-Multi-State-Werte beginnen bei 1, HyperVisu-Betriebsmodi bei 0. Setzen Sie den Offset bei einer Multi-State-Verknüpfung auf -1, es sei denn, das Gerät arbeitet tatsächlich 0-basiert – der Editor erinnert Sie daran. Die 1-basierten Rohwerte werden bewusst beibehalten, damit Ihre Anzeige exakt mit YABE oder dem Gebäudeleitsystem übereinstimmt.

Objektauswahl. Bei laufender Verbindung listet der Editor die Objekte auf diesem Gerät auf – die geräteeigene Objektliste mit Name, Typ und Instanz, Gegenwartswert und Einheit (z. B. AI:0 · SupplyAirTemp · 21.5 °C). Nutzen Sie Objekt suchen, um nach Name, Beschreibung oder AV:12 zu filtern, klicken Sie auf eine Zeile, um Typ und Instanz zu übernehmen (sowie die Einheit, wenn das Feld noch leer ist und der Regler eine Einheit ausgibt), und nutzen Sie Neu einlesen zum Aktualisieren. Die Objektliste wird eine Minute lang zwischengespeichert; Neu einlesen erzwingt eine frische Abfrage. Typ und Instanz bleiben manuell editierbar: Wird Objektliste nicht verfügbar angezeigt oder verweigert das Gerät die Enumeration, kann der Datenpunkt weiterhin manuell verknüpft werden.

BACnet-Objekteditor für einen Analogwert.

Wichtiges Betriebsverhalten

  • COV zuerst, Polling als Fallback. Abonnierte Datenpunkte werden vom Gerät bei Änderung gemeldet und aus dem Polling-Zyklus herausgenommen; das Abonnement wird vor Ablauf automatisch erneuert. Verweigert ein Gerät das Abonnement, wird stattdessen zyklisch abgefragt. Ein langsames Kontroll-Polling (alle 10 Polling-Intervalle) liest abonnierte Punkte dennoch aus, um unbemerkt durch einen Geräteneustart verlorene Abonnements abzufangen.
  • Gepooltes Abfragen (mehrere Eigenschaften pro Anfrage) mit automatischem Rückfall auf Einzellesezugriffe bei Geräten, die keine Sammelanfragen unterstützen.
  • Schreibrückmeldung. Nach einem Schreibvorgang zeigt ein Datenpunkt ohne aktives COV-Abonnement den geschriebenen Wert sofort an, anstatt bis zum nächsten Poll zurückzuspringen; bei aktivem COV bestätigt die Rückmeldung des Geräts den Wert.
  • Status. UDP ist verbindungslos, daher bedeutet Online „hat kürzlich geantwortet“ (innerhalb des doppelten Abfrageintervalls, mindestens 90 s) und Offline, dass keine Antwort einging; bei Geräten, die nicht mehr antworten, wird der Verbindungsaufbau wiederholt (alle 30 s nach fünf fehlgeschlagenen Abfragen), und sie melden sich bei Erfolg selbstständig wieder als Online.

Typische Verknüpfungen: ein Schalter auf BV/BO; ein Dimmer oder eine Jalousieposition auf AV/AO (0–100); die Ist-Temperatur eines Raumklimageräts auf AI (Eingang), dessen Sollwert auf AV (Eingang/Ausgang) und dessen Betriebsmodus auf MSV mit Offset -1; ein Zähler auf AI mit passender Skalierung zur Geräteeinheit; eine Lüfterstufe auf MSV/MSO mit Offset -1.

Praxisbeispiel – Regler einer Lüftungsanlage

Der Regler ist das BACnet-Gerät 1234 unter 192.168.1.70:47808 mit Zulufttemperatur AI:0, Sollwert AV:1, Freigabe BV:2 und Lüfterstufe MSV:3 (1–4).

  1. Aktivieren Sie BACnet/IP unter Dienste (siehe „Dienste & Protokolle“).
  2. Erstellen Sie eine BACnet-Verbindung (siehe „Verbindungen“): Tragen Sie unter Verbindung hinzufügen die Geräteadresse 192.168.1.70 ein und klicken Sie auf Verbindung erstellen. Klicken Sie bei der gespeicherten Verbindung auf Netzwerk scannen, wählen Sie Gerät 1234 und klicken Sie auf Dieses Gerät verwenden; belassen Sie das Abfrageintervall bei 30. Klicken Sie auf Verbindung speichern, dann auf Testen: Das Ergebnis nennt die Geräteinstanz 1234.
  3. Fügen Sie unter Geräte einen Analogeingang „RLT Zuluft“ hinzu und wählen Sie unter Protokoll Ihre BACnet-Verbindung – wählen Sie in dessen Wertobjekt AI:0 über die Objektauswahl aus.
  4. Fügen Sie einen Analogausgang „RLT Sollwert“ hinzu: Objekt AV:1, Richtung Eingang/Ausgang, Werttyp Automatisch.
  5. Fügen Sie einen Schalter „RLT Freigabe“ hinzu: Objekt BV:2.
  6. Fügen Sie ein Analogausgang-Gerät namens „RLT-2 Lüfterstufe“ für die Lüfterdrehzahl hinzu: Verknüpfen Sie dessen Wertobjekt mit MSV:3 und dem Offset -1 (BACnet-Zustände 1–4 werden zu 0–3). Ein Multi-State-Objekt erfordert ein numerisches Widget – das Lüftungs-Widget steuert Stufen über separate Ein/Aus-Objekte an und kann daher keinen Multi-State-Wert verarbeiten.
  7. Klicken Sie bei jedem Objekt auf Objekt speichern, anschließend in der Seitenleiste auf Änderungen anwenden und bestätigen Sie. Die Zulufttemperatur wird bei Änderung per COV empfangen; die übrigen Werte folgen dem Abfragezyklus oder ihrem eigenen Abonnement.

BACnet/IP-Verknüpfung

BACnet-Objekte werden im Dialog der Objekteinstellungen konfiguriert (siehe „Objekteinstellungen, Protokollierung & Benachrichtigungen“). Die Abschnitte umfassen:

BACnet-Objekt

FeldBeschreibung
Objekte auf diesem GerätDie geräteeigene Objektliste – AI:0 · Name · Gegenwartswert Einheit – mit Objekt suchen (Name, Beschreibung oder AV:12) und Neu einlesen. Klicken Sie auf eine Zeile, um die beiden nachfolgenden Felder auszufüllen. Angezeigt bei aktivierter Verbindung und laufendem BACnet/IP-Dienst; andernfalls tragen Sie Typ und Instanz manuell ein.
ObjekttypAnalogeingang / -ausgang / -wert (AI/AO/AV), Binäreingang / -ausgang / -wert (BI/BO/BV), Multi-State-Eingang / -Ausgang / -Wert (MSI/MSO/MSV).
InstanznummerDie Objektinstanz auf dem Gerät (0–4194302). Die gespeicherte Adresse lautet <Verbindung>:<Typ>:<Instanz>, z. B. 5:AV:12.

Wert und Skalierung

FeldBeschreibung
WerttypAutomatisch (vom Objekttyp abgeleitet – REAL für analog, ENUM für binär, UINT für Multi-State) oder explizit REAL / BOOL / UINT / INT / ENUM, verwendet beim Schreibzugriff.
Eigenschafts-ID85 ist present-value und wird für nahezu jede Verknüpfung benötigt. Ändern Sie dies nur für herstellerspezifische Eigenschaften.
Skalierung / OffsetWert = Rohwert × Skalierung + Offset beim Lesen, die Umkehrung beim Schreiben. Wird innerhalb des Protokolls vor jeder Transformation an diesem Objekt ausgeführt (siehe „Werttransformationen & Status“) – nicht an beiden Stellen skalieren. Bei einem Multi-State-Objekt erinnert der Editor daran, den Offset auf -1 zu setzen (BACnet-Zustände beginnen bei 1, HyperVisu-Modi bei 0).

Aktualisierungsmodus

FeldBeschreibung
Change-of-Value-AbonnementAutomatisch – abonnieren, Rückfall auf Polling (Standard), Erforderlich – warnen, wenn das Gerät ablehnt oder Nie – immer abfragen. Abonnements melden nur den Gegenwartswert, Verknüpfungen auf andere Eigenschaften werden zyklisch abgefragt.

Befehlssteuerung (steuerbare Objekttypen)

FeldBeschreibung
SchreibprioritätBACnet-Befehlspriorität 1–16. Leer lassen, um keine zu senden, was das Gerät als Priorität 16 auswertet. Schreibt ein anderes System mit einer niedrigeren Prioritätsnummer, übersteuert dies HyperVisu und das Gerät scheint das Widget zu ignorieren.

Die Objekttypen, die Datentyp-Zeichenkette und ein Praxisbeispiel finden Sie im obigen Kapitel zu BACnet/IP.

Die BACnet-Objekteinstellungen für ein Multi-State-Lüfterstufenobjekt ("RLT-2 Lüfterstufe").

Häufig gestellte Fragen

Was kann ich tun, wenn der Netzwerk-Scan keine Geräte findet?

Prüfen Sie, ob BACnet/IP aktiviert ist, und nutzen Sie dann Adresse scannen mit dem Subnetz-Broadcast oder der IP und dem Port des Geräts. Ein abweichender Port erfordert einen gezielten Scan.

Nutzt jeder BACnet-Datenpunkt Polling?

Nein. Der automatische Modus nutzt Change-of-Value-Abonnements, wo unterstützt, und fällt auf Polling zurück, wenn diese abgelehnt werden.

Warum weicht ein Multi-State-Wert um eins ab?

BACnet-Zustände beginnen standardmäßig bei eins, HyperVisu-Betriebsmodi hingegen bei null. Verwenden Sie einen Offset von -1, es sei denn, das Gerät nutzt tatsächlich 0-basierte Zustände.

Warum übersteuert ein anderes Gebäudesystem meine Befehle?

Bei steuerbaren Objekten hat eine niedrigere Prioritätsnummer Vorrang. Prüfen Sie den anderen Befehlsgeber und die konfigurierte Schreibpriorität.

Kann ich einen Datenpunkt verknüpfen, wenn die Objektauswahl leer ist?

Ja. Tragen Sie Objekttyp und Instanz manuell ein, falls das Gerät die Enumeration verweigert.

Sollte ich den Wert sowohl in den BACnet-Einstellungen als auch in den Transformationen skalieren?

Nein. BACnet-Skalierung und Offset greifen vor der Transformationskette des Objekts. Vermeiden Sie es, dieselbe Umrechnung doppelt anzuwenden.

Weiter erkunden

Finden Sie die weiteren Anleitungen zu diesem Produkt in der Dokumentation.

Zurück zu Integrationen