NEWS
Test Adapter Zendure Solarflow
-
@diet99 Guten Abend,
ich habe noch die 1.6.4 und bin in der EU Cloud. Bei mir tritt der Fehler (Glücklicherweise) nicht auf.
Vielleicht kann mir aber jemand in einer anderen Sache helfen. Mir geht es um die Trägheit bei einer Änderung. Wenn ich die Ausgangsleistung von z.B. 200W auf 400W ändere, so braucht das Zusammenspiel Zendure/Hoymiles fast eine Minute um den Anstieg abzubilden. Liegt das an der Zendure oder am Hoymiles ? Weiss das jemand zufällig und läßt sich das beschleunigen ? Ist ein Zusammenspiel mit einem anderen Wechselrichter schneller bei Änderungen ?
Herzliche Grüße
Bernd@bennobaer Das liegt am Hub. Rauf braucht der recht lange, pro Sekunde max. 6 Watt. Runter geht das etwas schneller ca. 25 Watt pro Sekunde. Sofern du OpenDTU-Onbattery im Einsatz hast kannst du das damit regeln. Die Leistung am Hub immer auf 800 Watt setzen und nur noch über die DTU regeln.
-
Aktuelle Test Version | 0.1.0-alpha.0
Veröffentlichungsdatum | 26.10.2023
Github Link | https://github.com/nograx/ioBroker.zendure-solarflow
npm Link | https://www.npmjs.com/package/iobroker.zendure-solarflow
Adapter um Daten vom Zendure Solarflow HUB abzufragen und die Steuerung der Ausgabeleistung zu beeinflussen.Der Adapter nutzt die Cloud von Zendure, eine lokale Anbindung ist leider nicht möglich. Wichtig dabei zu erwähnen ist, das vermutlich der globale Server genutzt werden muss. Ich möchte mein System ungerne wieder auf den EU Server schieben. Falls hier jemand ist der das System auf dem EU Server hat kann ja gerne mal Feedback geben ob es mit dem Adapter gefunden wird.
Ich würde mich freuen wenn der Adapter getestet wird, bei mir selbst funktioniert es bereits recht stabil und zuverlässig.
Feedback gerne hier im Thread!
-
Hallo zusammen,
ich habe mir den Zendure Solarflow Hyper bestellt und gerade diesen Adapter gesehen. Der Hyper funktioniert ja etwas anders als der Hub (AC Laden, kein externer WR nötig etc). Gibt es Planungen, diesen Adapter zu erweitern, so dass er auch den Hyper unterstützt, so dass ich je nach dynamischen Strompreis den Akku auch laden kann? Vorausgesetzt natürlich, dass Zendure die Schnittstellen offen lässt.. -
Hallo zusammen,
ich habe mir den Zendure Solarflow Hyper bestellt und gerade diesen Adapter gesehen. Der Hyper funktioniert ja etwas anders als der Hub (AC Laden, kein externer WR nötig etc). Gibt es Planungen, diesen Adapter zu erweitern, so dass er auch den Hyper unterstützt, so dass ich je nach dynamischen Strompreis den Akku auch laden kann? Vorausgesetzt natürlich, dass Zendure die Schnittstellen offen lässt..@michije Ich denke dafür müsste mal dann erstmal wissen ob und was der Hyper für Daten liefert.
https://github.com/Zendure/developer-device-data-report -
@michije Ich denke dafür müsste mal dann erstmal wissen ob und was der Hyper für Daten liefert.
https://github.com/Zendure/developer-device-data-report@lesiflo said in Test Adapter Zendure Solarflow:
@michije Ich denke dafür müsste mal dann erstmal wissen ob und was der Hyper für Daten liefert.
https://github.com/Zendure/developer-device-data-reportAngeblich will Zendure ja auf längere Sicht ein komplett lokales Management ohne Cloud-Zwang ermöglichen. So zumindest berichtete Oliver Scheithauer in seiner Tätigkeit als Kundenkontakt zu Zendure im Photovoltaikforum vor einiger Zeit.
Man darf gespannt sein!
-
Ich habe heute ein super Phänomen beobachtet. Wenn ich den Zendure Adapter starte liefert das HUB mir teilweise keine Daten (App und ioBroker). Außerdem piept das HUB dauerhaft. Sobald ich den Adapter beende werden wieder Daten in die App geliefert und das Piepen ist weg. Wenn das Piepen mal ne halbe Sekunde oder so aufhört liefert der Adapter auch direkt Daten.
Das Piepen kommt direkt nach dem letzten Log Eintrag:
zendure-solarflow.0 2024-06-24 14:49:00.646 info [onConnected] Connected with MQTT! zendure-solarflow.0 2024-06-24 14:49:00.646 info [onConnected] Connected with MQTT! zendure-solarflow.0 2024-06-24 14:48:59.564 info [onReady] Found 1 SolarFlow device(s). zendure-solarflow.0 2024-06-24 14:48:57.733 info [login] Login to Zendure Rest API successful!Ich habe keine Fehler im Log. Kann es sein das Zendure was geändert hat ? Ich habe schon ältere Versionen vom Adapter getestet zurück bis 1.6.3 das hat leider auch nicht geholfen.
-
Ich habe heute ein super Phänomen beobachtet. Wenn ich den Zendure Adapter starte liefert das HUB mir teilweise keine Daten (App und ioBroker). Außerdem piept das HUB dauerhaft. Sobald ich den Adapter beende werden wieder Daten in die App geliefert und das Piepen ist weg. Wenn das Piepen mal ne halbe Sekunde oder so aufhört liefert der Adapter auch direkt Daten.
Das Piepen kommt direkt nach dem letzten Log Eintrag:
zendure-solarflow.0 2024-06-24 14:49:00.646 info [onConnected] Connected with MQTT! zendure-solarflow.0 2024-06-24 14:49:00.646 info [onConnected] Connected with MQTT! zendure-solarflow.0 2024-06-24 14:48:59.564 info [onReady] Found 1 SolarFlow device(s). zendure-solarflow.0 2024-06-24 14:48:57.733 info [login] Login to Zendure Rest API successful!Ich habe keine Fehler im Log. Kann es sein das Zendure was geändert hat ? Ich habe schon ältere Versionen vom Adapter getestet zurück bis 1.6.3 das hat leider auch nicht geholfen.
@romestylez Verwendest Du denselben Zendure-Account für die App und für den Adapter? Solche Effekte meine ich anfangs auch mal gehabt zu haben, aber seit ich einen eigenen Account für den Adapter verwende, für den ich dann ein Device sharing eingerichtet habe, läuft alles ohne Probleme.
-
@romestylez Verwendest Du denselben Zendure-Account für die App und für den Adapter? Solche Effekte meine ich anfangs auch mal gehabt zu haben, aber seit ich einen eigenen Account für den Adapter verwende, für den ich dann ein Device sharing eingerichtet habe, läuft alles ohne Probleme.
@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

-
@michije Ich denke dafür müsste mal dann erstmal wissen ob und was der Hyper für Daten liefert.
https://github.com/Zendure/developer-device-data-report -
@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.
-
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.
@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! -
Hallo zusammen,
ich habe mir den Zendure Solarflow Hyper bestellt und gerade diesen Adapter gesehen. Der Hyper funktioniert ja etwas anders als der Hub (AC Laden, kein externer WR nötig etc). Gibt es Planungen, diesen Adapter zu erweitern, so dass er auch den Hyper unterstützt, so dass ich je nach dynamischen Strompreis den Akku auch laden kann? Vorausgesetzt natürlich, dass Zendure die Schnittstellen offen lässt..@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.
-
@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.
-
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.
@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

-
@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.
-
@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.
-
@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.
-
@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 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".
-
@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".
