NEWS
SMA Wechselrichter
-
@falks said in SMA Wechselrichter:
Hat schon irgend jemand ein Lösung dafür gefunden?
Das scheint ein recht vielschichtiges Thema zu sein - im photovoltaik forum gibt es dazu diverse threads,
z.B. https://www.photovoltaikforum.com/thread/143176-welches-modbus-register-zeigt-pv-begrenzung/
Googlen nach "SMA abregelung modbus pv anlage" liefert noch einiges mehr zu dem Thema. -
@pdbjjens Beim Register 41255 erhalte mit meinem STP den Wert -32768. Da laut Doku die Einheit % ist, erwarte ich entsprechend einen Wert von 0-100.
Der STP hat kein WebUI und auch beim SB konnte ich keinen Eintrag in der Weboberfläche zur Wirkleistungsbegrenzung finden. -
Wenn ich das richtig gesehen habe, unterstützt der STP xxx tl-30 das Register 41255 gar nicht. Jedenfalls steht es im Modbus Profil, das mir vorliegt, nicht drin.
Das scheint ein stark vernachlässigtes Thema bei den STP's zu sein. Mein 8000TL-20 meldet in den interessanten Registern auch nicht das, was im Modbus Profil steht.
Schade eigentlich.
-
@bigtom91
Ich besitze einen SB3.6-1AV-41 mit firmware 3.0.7.R. Ich habe mal probehalber im Modbus Adapter das Register 41255 eingerichtet.
Mit den folgenden Holding Register Einstellungen erhalte ich einen Wert von 100% . Scheint mir erstmal plausibel.Typ Signed 16 Bit (Big Endian) Länge 1 Faktor 0.01 Offset 0
Im WebUI finde ich einen entsprechenden Wert unter
Geräteparameter--Anlagen- und Gerätesteuerung--Netzanschlusspunkt--Eingestellte Wirkleistungsgrenze ==> 100%
Ich bin allerdings nicht sicher, ob das (immer) identisch mit dem Wert im Register 41255 ist.Laut SMA Doku https://files.sma.de/downloads/MODBUS-HTML_STPTL-30_31005R_V10.zip
müsste Dein STP 20000TL-30 zumindest ab der Firmware 3.10.5.R das Register 41255 unterstützen (mit den selben Modbus Parametern wie der SB).
Allerdings -- wie schon in meinem vorigen Post erwähnt, ist es laut der Diskussion im Photovoltaik-Forum
https://www.photovoltaikforum.com/thread/143176-welches-modbus-register-zeigt-pv-begrenzung/
ziemlich unklar ob und unter welchen Bedingungen das Register sinnvolle Werte liefert. -
Ich habe mal eine Anfrage bei SMA gestartet. Mal sehen, was die mir erzählen...
-
Da ich jetzt auch solaren Strom erzeuge, wollte ich auch die Werte aus meinem Sunny Tripower 8.0 auslesen und weiterverwursten. Modbus ist aber abgeklemmt, daher hab ich nach Alternativen gesucht und eine gefunden. Ich konnte in dem Thread hier nichts zu der lokalen REST-API finden, falls ich das nur übersehen hab, ignoriert meinen Post bitte. Ich konnte auch nirgends was offizielles zu der API finden, war also ein wenig Trial'n'Error.
Bisher hab ich den Aufruf nur als Javascript implementiert, vielleicht will ja jemand einen Adapter basteln. Hier grob der Ablauf:
Über https://[ip vom sma]/dyn/login.json kann man sich per POST mit dem JSON { "pass": "[Passwort]", "right": "usr" } eine SID geben lassen.
Damit kann man dann über https://[ip vom sma]/dyn/getValues.json?sid=[erhaltene SID] bestimmte Schlüssel abfragen. Diese muss man per POST als JSON übergeben. Bei meinem Wechselrichter sieht das JSON dann so aus: { "destDev": [], "keys": ["6400_00260100", "6400_00262200", "6100_40263F00"] }
Als Antwort erhält man die Schlüssel mit ihren Werten zurück.
6400_00260100 = Ertrag gesamt in W
6400_00262200 = Ertrag heute in W
6100_40263F00 = aktuelle LeistungEs gibt noch mehr Schlüssel (-> Google), aber die drei schienen mir erstmal die wichtigsten.
Wichtig ist, dass man sich auch irgendwann wieder ausloggt mit der SID, denn bei zu vielen User-Sessions lässt das Gerät keinen neuen mehr rein (auch nicht über die grafische Oberfläche) und löscht offene Sessions gefühlt erst nach 12 Stunden. Auch schnell aufeinander folgende Logins scheint er nicht zu mögen, da blockt er gerne mal den Client für eine Minute komplett.
Ausloggen geht über einen POST mit leerem Inhalt an https://[ip vom sma]/dyn/logout.json.json?sid=[erhaltene SID]Das ganze läuft bei mir bisher relativ problemlos und liefert zuverlässig die aktuellen Werte.
-
Habe seit kurzem plötzlich folgenden Fehler.. kann mir jemand helfen?
-
@p3pp0
Hast du den Adapter Mal neu gestartet, bzw die Instanz gelöscht und neu angelegt?Vorher aber die Werte sichern bzw. Aufschreiben
-
@p3pp0
Ich bitte um Info, welche Version des sma-em, iobroker-host, nodejs und FW-Version des Sunny Home Managers Du verwendest.Diese Fehler sollten mit der Version 0.6.4 des sma-em Adapters nicht mehr auftreten; falls Du diese Version noch nicht installiert hast, mache bitte ein Update. Sollten auch damit weiterhin Warnungen auftreten, so hilft das Löschen des gesamten Objektbaums von sma-em.0 (Adapter stoppen, im Tab Objekte sma-em.0 auf Papierkorb klicken, bestätigen dass ganzer Baum gelöscht werden soll, Adapter neu starten. Vorher evtl. Verknüpfungen z.B. mit dem history-Adapter merken und ggf. wieder neu einrichten. )
-
@maeuseking sagte in SMA Wechselrichter:
Moin!
Krankheitsbedingt war ich leider schon sehr lange nicht mehr in dem Forum, deswegen erst jetzt:
So 100% zufrieden bin ich damit noch nicht, da zum Beispiel der Speicher bei 100% oder eben im leeren Zustand nicht grau wird...
Anbei alles in einer ZIP
SMA Bilder.zipViele Grüße, Klaus
Wie von @Bastel per PN gewünscht anbei auch noch die einzelnen Scripte für:
- PV-Leistung:
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on" id="r^o?49XLyi.+W{wlO4yR" x="188" y="-188"> <field name="OID">modbus.1.inputRegisters.30775_AC_PV Leistung</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="eArDoqaTpA`jO8nww%@0"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="/`LI8b;?i8C|/hv1Ul9e"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="%?(b})nXmQ?~[Ra![g9G"> <field name="ATTR">val</field> <field name="OID">modbus.1.inputRegisters.30775_AC_PV Leistung</field> </block> </value> <value name="B"> <block type="math_number" id=";Ff!Z:[o`iyI[|;%jF:O"> <field name="NUM">20000</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="EETyox0rg_wW|?F@?8mE"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.PV-Leistung-Skript</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=";Na;zOzP75DG7l/S3^XV"> <field name="TEXT">0</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="^;^1pk2~gFENz8U%62*M"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.PV-Leistung-Skript</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="m!xeY#u+L4jz:tNC;B4!"> <field name="ATTR">val</field> <field name="OID">modbus.1.inputRegisters.30775_AC_PV Leistung</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
- Gesamtverbrauch
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="p;1`E=p/-TOrlb[c)O/Y" x="-37" y="-663"> <field name="COMMENT">Berechnung Gesamtverbrauch aktuell</field> <next> <block type="on_ext" id="UHw2mJ.ARy/w=@}.T-b,"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="#4;_~vI2$D=ItI;(Ps]b"> <field name="oid">sma-em.0.3002136462.pregard</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="a|nJw5I-b.4Uh00VX]$`"> <field name="oid">sma-em.0.3002136462.psurplus</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="R?kY3A?dHJ?x_X_=`e?V"> <field name="oid">modbus.1.inputRegisters.30775_AC_PV Leistung</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="qA3N.5uI^^|)qnRkKWLW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.Gesamtverbrauch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="}}K?hwu.i$l7}qDmXU_!"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="PXVFaEH.W%=?o*~u%{T;"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="a9[j=qdFLSc2*wyOCs.5"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="pw#FHl!edu-?j4Q:_kVp"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="mYY^Ybc1ti~rdR^*NjhX"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="GzEKyyRZeWkBsDaP8[aF"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="bT^OH[TvWQrpR+PbdxEz"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="`g{HJFF~K_H8xL!Z_k9r"> <field name="NUM">1</field> </shadow> <block type="get_value" id="hM.dE)RL;x^buJec}v;3"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.PV-Leistung-Skript</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Ek5/h)71i~SD2mMUOHc~"> <field name="NUM">1</field> </shadow> <block type="get_value" id="7]v*y~++Ahb+wXh65ixR"> <field name="ATTR">val</field> <field name="OID">sma-em.0.3002136462.pregard</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="ZOTY]pXlDH4h/fR92l-S"> <field name="NUM">1</field> </shadow> <block type="get_value" id="zzhVUW+W,2emiW3tj!NH"> <field name="ATTR">val</field> <field name="OID">sma-em.0.3002136462.psurplus</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="U/+tq-f(ZzDzdpDu7VF^"> <field name="NUM">1</field> </shadow> <block type="get_value" id="]5FxhZ#CuZ;^G#wFxggP"> <field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.31393_Momentane_Batterialadung</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="PbLZpMPj1F:tK^)|]Q4G"> <field name="NUM">1</field> </shadow> <block type="get_value" id="it6V?X@d=I/u.9ZNjm8e"> <field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.31395_Momentane_Batterieentladung</field> </block> </value> </block> </value> </block> </statement> <next> <block type="comment" id="P.XDHJ,p1HEr_Pk3f4M?"> <field name="COMMENT">Berechnung Gesamtverbrauch Skript</field> <next> <block type="on_ext" id=")R3$jqhdaYoGsx%:yJ;*"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="k;$dun+IQ=uITvABYee^"> <field name="oid">sma-em.0.3002136462.pregardcounter</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="NA|^_,]FMZL3M?qRU/jW"> <field name="oid">sma-em.0.3002136462.psurpluscounter</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="OR*b)vwFQ+T`@/@{_@8E"> <field name="oid">modbus.1.inputRegisters.30775_AC_PV Leistung</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="x.9dv{FW`m:{srtDeI*U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.Gesamtverbrauch_Skript</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="t0f?Kex)dBO]HN0qRf8#"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="xrg%wF6kCSBKp)8|awT2"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="b0]1VwW++O2yZ+hDy@`r"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=";eer`zoQEi0P|PmsI=v:"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="oVHJ{Ky_[h(k.!B.Sx0J"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.PV-Ertrag_Heute</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Un2M+?`B%reix=gHB-]O"> <field name="ATTR">val</field> <field name="OID">sma-em.0.3002136462.pregardcounter</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="`g9[aIr}3Hu(Er[BGw1h"> <field name="ATTR">val</field> <field name="OID">sma-em.0.3002136462.psurpluscounter</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="G%;pyUr.wx.xvj]3n)Z|"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.Batterieladung_Heute</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="wlXQoN_oti]5=#0UwQ-]"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.Photovoltaik.Batterieentladung_Heute</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
Ich hoffe, dass dir das weiterhilft @Bastel
-
Hallo @peoples
hast Du eine Idee woher dieses "gezappel" kommt?
-
@bastel
Falls du die Zahl meinst, das kommt von dem berechnen / runden. -
@peoples Ich meine eigentlich den oberen Farbrand. Aber ich bin dem gerade auf der Spur. Das muss irgend ein Rundungsfehler sein. Danke.
-
@bastel
Ja das hat wahrscheinlich wirklich was mit dem runden zu tun. Vielleicht sollte man die Berechnung in einem Script machen und nicht in einem Binding. Werde mir das nochmal anschauen -
Hi, ich habe folgendes Problem mit Modbus und meinem Sma Island 3.0m. Denn wenn ich den Batterie lade Status abfragen will mit dem Register 30955 dann bekomme ich immer 65535 und nicht einen Status wert.
Ich hoffe mir kann jemand helfen.Lg
-
@günnibusch Poste doch mal deine Einstellungen für das Register.
Sofern du Unsigned 32 Bit eingestellt hast, sollte 2292, 2293 oder 16777213 als Wert kommen. -
@bigtom91 Hier sind mal Bildschirmfoto:
-
@günnibusch Hast du noch ein Bild von den Einstellungen der Register in der Instanz?
-
-
@günnibusch Wo hast du die Modbus-Beschreibung für den SI3.0 her?
Bei SMA finde ich aktuell nur die Information für den SI4.4.