Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Solaredge Adapter (Photovoltaikanlage)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Solaredge Adapter (Photovoltaikanlage)

    This topic has been deleted. Only users with topic management privileges can see it.
    • ChrisPrefect
      ChrisPrefect @osu last edited by

      @osu

      Hier mal mein aktueller Stand mit Solaredge SE10K und Solaredge Stromsensor und BYD LVS 24.0:

      deviceId	address	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	isScale
      1	40045	C_Version	Spezifischer SolarEdge Wert		string	8	1	0		value		true	false	false	
      1	40069	C_Geräteadresse	Modbus-ID der entsprechenden Einheit		uint16be	1	1	0		value		true	false	false	
      1	40072	I_AC_Strom	AC-Gesamtstromwert	A	uint16be	1	1	0		value		true	false	false	
      1	40073	I_AC_StromA	AC-Phase A (L1) Stromwert	A	uint16be	1	1	0		value		true	false	false	
      1	40074	I_AC_StromB	AC-Phase B (L2) Stromwert	A	uint16be	1	1	0		value		true	false	false	
      1	40075	I_AC_StromC	AC-Phase C (L3) Stromwert	A	uint16be	1	1	0		value		true	false	false	
      1	40076	I_AC_Strom_SF	AC-Strom Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40080	I_AC_SpannungAN	AC-Spannung Phase A-N (L1-N) Wert	V	uint16be	1	1	0		value		true	false	false	
      1	40081	I_AC_SpannungBN	AC-Spannung Phase B-N (L2-N) Wert	V	uint16be	1	1	0		value		true	false	false	
      1	40082	I_AC_SpannungCN	AC-Spannung Phase C-N (L3-N) Wert	V	uint16be	1	1	0		value		true	false	false	
      1	40083	I_AC_Spannung_SF	AC-Spannung Skalierungsfaktor	V	int16be	1	1	0		value		true	false	false	
      1	40084	I_AC_Leistung	AC-Leistungswert	W	uint16be	1	1	0		value		true	false	false	
      1	40085	I_AC_Leistung_SF	AC-Leistung Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40086	I_AC_Frequenz	Frequenzwert	Hz	uint16be	1	1	0		value		true	false	false	
      1	40087	I_AC_Frequenz_SF	Frequenz Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40088	I_AC_VA	Scheinleistung	VA	uint16be	1	1	0		value		true	false	false	
      1	40089	I_AC_VA_SF	Scheinleistung Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40090	I_AC_VAR	Blindleistung	VAR	uint16be	1	1	0		value		true	false	false	
      1	40091	I_AC_VAR_SF	Blindleistung Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40092	I_AC_PF	Leistungsfaktor	%	uint16be	1	1	0		value		true	false	false	
      1	40093	I_AC_PF_SF	Leistungsfaktor Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40094	I_AC_Energie_WH	AC Gesamt-Energieproduktion	Wh	uint32be	2	1	0		value		true	false	false	
      1	40096	I_AC_Energie_WH_SF	AC Gesamtenergie Skalierungsfaktor		uint16be	1	1	0		value		true	false	false	
      1	40097	I_DC_Strom	DC-Stromwert	A	uint16be	1	1	0		value		true	false	false	
      1	40098	I_DC_Strom_SF	DC-Strom Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40099	I_DC_Spannung	DC-Spannungswert	V	uint16be	1	1	0		value		true	false	false	
      1	40100	I_DC_Spannung_SF	DC-Spannung Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40101	I_DC_Leistung	DC-Leistungswert	W	uint16be	1	1	0		value		true	false	false	
      1	40102	I_DC_Leistung_SF	DC-Leistung Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40104	I_Temp_Kühler	Kühlkörpertemperatur	°C	uint16be	1	1	0		value		true	false	false	
      1	40107	I_Temp_SF	Kühlkörpertemperatur Skalierungsfaktor		int16be	1	1	0		value		true	false	false	
      1	40108	I_Status	Betriebszustand (1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup)		uint16be	1	1	0		value		true	false	false	
      1	40109	I_Status_Anbieter	Anbieter-spezifischer Betriebszustand sowie Fehlercodes: 1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup		uint16be	1	1	0		value		true	false	false	
      1	40207	M_AC_Power	Total Real Power (sum of active phases)	W	int16be	1	1	0		value		true	false	false	
      1	40211	M_AC_Power_SF	AC Real Power Scale Factor		uint16be	1	1	0		value		true	false	false	
      1	40227	M_Exported	Total Exported Real Energy	Wh	uint32be	2	1	0		value		true	false	false	
      1	40243	M_Energy_W_SF	Real Energy Scale Factor		uint16be	1	1	0		value		true	false	false	
      1	40235	M_Imported	Total Imported Real Energy	Wh	uint32be	2	1	0		value		true	false	false	
      1	102837	Speicher_Ladung	Speicher Ladeleistung	W	floatsw	2	1	0		value		true	false	false	
      1	102853	Speicher_SoC	Speicher SoC	%	floatsw	2	1	0		value		false	false	false	
      1	102855	Speicher_Betriebszustand	Speicher Betriebszustand (1: Aus 3: Laden 4: Entladen 6: Erhaltungsladen)		uint16be	1	1	0		value		false	false	false	
      
      

      6e416bea-e929-4bf3-94e9-87745a8eaa62-image.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="nNqB1b6bK3yOaF{%=r67">Tagesleistung</variable>
          <variable type="timeout" id="timeout3">timeout3</variable>
          <variable type="timeout" id="timeout">timeout</variable>
          <variable type="timeout" id="timeout2">timeout2</variable>
          <variable type="timeout" id="timeout4">timeout4</variable>
          <variable id="WorYn/,IEi?5LB02:/u(">Tagesexport</variable>
        </variables>
        <block type="on" id="h0R1-xJM4c@2!dlRFUVh" x="-862" y="-412">
          <field name="OID">javascript.0.Solaranlage_Leistung.Netzzuleitung</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="control" id="CUJCPT^XfqY.?x%vz#qx">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.Solaranlage_Leistung.Hausverbrauch</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="math_arithmetic" id="?gqf6yiK6:w_-gnl?vK=" inline="false">
                  <field name="OP">ADD</field>
                  <value name="A">
                    <shadow type="math_number" id="0!R/%4MiEj7z}^1W@T4{">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="math_arithmetic" id="bEgyBi7j5G4UcmQI$E!R">
                      <field name="OP">MINUS</field>
                      <value name="A">
                        <shadow type="math_number" id="~h-J~R5+.T(dK^u3L2o6">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="get_value" id="#,l0L@@(6QPtobIL.,)D">
                          <field name="ATTR">val</field>
                          <field name="OID">javascript.0.Solaranlage_Leistung.Solaranlage_Leistung_AC</field>
                        </block>
                      </value>
                      <value name="B">
                        <shadow type="math_number" id="(N)k{jXTtf66OjKCXz81">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="on_source" id="jjI].bSj3-w`-/G?Ikmj">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number" id="LH#AE/5^Llm38`I6Dmb_">
                      <field name="NUM">0</field>
                    </shadow>
                    <block type="math_arithmetic" id="cs.Gq5YgzU|cgSli|Bz7">
                      <field name="OP">MINUS</field>
                      <value name="A">
                        <shadow type="math_number" id="lS%;T8L,efb.)D[,Fc);">
                          <field name="NUM">0</field>
                        </shadow>
                      </value>
                      <value name="B">
                        <shadow type="math_number" id="hnJsBCn,uUygiB:h4^Yr">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="get_value" id="7mrKPWc:)+o*z6?K6Jt!">
                          <field name="ATTR">val</field>
                          <field name="OID">modbus.0.holdingRegisters.102837_Speicher_Ladung</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
        <block type="on" id="YYeTFl5=+RUFGKp!fwS8" x="-878" y="-133">
          <field name="OID">modbus.0.holdingRegisters.40101_I_DC_Leistung</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="timeouts_cleartimeout" id="Fy`6%1}jrkR7yIR7j,bM">
              <field name="NAME">timeout3</field>
              <next>
                <block type="timeouts_settimeout" id="wALq,KRZ=OkTgnFRodgg">
                  <field name="NAME">timeout3</field>
                  <field name="DELAY">200</field>
                  <field name="UNIT">ms</field>
                  <statement name="STATEMENT">
                    <block type="update" id="{8c)~K%7n5#35[IVg*CU">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.Solaranlage_Leistung</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_round" id="aW3|`$R[cHnB1`5vSAO9">
                          <field name="OP">ROUND</field>
                          <value name="NUM">
                            <shadow type="math_number" id="nbb7@I/VW7I*Gaam79/3">
                              <field name="NUM">3.1</field>
                            </shadow>
                            <block type="math_arithmetic" id="N5XZnoEUm{3Kzm-/]B@/">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                                <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="!{7/(]DX3lGP@Il`Y=E1">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="_;teC|IbrE2JD_fEN~js">
                                  <field name="ATTR">val</field>
                                  <field name="OID">modbus.0.holdingRegisters.40101_I_DC_Leistung</field>
                                </block>
                              </value>
                              <value name="B">
                                <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="M:s(2P888iDd:XzoTo4p">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="math_single" id="/]%B9azJMI,TVYWo.Q;d">
                                  <field name="OP">POW10</field>
                                  <value name="NUM">
                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="T+;~SGgPH[32R+:S}|M!">
                                      <field name="NUM">0</field>
                                    </shadow>
                                    <block type="get_value" id="|gkz@RnPUVcfP6F8mj]p">
                                      <field name="ATTR">val</field>
                                      <field name="OID">modbus.0.holdingRegisters.40102_I_DC_Leistung_SF</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="controls_if" id="AMHTnIFMZSH{c?XHv6wc">
                          <value name="IF0">
                            <block type="logic_compare" id=",/Kaam=))V5#8x2cy/^U">
                              <field name="OP">GT</field>
                              <value name="A">
                                <block type="get_value" id="Z_gIo`c(ugW{zweU*.{m">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Solaranlage_Leistung</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="get_value" id="*5L=}2cS1KyS-$RK2taz">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Solaranlage_Leistung.Rekordleistung</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="control" id=".}yz|vaKEtGn2gvt{;05">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">javascript.0.Solaranlage_Leistung.Rekordleistung</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="get_value" id="b`^e^!0g:!MO|-jQ:OL;">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Solaranlage_Leistung</field>
                                </block>
                              </value>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="on" id=";^6GWeYut-nhxE.AUz(J" x="638" y="-87">
          <field name="OID">javascript.0.Solaranlage_Leistung.Solaranlage_Leistung_AC</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="update" id="Gs=D7_=`mu:`=4!jZ(~|">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.Solaranlage_Leistung.Solarproduktion</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="math_arithmetic" id="58Ed/#VdCRb5rn(4K3I]">
                  <field name="OP">ADD</field>
                  <value name="A">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="on_source" id="MwMuZ[$0nBN3Il#TISIt">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="get_value" id="bc^^;uU?=/FCEfAx*7v*">
                      <field name="ATTR">val</field>
                      <field name="OID">modbus.0.holdingRegisters.102837_Speicher_Ladung</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
        <block type="on" id="OW-oQ:0bZs;!3`6XQKkI" x="-912" y="262">
          <field name="OID">modbus.0.holdingRegisters.40084_I_AC_Leistung</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="timeouts_cleartimeout" id="q%_Egu!g4KOn/2L[!vgy">
              <field name="NAME">timeout</field>
              <next>
                <block type="timeouts_settimeout" id=":u3%41op%^Qu(+C|xTa|">
                  <field name="NAME">timeout</field>
                  <field name="DELAY">200</field>
                  <field name="UNIT">ms</field>
                  <statement name="STATEMENT">
                    <block type="update" id="zTY~AAkdT)%4e-pY~s-S">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.Solaranlage_Leistung.Solaranlage_Leistung_AC</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_round" id="m#;LA^NEnsP_BkDH$q3?">
                          <field name="OP">ROUND</field>
                          <value name="NUM">
                            <shadow type="math_number" id="g|pp9td2yix@H)mxq$k4">
                              <field name="NUM">3.1</field>
                            </shadow>
                            <block type="math_arithmetic" id="[r$qB!.gW+ScSRB*A/0B">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                                <shadow type="math_number" id="P`39pThCR];?Nz[%u*-t">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="MG/~ix^7B/9x[U!3^{S^">
                                  <field name="ATTR">val</field>
                                  <field name="OID">modbus.0.holdingRegisters.40084_I_AC_Leistung</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="math_single" id="Zuf+:;;wNJTP.mQ(@()W">
                                  <field name="OP">POW10</field>
                                  <value name="NUM">
                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                      <field name="NUM">0</field>
                                    </shadow>
                                    <block type="get_value" id="7H:ZX/fDSSnbEy^:MzBW">
                                      <field name="ATTR">val</field>
                                      <field name="OID">modbus.0.holdingRegisters.40085_I_AC_Leistung_SF</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="on" id="7uzz?/X?Dx,ZWT{bKG~F" x="637" y="238">
          <field name="OID">modbus.0.holdingRegisters.40094_I_AC_Energie_WH</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="update" id="=QV~miJO1Wh54BU:yn9k">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.Solaranlage_Leistung.Produktion_heute</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="math_arithmetic" id="Le/MYT{jKjV,/-CAhdt]">
                  <field name="OP">MINUS</field>
                  <value name="A">
                    <shadow type="math_number" id="x$Q]Wx5dgsp.[!Z.zjU9">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="on_source" id="Ws%b!85tg4cNWB+6P5,9">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="get_value" id="=?Y(P`};PeefHO^j,G9`">
                      <field name="ATTR">val</field>
                      <field name="OID">javascript.0.Solaranlage_Leistung.Produktion_bis_gestern</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
        <block type="on" id="7LhdcCvQAF6O?)Cv97k)" x="637" y="463">
          <field name="OID">modbus.0.holdingRegisters.40227_M_Exported</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="update" id="SMc99VNnv~47wAw8Ja61">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.Solaranlage_Leistung.Einspeisung_heute</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="math_arithmetic" id="H*N]9D.GI!,6UFVsB%;;">
                  <field name="OP">MINUS</field>
                  <value name="A">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="on_source" id="~wB}0V^`a9=E-2`s4$Zf">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="get_value" id="JIjbe+JJ04ks^Tzy0?Ol">
                      <field name="ATTR">val</field>
                      <field name="OID">javascript.0.Solaranlage_Leistung.Einspeisung_bis_gestern</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
        <block type="on" id="~]arppNs^XXX+ogQa_Tt" x="-913" y="563">
          <field name="OID">modbus.0.holdingRegisters.40099_I_DC_Spannung</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="timeouts_cleartimeout" id="W4v}YD7/%?$ihkB[oW[}">
              <field name="NAME">timeout2</field>
              <next>
                <block type="timeouts_settimeout" id="=x_cR,-y@7ewNLd/(7Se">
                  <field name="NAME">timeout2</field>
                  <field name="DELAY">200</field>
                  <field name="UNIT">ms</field>
                  <statement name="STATEMENT">
                    <block type="update" id="LKPuUYW*+`YGF=3ujyV%">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.Solaranlage_Leistung.DC_Spannung</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_round" id="yDm+i2kefR/*BPE(=@Dx">
                          <field name="OP">ROUND</field>
                          <value name="NUM">
                            <shadow type="math_number">
                              <field name="NUM">3.1</field>
                            </shadow>
                            <block type="math_arithmetic" id="``b;Gbd-Ok^kf/Uh^TNR">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                                <shadow type="math_number">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="t-R#;+3MLXA}/IAdbVa5">
                                  <field name="ATTR">val</field>
                                  <field name="OID">modbus.0.holdingRegisters.40099_I_DC_Spannung</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="math_single" id="}ML#Z==2!uV]`AT%)Dt+">
                                  <field name="OP">POW10</field>
                                  <value name="NUM">
                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                      <field name="NUM">0</field>
                                    </shadow>
                                    <block type="get_value" id="xMgK%)@glo{L?2iCJ|8t">
                                      <field name="ATTR">val</field>
                                      <field name="OID">modbus.0.holdingRegisters.40100_I_DC_Spannung_SF</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="on" id="n{`D$LM(h6ta669z@~Kt" x="638" y="688">
          <field name="OID">modbus.0.holdingRegisters.40235_M_Imported</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="update" id="fgXCk=ZzM%3/[x,3,fnI">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.Solaranlage_Leistung.Zukauf_heute</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="math_arithmetic" id="K*rP]yKwOE0#6jabz`Fg">
                  <field name="OP">MINUS</field>
                  <value name="A">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="on_source" id="Ua3+ZJa?$mQl3RT=|ki$">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="get_value" id="ioU+G_=SoxAOa@]7o[+@">
                      <field name="ATTR">val</field>
                      <field name="OID">javascript.0.Solaranlage_Leistung.Zukauf_bis_gestern</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
        <block type="on" id="AMoQM|9_7.?pRlj-2f+F" x="-913" y="862">
          <field name="OID">modbus.0.holdingRegisters.40207_M_AC_Power</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="timeouts_cleartimeout" id="`eaycN2^]x3,7OqBp+XA">
              <field name="NAME">timeout4</field>
              <next>
                <block type="timeouts_settimeout" id="pU1`kX}:Mt~}~yk|D|-B">
                  <field name="NAME">timeout4</field>
                  <field name="DELAY">200</field>
                  <field name="UNIT">ms</field>
                  <statement name="STATEMENT">
                    <block type="update" id="nO-Uij_JKuz`o31}+~Xq">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.Solaranlage_Leistung.Netzzuleitung</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_arithmetic" id="{16GkXCaAvHkJNNq.p*8">
                          <field name="OP">MINUS</field>
                          <value name="A">
                            <shadow type="math_number" id="Mh]LJ0Ph5.KPgmy#53cx">
                              <field name="NUM">0</field>
                            </shadow>
                          </value>
                          <value name="B">
                            <shadow type="math_number" id="_cQbA{tL-X*PH0MT@)KT">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="math_round" id="!fNg?|Xohw/saU;-P5#3">
                              <field name="OP">ROUND</field>
                              <value name="NUM">
                                <shadow type="math_number">
                                  <field name="NUM">3.1</field>
                                </shadow>
                                <block type="math_arithmetic" id="tr?dnsdQanXZveeKSo#l">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                    <shadow type="math_number">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="get_value" id="5l.*;j7j_?s[q;-T;ufT">
                                      <field name="ATTR">val</field>
                                      <field name="OID">modbus.0.holdingRegisters.40207_M_AC_Power</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="math_single" id="g:Sp5XLI{utoE[7k-f{5">
                                      <field name="OP">POW10</field>
                                      <value name="NUM">
                                        <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                          <field name="NUM">0</field>
                                        </shadow>
                                        <block type="get_value" id="[sHni@a$PTh6.}1)I1ji">
                                          <field name="ATTR">val</field>
                                          <field name="OID">modbus.0.holdingRegisters.40211_M_AC_Power_SF</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="schedule" id="$B-)n0[qMqqLA6ns(R+K" x="637" y="937">
          <field name="SCHEDULE">0 0 * * *</field>
          <statement name="STATEMENT">
            <block type="control" id="reprX/Mnv8+b+5a;Z7rZ">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.Solaranlage_Leistung.Einspeisung_bis_gestern</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="get_value" id="FdK8V/G~rkFAq.i1^-4X">
                  <field name="ATTR">val</field>
                  <field name="OID">modbus.0.holdingRegisters.40227_M_Exported</field>
                </block>
              </value>
              <next>
                <block type="control" id="G!Zs)5d7mGeF/r4LiX#[">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">javascript.0.Solaranlage_Leistung.Zukauf_bis_gestern</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="get_value" id="6*3-_~6EWQylKYg2kJ1X">
                      <field name="ATTR">val</field>
                      <field name="OID">modbus.0.holdingRegisters.40235_M_Imported</field>
                    </block>
                  </value>
                  <next>
                    <block type="control" id="5k%A(5jYs1ig;%x7yXey">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.Solaranlage_Leistung.Produktion_bis_gestern</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="get_value" id="hN-yDyrqW2gW{BW8OBbz">
                          <field name="ATTR">val</field>
                          <field name="OID">modbus.0.holdingRegisters.40094_I_AC_Energie_WH</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="on" id="B-_%d7kFurSe,QbSSfDB" x="-863" y="1138">
          <field name="OID">modbus.0.holdingRegisters.40108_I_Status</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id="NIS;BHH+H-j-MFE|Qd.^">
              <mutation elseif="2"></mutation>
              <value name="IF0">
                <block type="logic_compare" id="KS.1QBkU=]eIKHGTfzAH">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="on_source" id="1etJ_}@`id3*WnvF$R37">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="math_number" id="W+N_V!qm^t7U$)LjLT-3">
                      <field name="NUM">4</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="telegram" id="A?=)$7_|D$REWIqVc]6x" disabled="true">
                  <field name="INSTANCE"></field>
                  <field name="LOG"></field>
                  <field name="SILENT">FALSE</field>
                  <field name="PARSEMODE">default</field>
                  <value name="MESSAGE">
                    <shadow type="text" id="$;dn4aU[=%sh4)fm0_e)">
                      <field name="TEXT">Solaranlage hat die Produktion gestartet ☀️</field>
                    </shadow>
                  </value>
                </block>
              </statement>
              <value name="IF1">
                <block type="logic_compare" id="mn]y,X.td5=n5[uC,ZLt">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="on_source" id="R+3T;D(MQ6.z}^,_L5@2">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="math_number" id="KU=1])[x@}0#lD82vBj*">
                      <field name="NUM">2</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO1">
                <block type="telegram" id="1)Ufu%C[E+3.p||g%f6_">
                  <field name="INSTANCE"></field>
                  <field name="LOG"></field>
                  <field name="SILENT">FALSE</field>
                  <field name="PARSEMODE">default</field>
                  <value name="MESSAGE">
                    <shadow type="text" id="lP$.My$bXceZE*.e5;se">
                      <field name="TEXT">Solaranlage stellt die Produktion ein 🌒</field>
                    </shadow>
                  </value>
                </block>
              </statement>
              <value name="IF2">
                <block type="logic_compare" id="iDw3qV.cPXtOnxUN|}!]">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="on_source" id="If$f?BO0hTL!DQ6P+~6]">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="math_number" id="Sfn8]o{he?_h{]R3%@w8">
                      <field name="NUM">7</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO2">
                <block type="telegram" id="l-~;uMDquQf}!k@^imR/">
                  <field name="INSTANCE"></field>
                  <field name="LOG"></field>
                  <field name="SILENT">FALSE</field>
                  <field name="PARSEMODE">default</field>
                  <value name="MESSAGE">
                    <shadow type="text" id="6aD|z$p+/GQ-0GK!Jl/e">
                      <field name="TEXT">Solaranlage meldet einen Fehler! 😱</field>
                    </shadow>
                  </value>
                </block>
              </statement>
            </block>
          </statement>
        </block>
        <block type="astro" id="PA{J4`LUgb*QNbna=Wn^" x="-36" y="1206">
          <field name="TYPE">sunset</field>
          <field name="OFFSET">0</field>
          <statement name="STATEMENT">
            <block type="variables_set" id="nsVZY14,vB~GV3zqLA?w">
              <field name="VAR" id="nNqB1b6bK3yOaF{%=r67">Tagesleistung</field>
              <value name="VALUE">
                <block type="math_rndfixed" id="B;C%6l7`6R8CB9Q,Yqe(">
                  <field name="n">1</field>
                  <value name="x">
                    <shadow type="math_number" id=":luhIPZf8eYAq0B0Lvv$">
                      <field name="NUM">3.1234</field>
                    </shadow>
                    <block type="math_arithmetic" id="miL)JXF:KkEk!Q$CpWX?">
                      <field name="OP">DIVIDE</field>
                      <value name="A">
                        <shadow type="math_number" id="/qYj3Nk4_XW;4G0BcZ`I">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="math_arithmetic" id="APsnJy)D[H4HGby/--iF">
                          <field name="OP">MINUS</field>
                          <value name="A">
                            <shadow type="math_number" id="uFIB//Cpu7d04w1ZZ[dD">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="get_value" id="S`n*O^}zi}5`iySBYy@@">
                              <field name="ATTR">val</field>
                              <field name="OID">modbus.0.holdingRegisters.40094_I_AC_Energie_WH</field>
                            </block>
                          </value>
                          <value name="B">
                            <shadow type="math_number" id="z(knQ3vuCW3onpW`gJ9{">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="get_value" id="[aP9+hl``r1PD~w6}Vm:">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Solaranlage_Leistung.Produktion_bis_gestern</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <shadow type="math_number" id="RUo/URN?DO}kIX^@Chlc">
                          <field name="NUM">1000</field>
                        </shadow>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <next>
                <block type="variables_set" id="UPTiew:jrYndxI.2=`rb">
                  <field name="VAR" id="WorYn/,IEi?5LB02:/u(">Tagesexport</field>
                  <value name="VALUE">
                    <block type="math_rndfixed" id="l-.Uqt@TO=R8:Qb[?JH4">
                      <field name="n">1</field>
                      <value name="x">
                        <shadow type="math_number" id="VC2iM){}sS$0U0HfUxZv">
                          <field name="NUM">3.1234</field>
                        </shadow>
                        <block type="math_arithmetic" id="yU%:UQkU?)E;Ybki-.EY">
                          <field name="OP">DIVIDE</field>
                          <value name="A">
                            <shadow type="math_number">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="math_arithmetic" id="_law3uZ9kpHEEDh;$ue/">
                              <field name="OP">MINUS</field>
                              <value name="A">
                                <shadow type="math_number">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="%PBlf]`+#$I1WOGGW:n?">
                                  <field name="ATTR">val</field>
                                  <field name="OID">modbus.0.holdingRegisters.40227_M_Exported</field>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="!@RI[o.hdO3_/!BOt0I;">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Solaranlage_Leistung.Einspeisung_bis_gestern</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <shadow type="math_number" id="cK?GMkVlEh?4r-o{i}gR">
                              <field name="NUM">1000</field>
                            </shadow>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="telegram" id="?u}%Vs`~(6}eITS`e[Fh">
                      <field name="INSTANCE"></field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">default</field>
                      <value name="MESSAGE">
                        <shadow type="text" id="HL{dRSIDt~=(%R^yrnMh">
                          <field name="TEXT">Solaranlage heute </field>
                        </shadow>
                        <block type="text_join" id="k:*shzux+X+e+yK{{p7)">
                          <mutation items="5"></mutation>
                          <value name="ADD0">
                            <block type="text" id="0^_~ezUH)Qou%#s$RET?">
                              <field name="TEXT">Die Solaranlage hat heute </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="variables_get" id="q-cguqU$)umnuYw)Z?*_">
                              <field name="VAR" id="nNqB1b6bK3yOaF{%=r67">Tagesleistung</field>
                            </block>
                          </value>
                          <value name="ADD2">
                            <block type="text" id="?ywq8fy9_7c3Yl1(OBz}">
                              <field name="TEXT"> kWh produziert ☀️ und </field>
                            </block>
                          </value>
                          <value name="ADD3">
                            <block type="variables_get" id="|39ijp:`E@FYF?!YZgd.">
                              <field name="VAR" id="WorYn/,IEi?5LB02:/u(">Tagesexport</field>
                            </block>
                          </value>
                          <value name="ADD4">
                            <block type="text" id="C(O`P9UJ]ZWO+a@^9rlc">
                              <field name="TEXT"> kWh eingespiesen</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="controls_if" id="sImv$.B4K+bZyG@z?y66">
                          <value name="IF0">
                            <block type="logic_compare" id="o,Dk@N2_L.8EVDMEhc^_">
                              <field name="OP">GT</field>
                              <value name="A">
                                <block type="variables_get" id="PSjrvcw9Lz`3Rldib.93">
                                  <field name="VAR" id="nNqB1b6bK3yOaF{%=r67">Tagesleistung</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="get_value" id=";{Xwsr6/+xc.1{kS]YQg">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Solaranlage_Leistung.Rekord_Tagesleistung</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="update" id="z0c_%eHv+]3nh43[*PbH">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">javascript.0.Solaranlage_Leistung.Rekord_Tagesleistung</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="variables_get" id="Ce:6b5,ZbVbo]9UDPoo-">
                                  <field name="VAR" id="nNqB1b6bK3yOaF{%=r67">Tagesleistung</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="G#=qXdAb8oQk;oZ/-!(W">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">javascript.0.Solaranlage_Leistung.Rekord_Tagesleistung</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="Vzu|Ikzr*)M?0j#=}r3*">
                                      <field name="VAR" id="nNqB1b6bK3yOaF{%=r67">Tagesleistung</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="telegram" id="#fhym!.#EP~ZPw~.zn`(">
                                      <field name="INSTANCE"></field>
                                      <field name="LOG"></field>
                                      <field name="SILENT">FALSE</field>
                                      <field name="PARSEMODE">default</field>
                                      <value name="MESSAGE">
                                        <shadow type="text" id="o#j%_SeEerjYWZ;[L3+C">
                                          <field name="TEXT"></field>
                                        </shadow>
                                        <block type="text_join" id="Dk?hsuD@H~PJ@)|X05Gi">
                                          <mutation items="4"></mutation>
                                          <value name="ADD0">
                                            <block type="text" id="D!j2^I@m:}CXLQ7NrcY1">
                                              <field name="TEXT">Neue Rekord-Tagesleistung der Solaranlage! ☀️</field>
                                            </block>
                                          </value>
                                          <value name="ADD1">
                                            <block type="text_newline" id="goiOPsjXPSmpL95e^kv+">
                                              <field name="Type">\n</field>
                                            </block>
                                          </value>
                                          <value name="ADD2">
                                            <block type="variables_get" id=":l(.XREPon]%[CEpJ:G0">
                                              <field name="VAR" id="nNqB1b6bK3yOaF{%=r67">Tagesleistung</field>
                                            </block>
                                          </value>
                                          <value name="ADD3">
                                            <block type="text" id=",g@EgJr!eYDmfF).GOvE">
                                              <field name="TEXT"> kWh</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      

      Statusbericht per Alexa abfragen:

      79fd661f-861c-46cf-8eda-2c2f2f02f747-image.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="yVq_yl6H*v?=l%;j-=@n">Speicherladung</variable>
          <variable id=",nIjO4mQyc*.a`#gSy7d">Einspeisung</variable>
          <variable id="rli+H4BKh^Z1[uy??0b-">Statusbericht_Text</variable>
        </variables>
        <block type="on" id="8K9ayuc7yIo!w#nG0II(" x="241" y="97">
          <field name="OID">javascript.0.Solaranlage_Statusbericht</field>
          <field name="CONDITION">gt</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="control" id="?8*[m@OYvEfhfGkZEfvp">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.Solaranlage_Statusbericht</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="logic_boolean" id=",3=QtuDm1r8EjEIDpD*,">
                  <field name="BOOL">FALSE</field>
                </block>
              </value>
              <next>
                <block type="controls_if" id="8O`[X0ccXu4=poasos-E">
                  <mutation elseif="1" else="1"></mutation>
                  <value name="IF0">
                    <block type="logic_operation" id="xjz,3c5K{ddq!anx1OL4">
                      <field name="OP">AND</field>
                      <value name="A">
                        <block type="logic_compare" id="A}(hU65BS-5aS6=[x/FJ">
                          <field name="OP">LT</field>
                          <value name="A">
                            <block type="get_value" id="VA[-`no?3}x}T{h=?:Vx">
                              <field name="ATTR">val</field>
                              <field name="OID">modbus.0.holdingRegisters.102837_Speicher_Ladung</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="21wS6v)ba1tO|c#mz*qu">
                              <field name="NUM">500</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_compare" id="RMNv96-wE_0JYIw]]E%(">
                          <field name="OP">GT</field>
                          <value name="A">
                            <block type="get_value" id="6Zb4LJB+N?hTy7ZJ-48d">
                              <field name="ATTR">val</field>
                              <field name="OID">modbus.0.holdingRegisters.102837_Speicher_Ladung</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="hYjFgxqQ_*WpB1F(sc{{">
                              <field name="NUM">-500</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="variables_set" id="PICh0MX;(m+|bX+swZ2~">
                      <field name="VAR" id="yVq_yl6H*v?=l%;j-=@n">Speicherladung</field>
                      <value name="VALUE">
                        <block type="text" id="4U|HAj0EWo$Kbma#OCgN">
                          <field name="TEXT"></field>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <value name="IF1">
                    <block type="logic_compare" id="p!en$ptpk]4Y$|+h]VT`">
                      <field name="OP">GT</field>
                      <value name="A">
                        <block type="get_value" id="KtutV)f6CGj$_*BYhI*5">
                          <field name="ATTR">val</field>
                          <field name="OID">modbus.0.holdingRegisters.102837_Speicher_Ladung</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="math_number" id="(tSF{NtI=7*dcUzQ0Eat">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO1">
                    <block type="variables_set" id="_~]H7_7N{0cp9r4%G)=4">
                      <field name="VAR" id="yVq_yl6H*v?=l%;j-=@n">Speicherladung</field>
                      <value name="VALUE">
                        <block type="text_join" id="i6yk+/s/8,Ka9(cUfN]=">
                          <mutation items="4"></mutation>
                          <value name="ADD0">
                            <block type="text" id="R-7UcKN-==Eer=hVb,$u">
                              <field name="TEXT">Der Speicher wird mit </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="math_single" id="rw:d[{4$/TwN%_DGaQlJ">
                              <field name="OP">ABS</field>
                              <value name="NUM">
                                <shadow type="math_number" id="t!sF1n*-.d2DO:6-=;^:">
                                  <field name="NUM">9</field>
                                </shadow>
                                <block type="math_rndfixed" id="isc,6Datfbf.U7fp1^!e">
                                  <field name="n">1</field>
                                  <value name="x">
                                    <shadow type="math_number">
                                      <field name="NUM">3.1234</field>
                                    </shadow>
                                    <block type="math_arithmetic" id="LIdNnM#%S9;DjP1(_LBs">
                                      <field name="OP">DIVIDE</field>
                                      <value name="A">
                                        <shadow type="math_number">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="get_value" id="GK0=z$$-Z_dwJkzQsS*o">
                                          <field name="ATTR">val</field>
                                          <field name="OID">modbus.0.holdingRegisters.102837_Speicher_Ladung</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="jebSv7nL_bxmo)uo9$B5">
                                          <field name="NUM">1000</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="ADD2">
                            <block type="text" id="na-j7TEGV0kL,!gwI}pb">
                              <field name="TEXT"> Kilowatt geladen.</field>
                            </block>
                          </value>
                          <value name="ADD3">
                            <block type="text_newline" id="6VRBu/V8%FY{{B+Jg;}B">
                              <field name="Type">\n</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <statement name="ELSE">
                    <block type="variables_set" id="F`J-Redx^c/-0G`eG!V@">
                      <field name="VAR" id="yVq_yl6H*v?=l%;j-=@n">Speicherladung</field>
                      <value name="VALUE">
                        <block type="text_join" id="{Vcpa#5|;jhGKZ;[]a23">
                          <mutation items="4"></mutation>
                          <value name="ADD0">
                            <block type="text" id="*e|iIw`tn@elV0ypp;/|">
                              <field name="TEXT">Wir entladen den Speicher mit </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="math_single" id=",.)BEa^hD2vX+gsSw3t)">
                              <field name="OP">ABS</field>
                              <value name="NUM">
                                <shadow type="math_number" id="vQs.e{jI=s|=s)$7$46J">
                                  <field name="NUM">9</field>
                                </shadow>
                                <block type="math_rndfixed" id="YcrfPM]2U2T~:DC$8aBg">
                                  <field name="n">1</field>
                                  <value name="x">
                                    <shadow type="math_number">
                                      <field name="NUM">3.1234</field>
                                    </shadow>
                                    <block type="math_arithmetic" id="7Q%q0;cxQ0#SPpd0qQ2Y">
                                      <field name="OP">DIVIDE</field>
                                      <value name="A">
                                        <shadow type="math_number">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="get_value" id="~wtx_zV0_u6fwI8CEOdI">
                                          <field name="ATTR">val</field>
                                          <field name="OID">modbus.0.holdingRegisters.102837_Speicher_Ladung</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="It`44!P*hc7U1GJTc;Va">
                                          <field name="NUM">1000</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="ADD2">
                            <block type="text" id="8Y=0XI%BKq?mT,OP;J4f">
                              <field name="TEXT"> Kilowatt.</field>
                            </block>
                          </value>
                          <value name="ADD3">
                            <block type="text_newline" id="Lw65-y0f3z)JR|DHEYH$">
                              <field name="Type">\n</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <next>
                    <block type="controls_if" id="oH3%1(j-AD%_l1jQ*lc{">
                      <mutation elseif="1" else="1"></mutation>
                      <value name="IF0">
                        <block type="logic_operation" id="~fA!by48q**ZoHgD.pAL">
                          <field name="OP">AND</field>
                          <value name="A">
                            <block type="logic_compare" id="4ZZ=)%w.u3`[Xxi^V?[c">
                              <field name="OP">LT</field>
                              <value name="A">
                                <block type="get_value" id="$@*Tdj7Wkm:n`xrMV:kS">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Solaranlage_Leistung.Netzzuleitung</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="kUM^vFYB7w8?.MRGB@x*">
                                  <field name="NUM">500</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_compare" id="c_@z9cG!;cNmsHr+00}]">
                              <field name="OP">GT</field>
                              <value name="A">
                                <block type="get_value" id="js+6_pxCPo58NHOpg1ff">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Solaranlage_Leistung.Netzzuleitung</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="/J$s-BoSQ^O?`1CZQ/AT">
                                  <field name="NUM">-500</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="variables_set" id="Ty0%qG$nnRFb*E~:[bJO">
                          <field name="VAR" id=",nIjO4mQyc*.a`#gSy7d">Einspeisung</field>
                          <value name="VALUE">
                            <block type="text" id="iH#JfdH8pctpP=E:[(?k">
                              <field name="TEXT"></field>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <value name="IF1">
                        <block type="logic_compare" id="0uw:!ubZ)i4F:NWF{{]Q">
                          <field name="OP">LT</field>
                          <value name="A">
                            <block type="get_value" id="jZ-a3$rZXgu:B|^s%g7Y">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Solaranlage_Leistung.Netzzuleitung</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="QE.K-O1M#:.Kc`7pkR8k">
                              <field name="NUM">0</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO1">
                        <block type="variables_set" id="!_A*lK+~H4@gqNhSkUpT">
                          <field name="VAR" id=",nIjO4mQyc*.a`#gSy7d">Einspeisung</field>
                          <value name="VALUE">
                            <block type="text_join" id="S|m][PW|cZyNXT@:S*m#">
                              <mutation items="4"></mutation>
                              <value name="ADD0">
                                <block type="text" id="3aK_#j90(Q%R$,O!EE#z">
                                  <field name="TEXT">Wir speisen </field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="math_single" id="s()~78pNzP.%SA_EplCq">
                                  <field name="OP">ABS</field>
                                  <value name="NUM">
                                    <shadow type="math_number" id="~DAXRW,C$#Z)Ua7_9.8d">
                                      <field name="NUM">9</field>
                                    </shadow>
                                    <block type="math_rndfixed" id="$qh7/m*@@n%Y{)uKkj%?">
                                      <field name="n">1</field>
                                      <value name="x">
                                        <shadow type="math_number">
                                          <field name="NUM">3.1234</field>
                                        </shadow>
                                        <block type="math_arithmetic" id="oh~)lBemmd3tVl+$L)/#">
                                          <field name="OP">DIVIDE</field>
                                          <value name="A">
                                            <shadow type="math_number">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="25A*CK8Xu2|b/TlsV8Ig">
                                              <field name="ATTR">val</field>
                                              <field name="OID">javascript.0.Solaranlage_Leistung.Netzzuleitung</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="PO!M3=2}`32(,}X_oZez">
                                              <field name="NUM">1000</field>
                                            </shadow>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="ADD2">
                                <block type="text" id="K-+yTNt9f[|rYLRXCc|L">
                                  <field name="TEXT"> Kilowatt ins Netz ein.</field>
                                </block>
                              </value>
                              <value name="ADD3">
                                <block type="text_newline" id="ihzsmtfT6Y?v|t$LDtk_">
                                  <field name="Type">\n</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <statement name="ELSE">
                        <block type="variables_set" id="Sv4B=|GnfE/p99wGW=T_">
                          <field name="VAR" id=",nIjO4mQyc*.a`#gSy7d">Einspeisung</field>
                          <value name="VALUE">
                            <block type="text_join" id="X%s:p0C]?ePT2P%`FwUC">
                              <mutation items="4"></mutation>
                              <value name="ADD0">
                                <block type="text" id="[r4WdUumM5,kapchO:EO">
                                  <field name="TEXT">Wir beziehen </field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="math_single" id="@c|/@;Sib_l/voSyew#2">
                                  <field name="OP">ABS</field>
                                  <value name="NUM">
                                    <shadow type="math_number" id="ioG~ozs(=U+7mpcvu0^!">
                                      <field name="NUM">9</field>
                                    </shadow>
                                    <block type="math_rndfixed" id="ZA$AVUo4XYHOb6UDg(q^">
                                      <field name="n">1</field>
                                      <value name="x">
                                        <shadow type="math_number">
                                          <field name="NUM">3.1234</field>
                                        </shadow>
                                        <block type="math_arithmetic" id="XR_tkeA$b^%_]3xSZcsO">
                                          <field name="OP">DIVIDE</field>
                                          <value name="A">
                                            <shadow type="math_number">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="O=-F4$P[*E_Ddk(|i4[:">
                                              <field name="ATTR">val</field>
                                              <field name="OID">javascript.0.Solaranlage_Leistung.Netzzuleitung</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="-vsbR0Q=W^WD:(`N](@Y">
                                              <field name="NUM">1000</field>
                                            </shadow>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="ADD2">
                                <block type="text" id="sN#R!%Q/2CTS^nN|^|rU">
                                  <field name="TEXT"> Kilowatt vom Netz.</field>
                                </block>
                              </value>
                              <value name="ADD3">
                                <block type="text_newline" id="Ns*;`8ozU}E8NP/@Tr#$">
                                  <field name="Type">\n</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <next>
                        <block type="variables_set" id="7Ea;*1qQ?mk].uizRDDf">
                          <field name="VAR" id="rli+H4BKh^Z1[uy??0b-">Statusbericht_Text</field>
                          <value name="VALUE">
                            <block type="text_join" id=",*myJKhwd2`$4Sce*}Y|">
                              <mutation items="9"></mutation>
                              <value name="ADD0">
                                <block type="text" id="DJ7yDR8sOG3)8N/yDBe2">
                                  <field name="TEXT">Die Solaranlage produziert aktuell </field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="math_rndfixed" id="lL#2}[?aFK,oF~869p?)">
                                  <field name="n">1</field>
                                  <value name="x">
                                    <shadow type="math_number" id="Zrbl$?9%9)e`fqN@S-16">
                                      <field name="NUM">3.1234</field>
                                    </shadow>
                                    <block type="math_arithmetic" id="_^#{H0G?Rc?nb|(lS[bP">
                                      <field name="OP">DIVIDE</field>
                                      <value name="A">
                                        <shadow type="math_number" id="64+Xt8aTcU*s)NJ#1Llf">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="get_value" id="(knF$rbVfs9^GC/s)JhF">
                                          <field name="ATTR">val</field>
                                          <field name="OID">javascript.0.Solaranlage_Leistung.Solarproduktion</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="/^8dDky38(5oo#7o-R(v">
                                          <field name="NUM">1000</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="ADD2">
                                <block type="text" id="`N`@pn_F5@xB}BFFv[bo">
                                  <field name="TEXT"> Kilowatt.</field>
                                </block>
                              </value>
                              <value name="ADD3">
                                <block type="text_newline" id="fr$0dQ@pokQ=a5pr(UM;">
                                  <field name="Type">\n</field>
                                </block>
                              </value>
                              <value name="ADD4">
                                <block type="variables_get" id="DYPHeo/(AU+0X*SgaDsg">
                                  <field name="VAR" id="yVq_yl6H*v?=l%;j-=@n">Speicherladung</field>
                                </block>
                              </value>
                              <value name="ADD5">
                                <block type="variables_get" id="rT%nRW_s@Sz6Fp=iPyu-">
                                  <field name="VAR" id=",nIjO4mQyc*.a`#gSy7d">Einspeisung</field>
                                </block>
                              </value>
                              <value name="ADD6">
                                <block type="text" id="t~vB168IMi8()X}qxFer">
                                  <field name="TEXT">Wir haben heute </field>
                                </block>
                              </value>
                              <value name="ADD7">
                                <block type="math_rndfixed" id="mXEbaiY;$=D)yp-fWE;w">
                                  <field name="n">1</field>
                                  <value name="x">
                                    <shadow type="math_number">
                                      <field name="NUM">3.1234</field>
                                    </shadow>
                                    <block type="math_arithmetic" id="=ot6}H8|oTXu,cyW5C3]">
                                      <field name="OP">DIVIDE</field>
                                      <value name="A">
                                        <shadow type="math_number">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="math_arithmetic" id="xvN/ql1B9Xp98f5}5`M{">
                                          <field name="OP">MINUS</field>
                                          <value name="A">
                                            <shadow type="math_number">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id=",%boSIr($2jHjaOq!XSk">
                                              <field name="ATTR">val</field>
                                              <field name="OID">modbus.0.holdingRegisters.40094_I_AC_Energie_WH</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="-cld;/!:f!#}ri_vw6!9">
                                              <field name="ATTR">val</field>
                                              <field name="OID">javascript.0.Solaranlage_Leistung.Produktion_bis_gestern</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="H+t0JeUHjc|oGk,:,6ls">
                                          <field name="NUM">1000</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="ADD8">
                                <block type="text" id="Yd-q@k{II+/Y/j8HIJYX">
                                  <field name="TEXT"> Kilowattstunden produziert.</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="telegram" id="lRhlQ[vw~k+@+]DVNHE0">
                              <field name="INSTANCE"></field>
                              <field name="LOG"></field>
                              <field name="SILENT">FALSE</field>
                              <field name="PARSEMODE">default</field>
                              <value name="MESSAGE">
                                <shadow type="text" id="B7Vnv.U)Xj3:O97^w4{!">
                                  <field name="TEXT">text</field>
                                </shadow>
                                <block type="variables_get" id="e:G36G[bC~uX(fONbXOx">
                                  <field name="VAR" id="rli+H4BKh^Z1[uy??0b-">Statusbericht_Text</field>
                                </block>
                              </value>
                              <value name="USERNAME">
                                <block type="text" id="-AeM]s7@B.WHKk1lj=:j" disabled="true">
                                  <field name="TEXT">Chris</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id=":d(nJ[7Ch2T(N(e?G]Cq">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">alexa2.0.Echo-Devices.G0911M0793152N2C.Commands.speak</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id=",XfO`rtId;Mvj@~}#Y.v">
                                      <field name="VAR" id="rli+H4BKh^Z1[uy??0b-">Statusbericht_Text</field>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="math_number" id="4_ipSbC-Vrw?,$HJC%N3" x="400" y="638">
          <field name="NUM">0</field>
        </block>
      </xml>
      

      Was mir noch fehlt ist eine korrekte Berechnung des Hausverbrauchs bzw. der Leistung der Solarpanels mit korrekt herausgerechneter Ladung oder Entladung des Speichers. Konkret also diese Berechnung:

      41bdfaf4-d1b3-4e48-a444-f08d84af8f21-image.png

      Ausserdem fehlt mir noch die Modbus-Adresse für den aktuellen Speicher-Füllstand in Prozenz.

      O L 2 Replies Last reply Reply Quote 0
      • O
        osu @ChrisPrefect last edited by osu

        @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

        Hier mal mein aktueller Stand mit Solaredge SE10K und Solaredge Stromsensor und BYD LVS 24.0:

        Wow. Vielen Dank. Da werde ich mir etwas Zeit für nehmen müssen.

        Die Batterieregister packe ich Dir hier mal dazu.

        Was Du suchst ist 102853 State of Energy SOE Batterieladung %

        Siehe unten.

        1	102837	Batterieleistung	Leistung Batterie	W	floatsw	2	1	0		level		true	false	false	
        1	102853	State of Energy SOE	Batterieladung	%	floatsw	2	1	0		level		true	false	false	
        1	102855	Batterie Status	Battery operating state: 0 – Off; 1 – Standby; 2 – Init; 3 – Charge; 4 – Discharge; 5 – Fault; 7 - Idle		uint32sw	2	1	0		level		true	false	false	
        1	102787	Batt Rated Energy	Batt Rated Energy	Wh	floatsw	2	1	0		level		true	false	false	
        1	102829	Batt1_Avg_T	Batterie 1 Average Temperature °C	°C	floatsw	2	1	0		level		true	false	false	
        1	103237	StCtrlMode	Storage Control Mode		uint16be	1	1	0		level		true	false	false	
        1	101763	AdvancedPwrControlEn	AdvancedPwrControlEn		uint32sw	2	1	0		level		true	false	false	
        1	101701	ReactivePwrConfig	ReactivePwrConfig		uint32sw	2	1	0		level		true	false	false	
        1	103247	Remote Control Charge Limit	Remote Control Charge Limit	W	floatsw	2	1	0		level		true	false	false	
        1	101697	CommitSettings	Commit Power Control Settings		uint16be	1	1	0		level		true	false	false	
        1	103243	StChDisChMode	Storage Charge/Discharge Default Mode		uint16be	1	1	0		level		true	false	false	
        

        In der Liste sind auch Register enthalten um das Ladeprofil der Batterie zu modifizieren (70%-Limitierung vermeiden). Siehe dazu hier https://www.photovoltaikforum.com/thread/152402-storedge-se10k-ladeleistung-batterie/?postID=2235131#post2235131

        Gruß,
        Oli

        ChrisPrefect 1 Reply Last reply Reply Quote 1
        • ChrisPrefect
          ChrisPrefect @osu last edited by

          @osu

          Das Register 102853 funktioniert bei mir eben nicht 😞

          e0fe69fa-e954-4d1f-a9f1-8fa2fefeafc1-image.png

          a8acf81e-138a-4046-8d86-1b55cf0176b1-image.png

          Die Speicherladung 102837 funktioniert, aber bei 102853 kommt nichts. Auch einen Wert drunter und drüber habe ich schon probiert.

          O 1 Reply Last reply Reply Quote 0
          • O
            osu @ChrisPrefect last edited by

            @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

            Die Speicherladung 102837 funktioniert, aber bei 102853 kommt nichts. Auch einen Wert drunter und drüber habe ich schon probiert.

            Was sagt Dein Log des Modbus-Adapters beim Pollen?

            ChrisPrefect 1 Reply Last reply Reply Quote 1
            • ChrisPrefect
              ChrisPrefect @osu last edited by

              @osu Oh, da habe ich diese Meldung gesehen:

              (31435) Poll error count: 2 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"}

              Da steht leider nicht welche Adresse illegal ist. Ich habe dann einzeln die Adressen deaktiviert und gesehen, dass es wohl an dieser Zeile lag:

              cf7bf6fd-58d1-4cee-b44c-f4f04fcfccd0-image.png

              Ohne diese Zeile wird nun auch der SoC in % korrekt ausgelesen! Super 😄

              ChrisPrefect O 2 Replies Last reply Reply Quote 0
              • ChrisPrefect
                ChrisPrefect @ChrisPrefect last edited by

                Jetzt fehlt mir nur noch die korrekte Berechnung von Hausverbrauch und Solarpanel-Leistung. Wie wird die Batterie Ladung und Entladung da korrekt eingerechnet?

                O 1 Reply Last reply Reply Quote 0
                • O
                  osu @ChrisPrefect last edited by

                  @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

                  @osu Oh, da habe ich diese Meldung gesehen:

                  (31435) Poll error count: 2 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"}

                  Da steht leider nicht welche Adresse illegal ist. Ich habe dann einzeln die Adressen deaktiviert und gesehen, dass es wohl an dieser Zeile lag:

                  cf7bf6fd-58d1-4cee-b44c-f4f04fcfccd0-image.png

                  Ohne diese Zeile wird nun auch der SoC in % korrekt ausgelesen! Super 😄

                  Probier mal, ob's am Datentyp liegt (glaube ich aber nicht).
                  Du hast da uint16, ich habe da uint32sw.

                  Das Register funktioniert bei mir zuverlässig.

                  1 Reply Last reply Reply Quote 0
                  • O
                    osu @ChrisPrefect last edited by osu

                    @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

                    Jetzt fehlt mir nur noch die korrekte Berechnung von Hausverbrauch und Solarpanel-Leistung. Wie wird die Batterie Ladung und Entladung da korrekt eingerechnet?

                    Da bin ich gerade noch am rumpfriemeln.

                    Ich habe da bisher folgende Probleme

                    • falsche Datentypen (einfach lösbar durch Lesen der Doku und Abgleich) führen zu einem Werteüberlauf. Ich vermute ich habe da ggf. noch das eine oder andere Issue, muss ich nochmal genauer unter die Lupe nehmen.

                    • unterschiedliche Taktung der Werteermittlung: klar ist, dass die Skalierungsfaktoren gleichzeitig mit den zu skalierenden Werten gelesen werden müssen, sonst liefert der Wert Müll.
                      Wenn ich nun aber einen Zusammenhang aus den per Modbus gelesenen Werten schaffen will, muss ich die zusammenhängenden Werte ebenfalls zum selben Zeitpunkt lesen und verarbeiten um daraus Werte zu berechnen (wieviel produziere ich auf dem Dach? Was ist mein Hausverbrauch?). Da hapert's leider noch bei mir. Denn obwohl ich die Werte im selben Blockly aus dem Modbus lese und dann lokal speichere passt das häufig nicht zusammen und sorgt ggü. der Berechnungsgrundlage für Deltas.

                    • mir noch unerklärliche Spikes in meinen Zahlen. Kann eine Folge von oben sein.

                    Was ich derzeit ermittle ist z.B. folgendes:
                    94c3e84d-d10f-405b-a11b-a10c82d37ed5-image.png

                    Ermittelt mit folgendem Blockly (kann beliebig falsch sein):
                    08c3ea0a-6003-4528-8681-6177b964ceda-image.png

                    Führt zu folgender Visualisierung:
                    04e69833-ef74-451a-86c9-fe0bfcf9b7fe-image.png

                    Die Werte sind aber noch Murks, denn auf diese Weise gibt es Abweichungen bei der PV Produktion Ist (objects) vom Soll (Formel / Blockly) wie folgt:
                    7f256dbb-4e79-4713-a11e-a29d525f7186-image.png

                    Wie gesagt. Bin noch beim Versuch zu verstehen.

                    Wenn Du Ideen hast oder die Dinge auffallen, immer her damit. 😉

                    Gruß,
                    Oli

                    ChrisPrefect 1 Reply Last reply Reply Quote 0
                    • ChrisPrefect
                      ChrisPrefect @osu last edited by

                      @osu Das mit den Spikes und Werte-Überläufen usw. kommt wohl wirklich vom Problem, dass die Werte nicht immer gleichzeitig mit den Skalierungs-Faktoren gelesen werden. Ich habe das so gelöst:

                      5a662432-2b97-48c0-9e7a-f2198d8ce878-image.png

                      Nachdem sich der Leistungswert geändert hat, warte ich 200 ms bis ich den Skalierungsfaktor lese und umrechne. Damit hatte ich bisher keine Probleme mehr.

                      Ich lese die Werte eh nur alle 10 Sekunden, was mehr als genug ist. Ev. erhöhe ich die Pause noch auf eine Sekunde.

                      Zusätzlich habe ich bei den Objekten noch plausible Minimal- und Maximal-Werte definiert, so können Werte die nicht passen gar nicht geschrieben werden.

                      O 1 Reply Last reply Reply Quote 0
                      • O
                        osu last edited by osu

                        @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

                        Nachdem sich der Leistungswert geändert hat, warte ich 200 ms bis ich den Skalierungsfaktor lese und umrechne. Damit hatte ich bisher keine Probleme mehr.

                        Was genau versprichst Du Dir von der Verzögerung nach dem Event?

                        @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

                        Ich lese die Werte eh nur alle 10 Sekunden, was mehr als genug ist.

                        Mache ich ebenfalls so.

                        Was bei mir noch nicht passt, ist dass keine Deltas (siehe Tabelle oben) zur Formel entstehen (sprich die Werte zusammenpassen).

                        Du hattest nach Produktion und Hausverbrauch gefragt. Meinen Ansatz findest Du im obigen Blockly. Wie läuft das nun bei Dir?

                        Gruß,
                        Oli

                        ChrisPrefect 1 Reply Last reply Reply Quote 0
                        • O
                          osu @ChrisPrefect last edited by

                          @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

                          @osu Das mit den Spikes und Werte-Überläufen usw. kommt wohl wirklich vom Problem, dass die Werte nicht immer gleichzeitig mit den Skalierungs-Faktoren gelesen werden. Ich habe das so gelöst:

                          Die Spikes scheinen mit dem Timeout weg zu sein. Bei mir umfasst er nun die komplette Berechnung.

                          b97ba260-33b8-46a1-b616-c5d480923e61-image.png

                          Wie gesagt passen die Werte damit dennoch nicht 100% zusammen. (Deltas im Excelsheet)

                          Wenn der Modbus gepollt wird, hole ich innerhalb eines sehr kurzen Zeitraums alle meine Werte.
                          Ich kann aber nicht beeinflussen, ob zum Zeitpunkt des Abholens auf dem Modbus alle Werte 100% zusammenpassen (wann diese geschrieben wurden).

                          • modbus.0.holdingRegisters.102837_Batterieleistung
                          • modbus.0.holdingRegisters.40084_I_AC_Leistung
                          • modbus.0.holdingRegisters.40207_M_AC_Power

                          Gruß,
                          Oli

                          ChrisPrefect 1 Reply Last reply Reply Quote 0
                          • ChrisPrefect
                            ChrisPrefect @osu last edited by

                            @osu Wenn der Modbus-Adapter die Werte einliest, dauert das vielleicht eine Sekunde, bis alle Werte da sind.

                            Wenn jetzt das Blockly schon triggert, wenn der erste Wert da ist und sofort den (dann noch alten) Umrechnungsfaktor benutzt dann ist der Wert um einen Faktor zu gross oder zu klein. Deshalb warte ich, nachdem sich der Wert geändert hat etwas, damit sicher alle Werte in diesem Poll-Zyklus gelesen und aktualisiert wurden. Dann ist auch der richtige Umrechnungsfaktor bereit.

                            O 1 Reply Last reply Reply Quote 0
                            • ChrisPrefect
                              ChrisPrefect @osu last edited by

                              @osu Kann es sein, dass die Werte nicht genau passen, weil du die DC-Leistung verwendest? Die ignoriere ich mittlerweile, weil die eben immer leicht von der AC-Leistung abweicht (halt durch die Wandlungsverluste denke ich). Deshalb muss ich aber von der AC-Leistung wieder zurückrechnen, um die PV-Leistung zu bekommen. Also z.B. die Speicherladung dazuzählen oder die Entladung abzählen.

                              1 Reply Last reply Reply Quote 0
                              • O
                                osu @ChrisPrefect last edited by osu

                                @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

                                Wenn jetzt das Blockly schon triggert, wenn der erste Wert da ist und sofort den (dann noch alten) Umrechnungsfaktor benutzt dann ist der Wert um einen Faktor zu gross oder zu klein

                                Passt. Ergibt Sinn.

                                @chrisprefect said in Solaredge Adapter (Photovoltaikanlage):

                                Kann es sein, dass die Werte nicht genau passen, weil du die DC-Leistung verwendest?

                                Hausverbrauch rechne ich aus
                                modbus.0.holdingRegisters.40084_I_AC_Leistung
                                minus
                                modbus.0.holdingRegisters.40207_M_AC_Power

                                Bei der Produktionsleistung der PV werden dann aber AC und DC vermengt:
                                modbus.0.holdingRegisters.40207_M_AC_Power
                                plus
                                modbus.0.holdingRegisters.102837_Batterieleistung
                                plus
                                Hausverbrauch

                                Vermutlich liegt's daran. Was denkst Du?

                                Gruß,
                                Oli

                                1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @stevie77 last edited by

                                  @stevie77 Vielen Dank für deinen Export. Import hat wunderbar geklappt.
                                  Allerdings kann ich mit den Werten noch nichts anfangen. Auch die Strings wie "SolarEdge" scheinen abgeschnitten. Habe ich hier noch irgendwie einen Fehler?
                                  Vielen Dank

                                  Capture.PNG

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @Guest last edited by A Former User

                                    Habe es lösen können. Bei mir waren es Register-Adressen -1

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      stevie77 @Guest last edited by

                                      @aulin Ja, irgendwie gibt es bei SE zwei Register-Varianten. Neuere/ältere Geräte? Hatten wir im Verlauf schon mal festgestellt hier im Forum (oder anderswo?), dass bei mir (oder anderen) alle Adressen um 1 verschoben sind.

                                      O 1 Reply Last reply Reply Quote 0
                                      • O
                                        osu @stevie77 last edited by

                                        @stevie77
                                        43c88452-8077-4c87-811d-eb007d3185fa-image.png
                                        Quelle: Technical Note – SunSpec Logging in SolarEdge Inverters, S. 15

                                        Gruß,
                                        Oli

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          Al Bundy @osu last edited by

                                          Die Daten des Wechselrichters kommen alle einwandfrei über den Modbus Adapter an, jedoch will es mit den Daten der Batterie nicht klappen. Mein Wechselrichter verwendet die base 0 Adressierung und somit -1 zu den hier meist genannten Adressen. Bei den Batterie Einstellungen habe ich natürlich einiges probiert, aber ohne Erfolgt. Muss sonst noch etwas beachtet werden (z.B. bei den Adapter-Einstellungen oder so)?
                                          Fehler im Log: "errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"
                                          2021.06.07_Modbus_SE-Daten.jpg
                                          2021.06.07_Modbus_Objects_3.jpg
                                          2021.06.07_Modbus_Settings_2.jpg
                                          2021.06.07_Modbus_Settings_1.jpg
                                          2021.06.07_WR_Setting_1.jpg
                                          2021.06.07_WR_Setting_2.jpg
                                          Erkennt hier jemand ein Fehler?

                                          ChrisPrefect 1 Reply Last reply Reply Quote 0
                                          • ChrisPrefect
                                            ChrisPrefect @Al Bundy last edited by

                                            @al-bundy Die Modbus-Einstellungen werden stimmen, wenn die restlichen Daten vom WR schon sauber kommen. Der WR schickt ja die Daten der Batterie über sein Modbus-Interface weiter.

                                            Ich kann dir nur meine Daten nochmals zeigen. Ev. musst du bei den Adressen noch + oder - 1 versuchen. Die sind bei mir verschoben zu dir.

                                            Ich hatte aber auch lange rumprobiert bis es bei mir zufällig geklappt hat.

                                            523f1f01-3302-43da-b71d-7cb54c57f9b5-image.png

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            899
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            59
                                            431
                                            91513
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo