Tesla Powerwall und Gateway: Unterschied zwischen den Versionen
Madu99 (Diskussion | Beiträge) K (web api Ergänzungen) |
Madu99 (Diskussion | Beiträge) K (JSON Extraktion, Web Api Aktualisierung) |
||
Zeile 3: | Zeile 3: | ||
Zusätzlich hat die Tesla Powerwall auch ein Web Api um Informationen auszulesen. Diese kann genutzt werden um die Powerwall auch in FHEM zu nutzen.<syntaxhighlight> | Zusätzlich hat die Tesla Powerwall auch ein Web Api um Informationen auszulesen. Diese kann genutzt werden um die Powerwall auch in FHEM zu nutzen.<syntaxhighlight> | ||
https://<ip-address powerwall>/api/system_status/soe | |||
https://<ip-address powerwall>/api/meters/aggregates | |||
https://<ip-address powerwall>/api/site_info | |||
https://<ip-address powerwall>/api/sitemaster | |||
https://<ip-address powerwall>/api/powerwalls | |||
https://<ip-address powerwall>/api/networks | |||
https://<ip-address powerwall>/api/system/networks | |||
https://<ip-address powerwall>/api/operation | |||
https://<ip-address powerwall>/api/status | |||
https://<ip-address powerwall>/api/customer/registration | |||
</syntaxhighlight>Es gibt aktuell mehrere Forumeinträge dazu: | </syntaxhighlight>Es gibt aktuell mehrere Forumeinträge dazu: | ||
* [https://forum.fhem.de/index.php?topic=77294.0 Tesla Powerwall 2 AC] | * [https://forum.fhem.de/index.php?topic=77294.0 Tesla Powerwall 2 AC] | ||
* [https://forum.fhem.de/index.php?topic=78145.0 <nowiki>[46_TeslaPowerwall2AC] neues Modul für Tesla Stromspeicher</nowiki>] | * [https://forum.fhem.de/index.php?topic=78145.0 <nowiki>[46_TeslaPowerwall2AC] neues Modul für Tesla Stromspeicher</nowiki>] | ||
* ... | |||
== Installation == | == Installation == | ||
Zeile 19: | Zeile 25: | ||
Zur Installation definiere in fhem.cfg die Powerwall:<syntaxhighlight lang="perl"> | Zur Installation definiere in fhem.cfg die Powerwall:<syntaxhighlight lang="perl"> | ||
define myPowerWall TeslaPowerwall2AC 192.168.x.y | define myPowerWall TeslaPowerwall2AC 192.168.x.y | ||
attr myPowerWall emailaddr <your mail address used with gateway> | attr myPowerWall emailaddr <your mail address used with Tesla gateway> | ||
</syntaxhighlight>Danach muss noch das Passwort vom tesla gateway gesetzt werden<syntaxhighlight> | </syntaxhighlight>Danach muss noch das Passwort vom tesla gateway gesetzt werden<syntaxhighlight> | ||
set myPowerwall setPassword pass=<your password> | set myPowerwall setPassword pass=<your password> | ||
</syntaxhighlight>Nach einem Shutdown Restart sollte der Tesla Speicher im Status "ready" angezeigt werden. | </syntaxhighlight>Nach einem Shutdown Restart sollte der Tesla Speicher im Status "ready" angezeigt werden. | ||
Um die Werte in FHEM anzuzeigen, müssen die Werte noch in dummies gespeichert werden (Extraktion JSON): | |||
(Achtung, Zerlegung des Strings noch zu testen. Aktuelleres ggf. den Forumeinträgen entnehmen)<syntaxhighlight> | |||
PowerwallDummy:Update.* {if ("$EVTPART1" eq "1"){ | |||
my $b = qx(curl -s -k -b <path_to_cookie>/tesla_cookie.txt https://192.168.178.xx/api/system_status/soe 2>&1);; | |||
fhem("set PowerwallDummy jasonInput $b"); | |||
fhem ("set PowerwallDummy Prozent2 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInput","")))[1]); | |||
fhem ("set PowerwallDummy Prozent " .round((split "}", (ReadingsVal("PowerwallDummy","Prozent2","")))[0],1));} | |||
elsif("$EVTPART1" eq "2"){ | |||
my $b = qx(curl -s -k -b <path_to_cookie>/tesla_cookie.txt https://192.168.178.xx/api/meters/aggregates 2>&1);; | |||
fhem("set PowerwallDummy jasonInputAggregates $b"); | |||
fhem ("set PowerwallDummy Gridpower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[6]); | |||
fhem ("set PowerwallDummy Solarpower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[77]); | |||
fhem ("set PowerwallDummy Batterypower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[30]); | |||
fhem ("set PowerwallDummy Housepower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[54]); | |||
fhem ("set PowerwallDummy " .ReadingsVal("PowerwallDummy","Prozent","")); | |||
}} | |||
</syntaxhighlight> | |||
== Verschiedenes == | == Verschiedenes == |
Version vom 27. März 2023, 12:25 Uhr
Einführung
Der Tesla Powerwall 2 wird als Batterie in eine Solaranlage integriert. Hier dient er als Energiespeicher. Es gibt eine App "Tesla" um den aktuelle Status als Benutzer auszulesen. Dazu gibt es noch eine lokale Webseite, die ebenfalls Zugriff auf den Status gibt.
Zusätzlich hat die Tesla Powerwall auch ein Web Api um Informationen auszulesen. Diese kann genutzt werden um die Powerwall auch in FHEM zu nutzen.
https://<ip-address powerwall>/api/system_status/soe
https://<ip-address powerwall>/api/meters/aggregates
https://<ip-address powerwall>/api/site_info
https://<ip-address powerwall>/api/sitemaster
https://<ip-address powerwall>/api/powerwalls
https://<ip-address powerwall>/api/networks
https://<ip-address powerwall>/api/system/networks
https://<ip-address powerwall>/api/operation
https://<ip-address powerwall>/api/status
https://<ip-address powerwall>/api/customer/registration
Es gibt aktuell mehrere Forumeinträge dazu:
Installation
Benötigt wird das FHEM Modul TeslaPowerwall2AC.pm
Zur Installation definiere in fhem.cfg die Powerwall:
define myPowerWall TeslaPowerwall2AC 192.168.x.y
attr myPowerWall emailaddr <your mail address used with Tesla gateway>
Danach muss noch das Passwort vom tesla gateway gesetzt werden
set myPowerwall setPassword pass=<your password>
Nach einem Shutdown Restart sollte der Tesla Speicher im Status "ready" angezeigt werden.
Um die Werte in FHEM anzuzeigen, müssen die Werte noch in dummies gespeichert werden (Extraktion JSON):
(Achtung, Zerlegung des Strings noch zu testen. Aktuelleres ggf. den Forumeinträgen entnehmen)
PowerwallDummy:Update.* {if ("$EVTPART1" eq "1"){
my $b = qx(curl -s -k -b <path_to_cookie>/tesla_cookie.txt https://192.168.178.xx/api/system_status/soe 2>&1);;
fhem("set PowerwallDummy jasonInput $b");
fhem ("set PowerwallDummy Prozent2 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInput","")))[1]);
fhem ("set PowerwallDummy Prozent " .round((split "}", (ReadingsVal("PowerwallDummy","Prozent2","")))[0],1));}
elsif("$EVTPART1" eq "2"){
my $b = qx(curl -s -k -b <path_to_cookie>/tesla_cookie.txt https://192.168.178.xx/api/meters/aggregates 2>&1);;
fhem("set PowerwallDummy jasonInputAggregates $b");
fhem ("set PowerwallDummy Gridpower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[6]);
fhem ("set PowerwallDummy Solarpower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[77]);
fhem ("set PowerwallDummy Batterypower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[30]);
fhem ("set PowerwallDummy Housepower1 " .(split ":", (ReadingsVal("PowerwallDummy","jasonInputAggregates","")))[54]);
fhem ("set PowerwallDummy " .ReadingsVal("PowerwallDummy","Prozent",""));
}}
Verschiedenes
- ...
Links
- FHEM commandref: TeslaPowerwall2AC.pm
- FHEM forum: Tesla Powerwall 2 AC
Hinweise
- ...