NEWS
UNSOLVED Frage zu Modbus Adapter - TCP als Slave verwenden?
-
Hallo, ich bin ganz neu bei iobroker und habe gleich mal eine Frage zum Modbus Adapter.
Ich möchte gerne den Zählerstand von meiner Easee Home Wallbox per Modbus TCP von iobroker an ein anderes System (also einen Modbus Master) übergeben.
Die Easee-Wallbox liefert schon die Daten über den entsprechenden Adapter an iobroker.
Die Modbus Instanz im iobroker ist auf Slave eingestellt.
Ich schaffe es aber irgendwie nicht, dass der Zählerstand über Modbus TCP ausgegeben wird.
Mit einem Testsystem (Modbus Master) kann ich zwar auf die entsprechende Registeradresse zugreifen, aber ich erhalte nur eine NULL.Wo bzw. wie kann ich einstellen, dass der Zählerstand über ein bestimmtes Register ausgegeben werden sollen? Ist das überhaupt möglich mit dem Modbus Adapter?
-
@nkel was sagt die Registerbeschreibung des Geräts und wie sieht die dazugehörige Konfiguration im Adapter aus?
-
@homoran Ich verstehe deine Frage nicht so ganz. Das Gerät, also die Wallbox, hat keine Modbus Schnittstelle. Die Datenpunkte werden über den Easee Adapter in iobroker abgerufen.
Ich weiß nur nicht, wie ich diese Daten über den Modbus Adapter als Slave an ein externen System übergeben kann.
Ich habe ein INPUT-Register mit der Reg-Adresse 30001 in der Modbus-Instanz angelegt, Datentyp ist Float. Mir wird aber immer nur der Wert NULL angezeigt und wenn ich die Registeradresse mit einem Testprogramm auslese erhalte ich auch eine NULL. Also funktioniert die Verbindung nach außen. Änder ich den Wert im Register händisch, dann wird auch der neue Wert übertragen. Ich möchte aber, dass Onlinewerte der Wallbox in dem Register stehen und ausgegeben werden. -
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Ich verstehe deine Frage nicht so ganz.
dito!
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
die Wallbox, hat keine Modbus Schnittstelle.
und was willst du dann mit Modbus?
-
@homoran Ich will die Daten an ein externes System übergeben!
Ich habe ein Energiemanagementsystem, dass Daten nur über Modbus einlesen kann. Die Wallbox hat aber keine Modbus-Schnittstelle.
Iobroker soll als Converter arbeiten. Es gibt da einen Adapter für die Wallbox und für Modbus.
Und der Modbus Adapter unterstützt TCP Slave, also müsste es auch funktionieren. Ich weiß nur nicht, wie ich die Werte der Wallbox über die angelegten Input-Register ausgeben kann. -
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Iobroker soll als Converter arbeiten.
Aaah,
du willst also deinem EMS vorgaukeln der ioBroker sei die Wallbox?@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
müsste es auch funktionieren. Ich weiß nur nicht, wie
hab ich noch nie gehört!
Muss aber nichts heißen!edit:
ich hab allerdings auch noch nicht herausgefunden wofür die diskreten Ein- und Ausgänge sind -
@homoran Richtig!
Du nennst es vorgaukeln, ich nenne es Schnittstellen-Converter
Aber jetzt verstehen wir uns. -
@nkel siehe edit!
Vielleicht ist das des Rätsels Lösung -
@homoran was meinst du genau mit edit?
-
@nkel mein edit im (jetzt vor) letzten post
-
@homoran Nein das ist nicht zielführend. Diskrete Ein- und Ausgänge sind binäre Signale. Z.b. die Schalterstellung Ein/Aus
-
@nkel danke!
dann weiss ich das jetzt auch!du müsstest also irgendwo Daten hinlegen, die irgendwie mit einem Register verknüpft werden, damit dein EMS dieses abrufen kann.
-
@homoran ja genau
Ich hatte schon einen alias datenpunkt angelegt, in dem ein onlinewert von der Wallbox geschrieben wurde. Aber ich habe dann die Verknüpfung zum Register nicht hinbekommen. -
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Aber ich habe dann die Verknüpfung zum Register nicht hinbekommen.
hab das mal aus dem nerdfreien Einsteigerforum hierher verschoben weil es mich jetzt auch interessiert.
Das muss doch zu schaffen sein, wenn du meinst, dass dafür der Slave Modus da ist.Ich würde Register mit entsprechenden IDs anlegen.
Leider erscheinen die in Master-modus erst in den Objekten wenn die Verbindung steht.Wenn diese Register im Slavemodus sofort in den Objekten erscheinen würde ich diese befüllen.
-
@homoran ich kann erst am Wochenende weiterprobieren. Ich weiß nur noch nicht, wie ich diese Register „befüllen“ kann.
-
@nkel notfalls über ein Skript.
Aber dazu müsste der Adapter erst einmal die Datenpunkte anlegen.Vielleicht hat @wendy2702 noch eine Idee, mir fällt gerade kein anderer Modbus Spezi ein.
-
@homoran Ich weiss das wir das Thema schonmal hatten, kann mich aber nicht dran erinnern ob wir es gelöst haben.
Ich selber nutze das nicht und habe das auch mangels HW nie getestet.
@nkel : wo genau änderst du den Wert denn händisch? Im Objekt? Wenn ja mal versucht den per einfachem Blockly zu ändern/aktualisieren?
-
@wendy2702 ich werde am Wochenende weitermachen, bin gerade nicht an meinem System. Danke für eure Unterstützung und bis demnächst.
-
@wendy2702 Ja ich habe den Wert händisch im Objekt geändert, siehe Screenshot. Ich habe dann mal den Wert "100" eingegeben und dann wurde auch "100" in das externe Modbus-Testprogramm übertragen.
Ich weiß leider noch nicht, was ein Blockly ist, kannst du mir das bitte erklären, wie ich den Wert mittels Blockly ändern oder aktualisieren kann? -
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
ich habe den Wert händisch im Objekt geändert,
wie genau gemacht?
Die gelbe Farbe bedeutet eigentlich, dass dieser Wert noch nie geändert wurde.@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Ich weiß leider noch nicht, was ein Blockly ist
Blockly ist die grafische Variante von Javascript.
Damit kann man ein Skribt über Blöcke zusammenklicken