Tesla Powerwall und Gateway
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.
Alternative Variante:
Um die Werte in FHEM anzuzeigen, können die Werte via Cookies 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
- ...