Ich kann hier eine Automation mit einer Go-E und einer Zoe beisteuern:
Wenn ein Auto angesteckt wird (in dem Fall eine Zoe), werden die PV-Daten an die Go-E per MQTT gesendet (so wie es auch der Go-E Controller machen würde).
{% set battery = states('sensor.powerwall_battery_now') | float * 1000 %}
{% set grid = states('sensor.powerwall_site_now') | float * 1000 %}
{% set solar = states('sensor.powerwall_solar_now') | float * 1000 %}
{% set minsoc = states('input_number.powerwall_minsoc') | int %}
{% set soc = states('sensor.powerwall_soc') | float %}
{% if soc < minsoc %}
{% set battery = 0 %}
{%endif %}
{{ '{"pPv": %s, "pGrid": %s, "pAkku": %s}' % (solar | int, grid | int, battery | int) }}
Als Bonus setze ich noch die Lademenge, bis ein bestimmter Ladestand (über einen Helfer definiert) erreicht wird, damit ich die Zoe z.B. auf maximal 90% laden kann. Ich hatte das zunächst mit einer Automation versucht, die bei Erreichen des Ladestandes das Laden stoppt, das war aber nicht zuverlässig. Mit der Methode hier wird eine Punktlandung hingelegt:
{% set maxsoc = states('input_number.zoe_maxsoc') | int %}
{% set currentsoc = states('sensor.zoe_batterie') | int %}
{% set wh = 52 * (maxsoc - currentsoc)/100 * 1000 %}
{% if wh < 0 %}
{% set wh = 0 %}
{%endif %}
{{ wh }}
So sieht das in der GUI von Homeassistant aus:
Da die API der Zoe immer wieder nicht erreichbar ist (Rate Limiting), schreibe ich den SoC in einen zusätzlichen Helfer, so ist er immer verfügbar und nie „unknown“.



