NEWS
Modbus adapter
-
Hier ist das ganze nochmal gut beschrieben:
http://www.simplymodbus.ca/TCP.htm
ModbusRTU over TCP ist dem nach ein Modbus RTU Paket
(SlaveID, FCode, Data, CRC)
das in ein TCP/IP Wrapper gepackt wird
anstatt dem Modbus TCP Paket
(MBAP Header, Modbus TCP/IP PDU)
Das müsste also etwas ein, was der Modbus Adapter unterstützt,
dafür würde aber erst mal die ModbusRTU Unterstützung benötigt werden.
-
Ich hab am Wochenende versucht,
den Modbus Adapter um das Feature "Modbus RTU over TCP" zu erweitern und
bin leider kläglich gescheitert
So wie ich das verstehe müsste ich direkt Änderungen in der modbus-stack.js Datei
vornehmen. Ich wollte das mal testweise machen, aber da reichen meine JavaScript
Kentnisse leider aktuell nicht aus
Theoretisch müsste nur das "Zusammenbauen" bzw "Zerlegen" des Modbus-Datenpakets
anders sein, aber ich bekomm das nicht hin.
Gibt es evtl einen JavaScript Freak, der sich das mal anschauen würde?
-
Hallo zusammen,
ich habe diesen Thread aufmerksam verfolgt. Eine tolle Leistung von den Entwicklern, das erst einmal vorweg gesagt.
Ich habe die erste Version des Modbus Adapters auf meinem BananaPi erfolgreich installiert und die ersten Gehversuche angestellt.
Jetzt habe ich nach einiger Zeit hier wieder hereingeschaut und gesehen, dass es mittlerweile viele neue Versionen gibt..
Die neuen Konfigurationsmöglichkeiten reizen mich sehr, ich möchte eine Pluggit Lüftungsanlage und Wago Modbus I/O zusätzlich zu meinen Homematic-Komponenten einbinden.
Nun zu meiner eigentlichen Frage:
Wie bekomme ich den Modbus-Adapter fehlerfrei installiert?
Die alte Version habe ich vorher (auch die Instanz) im iobroker deinstalliert.
Ich habe von der Seite: https://github.com/ioBroker/ioBroker.modbus
auf der rechten Seite das .zip heruntergeladen. Anschließend bei mir lokal auf dem Rechner entpackt.
Dann per WinSCP ins Verzeichniss /opt/iobroker/node_modules zu den anderen bereits vorhandenen Adaptern kopiert.
Anschließend per SSH auf dem BananaPi mit dem Befehl: npm install iobroker.modbus-master die Installation gestartet.
Eine anschließende Aktualisierung der Adapteransicht im Browser lässt den Modbus-Adapter dann auch erscheinen.
Durch einen Klick auf das "+" wird eine neue Instanz erzeugt, allerdings funktioniert Sie nicht einwandfrei. Ich kann Sie aktivieren, aber ein Klick auf konfigurieren lässt die Meldung "index.html nicht gefunden" erscheinen. Auch das Logo Icon vorne in der Instanzen Tabelle ist nicht geladen bzw. angezeigt..
Irgendwie stimmt da was nicht, vielleicht habe ich mein System durch eine falsche herangehensweise auch selbst zerschossen..!?
Wie ist denn der "normale" Weg diesen Adapter zu installieren, und dann auch die Versionen upzugraden?
Sorry, viel Text, aber ich kommen mit meinem Leihenwissen leider nicht weiter.
Viele Grüße
Mattes
-
Normal installiert und Aktualisiert man die Adapter im Admin unter Adapter. Dazu braucht man aber nicht extra den Adapter herunter zu laden, das geht Automatisch. Einfach aufs + klicken und die Aktuellste Version wird installiert, vorrausgesetzt der Adapter ist nicht schon installiert.
Du schreibst das du nach längerer Zeit mal wieder reingeschaut hast, ist deine iobroker installation up-to-date? js-controller version? admin version?
Gesendet von meinem Jolla mit Tapatalk
-
Vielen Dank für die Infos, ich habe heute morgen die iobroker Admin Version von 0.6.2 auf 0.6.6 geupdatet. Allerdings taucht der ModBus-Adapter dann trotzdem nicht in meiner Adapter Übersicht auf. Du schreibst, der normale Weg ein Adapter nachzuinstallieren erfolgt über einen Klick auf das "+". Dieses Plus-Zeichen erscheint bei mir lediglich hinter einem Adapter zur Instanzzierung eines Adapters. Ich glaube ich habe hier etwas noch nicht richtig verstanden bzgl. der Adapter..
Viele grüße
-
Nein das "+" installiert einen Adapter und erzeugt eine Instanz. Wenn der Adapter schon in installiert ist wird nur noch eine neue Instanz erzeugt.
In der Adapter Übersicht werden alle Adapter die offiziell frei gegeben sind auf gelistet.
-
Ok, ich werde dann heute Abend nochmal nachschauen. Der ModBus-Adapter ist in der Tabelle aus deinem Link ja gelistet.. Hast du diesen Adapter denn Standardmäßig mit in deinen Adaptern gelistet? Nicht das der noch garnicht "offiziell" ist und ich hier aufgrund falscher Tatsachen einen Fehler suche
Gruß, Matthias
-
Bei mir ist der gelistet, aber ich verwende ihn nicht.
-
Nach mehreren vergeblichen Versuchen, habe ich ioBroker neu aufgesetzt.
Irgendetwas ist durch meine manuelle Installation anscheinend durcheinander gekommen.
Jetzt erscheint auch die aktuelle Version vom Modbus Adapter in meiner Adapter-Liste.
Auch eine fehlerfreie Instanzierung ist nun möglich. Jetzt kann es weiter gehen bzgl. meiner Modbus Projekte,,
Vielen Dank für die Tipps..
-
Moin,
ich habe mit der arduino lib mudbus eine modbus TCP Verbindung zwischen arduino und iobroker herstellen können.
War nicht ganz leicht wenn man eine Stunde alles probiert und dann merkt das die IP falsch ist.[emoji22]
Und plötzlich kommen die werte.
Hatte es vorher immer mit einer Android app gemacht und da ging alles.
Jetzt will ich den Status von meinen Holding coils ändern aber iobroker stellt das direkt nach dem ändern wieder auf den alten wert.
Mit der app kann ich das aber ändern und iobroker merkt das dann auch sofort. Die app ist sonnst aber immer aus nur iobroker ist mit dem slave verbunden.
Einmal hat es funktioniert danach ging es nicht mehr.
Ob ich die Holding Register ändern kann teste ich morgen abend muss dazu den Sketch anpassen und mal ne led an pwm klemmen.
An sonsten läuft das schon ganz gut.
Gruß Enrico
Gesendet von meinem C6903 mit Tapatalk
-
Moin,
ich habe mit der arduino lib mudbus eine modbus TCP Verbindung zwischen arduino und iobroker herstellen können.
War nicht ganz leicht wenn man eine Stunde alles probiert und dann merkt das die IP falsch ist.[emoji22]
Und plötzlich kommen die werte.
Hatte es vorher immer mit einer Android app gemacht und da ging alles.
Jetzt will ich den Status von meinen Holding coils ändern aber iobroker stellt das direkt nach dem ändern wieder auf den alten wert.
Mit der app kann ich das aber ändern und iobroker merkt das dann auch sofort. Die app ist sonnst aber immer aus nur iobroker ist mit dem slave verbunden.
Einmal hat es funktioniert danach ging es nicht mehr.
Ob ich die Holding Register ändern kann teste ich morgen abend muss dazu den Sketch anpassen und mal ne led an pwm klemmen.
An sonsten läuft das schon ganz gut.
Gruß Enrico
Gesendet von meinem C6903 mit Tapatalk `
Bist du hier weiter gekommen? -
Ganz ehrlich hatte erstmal ne kreative pause gemacht und auf meinen neuen arduino pro mini und den passenden ftdi gewartet. Die ersten haben irgendwie nicht funktioniert.
Hatte mich am Sonntag dann erstmal wieder mit RTU Rum geärgert [ANGRY FACE].
Aber im arduino Forum hat ja auch keiner so wirklich Ahnung von modbus oder es will keiner helfen.
Gesendet von meinem C6903 mit Tapatalk
-
Ganz ehrlich hatte erstmal ne kreative pause gemacht und auf meinen neuen arduino pro mini und den passenden ftdi gewartet. Die ersten haben irgendwie nicht funktioniert.
Hatte mich am Sonntag dann erstmal wieder mit RTU Rum geärgert [ANGRY FACE].
Aber im arduino Forum hat ja auch keiner so wirklich Ahnung von modbus oder es will keiner helfen.
Gesendet von meinem C6903 mit Tapatalk `
Weil du bei der arduino sowieso ethernet shield hast, empfehle ich dir MQTT zu verwenden.
4191_testbeschreibung_version_21-b05_profileparameter.docx -
Hab ich auch schon mit rumprobiert aber noch nicht das gewünschte Ergebnis erreicht dachte ich probiere einfach mal Modbus TCP. Wobei die lib auch begrenzt ist und wenn ich werte vom ganzen Haus zu iobroker bringen will muss ich wohl eher zu mqtt schwenken. Naja erstmal die Hardware und den RTU Kram machen und dann muss der Kram irgendwie in iobroker rein.
Gesendet von meinem C6903 mit Tapatalk
-
Ich will mal ganz vorsichtig Anfragen….hab gesehen das es für node ein modbus-rtu über den seriel Port gibt.
Meinst du man könnte das in den Adapter integrieren.
Würde mir das auch gerne mal genauer anschauen aber will mir jetzt erstmal nicht noch ne Baustelle anlachen.
Kannst ja mal gucken ob es da ne Möglichkeit gibt. Dann würde ich mich darum kümmern dann hätte ich gleich einen ordentlichen Master für meine slaves weil der arduino Schaft den Master in dem Ausmaß nicht was ich vorhabe.
Iobroker wäre da besser.
https://www.npmjs.com/package/modbus-rtu
Gesendet von meinem C6903 mit Tapatalk
-
Ich will mal ganz vorsichtig Anfragen….hab gesehen das es für node ein modbus-rtu über den seriel Port gibt.
Meinst du man könnte das in den Adapter integrieren.
Würde mir das auch gerne mal genauer anschauen aber will mir jetzt erstmal nicht noch ne Baustelle anlachen.
Kannst ja mal gucken ob es da ne Möglichkeit gibt. Dann würde ich mich darum kümmern dann hätte ich gleich einen ordentlichen Master für meine slaves weil der arduino Schaft den Master in dem Ausmaß nicht was ich vorhabe.
Iobroker wäre da besser.
https://www.npmjs.com/package/modbus-rtu
Gesendet von meinem C6903 mit Tapatalk `
Ich habe den auch gefunden:http://forum.iobroker.net/viewtopic.php … bus#p18191
Mir gefehlt aber das hier: https://github.com/yaacov/node-modbus-serial (https://www.npmjs.com/package/modbus-serial)
-
Ich will mal ganz vorsichtig Anfragen….hab gesehen das es für node ein modbus-rtu über den seriel Port gibt.
Meinst du man könnte das in den Adapter integrieren. `
Hi,
ich würde auch gerne ein Modbus RTU Device bei mir integrieren (Westaflex WAC300 Lüftung).
Meine Idee war es, mit einem Converter auf Modbus TCP zu gehen, weil ich an der Lüftung einen
Ethernet-Anschluss zu meinem Switch liegen habe, aber keine Leitung die ich für serielle Modbus RTU benutzen könnte.
Ich hab jetzt folgenden Aufbau der aktuell läuft:
WestaflexLüftung(ModbusRTU) <–--> W&TCOMServer(65661) (ModubsRTUoverTCP) <----> ModbusPoll Testsoftware auf Windows PC
Ich würde jetzt gerne an die Stelle der ModbusPoll Testsoftware den IOBroker-Modbus-Adapter hängen.
Mein Problem ist dabei allerdings, das die Schnittstelle nicht ModbusTCP spricht, sondern ModbusRTUoverTCP.
Ich hab mir die modbus library schonmal angeschaut, aber ich schaff es nicht das umzuschreiben, da reichen meine JavaScript
Kenntnisse nicht.
Eine gute Erklärung zu ModbusRTU, TCP und TCPoverRTU findet man hier:
http://www.simplymodbus.ca/TCP.htm
Mich würde daher dein Lösungsansatz auch sehr interessieren, um irgendwie die Lüftung an die CCU zu bekommen...
5652_objekte.jpg
5652_script.jpg -
Du könntest auch einen kleinen arduino nehmen mit Ethernetshield und rs485 modul. Kosten liegen bei 10Euro. Per rs485 fragst du deine Lüftung ab und dann die Werte über Modus TCP an Io Broker. Oder hält an die ccu. Könntest dann auch noch andere fühler an den arduino anschließen z.b. 1wire temperatursensoren für die Heizung. Bin ja eh gerade am Programmieren könnte mal was schreiben ist ja nicht viel Code.
Du mmüsstest nur mal sagen was du per rtu abfragen willst oder schalten willst.
Gruß Enrico
Gesendet von meinem LG-D802 mit Tapatalk
-
Hey, dank dir für die Rückmeldung.
ich hab mich mit arduino bisher noch nicht beschäftigt, aber der Lösungsansatz klingt sehr interessant.
Ich werde mal zusammenschreiben was ich wie gerne auslesen würde (Dokumente zu den
entspr. Modbus-Registern liegt leider zuhause), aber prinzipiell geht es darum,
2xTemperatur und aktuellen Schaltzustand auszulesen und den Schaltzustand und die Vorwärm-Temperatur zu setzen.
Verstehe ich den Aufbau dann so richtig:
WestaflexLüftung(ModbusRTU) <–--> RS485Modul<->Arduino<->Ethernetshield (ModbusTCP) <----> ModbusPoll Testsoftware auf Windows PC
Dann könnte ich direkt den ioBroker modbus Adapter verwenden um die Werte in die Homematic zu bekommen, das wär klasse
-
Du könntest auch Nein kleinen arduino nehmen mit Ethernetshield und rs485 modul. Kostet bei 10Euro rum.
Dann kannst du per rtu deine Lüftung ansprechen und dann per lan an die ccu oder an iobroker anbinden.
Aussedem könntet du z.b. auch noch 1wire Temperaturfühler anschließen und die Werte auch übertragen.
Wenn du willst kann ich da mal was schreiben bin ja eh gerade voll drin.
Müsstest mir nur mal sagen was da über den modbus geht.
Gruß Enrico
Gesendet von meinem LG-D802 mit Tapatalk
305_heizungsscript_220_b05_temp.txt