NEWS
Solar Edge Wechselrichter via Modbus scheitert
-
Stimmt, die Antwort war ich noch schuldig geblieben, aber: Ich hatte die anderen Instanzen gestoppt (jetzt sogar alles andere ausser "Admin.0"). Da ist also niemand mehr übrig, der noch drauf zugreifen könnte. Und nun habe ich auch noch den Zugriff aus dem Internet mal gestoppt. Nach wie vor kein Objekt.
Beim Starten der Instanz keine Fehlermeldungen mehr im Protokoll, sondern nur noch:
modbus.0
2026-08-06 16:45:44.450 info Connected to slave 192.168.178.10
modbus.0
2026-08-06 16:45:44.028 info starting. Version 8.0.3 in D:/ioBroker/node_modules/iobroker.modbus, node: v22.23.1, js-controller: 7.1.2
host.PC-Knut
2026-08-06 16:45:41.060 info instance system.adapter.modbus.0 in version "8.0.3" started with pid 13352
host.PC-Knut
2026-08-06 16:45:40.759 info "system.adapter.modbus.0" enabled -
Stimmt, die Antwort war ich noch schuldig geblieben, aber: Ich hatte die anderen Instanzen gestoppt (jetzt sogar alles andere ausser "Admin.0"). Da ist also niemand mehr übrig, der noch drauf zugreifen könnte. Und nun habe ich auch noch den Zugriff aus dem Internet mal gestoppt. Nach wie vor kein Objekt.
Beim Starten der Instanz keine Fehlermeldungen mehr im Protokoll, sondern nur noch:
modbus.0
2026-08-06 16:45:44.450 info Connected to slave 192.168.178.10
modbus.0
2026-08-06 16:45:44.028 info starting. Version 8.0.3 in D:/ioBroker/node_modules/iobroker.modbus, node: v22.23.1, js-controller: 7.1.2
host.PC-Knut
2026-08-06 16:45:41.060 info instance system.adapter.modbus.0 in version "8.0.3" started with pid 13352
host.PC-Knut
2026-08-06 16:45:40.759 info "system.adapter.modbus.0" enabledNach wie vor kein Objekt.
Immerhin auch keine Fehlermeldungen!
Stell jetzt mal die Instanz vom modbus auf logstufe debug.
Hilfe findest du hier:https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge
-
Ah - viel mehr Info - und eine Warnung ...nicht im gleichen Block... Liegt's daran? Aber wenn ja, kann ich den "Block", in dem die Daten liegen, denn beeinflussen? Hier der dump:
modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Calculation result = Infinity, type = number modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The used scaleFactor from address 40084 is not inside the same read block as the parameter on address 82 modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] Please make sure to configure the read process that both adresses are read in the same block! modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The current range for reading the values was from address 82 up to address 84! modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Scale factor address is inside current read range = false modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Scale factor address is = 40084 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Formula = x * Math.pow(10, sf['40084']) modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Input Value = 65535 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40084] Scale factor value stored from this address = 11267 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs] Poll address 82 DONE modbus.0 2026-08-06 16:59:56.397 debug [DevID_1/holdingRegs] Poll address 82 - 2 registers modbus.0 2026-08-06 16:59:56.396 debug [DevID_1] Poll start ---------------------(Dass ich erst die zwei diagonalen Pfeile "composer öffnen" anklicken muss, um den Texteditor samt icons zu sehen, musste ich auch erst mal entdecken - ach die schöne neue Bildchenwelt...). Aber ich bessere mich.
-
Ah - viel mehr Info - und eine Warnung ...nicht im gleichen Block... Liegt's daran? Aber wenn ja, kann ich den "Block", in dem die Daten liegen, denn beeinflussen? Hier der dump:
modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Calculation result = Infinity, type = number modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The used scaleFactor from address 40084 is not inside the same read block as the parameter on address 82 modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] Please make sure to configure the read process that both adresses are read in the same block! modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The current range for reading the values was from address 82 up to address 84! modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Scale factor address is inside current read range = false modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Scale factor address is = 40084 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Formula = x * Math.pow(10, sf['40084']) modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Input Value = 65535 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40084] Scale factor value stored from this address = 11267 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs] Poll address 82 DONE modbus.0 2026-08-06 16:59:56.397 debug [DevID_1/holdingRegs] Poll address 82 - 2 registers modbus.0 2026-08-06 16:59:56.396 debug [DevID_1] Poll start ---------------------(Dass ich erst die zwei diagonalen Pfeile "composer öffnen" anklicken muss, um den Texteditor samt icons zu sehen, musste ich auch erst mal entdecken - ach die schöne neue Bildchenwelt...). Aber ich bessere mich.
The used scaleFactor
Hab ich noch nie mit gearbeitet,
Stell mal hier

Auf kleinere Werte, z.b. 10
Das hilft manchmal, wobei die meldung mit dem scalefaktor eher das Gegenteil vermuten lässt
-
Ah - viel mehr Info - und eine Warnung ...nicht im gleichen Block... Liegt's daran? Aber wenn ja, kann ich den "Block", in dem die Daten liegen, denn beeinflussen? Hier der dump:
modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Calculation result = Infinity, type = number modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The used scaleFactor from address 40084 is not inside the same read block as the parameter on address 82 modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] Please make sure to configure the read process that both adresses are read in the same block! modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The current range for reading the values was from address 82 up to address 84! modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Scale factor address is inside current read range = false modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Scale factor address is = 40084 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Formula = x * Math.pow(10, sf['40084']) modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Input Value = 65535 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40084] Scale factor value stored from this address = 11267 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs] Poll address 82 DONE modbus.0 2026-08-06 16:59:56.397 debug [DevID_1/holdingRegs] Poll address 82 - 2 registers modbus.0 2026-08-06 16:59:56.396 debug [DevID_1] Poll start ---------------------(Dass ich erst die zwei diagonalen Pfeile "composer öffnen" anklicken muss, um den Texteditor samt icons zu sehen, musste ich auch erst mal entdecken - ach die schöne neue Bildchenwelt...). Aber ich bessere mich.
Dass ich erst die zwei diagonalen Pfeile "composer öffnen" anklicken muss, um den Texteditor samt icons zu sehen
Nöö, ei fach auf den groooossen Button Antworten klicken, nicht über den quick response gehen
-
Ah - viel mehr Info - und eine Warnung ...nicht im gleichen Block... Liegt's daran? Aber wenn ja, kann ich den "Block", in dem die Daten liegen, denn beeinflussen? Hier der dump:
modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Calculation result = Infinity, type = number modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The used scaleFactor from address 40084 is not inside the same read block as the parameter on address 82 modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] Please make sure to configure the read process that both adresses are read in the same block! modbus.0 2026-08-06 16:59:56.451 warn [DevID_1/holdingRegs/40083] The current range for reading the values was from address 82 up to address 84! modbus.0 2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Scale factor address is inside current read range = false modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Scale factor address is = 40084 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Formula = x * Math.pow(10, sf['40084']) modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Input Value = 65535 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40084] Scale factor value stored from this address = 11267 modbus.0 2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs] Poll address 82 DONE modbus.0 2026-08-06 16:59:56.397 debug [DevID_1/holdingRegs] Poll address 82 - 2 registers modbus.0 2026-08-06 16:59:56.396 debug [DevID_1] Poll start ---------------------(Dass ich erst die zwei diagonalen Pfeile "composer öffnen" anklicken muss, um den Texteditor samt icons zu sehen, musste ich auch erst mal entdecken - ach die schöne neue Bildchenwelt...). Aber ich bessere mich.
2026-08-06 16:59:56.451 debug [DevID_1/holdingRegs/40083] Scale factor address is inside current read range = false
modbus.0
2026-08-06 16:59:56.450 debug [DevID_1/holdingRegs/40083] Scale factor address is = 40084Und die anderen nur 80/82
-
80? 82? Die "Blöcke" sind nicht die zwei Endziffern der Registeradresse, nein? Aber wo definiert man denn die Blöcke? Das Register 40083 braucht offensichtlich für die Anzeige den Scalefaktor aus 40084... Dafür muss ich die ja auch in einem Zuge auslesen können? (Denn Sinn der Rechenanweisung habe ich verstanden. Immerhin..)
Dieser Hinweis steht bei den Registereinträgen:

-
80? 82? Die "Blöcke" sind nicht die zwei Endziffern der Registeradresse, nein? Aber wo definiert man denn die Blöcke? Das Register 40083 braucht offensichtlich für die Anzeige den Scalefaktor aus 40084... Dafür muss ich die ja auch in einem Zuge auslesen können? (Denn Sinn der Rechenanweisung habe ich verstanden. Immerhin..)
Dieser Hinweis steht bei den Registereinträgen:

@Aubergino sooo fit bin ich auch nicht.
Ich neme an, die blöcke sind 30000er für Inputregister und 40000er für Holdingregister.
Was jetzt 82 bis 84 istThe current range for reading the values was from address 82 up to address 84!
Weiss ich nicht
-
Jedenfalls noch mal herzlichen Dank bis hierher. Du hast mir sehr weitergeholfen und ich habe viel dazugelernt über den ioBroker. Vielleicht kann noch ein anderer Mitleser was zu diesen "Blöcken" sagen. Ich entnehme Deiner Antwort jedenfalls, dass das nicht ioBroker-spezifisches ist, sondern etwas aus der Struktur des Wechselrichtert. Dazu finde ich evtl. etwas in PV-spezifischen Foren. Für mich ist heute erst mal Schicht, habe einen Abendtermin.
Es grüßt
Aubergino. -
Jedenfalls noch mal herzlichen Dank bis hierher. Du hast mir sehr weitergeholfen und ich habe viel dazugelernt über den ioBroker. Vielleicht kann noch ein anderer Mitleser was zu diesen "Blöcken" sagen. Ich entnehme Deiner Antwort jedenfalls, dass das nicht ioBroker-spezifisches ist, sondern etwas aus der Struktur des Wechselrichtert. Dazu finde ich evtl. etwas in PV-spezifischen Foren. Für mich ist heute erst mal Schicht, habe einen Abendtermin.
Es grüßt
Aubergino.Ich entnehme Deiner Antwort jedenfalls, dass das nicht ioBroker-spezifisches ist, sondern etwas aus der Struktur des Wechselrichtert.
Nee, modbus-spezifisch!
So tief bin ich da nicht drin.Mach mal testweise den haken bei Alias verwenden" raus.
Was kommt dann im log? -
Hallo auch ubecker,
Alias habe ich ausgehakt (an den dann auftauchenden Einstellungen nichts weiter geändert). Keine Veränderung.
Dann habe ich statt der Werte, die den Skalierungsfaktor benötigen, mal ein einfaches Register ausgewählt (40107 und 40108, "Betriebszustand"). Damit laufen im Protokoll keine Fehler mehr auf:modbus.0 2026-08-06 22:31:05.461 debug [DevID_1/holdingRegs] Poll address 106 DONE modbus.0 2026-08-06 22:31:05.421 debug [DevID_1/holdingRegs] Poll address 106 - 2 registers modbus.0 2026-08-06 22:31:05.421 debug [DevID_1/holdingRegs] Poll address 67 DONE modbus.0 2026-08-06 22:31:05.392 debug [DevID_1/holdingRegs] Poll address 67 - 1 registers modbus.0 2026-08-06 22:31:05.391 debug [DevID_1] Poll start ---------------------Aber nach wie vor gibt es in den Objekten unter modbus.0 keine Objekte, und wenn ich in die Einstellungen des Objektes modbus.0 gehe, wird das Objekt als nicht existierend gemeldet.
Jetzt lese ich also anscheinend erfolgreich aus? Aber kriege das Leseergebnis nach wie vor nicht unter "Objekte" zu sehen.Die Registerliste hatte ich übrigens in dieser dankenswerten Arbeit gefunden und als json importiert: Forumsbeitrag https://community.symcon.de/t/modbus-vorlage-solaredge-wechselrichter-address-40070-40107/134885
-
Guten Tag noch mal in die Runde der Mitdenkenden...
Mit Hilfe von "SerialTool" konnte ich nun sicher herausfinden, dass die Modbus-Abfrage funktioniert. Es bleibt also "nur" das IOBroker-Problem, dass ich trotzdem keine Objekte bekomme. Und da gibt es noch einige, allerdings ältere, Themen im Forum von Leuten, denen das auch so ging... Da werde ich mich mal ranhängen oder, wenn zu alt, einen neuen Thread dazu machen. Danke an die hier Beteiligten. -
Guten Tag noch mal in die Runde der Mitdenkenden...
Mit Hilfe von "SerialTool" konnte ich nun sicher herausfinden, dass die Modbus-Abfrage funktioniert. Es bleibt also "nur" das IOBroker-Problem, dass ich trotzdem keine Objekte bekomme. Und da gibt es noch einige, allerdings ältere, Themen im Forum von Leuten, denen das auch so ging... Da werde ich mich mal ranhängen oder, wenn zu alt, einen neuen Thread dazu machen. Danke an die hier Beteiligten.komme. Und da gibt es noch einige, allerdings ältere, Themen im Forum von Leuten, denen das auch so ging
Soweit ich mich erinnere war dann immer (??) irgendetwas falsch eingestellt.
Und solange nicht ein Register erfolgreich abgerufen wird (sieht man im debug log) wird kein Objekt angelegt.Ganz spontane Idee:
Nicht dass bei WIN11 die firewall o.ä. dazwischenfunkt. -
Das sind meine Einstellungen welche funktionieren, ich habe einen SE10K-RWB48:


Holding Register Beschreibung der Register als TSV Datei, können importiert werden, Achtung die Register 101442-103249 sollte man nur nutzen wenn der Wechselrichter oder Batterie gesteuert werden sollen, wenn nicht diese nicht importieren!
solaredge.tsv
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