Photovoltaik Eigenverbrauch,Bilanz,Prognose (Kostal Plenticore; KSEM; BYD HV)

Begonnen von ch.eick, 07 Oktober 2020, 16:09:12

Vorheriges Thema - Nächstes Thema

Girgl

Nachtrag zu
2025.03.15 20:38:00 3: WR_1: CreateDataObjects unpack of 0047 with N for MODBUS_Unit-ID resulted in undefined value
2025.03.15 20:38:00 3: WR_1: CreateDataObjects unpack of 0000 with N for MODBUS_Byte_Order_Note resulted in undefined value

Plan war der Sache auf den Grund zu gehen.
WR_1 auf Rechner 1 "disabled 1"
WR_1 auf Rechner 2 installiert, keine Fehlermeldungen im Log.
WR_1 auf Rechner 2 deinstalliert.
WR_1 auf Rechner 1 "disabled 0"
was soll ich sagen, keine Ahnung, aber seitdem keine Einträge mehr im Log! Also auch erledigt.


...stimmt nicht, da hatte ich mich zu früh gefreut.

Die Lösung:
Es handelt sich um die Register:
0x04 4 MODBUS Unit-ID - U16 1 R/W 0x03/0x06
0x05 5 MODBUS Byte Order Note 7 - U16 1 R/W 0x03/0x06

in den Attributen
obj-h4-format %.0f
obj-h4-len 1
obj-h4-reading MODBUS_Unit-ID
obj-h4-revRegs 1
obj-h4-unpack N
und
obj-h5-format %.0f
obj-h5-len 1
obj-h5-reading MODBUS_Byte_Order_Note
obj-h5-revRegs 1
obj-h5-unpack N

Wenn man "obj-[h4/h5]-revRegs 1" entfernt und "obj-[h4/h5]-unpack N" in "obj-[h4/h5]-unpack n" ändert, werden die Readings erzeugt und die Fehlermeldungen verschwinden.

VG
FHEM-Installationen auf Fujitsu Q556D(i5-8GB,SSD), Rpi3, RpiZero

ch.eick

Zitat von: Girgl am 19 März 2025, 21:20:31Nachtrag zu
2025.03.15 20:38:00 3: WR_1: CreateDataObjects unpack of 0047 with N for MODBUS_Unit-ID resulted in undefined value
2025.03.15 20:38:00 3: WR_1: CreateDataObjects unpack of 0000 with N for MODBUS_Byte_Order_Note resulted in undefined value
[/code]
< snip >

Wenn man "obj-[h4/h5]-revRegs 1" entfernt und "obj-[h4/h5]-unpack N" in "obj-[h4/h5]-unpack n" ändert, werden die Readings erzeugt und die Fehlermeldungen verschwinden.
Vielen Dank für's suchen, da war sicher mal eine Änderung in der WR FW, bei mir wurde es 2022 das letzte mal korrekt gelesen.
Ich habe es jetzt auch geändert und die Werte sind wieder da.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Girgl

Hallo,

ich benötige nochmal Hilfe. Ich versuche gerade die externe Speichersteuerung nach der Vorgabe im Wiki einzurichten. Am Wechselrichter wurde die externe Steuerung über modbus konfiguriert. Wechselrichter hat SW-Version 02.14.17731
Es scheitert daran, dass mir die readings aus der Batterie in WR_1_Api fehlen. Hier habe ich nur "Battery_EM_State".
Wenn ich in WR _1_API ein get "WR _1_API 21_Battery_Information" ausführe erhalte ich eine Fehlermeldung im httpbody und keine readings.:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>

Ich habe rausgefunden das get21URL "http://%IP-WR%/api/v1/processdata/devices:local:battery/Cycles,FullChargeCap_E,SoC,WorkCapacity" nicht funktioniert. Wenn ich die URL auf eine Abfrage kürze, also z.B. "http://%IP-WR%/api/v1/processdata/devices:local:battery/Cycles", läuft es.
Das Gleiche bei 22_Battery_...-24_Battery...

Hat jemand einen Tip für mich?
Besten Dank.
FHEM-Installationen auf Fujitsu Q556D(i5-8GB,SSD), Rpi3, RpiZero

ch.eick

Moin Girgl,
Mein Plenticore G1 ist auf SW 01.26, kann es sein, dass Du einen G2 oder G3 hast? Beim G3 habe ich im PV Forum irgendetwas von Änderungen beim Modbus oder der API gelesen?
Klappt die Abfrage der Statistiken noch?
VG Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Girgl

Moin Christian,

ja alles andere liefert ordentlich Werte. Sowohl modbus, als auch API. Nur die 4 Mehrfachabfragen machen Probleme.
Der Plenticore ist wohl ein G2, Typenbezeichnung PLENTICORE plus 10
Habe gestern die Software geupdatet, weis allerdings nicht mehr von welcher Version aus, weil es mit der alten Version auch schon nicht klappte und im Wiki ein Verweis auf API 1.16 steht.
Der Plenticore versteht schlicht die Mehrfachanfrage nicht oder kommt mit der Formatierung nicht zurecht. Wenn ich "IP-WR/api/v1/" aufrufe finde ich ganz unten den Hinweis auf die Api-Version:
[ base url: /api/v1 , api version: 0.2.0 ]
Vielleicht magst Du bei Gelegenheit mal schaun, ob bei Dir die gleiche Api-Version läuft.

VG Girgl
FHEM-Installationen auf Fujitsu Q556D(i5-8GB,SSD), Rpi3, RpiZero

ch.eick

Zitat von: Girgl am 03 Mai 2025, 10:12:52Moin Christian,

ja alles andere liefert ordentlich Werte. Sowohl modbus, als auch API. Nur die 4 Mehrfachabfragen machen Probleme.
Der Plenticore ist wohl ein G2, Typenbezeichnung PLENTICORE plus 10
Habe gestern die Software geupdatet, weis allerdings nicht mehr von welcher Version aus, weil es mit der alten Version auch schon nicht klappte und im Wiki ein Verweis auf API 1.16 steht.
Der Plenticore versteht schlicht die Mehrfachanfrage nicht oder kommt mit der Formatierung nicht zurecht. Wenn ich "IP-WR/api/v1/" aufrufe finde ich ganz unten den Hinweis auf die Api-Version:
[ base url: /api/v1 , api version: 0.2.0 ]
Vielleicht magst Du bei Gelegenheit mal schaun, ob bei Dir die gleiche Api-Version läuft.

VG Girgl
Hey Girgl,
ich habe mal die Abfrage bei mir durchgeführt und bekomme eine saubere Antwort. Nach dem Update hast Du sicherlich ja auch einen reboot des WRs gemacht. Einen Reset kannst Du auch über WR_1_API anstoßen.
attr WR_1_API get21-1Name Battery_Info_Cycles
attr WR_1_API get21-2Name Battery_Info_FullChargeCap_E
attr WR_1_API get21-3Name Battery_Info_SoC
attr WR_1_API get21-4Format %d
attr WR_1_API get21-4Name Battery_Info_WorkCapacity
attr WR_1_API get21Header01 authorization: Session %auth_sessionId%
attr WR_1_API get21Header02 Content-type:application/json, Accept:application/json, Connection:keep-alive
attr WR_1_API get21JSON .._processdata_.._value
attr WR_1_API get21Name 21_Battery_Information
attr WR_1_API get21URL http://%IP-WR%/api/v1/processdata/devices:local:battery/Cycles,FullChargeCap_E,SoC,WorkCapacity

httpbody
[{"processdata":[{"id":"Cycles","unit":"","value":608.0},{"id":"FullChargeCap_E","unit":"","value":25.0},{"id":"SoC","unit":"","value":100.0},{"id":"WorkCapacity","unit":"","value":8959.9998474121}],"moduleid":"devices:local:battery"}]

readings
Battery_Info_Cycles 608
Battery_Info_FullChargeCap_E 25
Battery_Info_SoC 100
Battery_Info_WorkCapacity 8959
Ab und zu fehlt mal die Battery_Info_WorkCapacity und wird als n/a geliefert, aber selbst das geht wieder.

Versionen
info_api_version 0.2.0
info_sw_version 01.26.09454
Wenn alles andere klappt,läuft somit die Anmendung der API und die API Version hat sich ja auch nicht geändert.

Das hier sollte alle möglichen Module auflisten
get 51_modules_list sollte dies liefern. Nach dem get mach mal einen Browser refresh, damit der httpbody aktualisiert dargestellt wird.

httpbody
[{"type":"device","id":"devices:local"},{"type":"device:ac","id":"devices:local:ac"},{"type":"device:battery","id":"devices:local:battery"},{"type":"device:powermeter","id":"devices:local:powermeter"},{"type":"device:pv","id":"devices:local:pv1"},{"type":"device:pv","id":"devices:local:pv2"},{"type":"device","id":"devices:prober"},{"type":"service","id":"scb:event"},{"type":"service","id":"scb:export"},{"type":"service","id":"scb:logging:logger1"},{"type":"service","id":"scb:logging:logger2"},{"type":"service","id":"scb:modbus"},{"type":"service","id":"scb:network"},{"type":"service","id":"scb:rse"},{"type":"service","id":"scb:statistic:EnergyFlow"},{"type":"service","id":"scb:time"},{"type":"service","id":"scb:update"}]

Mit verbose 5 könntest Du im FHEM Log die http Kommunikation nachverfolgen.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Zitat von: Girgl am 03 Mai 2025, 09:14:18Am Wechselrichter wurde die externe Steuerung über modbus konfiguriert.

Ich denke Du meinst damit diese Einstellung
Batteriesteuerung Extern über Protokoll (Modbus TCP)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Girgl

ZitatBatteriesteuerung Extern über Protokoll (Modbus TCP)

Ja genau.
Neu gestartet mit kompletter AC-Trennung wurde ebenfalls. Einen Reset hab ich jetzt ebenfalls gemacht. Ohne Erfolg.
Es liegt auch nicht an der Anmeldung oder der Api-Version. Einzel-Abfragen funktionieren tadellos. Ich habe auf der Api-Seite im WR (WR-IP/api/v1) etliche Aufrufe getestet und sobald eine Komma-getrennte mehrfache Anfrage gestartet wird, kommt die Fehlermeldung. Das Problem ist also der WR und nicht FHEM (siehe Anhang).
Ich werde wohl die nötigen readings einzeln erzeugen müssen.

Danke und schönen Restsonntag.
VG Girgl


FHEM-Installationen auf Fujitsu Q556D(i5-8GB,SSD), Rpi3, RpiZero