NEWS
Modbus - Erste Schritte
-
Hallo,
ich habe gerade angefangen mich in den ioBroker etwas einzuarbeiten.
Mit dem ModBus Adapter habe ich aber Probleme. Ich möchte mein E3DC damit abfragen. Aber ich bekomme irgendwie keine Verbindung hin.
Den ModBus habe ich am E3DC freigeschalten:
Den Adapter konfiguriert:
Ich bekomme immer einen Verbindungsfehler:
Anbei auch das Protokoll:
__modbus.0 2017-11-04 17:21:41.826 warn Poll error count: 8 code: 'App Timeout'
modbus.0 2017-11-04 17:21:38.823 warn Poll error count: 7 code: 'App Timeout'
modbus.0 2017-11-04 17:21:35.798 info Disconnected from slave 192.168.178.38
modbus.0 2017-11-04 17:21:35.798 warn Poll error count: 6 code: 'App Timeout'
modbus.0 2017-11-04 17:21:35.783 warn Poll error count: 5 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-04 17:21:33.612 warn Poll error count: 4 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-04 17:21:32.774 warn Poll error count: 3 code: 'App Timeout'
modbus.0 2017-11-04 17:21:30.595 warn Poll error count: 2 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-04 17:21:27.572 warn Poll error count: 1 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-04 17:21:27.557 info Connected to slave 192.168.178.38
modbus.0 2017-11-04 17:21:27.304 info starting. Version 0.5.4 in F:/ioBroker/node_modules/iobroker.modbus, node: v4.5.0
host.MichaW-PC 2017-11-04 17:21:26.789 info instance system.adapter.modbus.0 started with pid 12352__
Wer hat eine Idee und kann mir helfen.
Gruß
Michael
-
Was genau ist denn E3DC ?
Stromspeicher?
Sicher das der Standart Modbus spricht?
Bin etwas verwirrt wegen der Protokoll Auswahl in deinem screenshot.
Wie heißt den das gerät genau?
Gesendet von iPhone mit Tapatalk Pro
-
Was genau ist denn E3DC ?
Stromspeicher?
Sicher das der Standart Modbus spricht?
Bin etwas verwirrt wegen der Protokoll Auswahl in deinem screenshot.
Wie heißt den das gerät genau?
Gesendet von iPhone mit Tapatalk Pro `
Hallo,
E3DC ist ein sogennantes Hauskraftwerk, Wechselrichter mit integriertem Stromspeicher.
Unterstützt wird das ModBus Protokoll, hier ein Link für die Beschreibung:
https://www.google.de/url?sa=t&rct=j&q= … cZ54U71Go6
Sowie ich oben von andre verstanden habe, scheint es ja auch zu funktionieren….. Aber scheinbar habe ich irgendwas noch nicht richtig konfiguriert / verstanden....
Danke schonmal für die Unterstützung.
-
Welche Node Version hast du installiert?
Gesendet von iPhone mit Tapatalk Pro
-
Welche Node Version hast du installiert?
Gesendet von iPhone mit Tapatalk Pro `
Hallo Wendy2702,
ich habe Version 4.5.0 installiert
starting. Version 0.5.4 in F:/ioBroker/node_modules/iobroker.modbus, node: v4.5.0
Gruß
Micha
-
Kannst du mal ein update machen?
Sieht für mich so aus als ob eine Funktion in deiner node Version nicht unterstützt wird.
Ich habe z.b. 4.8.5 auf meinem Master und 4.8.4 auf einem Slave.
6.11.5 sollte auch funktionieren.
-
Kannst du mal ein update machen?
Sieht für mich so aus als ob eine Funktion in deiner node Version nicht unterstützt wird.
Ich habe z.b. 4.8.5 auf meinem Master und 4.8.4 auf einem Slave.
6.11.5 sollte auch funktionieren. `
Wo bekomm ich denn die neue Version her? Bei IOBroker ist die 0.5.4 die aktuellste:
<size size="85">Changelog
0.5.4 (2017-09-27)
(Apollon77) Several Fixes
0.5.0 (2017-02-11)
(bluefox) Create all states each after other
0.4.10 (2017-02-10)
(Apollon77) Do not recreate all datapoints on start of adapter
(ykuendig) Multiple optimization and wording fixes
0.4.9 (2016-12-20)
(bluefox) fix serial RTU
…..</size>
-
Ich meinte die Version von Node.
Siehe hier:
http://www.iobroker.net/docu/?page_id=5106&lang=de
Gesendet von iPhone mit Tapatalk Pro
-
Ich meinte die Version von Node.
Siehe hier:
http://www.iobroker.net/docu/?page_id=5106&lang=de
Gesendet von iPhone mit Tapatalk Pro `
Also ich habe jetzt Node upgedated: Version 4.8.5.
Aber gleiches Problem.
Hier nochmal ein Trace vom LogFile:
<size size="85">__modbus.0 2017-11-05 16:07:52.307 warn Poll error count: 8 code: 'App Timeout'
modbus.0 2017-11-05 16:07:49.291 warn Poll error count: 7 code: 'App Timeout'
modbus.0 2017-11-05 16:07:46.275 info Disconnected from slave 192.168.178.38
modbus.0 2017-11-05 16:07:46.275 warn Poll error count: 6 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:46.275 warn Poll error count: 5 code: 'App Timeout'
modbus.0 2017-11-05 16:07:44.088 warn Poll error count: 4 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:43.260 warn Poll error count: 3 code: 'App Timeout'
modbus.0 2017-11-05 16:07:41.072 warn Poll error count: 2 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:38.057 warn Poll error count: 1 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:38.057 info Connected to slave 192.168.178.38
modbus.0 2017-11-05 16:07:37.791 info starting. Version 0.5.4 in F:/ioBroker/node_modules/iobroker.modbus, node: v4.8.5__</size>
-
Ich meinte die Version von Node.
Siehe hier:
http://www.iobroker.net/docu/?page_id=5106&lang=de
Gesendet von iPhone mit Tapatalk Pro `
Also ich habe jetzt Node upgedated: Version 4.8.5.
Aber gleiches Problem.
Hier nochmal ein Trace vom LogFile:
<size size="85">__modbus.0 2017-11-05 16:07:52.307 warn Poll error count: 8 code: 'App Timeout'
modbus.0 2017-11-05 16:07:49.291 warn Poll error count: 7 code: 'App Timeout'
modbus.0 2017-11-05 16:07:46.275 info Disconnected from slave 192.168.178.38
modbus.0 2017-11-05 16:07:46.275 warn Poll error count: 6 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:46.275 warn Poll error count: 5 code: 'App Timeout'
modbus.0 2017-11-05 16:07:44.088 warn Poll error count: 4 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:43.260 warn Poll error count: 3 code: 'App Timeout'
modbus.0 2017-11-05 16:07:41.072 warn Poll error count: 2 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:38.057 warn Poll error count: 1 code: {'errorCode':130,'exceptionCode':1,'message':'ILLEGAL FUNCTION'}
modbus.0 2017-11-05 16:07:38.057 info Connected to slave 192.168.178.38
modbus.0 2017-11-05 16:07:37.791 info starting. Version 0.5.4 in F:/ioBroker/node_modules/iobroker.modbus, node: v4.8.5__</size> `
Wenn Node upgedated wurde ist es glaube ich erforderlich den Adapter neu zu installieren.
Irgendwo im Forum steht da was zu, weiß nur nicht wo.
Ich würde den Adapter nochmal löschen und neu installieren.
-
Hallo Wendy2702,
danke, jetzt funktioniert es. Die Neuinstallation des ModBus Adapters hat geholfen!
Gruß
Micha
-
Sehr schön.
Gesendet von iPhone mit Tapatalk Pro
-
Hallo zusammen,
versuche auch in die Welt des modbus rein zu schnuppern. Leider gibt es fast keine Anleitungen und Beispiele für die Siemen LOGO! Da hebe ich mit dem qModMaster rumexperimentiert. Das habe ich rausgefunden. Wie übertrage ich das in dem Adapter?
2071_modbus.jpg -
Ich habe zwar keine Siemens Logo, aber das Experimentieren ist wohl mit einer Wago 750-880 identisch.
Warum hast du im Modbus Master schon Write Multiple Register angegeben? Irgendwie würde ich mit Lesen beginnen.
Und wie korreliert die Startadresse 50 im Modbus Master mit den Adressen in der Konfigurationsansicht?
Bist du sicher, schon die richtigen Adressen zu haben?
-
Hallo Jensen,
eigentlich habe ich auf deine Fragen noch ( hoffe ich ) keine Antwort. Hab einfach dem qModMaster genohmen und die Adressen durchgescannt.
Die Uhr, links oben auf dem Schaltplan, kann ich ab Adresse 53 sehen und ändern was ich auch im vis machen möchte. Im Adapter habe ich rausgefunden das dass die ab Adresse 40054 unter Holding Registers sind, nur leider zeigt mir der Adapter die Werte in Decimal an aber ich brauche sie in Hex. Wie ich die Adressen ausrechne habe ich noch keine Ahnung, beim S7 Protokol ist das einfacher , alles was ich an Info habe ist das
Schöne Grüße
2071_modbus_hilfe.jpg -
Hi.
Ich kann zur aktuellen Diskussion nichts beitragen, habe aber eine Frage.
Mein AußentemperaturSensor den ich abfrage zeigt derzeit 32654 Grad Celsius.
[emoji3]
Kann es sein dass der Wert nur positiv angezeigt? Auf welchen Typ müsste ich umstellen um auch negative Werte im iobroker geliefert zu bekommen?
Danke
Grüße Tobi
Gesendet von meinem D5803 mit Tapatalk
-
Ich wurde Uint16 nehmen.
z.B. deine Uint16 Variable heißt modbus.0.MyDouble
var id = 'modbus.0.MyDouble'; createState(id + '.One'); createState(id + '.Two'); on(id, function (obj) { setState(id + '.One', (obj.state.val >> 16) & 0xFF, true); setState(id + '.One', obj.state.val & 0xFF, true); }); ```` `
Hallo Bluefox,
vielen Dank für deinen Lösungsansatz. Habe damit ein wenig rum probiert und ihn nach meinen Bedürfnissen angepasst. Läuft soweit und die Werte scheinen schlüssig.
In Anlehnung an dein (ungetestetes) Beispiel musste ich das Script so anpassen/ korrigieren:
var id = 'modbus.0.MyDouble'; createState(id + '.One'); createState(id + '.Two'); on(id, function (obj) { setState(id + '.One', (obj.state.val >> 8) & 0xFF, true); setState(id + '.Two', obj.state.val & 0xFF, true); });
Letztendlich läuft es bei mir (mit meinen Datenpunkten) so:
var id = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch'; createState('e3dc.modbus.Autarkie'); createState('e3dc.modbus.Eigenverbrauch'); on(id, function (obj) { setState('e3dc.modbus.Autarkie', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true); });
Vielleicht kann es ja noch jemand benötigen…
DANKE!
MfG,
André `
Sorry das ich nachfrage. Bei mir stimmt der Eigenverbrauch nicht. Habe Dein Script verwendet.
Allerdings zeigt mir die e3dc view z.B. 55% an, während der Eigenverbrauch vom Script 19% anzeigt.
Irgend jemand eine Idee wie ich das genauer überprüfen kann
Danke Gruß Zippolighter
-
Sorry das ich nachfrage. Bei mir stimmt der Eigenverbrauch nicht. Habe Dein Script verwendet.
Allerdings zeigt mir die e3dc view z.B. 55% an, während der Eigenverbrauch vom Script 19% anzeigt.
Irgend jemand eine Idee wie ich das genauer überprüfen kann
Danke Gruß Zippolighter `
Ganz sicher dass das so ist? Liest du auf der Website ab? Die Website ist nicht aktuell… Oder hast du die Differenz zwischen ioBroker und dem Display des E3DC-Geräts? Bei mir stimmt es überein...
MfG,
André
-
Hi Andre, jepp die Webseite ist immer 15 Minuten gemittelt.
Aber wenn ich als Modbus über eine Stunde immer zwischen 18 und 24% habe und die Webseite zeigt mir über diesen Zeitraum 50 -55% an, kann da was nicht stimmen.
Werde die Werte mir auch noch mal am Gerät anschauen und vergleichen.
Auf jeden Fall
Danke für die Antwort
Gruß Zippolighter
-
Hallo zusammen,
ich habe mein ioBroker umgezogen (vom Raspberry auf einen Rock64). Alles hat auch wunderbar funktioniert inkl. der Migration der MySQL-Datenbank. Nur mein Modbus-Adapter macht Ärger, dabei ist es einer meiner wichtigsten (> Steuerung Heizung & Warmwasser). Der Adapter steht nur auf rot bzw. er zeigt in der Admin-Oberfläche (V3.3.3) auch kein Symbol an und wenn ich auf Konfigurieren klicke kommt die Fehlermeldung "File index.html not found".
Ich habe sehr viele Einstellungen gemacht, die hoffentlich alle aus dem Backup wieder eingestellt wurden. Weil ich sie nicht verlieren möchte habe ich den Adapter bisher nicht komplett gelöscht und noch einmal neu installiert - oder bleiben die Einstellungen in diesem Fall sogar erhalten?
Im Log tauchen die folgenden Einträge auf:
host.rock64 2018-03-16 23:17:03.360 info iobroker node-pre-gyp ERR! node-pre-gyp -v v0.6.32node-pre-gyp ERR! host.rock64 2018-03-16 23:17:03.359 info iobroker ERR! cwd /opt/iobroker/node_modules/jsmodbus/node_modules/serialportnode-pre-gyp ERR! node -v v6.13.1 host.rock64 2018-03-16 23:17:03.359 info iobroker Linux 4.4.77-rockchip-ayufan-136node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/jsmodbus/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-t host.rock64 2018-03-16 23:17:03.358 info iobroker node-pre-gyp ERR! System host.rock64 2018-03-16 23:17:03.358 info iobroker at emitTwo (events.js:106:13)node-pre-gyp ERR! stack at ChildProcess.emit (events.js:191:7) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:920:16) node-pre-gyp host.rock64 2018-03-16 23:17:03.357 info iobroker ERR! stack host.rock64 2018-03-16 23:17:03.357 info iobroker node-pre-gyp ERR! stack at ChildProcess. (/opt/iobroker/node_modules/jsmodbus/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp host.rock64 2018-03-16 23:17:03.356 info iobroker ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/jsmodbus/ host.rock64 2018-03-16 23:17:03.355 info iobroker node-pre-gyp host.rock64 2018-03-16 23:17:03.325 info iobroker node-pre-gyp ERR! build error host.rock64 2018-03-16 23:17:03.322 info iobroker ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildP host.rock64 2018-03-16 23:17:03.321 info iobroker stack Error: `gyp` failed with exit code: 1gyp host.rock64 2018-03-16 23:17:03.298 info iobroker gyp ERR! host.rock64 2018-03-16 23:17:03.289 info iobroker ERR! configure error host.rock64 2018-03-16 23:17:03.287 info iobroker host.rock64 2018-03-16 23:17:03.273 info iobroker gyp host.rock64 2018-03-16 23:17:03.263 info iobroker import gyp File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 8, in import gyp.input File "/usr/lib/node_modules/npm/node_modules/node- host.rock64 2018-03-16 23:17:03.245 info iobroker Traceback (most recent call last): File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in host.rock64 2018-03-16 23:16:59.865 info iobroker Pre-built binaries not found for serialport@4.0.7 and node@6.13.1 (node-v48 ABI) (falling back to source compile with node-gyp) host.rock64 2018-03-16 23:16:59.864 info iobroker ERR! host.rock64 2018-03-16 23:16:59.864 info iobroker node-pre-gyp host.rock64 2018-03-16 23:16:59.863 info iobroker host.rock64 2018-03-16 23:16:59.863 info iobroker Tried to download(404): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v48-linux-arm64.tar.gz host.rock64 2018-03-16 23:16:59.862 info iobroker ERR! host.rock64 2018-03-16 23:16:59.862 info iobroker host.rock64 2018-03-16 23:16:59.858 info iobroker node-pre-gyp host.rock64 2018-03-16 23:16:55.163 info iobroker node-pre-gyp ERR! node -v v6.13.1node-pre-gyp ERR! node-pre-gyp -v v0.6.32 node-pre-gyp ERR! not ok host.rock64 2018-03-16 23:16:55.153 info iobroker "/usr/bin/node" "/opt/iobroker/node_modules/iobroker.discovery/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"node-pre-gyp ERR! cwd /opt/iobroker/node host.rock64 2018-03-16 23:16:55.153 info iobroker ERR! System Linux 4.4.77-rockchip-ayufan-136node-pre-gyp ERR! command host.rock64 2018-03-16 23:16:55.152 info iobroker node-pre-gyp ERR! stack at ChildProcess.emit (events.js:191:7)node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:920:16) node-pre-gyp ERR! stack at Process.ChildProc host.rock64 2018-03-16 23:16:55.141 info iobroker at emitTwo (events.js:106:13) host.rock64 2018-03-16 23:16:55.140 info iobroker ERR! stack at ChildProcess. (/opt/iobroker/node_modules/iobroker.discovery/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp ERR! stack host.rock64 2018-03-16 23:16:55.139 info iobroker node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modul host.rock64 2018-03-16 23:16:55.123 info iobroker build error host.rock64 2018-03-16 23:16:55.122 info iobroker node-pre-gyp ERR! host.rock64 2018-03-16 23:16:55.111 info iobroker gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336 host.rock64 2018-03-16 23:16:55.066 info iobroker Traceback (most recent call last): File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in import gyp File "/usr/lib/node_modules/npm/node_modules/ iobroker 2018-03-16 22:16:51.161 info node-pre-gyp ERR! Tried to download(404): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v48-linux-arm64.tar.gz node-pre-gyp ERR! Pre-bui
Liegt es nur an einem fehlenden serialport-Paket? das habe ich per npm serialport bzw. nach dieser Anleitung schon installiert:
http://www.iobroker.net/docu/?page_id=5510&lang=de
Es bleibt aber bei den Fehlermeldungen. Hat jemand eine Idee, was ich noch tun könnte?
Liebe Grüße
David