wie bereits über das goingelectric Forum mitgeteilt, habe ich folgende Infos zur API eines Kostal Piko WR (neue Generation).
Um z.B. die aktuelle PV-Ausgangsleistung sowie den Gesamtertrag seit Inbetriebnahme abzufragen, ist folgende URL aufzurufen:
Code: Alles auswählen
<WR-IP>/api/dxs.json?dxsEntries=67109120&dxsEntries=251658753
Code: Alles auswählen
{"dxsEntries":[{"dxsId":67109120,"value":2427.209473},{"dxsId":251658753,"value":25446.201172}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}
Der Wert bei 251658753 entspricht dem Gesamtzählerstand am WR.
Laut deines Beispieles auf github zu openWB könnte eine Verarbeitung in einem eigenen Modul so aussehen:
Code: Alles auswählen
#!/bin/bash
#Auslesen eines Kostal Piko WR über die integrierte API des WR. Rückgabewerte sind die aktuelle Wattleistung und der Gesamtzählerstand am WR.
. /var/www/html/openWB/openwb.conf
pvwatttmp=$(curl --connect-timeout 5 -s $wrkostalip/api/dxs.json?dxsEntries=67109120&dxsEntries=251658753)
#Aktuelle Wattleistung, gerundet
pvwatt=$(echo $pvwatttmp | jq '.dxsEntries[0] | .value | round')
#wenn WR aus bzw. im standby (keine Antwort) ersetze leeren Wert durch eine 0
re='^[0-9]+$'
if ! [[ $pvwatt =~ $re ]] ; then
pvwatt="0"
fi
echo $pvwatt
#zur weiteren Verwendung im webinterface
echo $pvwatt > /var/www/html/openWB/ramdisk/pvwatt
# Gesamtzählerstand am WR, gerundet
pvkwh=$(echo $pvwatttmp | jq '.dxsEntries[1] | .value | round')
#zur weiteren Verwendung im webinterface
echo $pvkwh > /var/www/html/openWB/ramdisk/pvkwh
Wenn du mir sagst, was noch wo in welchen Dateien zu ergänzen ist, damit es auf der Seite der Modulkonfiguration unter "PV-Modul" zur Auswahl steht, übernehme ich das gerne.
VG
Andreas