NEWS
Wallbox Mennekes Amtron auslesen - Adapter aus Skript?
-
@Marc_St
Hallo, als Neuling starte ich gerade mit meinen ersten Versuchen. Ich habe Dein Beispiel verwendet und es läuft auf Anhieb. Vielen Dank schon mal für Deinen Beitrag!Die Abfrage der "abfrage_Statistics_Annual" wirft eine Fehlermeldung (habe ich erst mal auskommentiert).
Hast Du eine Idee, wie man die Strombegrenzung als POST setzten könnte? (parameter RemoteCurr)
Ich werde aus den Hinweisen unter https://github.com/lephisto/amtron/blob/master/docs/api/ChargeData/post.md nicht richtig schlau. Wie würde so ein post mittels curl - Aufruf aussehen?LG S.
-
@x-sven sagte in Wallbox Mennekes Amtron auslesen - Adapter aus Skript?:
@Marc_St
Hast Du eine Idee, wie man die Strombegrenzung als POST setzten könnte? (parameter RemoteCurr)
Ich werde aus den Hinweisen unter https://github.com/lephisto/amtron/blob/master/docs/api/ChargeData/post.md nicht richtig schlau. Wie würde so ein post mittels curl - Aufruf aussehen?Ja, es ist dort nicht toll erklärt. Hier in paar Beispiele:
Stromstärke auf 6 Ampere stellen:
curl -d '{ "Permanent": true, "RemoteCurr": 6, "AutoChg": null, "ChgState": null, "Uid": null}' -H "Content-Type: application/json" -X POST http://10.0.1.28:25000/MHCP/1.0/ChargeData?DevKey=XXXXXX
Ladevorgang pausieren
curl -d '{ "Permanent": true, "RemoteCurr": 6, "AutoChg": null, "ChgState": "Pause", "Uid": null}' -H "Content-Type: application/json" -X POST http://10.0.1.28:25000/MHCP/1.0/ChargeData?DevKey=XXXXXX
Ladevorgang fortsetzen:
curl -d '{ "Permanent": true, "RemoteCurr": 6, "AutoChg": null, "ChgState": "Continue", "Uid": null}' -H "Content-Type: application/json" -X POST http://10.0.1.28:25000/MHCP/1.0/ChargeData?DevKey=XXXXXX
Viele Grüße!
-
In ioBroker als JC Skript stark vereinfacht - nur um den Syntax zu illustrieren - also so:
var curlcommand = "curl -d '{ \"Permanent\": true, \"RemoteCurr\": 6, \"AutoChg\": null, \"ChgState\": \"Continue\", \"Uid\": null}' -H \"Content-Type: application/json\" -X POST http://10.0.1.28:25000/MHCP/1.0/ChargeData?DevKey=XXXXXX"; function AmtronBeschreiben() { exec(curlcommand, function(err, stdout, stderr) { if (err) { log(stderr,'error'); return; } }); } AmtronBeschreiben(); // bei Scriptstart
Der Trick ist also das Escapen der Anführungsstrichen in den Anführungsstrichen.
Die XXXXXX sind natürlich durch den individuellen Key zu ersetzen. Die IP-Adresse auch. Der Port dürfte hingegen immer stimmen.
-
@Marc_St
Servus, leider bin ich ein absoluter Neuling mit ioBroker und habe keinerlei Ahnung von JS. Habe dein obiges Script mal kopiert und unter Scripte ein neues JS-Script erstellt. IP und PNI eingetragen. Leider funktioniert gar nichts .-(.
Die Javascript-Instanz kackt ab, wenn ich starte.
Könnte mir bitte jemand helfen? Hier der log:
host.buanet-iobroker1 2021-03-25 16:33:07.990 info Restart adapter system.adapter.javascript.0 because enabled
host.buanet-iobroker1 2021-03-25 16:33:07.989 error instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
host.buanet-iobroker1 2021-03-25 16:33:07.989 error Caught by controller[2]: at Pipe.<anonymous> (net.js:675:12)
host.buanet-iobroker1 2021-03-25 16:33:07.989 error Caught by controller[2]: at Socket.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.989 error Caught by controller[2]: at Socket.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at Socket.<anonymous> (internal/child_process.js:444:11)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at maybeClose (internal/child_process.js:1022:16)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at ChildProcess.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at ChildProcess.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at ChildProcess.exithandler (child_process.js:299:7)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at script.js.Abfrage_Amtron:53:28
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[2]: at JSON.parse (<anonymous>)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[2]: SyntaxError: Unexpected end of JSON input
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Pipe.<anonymous> (net.js:675:12)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Socket.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Socket.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Socket.<anonymous> (internal/child_process.js:444:11)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at maybeClose (internal/child_process.js:1022:16)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at ChildProcess.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at ChildProcess.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at ChildProcess.exithandler (child_process.js:299:7)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at script.js.Abfrage_Amtron:89:28
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at JSON.parse (<anonymous>)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[1]: SyntaxError: Unexpected end of JSON input
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Pipe.<anonymous> (net.js:675:12)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Socket.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Socket.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Socket.<anonymous> (internal/child_process.js:444:11)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at maybeClose (internal/child_process.js:1022:16)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at ChildProcess.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at ChildProcess.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at ChildProcess.exithandler (child_process.js:299:7)
host.buanet-iobroker1 2021-03-25 16:33:07.983 error Caught by controller[0]: at script.js.Abfrage_Amtron:131:28
host.buanet-iobroker1 2021-03-25 16:33:07.983 error Caught by controller[0]: at JSON.parse (<anonymous>)
host.buanet-iobroker1 2021-03-25 16:33:07.979 error Caught by controller[0]: SyntaxError: Unexpected end of JSON input
javascript.0 2021-03-25 16:33:07.876 error (13217) script.js.Abfrage_Amtron: SyntaxError: Unexpected end of JSON input -
@ritzo said in Wallbox Mennekes Amtron auslesen - Adapter aus Skript?:
@Marc_St
Servus, leider bin ich ein absoluter Neuling mit ioBroker und habe keinerlei Ahnung von JS. Habe dein obiges Script mal kopiert und unter Scripte ein neues JS-Script erstellt. IP und PNI eingetragen. Leider funktioniert gar nichts .-(.
Die Javascript-Instanz kackt ab, wenn ich starte.
Könnte mir bitte jemand helfen? Hier der log:
host.buanet-iobroker1 2021-03-25 16:33:07.990 info Restart adapter system.adapter.javascript.0 because enabled
host.buanet-iobroker1 2021-03-25 16:33:07.989 error instance system.adapter.javascript.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
host.buanet-iobroker1 2021-03-25 16:33:07.989 error Caught by controller[2]: at Pipe.<anonymous> (net.js:675:12)
host.buanet-iobroker1 2021-03-25 16:33:07.989 error Caught by controller[2]: at Socket.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.989 error Caught by controller[2]: at Socket.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at Socket.<anonymous> (internal/child_process.js:444:11)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at maybeClose (internal/child_process.js:1022:16)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at ChildProcess.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at ChildProcess.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at ChildProcess.exithandler (child_process.js:299:7)
host.buanet-iobroker1 2021-03-25 16:33:07.988 error Caught by controller[2]: at script.js.Abfrage_Amtron:53:28
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[2]: at JSON.parse (<anonymous>)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[2]: SyntaxError: Unexpected end of JSON input
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Pipe.<anonymous> (net.js:675:12)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Socket.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Socket.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.987 error Caught by controller[1]: at Socket.<anonymous> (internal/child_process.js:444:11)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at maybeClose (internal/child_process.js:1022:16)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at ChildProcess.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at ChildProcess.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at ChildProcess.exithandler (child_process.js:299:7)
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at script.js.Abfrage_Amtron:89:28
host.buanet-iobroker1 2021-03-25 16:33:07.986 error Caught by controller[1]: at JSON.parse (<anonymous>)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[1]: SyntaxError: Unexpected end of JSON input
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Pipe.<anonymous> (net.js:675:12)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Socket.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Socket.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.985 error Caught by controller[0]: at Socket.<anonymous> (internal/child_process.js:444:11)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at maybeClose (internal/child_process.js:1022:16)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at ChildProcess.EventEmitter.emit (domain.js:483:12)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at ChildProcess.emit (events.js:314:20)
host.buanet-iobroker1 2021-03-25 16:33:07.984 error Caught by controller[0]: at ChildProcess.exithandler (child_process.js:299:7)
host.buanet-iobroker1 2021-03-25 16:33:07.983 error Caught by controller[0]: at script.js.Abfrage_Amtron:131:28
host.buanet-iobroker1 2021-03-25 16:33:07.983 error Caught by controller[0]: at JSON.parse (<anonymous>)
host.buanet-iobroker1 2021-03-25 16:33:07.979 error Caught by controller[0]: SyntaxError: Unexpected end of JSON input
javascript.0 2021-03-25 16:33:07.876 error (13217) script.js.Abfrage_Amtron: SyntaxError: Unexpected end of JSON inputVielleicht hilft dir als Anfänger ein Blockly weiter?
Ich setze den Ladestrom meiner Amtron Xtra11 C2 je nach Abhängigkeit der zur Verfügung stehenden Überschussproduktion meiner Photovoltaikanlage. Die Überschussproduktion wird über das Energymeter der Solaredge-Anlage per modbus-Adapter nach ioBroker ausgelesen und anschließend setze ich den Ladestrom der Amtron über ein entsprechendes Blockly mittels Javascript-Adapter.
Die folgende Funktion (kannst du als Blockly importieren) setzt den an die Funktion übergebenen Wert als Ladestrom in der Amtron-Wallbox. Da ich mein Auto nur zwischen 6A und maximal 16A laden kann, habe ich die Werte in der Funktion entsprechend begrenzt (kannst du ja anpassen). Außerdem wird der zu setzende Ladestrom auf eine Ganzzahl gerundet (falls das beim Aufruf der Funktion nicht gewährleistet ist). Die Funktion kannst du dann mittels Funktionsaufruf "fncSetzeLadestrom" und dem zu setzenden Wert des Ladestroms aufrufen.
Natürlich musst du die IP-Adresse deiner Wallbox und den DevKey in dem "http://.." Teil des Strings auf deine Werte anpassen.<block xmlns="https://developers.google.com/blockly/xml" type="procedures_defnoreturn" id="ZHB/oPXk|NyVSR!HfeoK" x="63" y="-188"> <mutation> <arg name="varLadestrom" varid="tv{(3+$)lNe5m=#TB{oC"></arg> </mutation> <field name="NAME">fncSetzeLadestrom</field> <comment pinned="false" h="80" w="160">Setze Ladestrom wenn zwischen 6 und 16 Ampere</comment> <statement name="STACK"> <block type="controls_if" id="cEY-s)},/wY*hAVBDJkd"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="aEhmi4R~`$e2cLHD*DG!"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="UBwS8SST60Z(JD*Vnqr|"> <field name="VAR" id="tv{(3+$)lNe5m=#TB{oC">varLadestrom</field> </block> </value> <value name="B"> <block type="math_number" id="djswcPLuk,^BmLRI%.6Y"> <field name="NUM">6</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="Pi,a#Lp~e[hJN*=r~P^s"> <field name="VAR" id="tv{(3+$)lNe5m=#TB{oC">varLadestrom</field> <value name="VALUE"> <block type="math_number" id=",#FMN8:l^XE63UllHV{3"> <field name="NUM">6</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="tK%IB]m8WB-WN!#yf_Se"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="wW5Qrm*i1}(.VJkJu_Jd"> <field name="VAR" id="tv{(3+$)lNe5m=#TB{oC">varLadestrom</field> </block> </value> <value name="B"> <block type="math_number" id="1Cd/+#J|/-I}NeTps+9p"> <field name="NUM">16</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="_O8^HmPV3YxEY;q/=Of/"> <field name="VAR" id="tv{(3+$)lNe5m=#TB{oC">varLadestrom</field> <value name="VALUE"> <block type="math_number" id="E%9P[2jnOjpP;v|Y]r?c"> <field name="NUM">16</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="VP$ypbF5x#1}+%j8JmY5"> <field name="VAR" id="#+r-:;5gpgYxCp`GwQU`">strCurl</field> <value name="VALUE"> <block type="text_join" id="x/5ouB:(EBvAesw0lbX|"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="9A:n{9b#qDIj7T9SI*1)"> <field name="TEXT">curl -X POST --header 'Content-Type: application/json' -d '{"Permanent": true,"RemoteCurr00": </field> </block> </value> <value name="ADD1"> <block type="math_round" id="U*ZKVb%*E(LsY!#T17UK"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="!(Qsy/wnnZ).iZ`8h/k["> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="].k}kEJevu#i0kP:5b0V"> <field name="VAR" id="tv{(3+$)lNe5m=#TB{oC">varLadestrom</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="$K4$9[QSM.53jJQ^Qzsb"> <field name="TEXT">,"AutoChg": null,"ChgState": null,"Uid": "00000000"}' 'http://192.xxx.xxx.xxx:25000/MHCP/1.0/ChargeData?DevKey=xxxxxx'</field> </block> </value> </block> </value> <next> <block type="exec" id="qF5(3i?}HvXF4tp^/g{n"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="XuY-zC6#VkKD|Z,%}nY_"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="7h`nj+Pl8%nQZ}Sk1b/V"> <field name="VAR" id="#+r-:;5gpgYxCp`GwQU`">strCurl</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block>
-
@marc_st
Hallo Marc,
super ist dein Script und das auslesen klappt schon super. Da ich das ganze gerne mit meiner PV etwas steuern will weil das Ding wie es scheint nicht MODBUS kann obwohl Mennekes damit wirkt. Leider geht nur SMES in der Oberfläche.Nun würde ich gerne den Charge Mode je nach Strom meiner PV ändern.
Wie ich sehe setzt du ja hier javascript.0.Amtron.DevInfo.ChgState den Status. Wenn ich ihn von Charged auf Paused setze nimmt er das leider nicht. Hast du eine Idee wo mein Denkfehler ist. Nach der nächsten Abfrage ist es wieder auf Charged gesetzt.Das Blockly schreibe ich mir später gerne nur muss ich verstehen wie ich den Modus setzen kann.
-
Hi,
I am just beginning to connect to my Amtron 11 c2 an am enthusiastic when I see this hier. I imported the script and start testing. I only have 2 Questions:- Where do I find the device key ?
- Is the port always 25000 ?
I would appreciate a little help on this....
Thanks
BJ -
@jobehe
-
The DevKey required for each request can be found in the documents you received with your Wallbox. In the document it is called APP-Pin.
-
Yes.
For more information have a look at GitHub: https://github.com/lephisto/amtron
-
-
@bluppylein
Hi
Änderungen an der Wallbox kannst du nicht direkt über die Datenpunkte vornehmen. Das Script von Marc liest ja lediglich die Werte aus der Wallbox aus und schreibt sie in die Datenpunkte in ioBroker. Wenn du die Werte für den ChargeState in der Wallbox ändern willst, dann musst du einen HTTP-Request an die Wallbox absetzen. Als Blockly kann das für das Aktivieren des ChargeState "Pause" dann so aussehen (damit das Beispiel funktioniert, musst du im Beispielscode noch die IP-Adresse deiner Wallbox und deinen DevKey eintragen, wo ich die XXX gemacht habe):<block xmlns="https://developers.google.com/blockly/xml" type="exec" id="qpATwLXq@}vCo$g_Dpjf" x="337.40138244628906" y="1537.8000183105469"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="tXT5/FPo;Ryu9Q+qG*sv"> <field name="TEXT">text</field> </shadow> <block type="text" id="*+%7zDpR5sdcNbqC)yY="> <field name="TEXT">curl -X POST --header 'Content-Type: application/json' -d '{"Permanent": true,"RemoteCurr": 6,"AutoChg": null,"ChgState": "Pause","Uid": "00000000"}' 'http://192.xxx.xxx.xxx:25000/MHCP/1.0/ChargeData?DevKey=XXXXXX'</field> </block> </value> </block>
-
Danke für die Kommentare, ich habe lediglich ein Passwort für das web-ui, keine pins in der Doku Kann es sein, dass die "Amtron 11 c2" ohne "xtra" u.ä. keine OCPP Schnittstelle hat? Die Modbus Schnittstelle kann ich erreichen, das reicht um ein paar Werte auszulesen.
Ich werde mich mal beim Lieferanten erkundigen. Die Infos sind da nicht so eindeutig. Im Web-ui ist von den OCPP-Zählern die Rede, die Integration in ein EMS wird versprochen und es ist von Funktionen die später durch updates verfügbar sein sollen die Rede.....
-
@marc_st Hallo Marc, auch von mir herzlichen Dank, das Skript funktioniert auf Anhieb prima zum Auslesen meiner Mennekes Amtron Premium 22C2. Die Box verwaltet mehrere RFIDs und ich kann auch in der dazugehörigen App die Verbräuche der einzelnen Karten anzeigen. Lässt sich die Information auch über ein Skript auslesen? Hast Du da eventuell schon etwas dazu geschrieben oder eine Idee? Optimal wäre natürlich die Whitelist einzulesen, da sind die Kartennummern mit Nutzernamen hinterlegt. Dann je Karte aus der Whitelist den Verbrauch einlesen, und das ganze für definierte Zeiträume, zB. heute, gestern, letzte Woche, letzter Monat, aktuelles Jahr, letztes Jahr. Vllt. hat auch jmd anders dazu schon etwas gemacht, wäre für jede Info dankbar. Viele Grüsse Ralek
-
Es gibt nun eine erste Version eines Amtron Wallbox-Adapters: https://forum.iobroker.net/topic/55023/adapter-amtron-wallbox
-
Hallo,
laut der Doku gibt es für die Steuerung der Wallbox die folgenden POST ChgState ( Continue, Pause, Start, Terminate). Wenn ich mein Auto an die Wallbox nur anstecke befindet sich die Wallbox aber im ChgState "StandbyAuthorize", zumindest wird dieser über GET ausgelesen, und über GET bekommt man die folgenden ChgState ( Idle, Charging, Paused, StandbyConnect, StandbyAuthorize, Terminated).
Ich stehe also vor der Herausforderung in den Idle,Charging oder Paused Modus zu kommen. Mit dem Befehl
curl -d '{ "Permanent": true, "RemoteCurr": 6, "AutoChg": null, "ChgState": "Continue", "Uid": null}' -H "Content-Type: application/json" -X POST http://10.0.1.28:25000/MHCP/1.0/ChargeData?DevKey=XXXXXX
kann ich zwar einen bereits gestarteten und pausierten Ladevorgang wieder fortsetzen aber leider keine neuen Ladevorgang starten.
Und leider funktioniert auch "ChgState": "Start" nicht.
Hat jemand also eine Ahnung wie man bei der Mennekes Amtron den Ladevorgang grundsätzlich über die API starten kann.
Um das ganze in einem Skript mit Variablen zu nutzen, ist es darüber hinaus noch notwendig diverse zusätzliche Anführungszeichen zu nutzen - siehe nachfolgendes Beispiel, falls es jemand automatisieren möchte.
var ChargeMod = "curl -d '{ \"Permanent\": true, \"RemoteCurr\": "+Current+", \"AutoChg\": null, \"ChgState\": \""+WBMod+"\", \"Uid\": null}' -H \"Content-Type: application/json\" -X POST http://"+ip_wb+":25000/MHCP/1.0/ChargeData?DevKey="+devkey+""; /* Ladestrom einstellen */
Danke und viele Grüße
-
@jrichl sagte in Wallbox Mennekes Amtron auslesen - Adapter aus Skript?:
StandbyAuthorize
Kann es sein, dass die Box nicht automatisch startet, weil du den Ladevorgang authorisieren musst? In meinem Fall muss ich erst den RFID-Key auslesen lassen, bevor die Box den Ladevorgang startet...
-
meine Box hat zwar eigentlich kein RFID, aber wie liest du den Key aus?
-
@jrichl nein, das geht nur an der Box. Ich stecke das Ladekabel an, authentifiziere mich mit dem RFID (ich halte das RFID-Label an die Box) und erst dann kann in meinem Fall das SMA SunnyPortal / SunnyHomemanager die Box zum Laden starten. Gestartet wird dann durch setzen eines maximalen Ladestroms in Abhängigkeit der PV-Leistung... Ohne die Authentifizierung kann das Laden nicht starten.
Das kann aber an anderen Typen anders sein... -
Hallo,
hast du etwas rausgefunden? Ich stehe vor demselben Problem...