NEWS
Test Adapter Zendure Solarflow
-
@diet99 nope ich habe den Fehler gerade gefunden nachdem ich das Loglevel hochgedreht habe
Ich habe ein Script welches das Entladelimit setzt. Beim setzen vom Entladelimit piept das HUB 1x. Ich habe heute morgen (wieso auch immer es war früh) folgende Sache geändert:
Ich hatte hier statt "SOC Gesamtsystem" auf "Last Update" gesetzt. Das hat dafür gesorgt das quasi durchgehend das Entladelimit auf 10% gesetzt wurde. Ich habs nun mal angepasst und schaue mal welches Objekt sich eignet
-
@lesiflo Kann ich da irgendwie helfen sobald ich das Gerät habe? Sollte Anfang Juli ankommen.
-
-
@lesiflo Kann man da einfach so sehen, was reinkommt? Gibts da so eine Art Debug-Modus?
Es dürfte eh interessant sein, was man in der App mit dem Hyper dann alles wird machen können. Die bisherige Dokumentation und bekannte Infos sind sehr spärlich. Oder ich hab sie übersehen.
Mich interessiert ja eher der ACE 1500.
-
@nograx said in Test Adapter Zendure Solarflow:
Mein Ansatz dazu sieht etwas anders aus.
Wenn Solarleistung > 50 greift folgende Logik:
Wenn SOC unter 20% dann outputLimit auf 200 Watt + aktuelle Solarleistung.
Wenn SOC unter 10% dann outputLimit auf 100 Watt + aktuelle Solarleistung.
Wenn SOC >= 6% (Entladelimit) dann nur die aktuelle Solarleistung.Final gibt der Wechselrichter dann die Leistung ab die im Haus benötigt wird (Hoymiles per AhoyDTU).
Das hat so den Vorteil das die Solarleistung schon mal direkt ins Haus geht und nicht mit Verlusten in die Akkus. Ein Ping Pong habe ich so auch nicht.
Guten Morgen! Könntest Du Dein entsprechendes Script bitte mal posten? Das wäre super.
Danke! -
@michije Sorry habe die Frage so nicht wahrgenommen. Theoretisch kann ich alles an Daten abfangen was auch in der App ankommt bzw. auch die entsprechenden Parameter übergeben. Praktisch ist es halt Aufwand die einzelnen Datenpunkte abzufangen. Ich selber interessiere mich tatsächlich für den ACE 1500, aber momentan ist meine Portokasse für derlei Spielerei aufgebraucht
Was ich anbieten kann ist das du mir deinen Hyper sobald du den in Betrieb genommen hast in der App freigibst, dann kann ich über die Api mal schauen was für Daten reinkommen und den Adapter ggf. anpassen.
-
@nograx said in Test Adapter Zendure Solarflow:
Was ich anbieten kann ist das du mir deinen Hyper sobald du den in Betrieb genommen hast in der App freigibst, dann kann ich über die Api mal schauen was für Daten reinkommen und den Adapter ggf. anpassen.
Das könnte ich für den ACE 1500 auch anbieten, falls ich ihn mir tatsächlich kurzfristig bestellen sollte. Ich habe mich bisher noch nicht endgültig entschieden.
-
@nograx said in Test Adapter Zendure Solarflow:
Sorry die letzten Versionen machen tatsächlich etwas Probleme mit der MQTT Verbindung. Weiß noch nicht genau wieso. Habe eine neue Version 1.6.7 bereitgestellt, die nun den Adapter alle 3 Stunden neu startet, ich hoffe damit werden die Verbindungen sauber beendet und neu aufgebaut.
Seither habe ich erstens keine Fehlermeldungen mehr und zweitens gibt es auch keine Situationen mehr, in denen die Verbindung scheinbar hängt und nichts mehr aktualisiert wird
-
@diet99 sagte in Test Adapter Zendure Solarflow:
Seither habe ich erstens keine Fehlermeldungen mehr und zweitens gibt es auch keine Situationen mehr, in denen die Verbindung scheinbar hängt und nichts mehr aktualisiert wird
Ich hatte diese Situation leider tatsächlich 1x. Aber kann auch sein das die anders ausgelöst wurde... einfach mal weiter beobachten, aber bin beruhigt das es scheinbar erstmal besser läuft.
-
@nograx vielen Dank für deine Arbeit zu diesem Adapter !!
Ich Nutzen diesen Erfolgreich in Verbindung mit meinem Hub 2000 und 2 x AB2000 und einem HMS 1600 4T + Shelly pro 3 em. Der WE ist über eine Messsteckdose ans Haus Netz angeschlossen (im Bild: WE-H1).
Meine Frage wäre hierbei, kann es zukünftig Probleme geben wenn der Punkt"OutputLimit" über die Software geschaltet wird?
Ich habe da mal gelesen das je nachdem welcher Punkte gesteuert werden, dieser ein max. Begrenzung hat (Speicher-glaube Eprom oder so)Opendtu ist auch vorhanden, leider habe ich hier aber öfters kein connect, daher Nutze ich diesen nicht zum schalten.
So sieht meine Nutzung aus- vielleicht gibt es ja Anregungen dazu...?
Zwecks Steuerung wieviel Strom ich Aktuell benötige schalte ich den Datenpunkt "setOutputLimit" alle 20 sec.
Nach dem Abgleich was der Shelly grade sagt erhöhe ich das Limit um 50 oder reduziere ich um den Wert 40.
Sobald der Akku den Stand von 99% erreicht hat wird das Limit auf 800, dem max Wert gesetzt.
Dann sind noch ein Paar kleine Sicherungen eingebaut das Limit auch nicht zu überschreiten.
So sieht es dann aus wenn die Sonne um kurz vor 08:00Uhr wieder aufgeht....
Bausteine:
Code:<block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="QID~k!m{lWcVcFw#jD7E" x="-887" y="-662"> <field name="SCHEDULE">*/20 * * * * *</field> <statement name="STATEMENT"> <block type="controls_if" id="7`}mCKI-R*%PCm/BnGP}"> <value name="IF0"> <block type="logic_multi_and" id="k#=i9jcuMDdmjQxa%k+l"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="6"></mutation> <value name="AND0"> <block type="logic_compare" id="iNO!!4;rq.[dMB4?sq^U"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="qd^K0zRI-kGf]QnA^w}-"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Strom-Bedarf.Ein-Aus-Schalter</field> </block> </value> <value name="B"> <block type="logic_boolean" id="`MdK*hD~XY:f~?UVY==7"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="v=AC.r.XE+O3y~-=@AFQ"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="9b]E-Wa/qM7ea}{iLL}2"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> </block> </value> <value name="B"> <block type="get_value" id="jlvt*Pwxa7?ZFM-.BRS|"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Strom-Bedarf.Max-Ausgabeleistung-Variabel</field> </block> </value> </block> </value> <value name="AND2"> <block type="logic_compare" id="[Pvs6U?@nhMV%{8Ox|rj"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id=",oe+q.E5s}+u}A8:P97M"> <field name="ATTR">val</field> <field name="OID">hmip.0.devices.3014F711A00034DF29AEA71A.channels.1.currentPowerConsumption</field> </block> </value> <value name="B"> <block type="math_number" id="cBr;o8PCi4r6U,43-dlF"> <field name="NUM">800</field> </block> </value> </block> </value> <value name="AND3"> <block type="logic_compare" id="]T+|nkIHqR.VL`(}wRV-"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="agGu!LsxR3KMK6_}jc)["> <field name="ATTR">val</field> <field name="OID">shelly.0.shellypro3em#08f9e0e88fc4#1.EM0.TotalActivePower</field> </block> </value> <value name="B"> <block type="math_number" id="eTLs)pTe49pl-M}f]@UK"> <field name="NUM">52</field> </block> </value> </block> </value> <value name="AND4"> <block type="logic_compare" id="Nu/_Mx-xDgZK$rtdrU`b"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="2)H?FlPnlascE6wu*j-x"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.electricLevel</field> </block> </value> <value name="B"> <block type="math_number" id="UujuHX=r*%Z1f(Id?Pbz"> <field name="NUM">99</field> </block> </value> </block> </value> <value name="AND5"> <block type="logic_compare" id="~iukRj0^f3:MikPMe55O"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="^]tBR-JhPjY+UfpVa*m5"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.electricLevel</field> </block> </value> <value name="B"> <block type="math_number" id="_1=%]j:20(cd:cBP;THl"> <field name="NUM">12</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="O%4-8]mIvXaE}_ClP{?x"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="gP:(6r-?%dO!TFa81u7+"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="DWMVlF_337EamIGXj(cm"> <field name="NUM">1</field> </shadow> <block type="get_value" id="fMImP}*+1ceQiw-}^e2A"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> </block> </value> <value name="B"> <shadow type="math_number" id="MJ3yptAe,2_mgG/`JjzQ"> <field name="NUM">50</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="BUa$*`/h5Md%,.%vpq=["> <value name="IF0"> <block type="logic_multi_and" id="KL[6,bwN+q;6`KYz/#%$"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation> <value name="AND0"> <block type="logic_compare" id="g0tgkIb24FfNf.oCSLtH"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="0Lz,8.$[1i4h}tMQwmf+"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Strom-Bedarf.Ein-Aus-Schalter</field> </block> </value> <value name="B"> <block type="logic_boolean" id="TT1,b!r;NDHT([5j_yM|"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="DM7Eh/S;a|O%Q`Kp[5h{"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="3r2[~P{@h_c-|UXY.)4x"> <field name="ATTR">val</field> <field name="OID">shelly.0.shellypro3em#08f9e0e88fc4#1.EM0.TotalActivePower</field> </block> </value> <value name="B"> <block type="math_number" id="yD,oh=VhiO^InIWB/iLF"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="AND2"> <block type="logic_compare" id="tQJajCB_LJ7J8)68bg94"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="=*6Tv`?$_0mP`cW_Q*PD"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.electricLevel</field> </block> </value> <value name="B"> <block type="math_number" id="[;s~%+=xEyVtsHH:v$#Z"> <field name="NUM">99</field> </block> </value> </block> </value> <value name="AND3"> <block type="logic_compare" id="@bS?,P_LcgT8CVe?(g2q"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="9q{2Zk5D-|vVDTQ$ApHg"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> </block> </value> <value name="B"> <block type="math_number" id="@K!]50(H}]!Yi]npREP|"> <field name="NUM">50</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="TrCxAA07[f6xs-g?$aNT"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="Whe0bL,BR!!LZ)EC1ezW"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="DWMVlF_337EamIGXj(cm"> <field name="NUM">1</field> </shadow> <block type="get_value" id="z.ihH7Ip)EAB~I*L_MK_"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> </block> </value> <value name="B"> <shadow type="math_number" id="VwS^[mQK68ERR|T42fZf"> <field name="NUM">40</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="Pjt[JXGB]]ulP~WOUX:G"> <value name="IF0"> <block type="logic_multi_and" id="LPi}T3]ft*qi_laeelrd"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="logic_compare" id="#^Msp7Sdkb3%Opc1/GaM"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?.+c7rvW{`c2hkSyew?w"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Strom-Bedarf.Ein-Aus-Schalter</field> </block> </value> <value name="B"> <block type="logic_boolean" id="9P8Lu5G@_*@k00=+|stM"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="~LiQ2/7Rm-?kx}xAYr!B"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="RVf7*MzqeI@,U.$_fb+g"> <field name="ATTR">val</field> <field name="OID">shelly.0.shellypro3em#08f9e0e88fc4#1.EM0.TotalActivePower</field> </block> </value> <value name="B"> <block type="math_number" id="7c6~AE0SnDvOmIw=./^%"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="AND2"> <block type="logic_compare" id="@@Nfv_{Q*{[aY#l9swq8"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="aupCB1cL39)j+5#O(c*n"> <field name="ATTR">val</field> <field name="OID">hmip.0.devices.3014F711A00034DF29AEA71A.channels.1.currentPowerConsumption</field> </block> </value> <value name="B"> <block type="math_number" id="Yl^+dEySgRenWL%yR]vZ"> <field name="NUM">950</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="=y]If,/0lbDP]6Q[Q|!~"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="o@OP}hhwf)ba|*aLvM(4"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="DWMVlF_337EamIGXj(cm"> <field name="NUM">1</field> </shadow> <block type="get_value" id="SN:_xQ|hz[Nmu3h)$lL!"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> </block> </value> <value name="B"> <shadow type="math_number" id="Y=TmgDa$d14dCWxN5q)j"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="IurpB.5mZlsI2Pzc$Bz1"> <value name="IF0"> <block type="logic_multi_and" id="J!Ozcr8nl}5L+,4,KI1z"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="logic_compare" id="yXuLbP+7EXgUG`hG34tZ"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="xt++nd)/xW,5KNY:7=b}"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Strom-Bedarf.Ein-Aus-Schalter</field> </block> </value> <value name="B"> <block type="logic_boolean" id="_h*hWDjxgLJ)Wd]s~JG+"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="F9aCAmesR8}gsYy)zp_h"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id=")dC_|+`ncsvFFlYX^4h3"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.electricLevel</field> </block> </value> <value name="B"> <block type="math_number" id="7XeDQX+p6K,y*IT);9F%"> <field name="NUM">99</field> </block> </value> </block> </value> <value name="AND2"> <block type="logic_compare" id="T,wzqr$Nunc|D#^@67Zp"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="r^R18s8R/;1[Ox_xKtc$"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.packInputPower</field> </block> </value> <value name="B"> <block type="math_number" id="+Q+9QK+#(~GqNfRR0EH-"> <field name="NUM">50</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="QWqXm7WHcUd_!@:%.}Fw"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Qm;T]0}CQV.C(?2ZR3;2"> <field name="NUM">800</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="=y$=%2:~k0@EG$,dOV0l"> <value name="IF0"> <block type="logic_compare" id="j*mv}e@5k%2PY%;f55kN"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id=")jOY=/@6fs0l*N`JFW7("> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.A8yh63.0cWQxK41.control.setOutputLimit</field> </block> </value> <value name="B"> <block type="math_number" id="0yX*1WZpq4dR]{+7o.io"> <field name="NUM">950</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="=0|JXTb7V#]MUG`(lcW?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom-Bedarf.Ein-Aus-Schalter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="|=i+uggXg(nhnV9wY=,}"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="Bcr^qN/8c1K`U)Ggg]Iy"> <value name="IF0"> <block type="logic_compare" id="Wb2P5YQz97@?4b51tqaX"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="sg%T6e]v7Y0{.eP0Gqet"> <field name="ATTR">val</field> <field name="OID">hmip.0.devices.3014F711A00034DF29AEA71A.channels.1.currentPowerConsumption</field> </block> </value> <value name="B"> <block type="math_number" id="t_.}|JR%1e3#DD$Hp#*="> <field name="NUM">950</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="+AfgB(iGTCsq)@Qz(#_{"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom-Bedarf.Ein-Aus-Schalter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="3{a]rZLPU/2fQFdRo1i-"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
Edit-Code einmal angepasst.
-
@yoda Ich habe das Thema vor Kurzem bei Facebook verfolgt. Ich kann mir aber nicht vorstellen das das zum Problem wird.
-
@yoda EPROM nutzt man nicht mehr. Und die Werte kommen aus der Cloud etc. das wird kein Problem werden da wurde sich etwas für ein ganz anderes Setup "zusammen gesponnen".
-
@romestylez
@nograx
Alles klar, Danke für die Rückmeldung. -
@nograx Ich habe den Hyper heute angeschlossen, der Zendure Adapter läuft auch grün aber bis auf info-connection (true) hat er keine Objekte angelegt. Du kannst mir gerne mal per PM deine Zendure Email schicken, dann kann ich ihn dir mal freigeben.
-
Nach dem heutigen Update auf 1.6.7 habe ich unzählige Fehler im Log.
Kann ich selbst irgendwas tun oder muss ich auf das nächste Update warten?Gruß Markus
-
Du könntest das Log in Textform eingebettet in CodeTags posten. Dann könnten das auch mehr Helfer lesen.
Mit Bildchens kannste nix anfangen. -
@unbekannt Bei mir läuft die 1.6.7 komplett unauffällig. Da muß was anderes faul sein bei Dir.
-
@Thomas-Braun ich habe den Logauszug im Post oben ergänzt.
@diet99 hast du einen Tipp für mich, wo ich schauen könnte? "DB closed" klingt für mich nicht so trivial
-
@unbekannt said in Test Adapter Zendure Solarflow:
@diet99 hast du einen Tipp für mich, wo ich schauen könnte? "DB closed" klingt für mich nicht so trivial
Da kann ich leider nichts dazu beitragen. Ich denke, da wäre @nograx der bessere Ansprechpartner.
-
Moin, bin zur Zeit im Urlaub, daher wird’s so schnell kein Update geben. Ich schließe auch aus das es an der speziellen Version liegt. Hast du einige Versionen übersprungen? Ggf würde ich mal versuchen die iobroker Installation auf einen aktuellen Stand zu bringen. Die Meldungen kommen von der iobroker Instanz und nicht vom Adapter selbst…
Ich würde hier vor allem auf den js-Controller tippen…