Sonnenspeicher: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 21: Zeile 21:
Die Statusabfrage mit API-V2 arbeitet grundsätzlich genau so wie bei V1, nur der Aufruf hat sich ein wenig geändert:
Die Statusabfrage mit API-V2 arbeitet grundsätzlich genau so wie bei V1, nur der Aufruf hat sich ein wenig geändert:
  define sonnenbatterie HTTPMOD <nowiki>http://x.x.x.x/api/v2/status</nowiki> 60
  define sonnenbatterie HTTPMOD <nowiki>http://x.x.x.x/api/v2/status</nowiki> 60
=== Statusabfrage API-V2 mit Token ===
Weitere Informationen lassen sich über die API-Funktion "latestdata" abrufen. Das geht aber nur mit einem Token, den ihr im Dashboard unter Softwareintegration findet. Hier ein Beispiel, um den Zustand der Eclipse darzustellen:
<pre>
define solar_status HTTPMOD http://192.168.x.xxx:80/api/v2/latestdata 900
attr solar_status alias sonnenBatterie Zustand
attr solar_status devStateIcon 1000:sonnen_icon@green 0100:sonnen_icon@orange 0010:sonnen_icon@white 0001:sonnen_icon@red
attr solar_status enableControlSet 1
attr solar_status extractAllJSON 1
attr solar_status get01Header01 Auth-Token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
attr solar_status get01Name LatestData
attr solar_status get01URL http://192.168.x.xxx:80/api/v2/latestdata
attr solar_status group Strom
attr solar_status httpVersion 1.1
attr solar_status icon sonnen_logo
attr solar_status requestHeader01 Auth-Token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
attr solar_status room Solar
attr solar_status showError 1
attr solar_status stateFormat {sprintf("%d%d%d%d", ReadingsVal($name,"ic_status_Eclipse_Led_Pulsing_Green",0), ReadingsVal($name,"ic_status_Eclipse_Led_Pulsing_Orange",0), ReadingsVal($name,"ic_status_Eclipse_Led_Pulsing_White",0), ReadingsVal($name,"ic_status_Eclipse_Led_Solid_Red",0))}
</pre>
Die Icon findet ihr im Forum incl. weiterer Informationen. Das Dashboard enthält eine Kurzanleitung des API. Der User-Zugang muss über das Initialpasswort auf dem Typenschild aktiviert werden. Vor dem Einbau evtl. abfotografieren ;)
[[Kategorie:Examples]]
[[Kategorie:Examples]]

Version vom 19. Juli 2022, 10:37 Uhr

Hinweise zur Einbindung des Speichersystems von sonnen (https://sonnen.de/stromspeicher/) per HTTPMOD

Der Batteriespeicher von sonnen besitzt ein API. Auch ohne den Token lässt sich der Status abfragen.

Statusabfrage API-V1

define sonnenbatterie HTTPMOD http://x.x.x.x:8080/api/v1/status 60
attr sonnenbatterie extractAllJSON 1
attr sonnenbatterie stateFormat {sprintf("Verbrauch %d W: %d W aus PV + %d W %s Speicher + %d W %s Grid, SOC %d%%", 
ReadingsVal($name,"Consumption_W",0),
ReadingsVal($name,"Production_W",0),
abs(ReadingsVal($name,"Pac_total_W",0)),
ReadingsVal($name,"FlowConsumptionBattery",1) !=0 ? "aus" : "in",
abs(ReadingsVal($name,"GridFeedIn_W",0)),
ReadingsVal($name,"FlowConsumptionGrid",1) !=0 ? "aus" : "in",
ReadingsVal($name,"RSOC","-1")
)}

Statusabfrage API-V2

Die Statusabfrage mit API-V2 arbeitet grundsätzlich genau so wie bei V1, nur der Aufruf hat sich ein wenig geändert:

define sonnenbatterie HTTPMOD http://x.x.x.x/api/v2/status 60

Statusabfrage API-V2 mit Token

Weitere Informationen lassen sich über die API-Funktion "latestdata" abrufen. Das geht aber nur mit einem Token, den ihr im Dashboard unter Softwareintegration findet. Hier ein Beispiel, um den Zustand der Eclipse darzustellen:

define solar_status HTTPMOD http://192.168.x.xxx:80/api/v2/latestdata 900

attr solar_status alias sonnenBatterie Zustand
attr solar_status devStateIcon 1000:sonnen_icon@green 0100:sonnen_icon@orange 0010:sonnen_icon@white 0001:sonnen_icon@red
attr solar_status enableControlSet 1
attr solar_status extractAllJSON 1
attr solar_status get01Header01 Auth-Token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
attr solar_status get01Name LatestData
attr solar_status get01URL http://192.168.x.xxx:80/api/v2/latestdata
attr solar_status group Strom
attr solar_status httpVersion 1.1
attr solar_status icon sonnen_logo
attr solar_status requestHeader01 Auth-Token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
attr solar_status room Solar
attr solar_status showError 1
attr solar_status stateFormat {sprintf("%d%d%d%d", ReadingsVal($name,"ic_status_Eclipse_Led_Pulsing_Green",0), ReadingsVal($name,"ic_status_Eclipse_Led_Pulsing_Orange",0), ReadingsVal($name,"ic_status_Eclipse_Led_Pulsing_White",0), ReadingsVal($name,"ic_status_Eclipse_Led_Solid_Red",0))}

Die Icon findet ihr im Forum incl. weiterer Informationen. Das Dashboard enthält eine Kurzanleitung des API. Der User-Zugang muss über das Initialpasswort auf dem Typenschild aktiviert werden. Vor dem Einbau evtl. abfotografieren ;)