NEWS
ich brauche etwas Nachhilfe mit Node Red und RS232
-
Hallo zusammen
Ich möchte mit hilfe von Node-Red meine Pytes-Akku Bank auslesen und die Werte dann per MQTT in den Iob senden.
wenn ich mit dem "minicom" oder den "screen" eine Verbindung auf den /dev/ttyUSB1 erstelle, kann ich jegliche Werte auf der Konsole anzeigen lassen und es funktioniert sehr stabil und einfach. Nun wollte ich das ganze mit Node-Red realisieren damit ich den Datenstrom zerlegen und weiterverarbeiten kann.
Nur da scheint es nicht zu funktionieren (klar der link von minicom und screen muss ganz weg sein). Ich habe folgendes gemacht:



Irgendwie sehe ich gerade das Problem nicht, das BMS reagiert überhaupt nicht, so dass der Node irgendwann eine "undefinde" ausspuckt. So weit wie ich das begriffen habe, mache ich doch gar nichts anderes, wie das minicom macht? Also Schnittstelle öffnen, den string "bat 1" senden und den Empfang protokollieren.
PS: ich weiss es gibt ebenfalls einen Adapter dafür, aber der macht genau den gleichen Fehler, darum habe ich eben versucht das so zu lösen. Dieses Node-Red läuft in einem eigenen Container völlig los gelöst von Iobroker.
Gruss Andi
PS fast vergessen: die Schnittstelle /dev/ttyUSB1 steht auf Rechte: 0777 sollte also kein Problem sein.
-
Am Ende kommt statt der 0 normal ein \r,\n oder \r\n.
Also
bat 1\rbat 1\nbat 1 \r\nprobieren. Sender und Epfänger würde ich separieren.
@peterfido
Danke, das hat schon mal was massiv verändert:

der Zeitablauf erstaunt mich noch etwas, wie auch die 2 Message mit "unk...."
Aber es beweist mir schon mal, dass ich auf dem richtigen Weg bin, um dass ganze auszulesen und das es nicht an der Hardware oder irgendwelchen Linux Berechtigungen zwischen Konsole und Nod-Red liegt. -
@peterfido
Danke, das hat schon mal was massiv verändert:

der Zeitablauf erstaunt mich noch etwas, wie auch die 2 Message mit "unk...."
Aber es beweist mir schon mal, dass ich auf dem richtigen Weg bin, um dass ganze auszulesen und das es nicht an der Hardware oder irgendwelchen Linux Berechtigungen zwischen Konsole und Nod-Red liegt. -
Die Aufteilung nach würde ich noch umstellen auf "nach Zeitablauf", 250ms. Dann kommt fast sofort die Antwort.
"unknown command 0" kommt aus deinem inject Node, da sagst du ja, dass er eine "0" senden soll.

@Marc-Berg
Habe ich angepasst, aber jetzt kommt nur noch die hälfte an?

Die Schnittstelle:

Das erzeugt jetzt diesen Output:

Ich verstehe nicht ganz wieso es vorher funktioniert hat und jetzt plötzlich abbricht bei der 8 Zelle. Es sind eigentlich 16 Zellen in 8 Blöcken. Das mit den einzelnen Blöcken ist mir klar, ist mit "bat x" zu lösen. Hat interesanterweise nichts mit der Anzahl Zeichen beim Empfang zu tun.
Edit:
Das hat scheinbar mit der Zeitspannen zwischen den Aufrufen zu tun, wenn genügend Zeit dazwischen liegt scheint er wieder alle 16 zu liefern.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden