Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    353

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
hardware sungrow sgh10rt modbu
895 Beiträge 132 Kommentatoren 375.7k Aufrufe 126 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Daniel

    Hallo zusammen,
    starre seit Monaten immer mal wieder auf diesen Thread und versuche meinen WR via Modbus in Iobroker auszuwerten. Hatte auch immer wieder das Problem mit reconnects und Fehlern.
    Heute hat es endlich geklappt. Keine Ahnung, woran es am Ende lag… hier meine letzten Schritte:

    1. Modbus-Adapter komplett deinstalliert und neu installiert

    2. Geräte ID 1, IP, Master, kein Alias. Rest wie vorkonfiguriert 86fd6bbc-6ffb-4488-b9c9-e8d38d533b6a-image.png

    3. Ich habe nicht den WiNet-Dongle benutzt (weder Wifi noch den LAN Port des Dongles) sondern den fest verbauten separaten LAN-Port des WRs

    4. Die IP findet ihr bspw. in Fritzbox unter Heimnetz->Netzwerk. Wenn ihr oben rechts über den Button "+/-" die Spalte Mac-Adresse einblendet, sollte ihr die richtige IP recht fix finden, die dazugehörige Mac-Adresse beginnt mit "AC" (Achtung: das ist aber auch beim WiNet-Dongle der Fall)

    5. Um zu checken ob die Kommunikation grundsätzlich funktioniert kann man bspw. Tools wie modbus-cli nutzen:

      modbus 192.168.YYY.ZZ:502 -s 1 4999/H
      Parsed 0 registers definitions from 1 files
      4999: 2022 0x7e6

      Hier wird bspw. das aktuelle Jahr zurück gegeben. Wenn das schon nicht funktioniert, habt ihr vermutlich schon ein Problem mit der Verbindung (Client-ID falsch, IP falsch...). Aber Achtung: Verschwendet aber nicht zu viel Zeit darauf, damit "richtige" Werte wie aktuellen Ertrag auszulesen. Über das CLI-Tool habe ich bis heute keine oder unplausible Werte, man kann da mit Word Swap etc pp. viel falsch machen und denkt dann, es funktioniert irgendwas grundlegendes nicht, obwohl man nur die Datentypen falsch hat

    6. Den Fehler On error: {"errno":-104,"code":"ECONNRESET","syscall":"read"} habe ich anfänglich immer wieder gehabt - und jetzt innerhalb weniger Tage mehrfach. Einmal hat ein Firmware-Update des WR das Problem gelöst (vll. aber auch nur wg. des damit zusammenhängenden Neustarts); gerade eben habe ich in meinem Zyxel-Switch das vom WR kommende LAN-Kabel in einen anderen Port gesteckt - und direkt wieder eine funktionierende Verbindung gehabt. Arbeitshypothese wäre in dem Fall, dass der Switch auf dem Port dicht gemacht hat??

    7. Das TSV Format bzgl. der Register hat sich wohl verändert mittlerweile. Hier der Stand, der bei mir funktioniert hat: https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222. Wenn ihr dort auf "Raw" klickt, kommt ihr direkt zur Datei.

    8. Versucht nicht zu lange von Hand drei handverlesene Register zum Laufen zu bringen, wenn ihr euch nicht sicher seit, dass ihr die Datentypen richtig getroffen habt: Die TSV funktioniert, bringt das Ding erstmal rein und schaut dann, welche Werte ihr bekommt.

    9. In der Sungrow App kann man wunderbar sehen, welche Ströme von wo nach wo fließen. In den Modbus-Daten sieht man eher, welche Ströme an welche Quelle anliegen. Möchte man sehen, ob die Batterie geladen oder entladen wird, muss man den "Running State" interpretieren (Register 13000). Die Information ist binary, d.h. das Checken á la "Wenn Wert = 25" kann man sich sparen. Hier mein Ansatz in Blockly:


      <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
      <variable id="Wu=u[10[PLwu)p_g$2ZM">number</variable>
      <variable id="u?6#BJh2Bp((1W3u)Vnf">bitPosition</variable>
      <variable id="Kl3S0K7)wS:E#~kmp_|">dec</variable> </variables> <block type="comment" id="dl.~:*si1DA:Ep6wYJ[%" x="-863" y="-137"> <field name="COMMENT">Run whenever state is changed</field> <next> <block type="on_ext" id="c;*|gCMP^+7VyIN]qj^">
      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
      <field name="CONDITION">ne</field>
      <field name="ACK_CONDITION"></field>
      <value name="OID0">
      <shadow type="field_oid" id="jk{31$NENu@o]pNzRU">
      <field name="oid">modbus.0.inputRegisters.13000_Running_State</field>
      </shadow>
      </value>
      <statement name="STATEMENT">
      <block type="procedures_callnoreturn" id="~dii,d.PsDx8L!{#5e4G">
      <mutation name="run">
      <arg name="dec"></arg>
      </mutation>
      <value name="ARG0">
      <block type="on_source" id="NE|H~0.b4VGmM[GnS2~?">
      <field name="ATTR">state.val</field>
      </block>
      </value>
      </block>
      </statement>
      <next>
      <block type="comment" id="W}Mu1vp1F6~uBlmI|.C">
      <field name="COMMENT">Run once after script is started</field>
      <next>
      <block type="procedures_callnoreturn" id="/+j6gN2NZ:bV+X~x0ur"> <mutation name="run"> <arg name="dec"></arg> </mutation> <value name="ARG0"> <block type="get_value" id="?)Snd}*[?TT^E)h(x^I#"> <field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.13000_Running_State</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defcustomreturn" id=")7@7$^bI?;9JiXb,CqbC" x="-437" y="-88"> <mutation statements="false"> <arg name="number" varid="Wu=u[10[PLwu)p_g$2ZM"></arg> <arg name="bitPosition" varid="u?6#BJh2Bp((1W3u)Vnf"></arg> </mutation> <field name="NAME">getBit</field> <field name="SCRIPT">ICByZXR1cm4gKG51bWJlciAmICgxIDw8IGJpdFBvc2l0aW9uKSkgPT09IDAgPyAwIDogMTsK</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="lz{Fy{/wE{2-%uVacZd0" x="-437" y="-37"> <mutation statements="false"> <arg name="dec" varid="Kl3S0K7)wS:E#~kmp_|"></arg>
      </mutation>
      <field name="NAME">extractRunningStates</field>
      <field name="SCRIPT">ZnVuY3Rpb24gZGVjVG9CaXQoZGVjLCBiaXRQb3NpdGlvbikgewogICAgcmV0dXJuIChkZWMgJiAoMSA8PCBiaXRQb3NpdGlvbikpID09PSAwID8gZmFsc2UgOiB0cnVlOwp9CgoKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5QVi5Qb3dlckdlbmVyYXRlZEZyb21QViIsIGRlY1RvQml0KGRlYywgMCksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLkJhdHRlcnlDaGFyZ2luZyIsIGRlY1RvQml0KGRlYywgMSksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLkJhdHRlcnlEaXNjaGFyZ2luZyIsIGRlY1RvQml0KGRlYywgMiksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLkxvYWRBY3RpdmUiLCBkZWNUb0JpdChkZWMsIDMpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5QVi5Qb3dlckZlZWRJbnRvR3JpZCIsIGRlY1RvQml0KGRlYywgNCksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlBWLlBvd2VySW1wb3J0RnJvbUdyaWQiLCBkZWNUb0JpdChkZWMsIDUpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5QVi5Qb3dlckdlbmVyYXRlZEZyb21Mb2FkIiwgZGVjVG9CaXQoZGVjLCA3KSwgdHJ1ZSk7Cg==</field>
      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
      </block>
      <block type="procedures_defnoreturn" id="vv(U!g(@pnn)8_.{bCV|" x="-388" y="163">
      <mutation>
      <arg name="dec" varid="Kl3S0K7)wS:E#~kmp_|"></arg> </mutation> <field name="NAME">debug output</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="4Kc|yjIOj/d!+rX^eB8k"> <field name="COMMENT">create some debug messages so we can check state changes in the log after the fact</field> <next> <block type="debug" id="KOrPE~?_|7q-iX+hf9B7"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="qi6ijIzs)8YkGt3mXbyd"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="sQoBJpPXUR}I,yDnYLzU"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="@[Qr;#TN3?QNNtRdBFJb"> <field name="TEXT">Power generation</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="[di$veE=W)etZ1N1csD!"> <mutation name="getBit"> <arg name="number"></arg> <arg name="bitPosition"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="!.K$T:bqj+}ijHEBEu1O"> <field name="VAR" id="Kl3S0K7)wS:E#~kmp_|">dec</field>
      </block>
      </value>
      <value name="ARG1">
      <block type="math_number" id="[?#(KLA~d_4od@i%HKRE">
      <field name="NUM">0</field>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="debug" id=".tDzA6hZ]hWm/Q1Ki+C}">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text">
      <field name="TEXT">test</field>
      </shadow>
      <block type="text_join" id="9_lIMrC@kQZHlIS.BX5"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="+0Y)usl;k0!LReL=@1TA"> <field name="TEXT">Battery charging</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="l-(+Hf/C:1.Pr$1TME!">
      <mutation name="getBit">
      <arg name="number"></arg>
      <arg name="bitPosition"></arg>
      </mutation>
      <value name="ARG0">
      <block type="variables_get" id="]k8{NSg3:qwE6y~~PPUG">
      <field name="VAR" id="Kl3S0K7)wS:E#~kmp_|">dec</field> </block> </value> <value name="ARG1"> <block type="math_number" id="f|p*H^X]~uRfJ4zwy{V]"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="#o:4EZCjL=5M?Gw+0O.i"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="OIyVbASBmVYSEM=oZSMm"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="YkP-(f;KKjkroM[%{a;?"> <field name="TEXT">Battery discharging</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="pGmRj}_+$eQxsP,i1O@L"> <mutation name="getBit"> <arg name="number"></arg> <arg name="bitPosition"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="VZ2rjX0pe@PD-b0EK.@n"> <field name="VAR" id="Kl3S0K7)wS:E#~kmp_|">dec</field>
      </block>
      </value>
      <value name="ARG1">
      <block type="math_number" id="^/WwB;Scl3(cF8[3jylF">
      <field name="NUM">2</field>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="debug" id="2=ESEy@?o=2!#~*4.[p"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="SrIP5yY+X.D22D[VrlP$"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="M5Sk=a6?/W8mc@|rtDHZ"> <field name="TEXT">Positive load</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="UCHG|NH^a829VlS_FOc["> <mutation name="getBit"> <arg name="number"></arg> <arg name="bitPosition"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Mrs-RQx3Z0}OX1FVc!+c"> <field name="VAR" id="Kl3S0K7)wS:E#~kmp_|">dec</field>
      </block>
      </value>
      <value name="ARG1">
      <block type="math_number" id="3oaU:Voj|5J0Fn$KdP=^">
      <field name="NUM">3</field>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="debug" id="8
      ~@Ywry?/piw*O}+,=]">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text">
      <field name="TEXT">test</field>
      </shadow>
      <block type="text_join" id="K,z(Z;tM4v-MVT)=sh"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="QsKlyP=k#wB.!q2W+XJ">
      <field name="TEXT">Power feed into the grid</field>
      </block>
      </value>
      <value name="ADD1">
      <block type="procedures_callcustomreturn" id="aknN
      P^vup+EdTLM6/yn">
      <mutation name="getBit">
      <arg name="number"></arg>
      <arg name="bitPosition"></arg>
      </mutation>
      <value name="ARG0">
      <block type="variables_get" id="0QUz2T3lebdal%Stjha^">
      <field name="VAR" id="Kl3S0K7)wS:E#~kmp_|">dec</field> </block> </value> <value name="ARG1"> <block type="math_number" id="d5~PH;7@M7kTud**ES.">
      <field name="NUM">4</field>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="debug" id="s[=~4,hPHDd0]0YAO8|u">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text">
      <field name="TEXT">test</field>
      </shadow>
      <block type="text_join" id="X9{#rK3QZb$[550!GD$"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="Oe-,=fU/6IGKG3v,/t+0"> <field name="TEXT">Power from the grid</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="EGn+kHA^EQ1XRJhx!Vhb"> <mutation name="getBit"> <arg name="number"></arg> <arg name="bitPosition"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="}2agbC4wrjiK^REZrT={"> <field name="VAR" id="Kl3S0K7)wS:E#~kmp_|">dec</field>
      </block>
      </value>
      <value name="ARG1">
      <block type="math_number" id=":fd,9cSXwq[{cx76A-+}">
      <field name="NUM">5</field>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="debug" id="hOK+$jW(m-QrUr#W|/n@">
      <field name="Severity">log</field>
      <value name="TEXT">
      <shadow type="text">
      <field name="TEXT">test</field>
      </shadow>
      <block type="text_join" id="QJDY}eje)+|3SUH(BZyM">
      <mutation items="2"></mutation>
      <value name="ADD0">
      <block type="text" id="hj9k)mHycGoRx9vHO]Q{">
      <field name="TEXT">Power from load</field>
      </block>
      </value>
      <value name="ADD1">
      <block type="procedures_callcustomreturn" id="Rk4r]0=rc#(qd]Nqjds$">
      <mutation name="getBit">
      <arg name="number"></arg>
      <arg name="bitPosition"></arg>
      </mutation>
      <value name="ARG0">
      <block type="variables_get" id="m,$d6J}Ic:=mV:|i0B58">
      <field name="VAR" id="Kl3S0K7)wS:E#~kmp_|">dec</field> </block> </value> <value name="ARG1"> <block type="math_number" id=":^V4s@UVYMGm/ada=3N">
      <field name="NUM">7</field>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </statement>
      </block>
      <block type="procedures_defnoreturn" id="ILxxz6e}u[fcDIeO6oXT" x="-812" y="212">
      <mutation>
      <arg name="dec" varid="Kl3S0K7)wS:E#~kmp_`|"></arg>
      </mutation>
      <field name="NAME">run</field>
      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
      <statement name="STACK">
      <block type="procedures_callcustomnoreturn" id="j|y@bpDyP5[;xE)~RRQ[">
      <mutation name="extractRunningStates">
      <arg name="dec"></arg>
      </mutation>
      <value name="ARG0">
      <block type="variables_get" id="Q=XjjZ?bay6J1^X4EO)2">
      <field name="VAR" id="Kl3S0K7)wS:E#~kmp_`|">dec</field>
      </block>
      </value>
      <next>
      <block type="procedures_callnoreturn" id="-0-R2zP[?Peo2o)AH{B0">
      <mutation name="debug output">
      <arg name="dec"></arg>
      </mutation>
      <value name="ARG0">
      <block type="variables_get" id=")ehVkoDs8KN([lz_?.j.">
      <field name="VAR" id="Kl3S0K7)wS:E#~kmp_`|">dec</field>
      </block>
      </value>
      </block>
      </next>
      </block>
      </statement>
      </block>
      </xml>

    Hoffe das hilft etwas weiter. Vielen Dank auch nochmal an @Atlantis fürs Zusammentragen der Infos + alle anderen die mitüberlegt und mitrecherchiert haben!

    Daniel

    R Offline
    R Offline
    Red2Devil
    schrieb am zuletzt editiert von Red2Devil
    #275

    Hallo zusammen,
    erst mal
    @Atlantis Danke für die tolle Anleitung und das Zusammentragen der Registereinträge.
    @daniel Ebenfalls danke für weitere gute infos.

    Ich bin seit knapp 2 Wochen Besitzer eines WR SH10RT und schließlich seit 2 Tagen ist auch die Batterie angeschlossen.

    Via IoBroker werden die Daten des WRs per Modbus erfolgreich ausgelesen. Ich hatte die Hoffnung das der Running State die korrekten Werte nach Anschluss der Batterie liefern würde - leider nein!
    Dieser bleibt weiter 0.

    Meine Konfig und Daten:
    Modbus Instanz 1.png
    Modbus Instanz 2.png
    ioBroker Running State 0.png

    QModMaster zeigt ebenfalls 0:
    QModMaster_13000.png

    Laut diesem und dem Photovoltaik Forum ist dies wohl ein Problem an der Firmware des WLAN Dongles, das bei mir ebenfalls im Einsatz ist.

    Firmware-Versionen:
    WR Softwareversionen.png
    WiNet-S Version.png

    Meine Frage ist nun:
    Ist ein Wechsel vom Wifi(LAN) Dongle auf den alternativen LAN Port ohne Probleme möglich? Also bleiben die Einstellungen und die Verbinung zur Cloud ohne Eingriff erhalten?
    Hat jemand danach Probleme mit Verbindungsabbrüchen gehabt? In anderen Foren berichten Leute über Timing-Probleme in Kombi mit der Cloud.

    Außerdem zum Thema Firmware:
    Lohnt sich ein Update und ist es empfehlenswert diese regelmäßig einzuspielen oder sind diese eher mit Vorsicht zu genießen?
    Ich kann schlecht bewerten ob meine Firmware-Versionen vom Dongle und vom WR recht aktuell oder eher veraltet sind.

    Danke und Grüße,
    Marcel


    Ergänzung 31.10.2022

    Ich habe es gewagt den LAN Port anzuschließen - allerdings ohne Erfolg.
    Erwartung war: Cloud + Modbus und Running State funktionieren und liefern Ergebnisse.

    Ist-Zustand:
    LAN via Dongle
    IP im Netzwerk: Ja (IP: 10.55.0.1)
    Cloud: Ja
    Modbus: Ja
    Running State: Nein (= 0)

    Test-Zustand 1:
    LAN an separaten Port + Dongle angeschlossen aber ohne Verbindung
    IP im Netzwerk: Ja (IP: 10.55.0.2)
    Cloud: Nein
    Modbus: Keine Verbindung
    Running State: unbekannt

    Test-Zustand 2:
    LAN an separaten Port + Dongle angeschlossen mit WLAN verbunden
    IP im Netzwerk: (JA) nur Dongle (IP: 10.55.0.3)
    Cloud: Nein
    Modbus: Nein
    Running State: unbekannt

    Test-Zustand 3:
    LAN an separaten Port + Dongle angeschlossen mit LAN verbunden
    IP im Netzwerk: (JA) nur Dongle (IP: 10.55.0.1)
    Cloud: JA
    Modbus: JA (via Dongle)
    Running State: weiterhin 0, da Zugriff via Dongle

    Der separate LAN Port scheint bei mir nur eine IP Adresse im Netz zu bekommen, wenn der Dongle weder LAN noch WLAN Zugriff hat. Die Cloud bekommt dann aber keine Daten mehr. Zugriff via QModMaster auf LAN IP hat aber trotzdem nicht geklappt.

    Hat jemand eine Idee und kann mir helfen, wie ich evt. ohne Dongle am LAN Port Cloud Zugriff + Modbus eingerichtet bekomme und hoffentlich dann auch den Running_State auslesen kann?

    M 1 Antwort Letzte Antwort
    0
    • A Atlantis

      Nachdem ich sonst immer nur mit Fragen komme, möchte ich hiermit mal was zurück geben.

      Habe mit viel Try & Error den SUngrow WR Typ SGH10RT (10Kw Hybrid) mit Modbus eingebunden.

      Wenn ich Zeit habe werde ich ein komplettes How To dazu verfassen, sollte jemand schon vorher Bedarf haben einfach melden.

      Gruss

      Atlantis

      T Offline
      T Offline
      tuning
      schrieb am zuletzt editiert von
      #276

      @atlantis

      Hallo, ich habe den SMA Wechselrichter.
      Der ist von der Hardware Baugleich.

      Das Auslesen diverser Modbus daten funktioniert mit Iobroker
      Jetzt würde ich gerne die Batterie Lade und Entladeleistung begrenzen.
      Die sollte über die Register 44433 CmpBMS.BatChaMaxW und 44437 CmpBMS.BatDschMaxW funktionieren.
      Leider nimmt der Wechselrichter es nicht an wenn ich unter Objekte z.B. 2000W eintrage.
      Hast du ne Idee?

      T G 2 Antworten Letzte Antwort
      0
      • B Offline
        B Offline
        Bricoleur
        schrieb am zuletzt editiert von
        #277

        Hallo liebe Foristen,
        ich stelle mich mal vor als Betreiber eines Sungrow SH6.0RT, der sich von der isolar-cloud emanzipieren möchte und sich gerade mühsam in das Thema "modbus" einarbeitet.
        Bisher ist es mir gelungen, den iobroker auf einem ubuntu-System (Thinkpad) zu installieren und die Eingangsregister des Wechselrichters auszulesen.

        Hierzu gleich meine erste Frage:
        Ich habe beide Schnittstellen des WR (LAN bzw. WiNet-S) ausprobiert. LAN liefert plausible Daten, dis- bzw. reconnected aber im Sekundentakt. Ist das so normal?
        Beim Auslesen mit WiNet-S bleibt die Verbindung permanent, dafür sind die gelieferten Daten unsinnig.

        Im nächsten Schritt möchte ich die Daten (analog der Darstellung in der isolar-cloud) visualisieren.

        Vielleicht möchte mir ja der eine oder andere hier ein Tip geben, damit ich mich nicht zu tief in "trial-and-error" verstricke;).

        Besten Dank schon mal im Voraus!

        O G 2 Antworten Letzte Antwort
        0
        • B Bricoleur

          Hallo liebe Foristen,
          ich stelle mich mal vor als Betreiber eines Sungrow SH6.0RT, der sich von der isolar-cloud emanzipieren möchte und sich gerade mühsam in das Thema "modbus" einarbeitet.
          Bisher ist es mir gelungen, den iobroker auf einem ubuntu-System (Thinkpad) zu installieren und die Eingangsregister des Wechselrichters auszulesen.

          Hierzu gleich meine erste Frage:
          Ich habe beide Schnittstellen des WR (LAN bzw. WiNet-S) ausprobiert. LAN liefert plausible Daten, dis- bzw. reconnected aber im Sekundentakt. Ist das so normal?
          Beim Auslesen mit WiNet-S bleibt die Verbindung permanent, dafür sind die gelieferten Daten unsinnig.

          Im nächsten Schritt möchte ich die Daten (analog der Darstellung in der isolar-cloud) visualisieren.

          Vielleicht möchte mir ja der eine oder andere hier ein Tip geben, damit ich mich nicht zu tief in "trial-and-error" verstricke;).

          Besten Dank schon mal im Voraus!

          O Offline
          O Offline
          ostseeskipper
          schrieb am zuletzt editiert von
          #278

          @bricoleur

          Die Übertragung zur Cloud übers WiNet-S
          Den LAN Anschluss am SH10RT für Modbus. Nicht alle Daten abfragen die gehen sondern nur die die du wirklich brauchst und lass dem WR 5 - 10 sec Pause zwischen den Abfragen.

          Meine Vis über 3 WR sieht so aus
          35c672c1-175c-415c-b33b-d65f75cf7f55-grafik.png

          Die Strings selber so
          fba644e8-ee0c-44d3-8519-323c76981f65-grafik.png

          plus die des Energiemanagments
          a4c1ee52-69d1-4ec4-8e40-0c36f410afc2-grafik.png

          Nur mal so als Anregung. Modbus Adapter, SQL Adapter und widgets von @Scrounger

          1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            Bricoleur
            schrieb am zuletzt editiert von
            #279

            @ostseeskipper
            danke für die Tips!

            Unterbricht denn der Modbusadapter auch bei dir alle paar Sekunden die Verbindung, wenn du den LAN-Port zur Abfrage verwendest?

            Mit dem SQL-Adapter und den Widgets von Scrounger werde ich mich jetzt mal befassen.

            Verwendest du für deine Visualisierung auch den VIS-Adapter?

            O 1 Antwort Letzte Antwort
            0
            • B Bricoleur

              @ostseeskipper
              danke für die Tips!

              Unterbricht denn der Modbusadapter auch bei dir alle paar Sekunden die Verbindung, wenn du den LAN-Port zur Abfrage verwendest?

              Mit dem SQL-Adapter und den Widgets von Scrounger werde ich mich jetzt mal befassen.

              Verwendest du für deine Visualisierung auch den VIS-Adapter?

              O Offline
              O Offline
              ostseeskipper
              schrieb am zuletzt editiert von
              #280

              @bricoleur
              Habe keine Modbus Unterbrechungm nicht im SH10(LAN Port) und auch nicht im SG10.
              Nur der kleine SG3 mit einen EthernetStick steigt genau alle 5 Minuten aus wenn er versucht nach Hause zu funken.
              SQL nehm ich für die Datenspeicherung. da gibts aber auch noch anderes.
              Ja die Visualisierung ist mit VIS.

              JollyJ 1 Antwort Letzte Antwort
              0
              • O ostseeskipper

                @bricoleur
                Habe keine Modbus Unterbrechungm nicht im SH10(LAN Port) und auch nicht im SG10.
                Nur der kleine SG3 mit einen EthernetStick steigt genau alle 5 Minuten aus wenn er versucht nach Hause zu funken.
                SQL nehm ich für die Datenspeicherung. da gibts aber auch noch anderes.
                Ja die Visualisierung ist mit VIS.

                JollyJ Offline
                JollyJ Offline
                Jolly
                schrieb am zuletzt editiert von Jolly
                #281

                Servus Zusammen,

                ich habe einen SH10RT schon länger erfolgreich über Modubus eingebunden.
                Jetzt wollte ich einen SG10RT über den WiNet-S Stick ebenfalls einbinden.
                Hab alles gleich gemacht, nur natürlich mit einer anderen IP und Modubus ID.
                Verbindung wird im IO-Broker als "true" angezeigt. Aber leider sind alle Werte "0".
                Kann man für den SG10RT die gleichen Eingangsregister verwenden wie für den SH10RT ?

                Danke schon mal im Vorraus :)

                O 1 Antwort Letzte Antwort
                0
                • JollyJ Jolly

                  Servus Zusammen,

                  ich habe einen SH10RT schon länger erfolgreich über Modubus eingebunden.
                  Jetzt wollte ich einen SG10RT über den WiNet-S Stick ebenfalls einbinden.
                  Hab alles gleich gemacht, nur natürlich mit einer anderen IP und Modubus ID.
                  Verbindung wird im IO-Broker als "true" angezeigt. Aber leider sind alle Werte "0".
                  Kann man für den SG10RT die gleichen Eingangsregister verwenden wie für den SH10RT ?

                  Danke schon mal im Vorraus :)

                  O Offline
                  O Offline
                  ostseeskipper
                  schrieb am zuletzt editiert von
                  #282

                  @jolly
                  Der SG10RT hat andere Register.
                  Hier z.B. meine Leseregister, schreibend macht da ja kein Sinn

                  _address	name	description	unit	type	len	factor	offset	formula	role	room	cw	isScale
                  5002	Daily_Output_Energy	Eigene Energienutzung heute (PV & Akku)	Kwh	uint16be	1	0.1	0		value		false	false
                  5003	Total_Output_Energy	Eigene Energienutzung gesamt (PV & Akku)	Kwh	uint32sw	2	1	0		value		false	false
                  5005	Total_running_time	Betriebstunden	h	uint16be	1	1	0		value		false	false
                  5007	Inside_Temperature	Innenlufttemperatur	°C	int16be	1	0.1	0		value		false	false
                  5010	MPPT_1_Voltage	MPPT1 Spannung	V	uint16be	1	0.1	0		value		false	false
                  5011	MPPT_1_Current	MPPT1 Strom	A	uint16be	1	0.1	0		value		false	false
                  5012	MPPT_2_Voltage	MPPT 2 Spannung	V	uint16be	1	0.1	0		value		false	false
                  5013	MPPT_2_Current	MPPT 2 Strom	A	uint16be	1	0.1	0		value		false	false
                  5016	Total_DC_Power	PV-Leistung aktuell	W	uint32sw	2	1	0		value		false	false
                  5030	Total_active_power	Total active power	W	uint32sw	2	1	0		value		false	false
                  

                  Als TSV Daten einfügen, dann sollte es so aussehen.
                  701c6ffd-0abe-4c6e-b4c4-5b8feb8276b7-grafik.png

                  JollyJ 1 Antwort Letzte Antwort
                  0
                  • O ostseeskipper

                    @jolly
                    Der SG10RT hat andere Register.
                    Hier z.B. meine Leseregister, schreibend macht da ja kein Sinn

                    _address	name	description	unit	type	len	factor	offset	formula	role	room	cw	isScale
                    5002	Daily_Output_Energy	Eigene Energienutzung heute (PV & Akku)	Kwh	uint16be	1	0.1	0		value		false	false
                    5003	Total_Output_Energy	Eigene Energienutzung gesamt (PV & Akku)	Kwh	uint32sw	2	1	0		value		false	false
                    5005	Total_running_time	Betriebstunden	h	uint16be	1	1	0		value		false	false
                    5007	Inside_Temperature	Innenlufttemperatur	°C	int16be	1	0.1	0		value		false	false
                    5010	MPPT_1_Voltage	MPPT1 Spannung	V	uint16be	1	0.1	0		value		false	false
                    5011	MPPT_1_Current	MPPT1 Strom	A	uint16be	1	0.1	0		value		false	false
                    5012	MPPT_2_Voltage	MPPT 2 Spannung	V	uint16be	1	0.1	0		value		false	false
                    5013	MPPT_2_Current	MPPT 2 Strom	A	uint16be	1	0.1	0		value		false	false
                    5016	Total_DC_Power	PV-Leistung aktuell	W	uint32sw	2	1	0		value		false	false
                    5030	Total_active_power	Total active power	W	uint32sw	2	1	0		value		false	false
                    

                    Als TSV Daten einfügen, dann sollte es so aussehen.
                    701c6ffd-0abe-4c6e-b4c4-5b8feb8276b7-grafik.png

                    JollyJ Offline
                    JollyJ Offline
                    Jolly
                    schrieb am zuletzt editiert von
                    #283

                    @ostseeskipper

                    Danke für die Antwort. Leider war das nicht das Problem. Bekomme weiterhin keine Werte.

                    Es werde auch keine Adressen für die einzelnen Register angelegt sondern nur NaN.
                    Hat jemand eine Idee was ich hier falsch mache ?
                    Screenshot 2022-11-15 084513.png

                    O 1 Antwort Letzte Antwort
                    0
                    • JollyJ Jolly

                      @ostseeskipper

                      Danke für die Antwort. Leider war das nicht das Problem. Bekomme weiterhin keine Werte.

                      Es werde auch keine Adressen für die einzelnen Register angelegt sondern nur NaN.
                      Hat jemand eine Idee was ich hier falsch mache ?
                      Screenshot 2022-11-15 084513.png

                      O Offline
                      O Offline
                      ostseeskipper
                      schrieb am zuletzt editiert von
                      #284

                      @jolly
                      Wie sehen denn deine Grundeinstellungen aus?
                      02c07559-debd-4681-8cdc-bbefd49eec8d-grafik.png
                      So hab ich keine Probleme.

                      Was sagt das Log im Debug Modus?

                      JollyJ 1 Antwort Letzte Antwort
                      0
                      • O ostseeskipper

                        @jolly
                        Wie sehen denn deine Grundeinstellungen aus?
                        02c07559-debd-4681-8cdc-bbefd49eec8d-grafik.png
                        So hab ich keine Probleme.

                        Was sagt das Log im Debug Modus?

                        JollyJ Offline
                        JollyJ Offline
                        Jolly
                        schrieb am zuletzt editiert von
                        #285

                        @ostseeskipper
                        Habe den "Fehler" gefunden :)
                        Ich bin davon ausgegangen wenn ich 2 Wechselrichter am Modbus habe muss ich auch 2 verschiedene Geräte ID´s vergeben. Deshalb hab ich dem Hybridwechselrichter die ID: 1 gegeben und dem 2. Wechselrichter die ID:2.
                        Jetzt habe ich dem 2. Wechselrichter auch die ID: 1 gegeben nun klappt es komischerweise.

                        O 1 Antwort Letzte Antwort
                        0
                        • JollyJ Jolly

                          @ostseeskipper
                          Habe den "Fehler" gefunden :)
                          Ich bin davon ausgegangen wenn ich 2 Wechselrichter am Modbus habe muss ich auch 2 verschiedene Geräte ID´s vergeben. Deshalb hab ich dem Hybridwechselrichter die ID: 1 gegeben und dem 2. Wechselrichter die ID:2.
                          Jetzt habe ich dem 2. Wechselrichter auch die ID: 1 gegeben nun klappt es komischerweise.

                          O Offline
                          O Offline
                          ostseeskipper
                          schrieb am zuletzt editiert von
                          #286

                          @jolly
                          Richtig. Jeder hat seine eigene ID.
                          Mehrere ID's gibts nur per RTU in einer DaisyChain.
                          Wohl aber musst die auch bei TCP die richtige ID einstellen. Die Sungrows haben meisst die 1.

                          1 Antwort Letzte Antwort
                          0
                          • T tuning

                            @atlantis

                            Hallo, ich habe den SMA Wechselrichter.
                            Der ist von der Hardware Baugleich.

                            Das Auslesen diverser Modbus daten funktioniert mit Iobroker
                            Jetzt würde ich gerne die Batterie Lade und Entladeleistung begrenzen.
                            Die sollte über die Register 44433 CmpBMS.BatChaMaxW und 44437 CmpBMS.BatDschMaxW funktionieren.
                            Leider nimmt der Wechselrichter es nicht an wenn ich unter Objekte z.B. 2000W eintrage.
                            Hast du ne Idee?

                            T Offline
                            T Offline
                            TimoS.
                            schrieb am zuletzt editiert von
                            #287

                            @tuning Sicher, dass du die richtige Adresse hast? Ich habe hier eine Beschreibung der Modbus-Schnittstelle und dort ist die Adresse:
                            40799 Maximale Batterieentladeleistung, in W

                            https://forum.iobroker.net/assets/uploads/files/721_sma_modbus-tb-de-13.pdf

                            1 Antwort Letzte Antwort
                            0
                            • R Offline
                              R Offline
                              roughestboy
                              schrieb am zuletzt editiert von
                              #288

                              Weiß jemand, ob auch der Sungrow SG 6.0 RT (nicht SGH) mit modbus eingebunden werden kann ? Die SGH-Typen scheint es ja nicht mehr zu geben, finde ich auf der Website der Firma nicht mehr.

                              O 1 Antwort Letzte Antwort
                              0
                              • R roughestboy

                                Weiß jemand, ob auch der Sungrow SG 6.0 RT (nicht SGH) mit modbus eingebunden werden kann ? Die SGH-Typen scheint es ja nicht mehr zu geben, finde ich auf der Website der Firma nicht mehr.

                                O Offline
                                O Offline
                                ostseeskipper
                                schrieb am zuletzt editiert von
                                #289

                                @roughestboy
                                einfach etwas weiter oben lesen:innocent:

                                B 1 Antwort Letzte Antwort
                                0
                                • O ostseeskipper

                                  @roughestboy
                                  einfach etwas weiter oben lesen:innocent:

                                  B Offline
                                  B Offline
                                  Bricoleur
                                  schrieb am zuletzt editiert von
                                  #290

                                  Weiß jemand, ob es im Holding-Register der SHxxRT Adressen gibt, mit denen man die (statische und/oder) dynamische Wirkleistungsbegrenzung auslesen und den Wert ggf. überschreiben kann? Ich finde da bisher nur eine Adresse, die anzeigt, ob eine Wirkleistungsbegrenzung überhaupt aktiviert ist.

                                  1 Antwort Letzte Antwort
                                  0
                                  • Q quorle

                                    @ostseeskipper

                                    Ich denke du hast einen Fehler in der Registeradresse.
                                    Wenn ich der Anleitung zum Beispiel 13030 steht, musst du -1 machen. Das entspricht dann 13029.

                                    Hab leider nur gerade einen Handyscreenshot. Aber einsieht es bei mir aus:

                                    9A7BDF90-84AD-49BC-AD72-F15B951B723F.png

                                    J Offline
                                    J Offline
                                    Joachimm
                                    schrieb am zuletzt editiert von
                                    #291

                                    stimmt genau

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      MRaioBroker
                                      schrieb am zuletzt editiert von
                                      #292

                                      Hi zusammen,

                                      mein SH10RT wird gerade montiert, bin schon gespannt auf die Einbindung, vielen Dank an alle die hier Input geliefert haben!

                                      Geil wäre es natürlich, wenn man das Ganze in einen eigenen Sungrow Modbus Adapter gießen könnte, wie das beim Schwoerer Ventcube Adapter getan wurde. Modbus Basis, IP Adresse rein, ggf. Modell auswählen und der Rest geschieht im backround. So klappt das bei meiner SchwörerHaus Heizung, alle
                                      Datenpunkte werden automatisch erstellt und gezogen.

                                      Macht auch Aktualisierungen leichter.
                                      Leider reicht mein Fachwissen nicht aus, um das bei Github anzufragen, evtl. sind ja hier Spezialisten zu finden, die Interesse an einem solchen Projekt hätten. Für mich sicher zu spät, aber evtl. für künftige Neulinge spannend.

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • M MRaioBroker

                                        Hi zusammen,

                                        mein SH10RT wird gerade montiert, bin schon gespannt auf die Einbindung, vielen Dank an alle die hier Input geliefert haben!

                                        Geil wäre es natürlich, wenn man das Ganze in einen eigenen Sungrow Modbus Adapter gießen könnte, wie das beim Schwoerer Ventcube Adapter getan wurde. Modbus Basis, IP Adresse rein, ggf. Modell auswählen und der Rest geschieht im backround. So klappt das bei meiner SchwörerHaus Heizung, alle
                                        Datenpunkte werden automatisch erstellt und gezogen.

                                        Macht auch Aktualisierungen leichter.
                                        Leider reicht mein Fachwissen nicht aus, um das bei Github anzufragen, evtl. sind ja hier Spezialisten zu finden, die Interesse an einem solchen Projekt hätten. Für mich sicher zu spät, aber evtl. für künftige Neulinge spannend.

                                        T Offline
                                        T Offline
                                        toki1973
                                        schrieb am zuletzt editiert von
                                        #293

                                        @mraiobroker Hat die Einbindung in iobroker bei dir geklappt? Benötigt man das Techniker PW? In KW3/23 bekomme ich meine Anlage wollte schonmal etwas vorbereitet sein

                                        NUC, PROXMOX, Grafana, Influx, Unify

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          maniac
                                          schrieb am zuletzt editiert von maniac
                                          #294

                                          Moin zusammen und frohes neues Jahr.

                                          In der letzten Woche wurde nun meine Anlage mit 2 WR SH6RT und SH8RT angeschlossen.
                                          Die Modbus Anbindung hat dank Euch sofort geklappt.
                                          Ich habe aber noch ein paar Fragen zu den Registern.
                                          Die brennenste Frage lautet,welches Register zeigt mir den aktuellen Stromverbrauch im Haus komplett an?
                                          NAch dem was ich so lese, soll es ja "modbus.0.inputRegisters.13007_Load_Power" sein? Dort werden mir auch hablwegs vernünftige Werte angezeigt, andererseits können die Werte aber nicht so wirklich stimmen. Manchmal zeigt mir das Register einen sehr geringen Verbrauch von nur 200-300W an, was ich mir allerdings nicht vorstellen kann.

                                          Ich habe schon länger einen Shelly 3EM im Einsatz zur Verbrauchsmessung. Dieser zeigt mir immer mehr an, als das Register 13007.
                                          Jetzt gerade ca 300W mehr
                                          b96daa55-4473-4d7c-8910-628445005e78-grafik.png
                                          Die Differenz schwankt aber meist auch relativ stark zwischen 150-600.
                                          Ist der Shelly so ungenau?

                                          Hier läuft jetzt der Trockner mit. Dieser wird anscheinend nicht vom Smartmeter erfasst?
                                          1a54f6ef-c9e3-4ccd-be8b-acdc57ab1cfb-grafik.png

                                          Welcher Wert ist denn nun richtig? Habe ich mit 13007 das richtige Register als Verbrauch?

                                          Gruß Frank…

                                          S M 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          353

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe