NEWS
(gelöst) Welche Wallboxen funktionieren mit ioBroker ?
-
für Jarvis (sollte auch mit jeder anderen Vis funktionieren)
habe ich mir auch ein kleines Optionsmenü gebaut
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="VBfM/`3J*IQo^2Bi~xC4" x="62" y="-237"> <field name="COMMENT">0=Automatik, 1=6A, 2=8A, 3=10A, 4=12A, 5=14A, 6=16A</field> <next> <block type="on" id="#`K|UmY}IOZFNu:/lIy~"> <field name="OID">0_userdata.0.Auto_Garage.Wallbox_Automatik_An/Aus</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id=":a)gVQ.z!#8RGg6rO^le"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="G87xS_WUcMZqVPjZ`H^E"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="rGev9T(!x7.z5~~ySmk*"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="6RLLk,xNf#olSy%Daqlx"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="request" id="nVNQ[E?3qK2hNf{B]|=u"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="qDjo]hi7D3~o8!3i!WBT"> <field name="TEXT">http://192.168.20.148/cnf?cmd=override_device&dev_id=E1&flags=e</field> </shadow> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="Q)AXundp{)l0Z]6@FZ2:"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="[E2R_@?ZI!8UgQoS-ipv"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="C-zWp8#]US7aQVsYBbH/"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="request" id="bu;K_]s,o0@}R.Z_4KA_"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="B+$h-pF%-(C$`XIv]2N{"> <field name="TEXT">http://192.168.20.148/cnf?cmd=override_device&dev_id=E1&flags=E</field> </shadow> </value> <next> <block type="control" id="lbb{Ce=J2[-$/?FraGf8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">modbus.2.holdingRegisters.8093_charging_cur_limit</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">4</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="`Hj/YceENo[og-N+#,mW"> <field name="NUM">6</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="%4ug}=$Ito?4$_u7]ePp"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="JNlwdJRk)O[6Fr9H_H9A"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="dNHmH[PkToA}C:k9F(g4"> <field name="NUM">6</field> </block> </value> </block> </value> <statement name="DO2"> <block type="request" id="c@]xP#UUz:,2WBrocn,x"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="fuNU=b-V3(MX2q!vk)rh"> <field name="TEXT">http://192.168.20.148/cnf?cmd=override_device&dev_id=E1&flags=E</field> </shadow> </value> <next> <block type="control" id="T![y]Pc/cWj7q(-#L[qO"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">modbus.2.holdingRegisters.8093_charging_cur_limit</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">4</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="/D1UjlHBkP?UeEc9R4ZT"> <field name="NUM">16</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> <block type="comment" id="QOP-f6wcpXH,VM!3sudg" x="63" y="463"> <field name="COMMENT">Kabel von Auto abgezogen, dann Automatik einschalten</field> <next> <block type="on" id="NI:w3BdnxL.43%$PZl1Q"> <field name="OID">modbus.2.holdingRegisters.8092_charge_pilot_state</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"> <block type="controls_if" id="HtPI3qI-n}#w5p@Lhbrk"> <value name="IF0"> <block type="logic_compare" id="6,.v{aIu8dV{:Q{G]T,R"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="O:;2uhH+k)68BYaHB2!?"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=".=$L^aG0vYPUy.PL:DGu"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="K2~)4;wXSJy7rQ?L[8)w"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Auto_Garage.Wallbox_Automatik_An/Aus</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_number" id="m%C]jOQk*DX%g0w!4J5$"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </xml>
In kombination mit TeslaLogger und der Wallbox habe ich ein Script welches checkt ob das auto mit unter 20% eingesteckt wurde und lädt es dann auf min 25% und schaltet dann in den Automatik Modus (bei mir wegen PV-Überschuss)
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="~acE!v5@DZ3[9NCFKIyg">NotLadung</variable> </variables> <block type="comment" id="ER/,INUxeSuCLA*V4LEQ" x="163" y="163"> <field name="COMMENT">bei script start, variable auf false</field> <next> <block type="variables_set" id="K*=xZKL~XEX+9q!0NCR#"> <field name="VAR" id="~acE!v5@DZ3[9NCFKIyg">NotLadung</field> <value name="VALUE"> <block type="logic_boolean" id="~4a,fXei~iZ,?hqx@dz."> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="comment" id="Wf{jJ.l,n#P~E^DM6gOh"> <field name="COMMENT">cFos melden angeschlossen</field> <next> <block type="on" id="h!u?{-nkd}DEk3M1y/@@"> <field name="OID">modbus.2.holdingRegisters.8092_charge_pilot_state</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"> <block type="comment" id="ccmc9SCv`-s_G;[f.PwK"> <field name="COMMENT">prüfe ob zuhause und Batterie unter 20%</field> <next> <block type="comment" id="cls8BtrgRqK[l_eP3oxT"> <field name="COMMENT">falls ja setze auf max Ladegeschwindigkeit</field> <next> <block type="controls_if" id="AaI@fO-~npI:%B1~Aw-E"> <value name="IF0"> <block type="logic_operation" id="T6cRLMIJ|qVCOcQM^$YM" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="aKu|WE247OwYt027-bEy"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="]~pfOAFxXNU;1@PzDdR^"> <field name="ATTR">val</field> <field name="OID">mqtt.0.TeslaLogger.TLGeofence</field> </block> </value> <value name="B"> <block type="text" id="{SA_;gmF}^8d`-7b17G7"> <field name="TEXT">Zuhause</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="MklH396Q?)MFP?@o-e^$"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="u`|q:#~x4Tie:2TY@4!*"> <field name="ATTR">val</field> <field name="OID">mqtt.0.TeslaLogger.battery_level</field> </block> </value> <value name="B"> <block type="math_number" id="{yNyP]P.;?kXb*}W/}Hq"> <field name="NUM">20</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="VzNZ,zvTLdQ){*?o8WA9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Auto_Garage.Wallbox_Automatik_An/Aus</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="pb2l27j=Ekcw/BNjPUp."> <field name="NUM">6</field> </block> </value> <next> <block type="comment" id="~EH4Bm@W0WS6zH+|~:Z?"> <field name="COMMENT">Variable auf true</field> <next> <block type="variables_set" id="W9$Q8T/[o[q,+QsBYcr#"> <field name="VAR" id="~acE!v5@DZ3[9NCFKIyg">NotLadung</field> <value name="VALUE"> <block type="logic_boolean" id="Cjffb)!GIyNH2Y]X8.2y"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="on" id="5QIK^W1x4deOPRt`IU-J"> <field name="OID">mqtt.0.TeslaLogger.battery_level</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"> <block type="comment" id="ql=r}%F9H{0]0=fr7pJB"> <field name="COMMENT">geladen auf 25%, Automatik einschalten</field> <next> <block type="comment" id="]]wscPI*R0gxvtV31EiN"> <field name="COMMENT">variable prüfen ob NotlLdung oder normalbetrieb</field> <next> <block type="controls_if" id="8O(*(^Jf0Bi`8e;9?niK"> <value name="IF0"> <block type="logic_operation" id="CLb;bC8y%F-T6,G$Y5FI" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="lbSfqZo(qI-([erbR?T2"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id="!!xqAY}o)N}rwtxC/Y!K"> <field name="ATTR">val</field> <field name="OID">mqtt.0.TeslaLogger.battery_level</field> </block> </value> <value name="B"> <block type="math_number" id="O1]SfluS=^6M(SnKN|@Z"> <field name="NUM">25</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="r+dTjx92]=bz0{SK^6oe"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="B1,N(QC(TC_Oy~5NH2~G"> <field name="VAR" id="~acE!v5@DZ3[9NCFKIyg">NotLadung</field> </block> </value> <value name="B"> <block type="logic_boolean" id="q/xHK)]Zv0JvxaM7*Pj2"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=".}@RNsNzR#TqeuJ%!TI}"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Auto_Garage.Wallbox_Automatik_An/Aus</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="H:Uc%}WR8}T%!XV;J9X("> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
viel spaß damit
-
@schimi Danke, nach ändern der Warte und Impulszeiten bekomme ich nun ein paar Werte übermittelt, an die Werte vom Modbuszähler komm ich noch nicht, aber eine Verbindung zur Cfos ist ein Guter Anfang.
Danke -
@neck Wenn du schon die "neue" Version hast mit Modbus Zähler, wird meine variante natürlich nicht ganz funktionieren (habe noch S0)...
such mal auf der cfos Seite nach Infos... ich habe mir da auch alles her geholt...
oder den Support anschreiben... die sind recht hilfsbereit....
-
@schimi :
habe hier eine cfos mit S0-Zähler und würde gerne die von der Wallbox gelieferte Energie mit dem iobroker auslesen. Im Webinterface der cfos wird ja die Gesamtenergie als "Total: xxx,x kWh" angezeigt.
Wie beschrieben habe ich zwei neue modbus-Instanzen angelegt und dort jeweils die Holding-Register 8058 energy und 8062 power angelegt.
In den hierzu gehörenden Objekten wird jedoch bei beiden Werten jeweils 0 angezeigt - nur zu Beginn ganz kurz in grün - dann dauerhaft in gelb.
Was mache ich denn da falsch? -
Hi... also 8058 (Importierte Leistung) sollte einen wert anzeigen (den gleichen wie auf dem Display des zählers)
8062 sollte beim laden was anderes als 0 anzeigen....
Hast du beim Modbus-Adapter meine einstellungen und register vom oberen beitrag importiert?
https://forum.iobroker.net/post/855610Ist der zähler richtig angeschlossen (zeigt die wallbox im webinterface alles richtig an?
Ist es der Zähler der bei der cfos dabei war oder ein "eigener" -
@schimi
hallo und danke für die schnelle Antwort!
Ja, die WB zeigt im Webinterface den kummulierten Verbrauch (Abgabe) und das aktuelle Laden an. (Der SO-Zähler ist werksseitig in der WB eingebaut.)
Ich habe lediglich die Wartezeit auf jeweils 30000 ms reduziert.
Im iobroker-Protokoll sehe ich, dass beide modbus-Instanzen regelmäßig connecten und disconnecten - ohne Fehlermeldung.
Ist es tatsächlich richtig, in beiden modbus-Instanzen jeweils beide Datenpunkte (8058 u. 8062) im Holding-Register anzulegen?
Nach wie vor zeigen alle Werte beim Start grüne Nullen, die dann sofort zunächst schwarz und dann gelb werden - auch wenn aktuell geladen wird -
@bricoleur
ne... eigentlich reicht es bei der Zähler instanz ... habe mal eben zwei Screenshots gemacht und angefügt...Auch sollten die nicht neu starten die ganze Zeit.... bei mir wird der Adapter nur "gelb" (und verbindet sich schnell neu) wenn ich das WLAN neu starte und die Box damit das Signal verliert..
-
@schimi
ich vermute, dass das regelmäßige Dis- und Reconnecten damit zusammenhängt, dass parallel noch mein PV-Wechselrichter und die cfos über modbus miteinander kommunizieren und der Wechselrichter selbst sich über modbus Daten aus einem Einspeise-/Verbrauchszähler im HAK holt. Das passiert auch in der modbus-Instanz für den Wechselrichter. (Da bekomme ich aber plausible Daten.)
Vielleicht sollte ich mal etwas mit den Lese- und Wartezeiten rumspielen... -
@schimi
"aktiver Import" wird jetzt richtig angezeigt! Ich habe in den Holding Registern der Zähler-Instanz noch die "zyklische Abfrage" angehakt - default war "nicht aktiviert"
Geladen wird gerade nicht aber die Null da ist jetzt schwarz - das lässt hoffen! -
ah ok... ich greife nur jeweils einmal auf die Geräte zu.... nicht von mehreren Geräten auf einmal, bin gar nicht sicher ob das überhaupt sauber funktioniert... mehrere Verbindungen auf einmal (hoffe das war irgendwie verständlich )
Wäre super wenn du schreiben könntest ob es klappt
-
@schimi
ja, der Abruf der Ladeenergie (8058) funktioniert jetzt - rufe ich i.M. stündlich ab. Daraus kann ich dann den Bezug pro Ladung, täglich oder monatlich ermitteln.
Geladen habe ich seit vorgestern noch nicht - aber ich denke, das wird wohl auch funktionieren.
Vielen Dank für die Hilfe! -
wieder ich Da mich nun mehrere Personen auf die Steuerung angesprochen haben (erster Teil von https://forum.iobroker.net/post/855613)
und ich die Chat Funktion etwas "unglücklich" finde (z.B. keine Bilder), hier mal eine kleine Erweiterung dazu:- blockly bleibt (siehe oben) gleich
- Datenpunkt nicht vergessen zu erstellen (Ich benutze oben "0_userdata.0.Auto_Garage.Wallbox_Automatik_An/Aus")
- so habe ich das Gerät in Jarvis eingebunden (als Steckdose)
Durch Erweiterung des blockly (und des Jarvis "Gerätes") kann man auch verschiede Stufen einbauen.
Fand ich aber unpraktisch und überfrachtet... deshalb nur die 3 Stufen bei mir.Ich hoffe das bringt die Personen weiter
-
@schimi sagte in (gelöst) Welche Wallboxen funktionieren mit ioBroker ?:
z.B. keine Bilder
ist das so?
-
@homoran
Danke für die Nachricht...aber wie geschrieben, kann ich nicht einfach ein Bild (z.B. Screenshot) aus der zwischenablage einfügen.... im Forum geht´s...
Aber gerne im Chat weiter, falls ich zu bl.. bin dafür (kann durchaus sein )