NEWS
BACnet Adapter
-
Moin zusammen,
seit ihr mit diesem Adapter oder mit JS Scripten schon weitergekommen ?
Gibt es Beispiele ? Wir wollen für eine Bypasssteuerung eine Siemens PXE via
BacNET einbindinden …
Viele Grüße aus Hamburg
meifi
-
Hallo,
ich hänge mich einfach mal mit daran.
Ich habe eine SAIA Steuerung mit BACnet.
Diese Steuerung nutze ich als Alarmmodul, zur Steuerung von Licht und als Datenlogger in meiner Autohalle.
Die Anbindung erfolgt über VPN an meien Fritz-Box Zuhause.
Es wäre sehr interessant einen BACnet-Adapter in ioBroker zu haben, da diverse industrielle Steuerungen den BACnet-Standard nutzen.Gregor
-
mich würde auch eine BACnet Anbindung interessieren.... Hab viel mit K&P gemacht und suche eine günstige Variante um Anlagenbilder mit z.B. VIS zu realisieren. Ein BACnet Adapter wäre da schon der Hammer
lg
-
@petzi2712
Ich habe es über Modbus gelöst. Klappt einwandfrei. -
Hi, hat hier schon jemand was angefangen?
-
Hat jemand schon was am laufen und kann mir mal lese bzw schreib Code?‘
-
Ich habe mit dem "node-red-contrib-bacnet" package mal ein bisschen rumgespielt.
Also schreiben von binary value, binary output, analog value und multistate value klappt.
Habe auch andere properties beschreiben können.
Leider klappt das lesen der Objekte nicht, in Wireshark sieht man die Antwort des BACnet Controllers (Fabrikat Sauter modulo5), es scheint als wenn diese vom package nicht richtig interpretiert wird. -
mal still anklopfen ^_^
Wie sieht der Status aus? Ich arbeite derzeit sehr viel mit BACnet und würde gerne behilflich sein.
Wir arbeiten mit Siemens Produkten aber BACnet ist eben BACnet. Objekte .... derzeit kann ich dir ein 7-stöckiges Gebäude anbieten, das komplett via BACnet angebunden ist. Mit allen möglichen Gateways.
-
@harrym auf der Light & Building wurde ich als Aussteller auch nach einem BACNet Afapher in ioBroker gefragt.
Wie ist hier der Stand? -
Am Ende ist der Stand der dass ich mal damit gestartet habe, eine Library indirekt übernehmen musste um überhaupt mal Dinge fixen zu können und hier sehr viel mit den "BacNet Simulatoren" gearbeitet habe.
Ich hatte einen "kommerziellen Partner" der Geräte hatte und das ist essentiell!Meine learning war das die Simulatoren zwar generell tun aber im zweifel inkonsistente Strukturen liefern (zB einen State als Subscribable melden aber dann Subscribe nicht unterstützen und solche Dinge). Weiterhin ist es so das vor allem BacNet-Router bzw BacNet-to-XYZ-Converter/Multi-Devices nochmal potentiell gaaanz anders funktionieren. Das heisst hier kommt man ohne Zugriff auf Echte Geräte, Router, Gateways und ggf all solche "Konstellationen" nur seehr bedingt weiter.
Und mit Zugriff meine ich auch ggf VPN oder so weil man ggf. BacNet "clients" nehmen muss und mit Wireshark schauen muss was die ggf senden um zu verstehen wie es ist - oder man braucht wieder einen "kommerziellen Partner" der die Spezifikation kauft (kostet wohl paar hundert Euro oder so). Heisst alles was aktuell da ist basiert auf "im Internet verfügbaren Info-Stückchen".
Danach kann man anfangen und die Einzelnen "Gerätetypen/Profile" nacheinander zu implementieren, weil wie gesagt die Simulatoren zwar generell tun, aber im zweifel echte Geräte auf der Datenebene dann wieder ganz anders sind. Und es gibt viiieeellleee solcher Profile, also auch einen nicht zu unterschätzenden Aufwand - und ich bin ehrlich damit stellt sich dann die Frage ob das ein Freier oder Kommerzieller Adapter mit Lizenz wäre weil BacNet dann doch eher "kommerziell/industriell" ist.
Nachdem der Partner sich entschieden hat auf andere Geräte zu setzen ist das Projekt damit quasi gestoppt, weil genau das Thema "Gerätezugriff" weggebrochen ist.
Den Post von @harrym hab ich jetzt erst gesehen
So, das ist die aktuelle Realität.
Aber falls ich jetzt jemanden von Euch angespitzt habe das oben genannte alles irgendwie zu ermöglichen (gern bitte melden in jedem Fall) werde ich für die nächsten Monate eher versprechen können das ich nicht damit starten kann. Das nächste große Thema bei mir wird "Matter" sein was eine höhere strategische Priorität hat.
Aber Ihr wisst jetzt was die Herausforderungen bezüglich BacNet sind und was "man" bräuchte um damit sinnvoll starten zu können.Ingo
-
@apollon77 Falls du mal wieder an BacNet weiter arbeitest, könnte ich dir gerne ein BacNet IP und evtl ein BacNet MS/TP Gerät zur verfügung stellen
-
Hi,
das klingt super... was mir im Vorfeld helfen würde wären "Daten" :-))
Am Ende wäre ein allererster Start mal aus der bacnet Library, die ich mit verantworte, die Discovery zu testen bzw. da ist ein Skript was auch die Geräte Strukturen ausließt. Das hab ich am Ende noch nie für echte Geräte gesehen außer einem sehr einfachen.
Meine Fragen gingen immer zu dem wie das in Realität aussieht - auch wegen subscriptions und polling und so.
Von daher könnte ich Euch sagen was man tun muss und Ihr schaust von welchen "Eurer" Systeme oder Netzwerke Ihr mir das mal als „referenz“ besorgen kannst. Damit weiß ich dann vllt schonmal was um mal erste einfache Dinge steuerbar zu machen - wäre cool.
Die Library wäre https://github.com/BiancoRoyal/node-bacstack
- Am Ende für mal erste Daten müsste man ein Gerät im Netzwerk haben wo man nodejs installieren kann
- Dann dort ein verzeichnis anlegen (wo egal) dann da drin
npm i node-bacnet
- dann
cd node_modules/node-bacnet/examples
- Test 1
node discover-devices.js
... und ausgabe checken. Er discovered ... findet er alles? Die Ausgabe enthält die "device ids" - Test 2 (vllt ausgabe in File umleiten)
node read-device.js --all
. Dann discovered er wieder alllllllles aber liest die gesamte Struktur und printed das aus. - Falls was nicht geht kann man mit --debug mehr kriegen
Wenn Du "weisst" was die geräte sind kannst du ja semantisch prüfen ob alles da ist und ggf sagen wenn nicht
Sonst muss ich ansehen
So am Ende die Info des "read devices" kommandos mit ggf Semantischen Infos die Du über das Gerät hast ist das erste was mir hilft.
Ggf kann ich nebenher hier und da mal bissl Zeit abzwacken.
Ingo
- Am Ende für mal erste Daten müsste man ein Gerät im Netzwerk haben wo man nodejs installieren kann
-
Hallo Ingo,
ich habe deine Tests mit 2 Sauter BACnet-Geräten (eine DDC und ein Webserver) durchgeführt.
Test 1
In der Ausgabe von discover-devices.js ist ein Bug: Anstatt der Vendor ID wird ein zweites Mal der ObjectName des Devices ausgegeben.
Test 2
Hier gibt es deutlich mehr Arbeit.
Auf konkrete Fragen, kann ich aber detailierte Infos liefern.Viele Grüße
Alex -
Guten Morgen,
Test2 - Zeile 5:
1010101 No ReadPropertyMultiple supported: ERR_TIMEOUT
Das Gerät unterstützt ReadPropertyMultiple.
Test2 - Zeile 6 und folgende:
Unknown value for ENUMERATED type for objId BACKUP_AND_RESTORE_STATE(338) and parent type DEVICE(8) Unknown value for ENUMERATED type for objId LAST_RESTART_REASON(196) and parent type DEVICE(8)
Ich habe alle Properties des Device-Objects mal Online ausgelesen und hier zum Vergleich als CSV eingefügt:
Property_Device_Sauter.csvGruß Alex
-
vielen Dank, Timeoiut heisst erstmal das es keine Antwort gab also ist es die Annahme das es nicht geht mit Multiple.
Ansonsten bitte nicht wundern wenn ich fast nichts hier sage. Stecke gerade halstief im Thema Matter und daher nehme ich das wahr aber kann nicht tiefer schauen. ist aber nicht vergessen
-
Hi Apollon, wurde das Thema Bacnet nochmal verfolgt? Oder gibt es eine andere Möglichkeit die Daten eines Bacnet Controller in den Iobroker zu bringen ?
-
@diamand2k22 Bisher nicht und das "Problem" ist immer noch das gleiche ... Ohne wirkliche Real World Test geräte in allen relevanten Kombis (oder sinnvollen Zugriff darauf) macht es wenig Sinn mit dem Thema wieder neu zu starten. Die ganzen Simulatoren da draussen sind schön aber simulieren halt keine echten Geräte - und bacNet-Router und kram können wir auch nicht simulieren. Von daher aktuell Sackgasse.
-
@apollon77
Danke für die Rückmeldung!@GregorS meinte, er hat das Thema über Modbus gelöst! Aber dazu gibt es auch keiner genaueren Infos oder?