NEWS
Test Adapter Zendure Solarflow
-
@horst-werner said in Test Adapter Zendure Solarflow:
us, als hättest du die PV direkt an den Hyper angeschlossen. Was dann geändert werd
Hallo Horst,
ich lade nur über das Netz. Hab ein paar kleinigkeiten angepassen und das Skript läuft aktuell und regelt das Laden wunderbar.
Hab "Erzeugung" bei mir auf PV-Gesamt gestellt, denke bei Dir steckt auch die PV dahinter.
Und "Netzbezug", hab ich beim die aktuelle Leistung geändert.Beim Entladen steht bei dir "Ausgangsleistung" ist das eine Variable mit 100W fix bei dir?
Muss heute abend dann beobachten ob das entladen dann auch noch klappt.
Danke Dir, für das Skript.
-
Hi Stephan,
beim Entladen begrenze ich die Ausgangsleistung auf maximal 1200W, weil ich nicht weiß, wie der Hyper reagiert, wenn der Wert höher liegt. Bei dir steht da "zwischen 0 und 100". Das verstehe ich nicht so ganz. Ist das bei dir in Prozent geregelt?
Die Bedingungen zum laden und entladen kann man gerne noch ein bisschen anpassen. Bei meinem Skript lädt der Hyper nur, wenn ich mehr als 100W über habe im System. Hier wird natürlich ein bisschen verschenkt. Das verhindert aber, dass das System hin und her springt.
-
@horst-werner said in Test Adapter Zendure Solarflow:
beim Entladen begrenze ich die Ausgangsleistung
Moin Horst,
hab den auf Maximal 100W gestellt. Analog zu deinem Skript.
Die Ausgangsleistung, hab ich jetzt bei mal als Festenwert hinterlegt. Da hat dann der Entladevorgang gestartet:
Ladevorgang startet bei mir jetzt ab 50W Überschuss.
-
Hi Stephan,
um bei 50W zu starten musst du bei "sonst falls" den Überschuss >= 50 machen. Dann startet der bei 50W.
Wieso entlädst du nur mit maximal 100W?
-
@horst-werner Mag du mir dein Blockly Code schicken bzw. hier reinstellen. Oder hab ich das hier irgendwo übersehen?
Danke im Voraus. -
@onkelsep schau mal zwei/drei Posts weiter oben, was der Stephan gepostet hat. Der hat mein Blockly auch übernommen und fast genau so sieht meins auch aus.
-
Hallo Horst,
kannst du mir bitte nochmal helfen. Laden funktioniert so mit dem Skript.
Aber er startet nicht zum entladen?Kannst du bitte nochmal über das Blocky schauen.
Danke
-
@horst-werner das hatte ich gesehen, Ich dachte zwar an den Code als Text aber ok muss ich das nachbauen.
-
@onkelsep ```
<block xmlns="https://developers.google.com/blockly/xml" type="control" id="=o2{GPV4w=:]aci4|vY?" x="298" y="346">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.VAR_Zendure.VAR_Einzustellende_Ausgangsleistung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="convert_tonumber" id="Rj3Uaj4{~c;!x!eGEeXD">
<value name="VALUE">
<block type="math_constrain" id="7~D[JsL|N~VeFwtpE
">
<value name="VALUE">
<shadow type="math_number" id="(9UIPj)LKTV=|#F^uD,q">
<field name="NUM">50</field>
</shadow>
<block type="math_arithmetic" id="TvZBnp(B!y!/Hr[yexE9">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number" id="l(:X{x7E+4zu10Q|5@!j">
<field name="NUM">1</field>
</shadow>
<block type="math_round" id=")86b/RxGH%v7o10%~/M">
<field name="OP">ROUNDUP</field>
<value name="NUM">
<shadow type="math_number" id="gyY9z7s?CrnAoD0q10E">
<field name="NUM">3.1</field>
</shadow>
<block type="get_value" id="SQT#4Dl*V==lu[7Mku8"> <field name="ATTR">val</field> <field name="OID">alias.0.VAR_Energie.VAR_Leistung_Momentan</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="ejRA-VP8RdO[Iz7W6[$B"> <field name="NUM">1</field> </shadow> <block type="get_value" id="!9ne=tscadHC,quP|dlU"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte_iOBroker.VAR_Zendure.Ausgangsleistung</field> </block> </value> </block> </value> <value name="LOW"> <shadow type="math_number" id="k$b@7b)3I?3u8R,%^no("> <field name="NUM">0</field> </shadow> </value> <value name="HIGH"> <shadow type="math_number" id="x8}*eX!Nsg$Dq)p(Q9S_"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="update" id="fce@-pMl:1kZ%lAb1IM5"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte_iOBroker.VAR_Zendure.Überschuss</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id=",=I/6z]|3NAu8ylXEr|)"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="=+EzH#q|HDP)r|mgQ;@e"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=";D#iA~8Yj630O($CMi?N"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id=";f|).sI:pOi1s(r$G
8b">
<field name="NUM">0</field>
</shadow>
</value>
<value name="B">
<shadow type="math_number" id="|n97^C9Q^U-#7dXwk^l"> <field name="NUM">1</field> </shadow> <block type="get_value" id="XmrX=:RmGSQt*7n%!~|o"> <field name="ATTR">val</field> <field name="OID">alias.0.VAR_Energie.VAR_Leistung_Momentan</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="LoBc9oA}{xbY)akBMXqT"> <field name="NUM">1</field> </shadow> <block type="get_value" id="hm2nF$NvSUz9w[Ph*f/d"> <field name="ATTR">val</field> <field name="OID">alias.0.VAR_Zendure.VAR_Einzustellende_Eingangsleistung</field> </block> </value> </block> </value> <next> <block type="control" id="O*;k.
?nQqdF;AGd[Yjl">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.VAR_Zendure.VAR_Einzustellende_Eingangsleistung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="0$zTn8u[.f
wpK+*xUS">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="controls_if" id="Qz5c%hJbta[0TsYo42G)">
<value name="IF0">
<block type="logic_compare" id="Iyp,~@V86|af4mY^[k6"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="Le+Q8Dtj[2q|fSs;jaVB"> <field name="ATTR">val</field> <field name="OID">alias.0.VAR_Zendure.VAR_AC_Modus</field> </block> </value> <value name="B"> <block type="math_number" id="c4c
K=AB02Qy7;CIS;C2">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="[xw(|,6{QxRl3l}OU|e">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.VAR_Zendure.VAR_AC_Modus</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="For~)Qm/@`puW%Y=Lwfo">
<field name="NUM">2</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block> -
@stephanh Oh super, vielen Dank. Eine Frage die Zeilen in Rot sind das die Datenpunkte? Sorry bin noch Recht frisch in der Materie.
-
@OnkelSep
Das sind alias:zu den daten Punkten in der Instanz. Hatte die mir so angelegt.
Und hier noch Datenpunkte, die fest angelegt hab.
-
@stephanh OK, werden die Automatisch angelegt? Oder muss ich die dann manuell anlegen. Kann im Moment nicht testen bin gerade nicht daheim.
-
@onkelsep Die musst du von Hand anlegen.
-
@stephanh OK; Vielen Dank
-
@stephanh Hmm irgendwas passt da nicht, hab das eben importiert, aber da ist nur der kleine Block drin. War der bei dir evtl. einzeln markiert?
-
@onkelsep werde es denke morgen nochmal Online stellen.
Hab einen weiteren Fehler gefunden. Hab die falsche Variable geschaltet. -
@stephanh OK Danke, das war tatsächlich nur der eine Block
-
@nograx
Klappt soweit super mit V1.8.8 , aber ich habe über den Datenpunkt "zendure-solarflow.0.info.connection" in den Benutzerdefinierten einstellungen Telegram angewiesen mir eine Nachricht zu schicken ob die Anlage mit der Cloud verbunden ist oder nicht. Leider bekomme ich jetzt alle 3 Std. eine Meldung das die Anlage offline ist und sofort darauf das sie online ist. Ist dieser ON/OFF wechsel so gewollt oder könntest du das während des Restarts deaktivieren.Dann verständniss fragen :
ist es normal das unter "zendure-solarflow.0.xxxxxxxxxx.packData.yyyyyyyyyyyy.model" immer AB1000 steht , auch wenn man ein Zendure AIO2400 hat .
Warum tauchen bei meinem System nun auch DPs auf, die nur für den Hyper und ACE interessant sind .
Warum kann an sonnigen Tagen der Dateninhalt von "zendure-solarflow.0.xxxxxxxx.calculations.energyWhMax" bei einer AIO 2400 grösser als 2400 Wh werden. Ich dachte das energyWhMax sich auf die Kapazität des Akkus bezieht, wodurch dann aber 2400 Wh die Max grenze wären.Ich weiss das sind viele Punkte , aber habe gesammelt .
Aber kann ohne bedenken sagen das der Adapter einer meiner Lieblingsadapter ist , nur weiter so. -
@muppibaer sagte in Test Adapter Zendure Solarflow:
@nograx
Klappt soweit super mit V1.8.8 , aber ich habe über den Datenpunkt "zendure-solarflow.0.info.connection" in den Benutzerdefinierten einstellungen Telegram angewiesen mir eine Nachricht zu schicken ob die Anlage mit der Cloud verbunden ist oder nicht. Leider bekomme ich jetzt alle 3 Std. eine Meldung das die Anlage offline ist und sofort darauf das sie online ist. Ist dieser ON/OFF wechsel so gewollt oder könntest du das während des Restarts deaktivieren.Ja das ist so "gewollt" bzw weiß ich aktuell nicht wie ich das anders lösen könnte. Der Restart vom Adapter ist zwingend nötig damit ein neue Login Daten erzeugt werden - ansonsten kommen irgendwann keine Daten mehr an. Beim Restart wird der Adapter immer in "offline" gesetzt, da ja die Verbindung getrennt wird. Du könntest mal versuchen den Datenpunkt "errorMessage" zu nutzen. Da sollte sich der Wert nur ändern wenn beim Login Fehler auftreten (natürlich schwer zu testen ).
Dann verständniss fragen :
ist es normal das unter "zendure-solarflow.0.xxxxxxxxxx.packData.yyyyyyyyyyyy.model" immer AB1000 steht , auch wenn man ein Zendure AIO2400 hat .Ja und Nein. Eine Zuordnung zum Batterietypen kann man nur über die Seriennummer machen. Diese beginnen beim AB1000 mit "A" und beim AB2000 mit "C". Da die SN beim AIO auch mit A anfängt meint mein Adapter es ist ein AB1000 ... definitiv etwas was ich noch optimieren werden.
Warum tauchen bei meinem System nun auch DPs auf, die nur für den Hyper und ACE interessant sind .
Weil Zendure die seit neusten bei allen Geräten mitsendet und mir das aktuell etwas zu viel Aufwand ist da noch eine Abfrage einzubauen ob der DP für das aktuelle Gerät Sinn ergibt... ansonsten würdest du im Log etliche Fehlermeldungen sehen das ein State nicht gesetzt werden kann weil er nicht existiert.
Warum kann an sonnigen Tagen der Dateninhalt von "zendure-solarflow.0.xxxxxxxx.calculations.energyWhMax" bei einer AIO 2400 grösser als 2400 Wh werden. Ich dachte das energyWhMax sich auf die Kapazität des Akkus bezieht, wodurch dann aber 2400 Wh die Max grenze wären.
Das sollte eigentlich nicht passieren, kannst du mir mal sagen was im DP "productName" im Root das AIO steht?
Ich weiss das sind viele Punkte , aber habe gesammelt .
Aber kann ohne bedenken sagen das der Adapter einer meiner Lieblingsadapter ist , nur weiter so.Danke
-
Hab nun das Blocky von @horst-werner leicht auf meine Bedürfnisse angeändert.
Dazu noch ein kleines Skript dazu geschrieben um die Accu Restlaufzeit in den IOBroker zu bekommen.danke @horst-werner für das Skript
Blocky Sreenshots:
Blocky Source Code:
ScreenShots der Alias und Variablen, wie ich Sie verwendet habe
IOBroker Lovelace ScreenShots: