Tesla Powerwall und Gateway: Unterschied zwischen den Versionen

Aus FHEMWiki
K (web api Ergänzungen)
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>
http://ip-adresse/api/meters/aggregates
https://<ip-address powerwall>/api/system_status/soe
http://ip-adresse/api/site_info
https://<ip-address powerwall>/api/meters/aggregates
http://ip-adresse/api/operation
https://<ip-address powerwall>/api/site_info
http://ip-adresse/api/sitemaster
https://<ip-address powerwall>/api/sitemaster
http://ip-adresse/api/powerwalls
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

Hinweise

  • ...