Per Rest API Request können sämtliche Daten von der Solar Log Base abgerufen werden – der wichtigste Aufruf ist gar im Handbuch dokumentiert (https://www.solar-log.com/manuals/manuals/de_DE/SolarLog_Base_Handbuch_DE.pdf ab Seite 224).
Die Url entspricht dabei der IP Adresse der Base mit anschliessenden /getjp Befehl. Also z.B.
http://192.168.0.245/getjp
Die Daten werden mit folgendem JSON Payload ergänzt:
{"801":{"170":null}}
Zusammengesetzt in z.B. Python sieht das dann wie folgt aus:
import requests
url = "http://192.168.0.245/getjp"
payload = "{\"801\":{\"170\":null}}"
headers = {'content-type': 'application/json'}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
Die wichtigsten Daten sind dann mit dem Index 101 (aktuelle Produktion) und 110 (aktueller Verbrauch) zu finden. Die anderen Werte sind im Handbuch exakt beschrieben.
verbrauch = float(response["801"]["170"]["110"])
produktion = float(response["801"]["170"]["101"])
Die Werte der einzelnen Inverter können mit folgendem Payload abgefragt werden:
{"782":null}
Dies gibt dann die Werte pro angeschlossenem Gerät zurück. Im folgenden Beispiel sind
- 0: SolarEdge
- 1: Gesamtverbrauchszähler
- 2: Verbrauchszähler Wärmepumpe
{
"782": {
"0": "6084",
"1": "6123",
"2": "5",
"3": "0",
"4": "0",
"5": "0",
...}
}

Ich habe diese API für den TWCManager (https://github.com/dschuesae/TWCManager/blob/v1.2.0pm/lib/TWCManager/EMS/SolarLog.py) und ebenfalls direkt in meine HomeAssistant Installation integriert.
Hier meine Konfiguration des HomeAssistants Werte für die direkte Abfrage ohne Erweiterung (configuration.yaml):
sensor:
- platform: rest
resource: http://192.168.0.245/getjp
method: POST
payload: '{"782":null}'
value_template: '{{ value_json["782"]["2"] }}'
name: heatpump_consumption_w
unit_of_measurement: W
device_class: power
scan_interval: 15
force_update: true
- platform: rest
resource: http://192.168.0.245/getjp
method: POST
payload: '{"801":{"170":null}}'
value_template: '{{ value_json["801"]["170"]["110"] }}'
name: house_consumption_w
unit_of_measurement: W
device_class: power
scan_interval: 15
force_update: true
- platform: rest
resource: http://192.168.0.245/getjp
method: POST
payload: '{"801":{"170":null}}'
value_template: '{{ value_json["801"]["170"]["101"] }}'
name: solar_production_w
unit_of_measurement: W
device_class: power
scan_interval: 15
force_update: true
Wer noch weitere Informationen absaugen will, soll sich die Webseite des Solar-Log Base Moduls im Debug Modus im Browser öffnen (F12) und dort die Netzwerkkommunikation analysieren. Dabei stellt man auch fest, dass mittels /setjp die Konfiguration auch verändert werden kann.