BACnet Variablen lesen/schreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Hellstern
User
Beiträge: 15
Registriert: Mittwoch 4. Januar 2023, 08:14

Hallo zusammen
Ich versuche verzweifelt mit Python über eine BACnet Schnittstelle zu kommunizieren, leider ohne Erfolg
Ich verwende dazu die BAC0 Bibliothek

Hab jemand von Euch diese Bibliothek schon mal verwendet?
Wäre um jeden Typ dankbar

Hier mein Test Code
import BAC0
#Dies funktioniert
bacnet = BAC0.lite(ip='192.168.178.82/24')
bacnet.discover(networks=[0,5], limits=(0, 4194303), global_broadcast=False)

#Hier liegt das Problem und müsste gemäss Dokumentation eigentlich funktionieren
#2:5 bedeutet BACnet Netzwerk-ID:BACnet Device
bacnet.read('2:5 analogValue 2 presentValue')
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Ich kenne das Modul nicht, aber "ohne Erfolg" und "hier liegt das Problem" ist wenig hilfreich.
Gibt es eine Fehlermeldung?

Das "discover" bringt die erwarteten Devices?
Benutzeravatar
__blackjack__
User
Beiträge: 14069
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Hellstern: Woher weisst Du denn das es nicht funktioniert? Der Code den Du zeigst ruft die `read()`-Methode auf und macht dann aber nichts mit dem Rückgabewert. Falls also scheinbar einfach nichts passiert, heisst das nicht das es nicht funktioniert. Oder anders: Falls das funktioniert, passiert nichts wahrnehmbares, weil das halt so programmiert ist, das genau nichts passiert wenn alles funktioniert.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Hellstern
User
Beiträge: 15
Registriert: Mittwoch 4. Januar 2023, 08:14

Nach dem Read folgt ein Fehler

Leider schaffe ich es nicht das Programm anzuhalten, damit ich den Fehler analysieren kann.
Es läuft in einer Endlosschleife
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das hast du ja programmiert, dass ein Fehler nicht zum Abbruch fuehrt. Denn das passiert eigentlich sonst in Python. Und ohne diese Analyse wird's nicht gehen.
Antworten