FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Solaranlagen => Thema gestartet von: uwek am 01 April 2020, 08:23:41

Titel: KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 01 April 2020, 08:23:41
Liebes Forum,

ich versuche einen KOSTAL Smart Energy Meter direkt auszulesen, komme aber nicht weiter.
Ich habe versucht mich an dem scheinbar verwandten Gerät EM 300 zu orientieren und per HTTPMOD zuzugreifen, leider ohne Erfolg.

Wer kann mir auf die Sprünge helfen?

Danke und Gruß
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 02 April 2020, 16:27:12
Hallo Uwe,

was ist das bitte genau fuer ein Geraet?

fuer den Kostal EM300 (https://forum.fhem.de/index.php/topic,99806.0.html) gibt es ein Modul, der neue KSEM (EM410) (https://forum.fhem.de/index.php/topic,102297.msg1015960.html#msg1015960) spricht Modbus/TCP

Ich gehe dann mal davon aus, dass Du auch einen Kostal Wechselrichter hast :-)

Photovoltaik mit Eigenverbrauch Steuerung (Kostal plenticore; EM410) (https://forum.fhem.de/index.php/topic,102297.0.html)
hier lese ich die Statistiken aus (https://forum.fhem.de/index.php/topic,109757.0.html)
Hier geht es um die API des Kostal Plenticore (https://forum.fhem.de/index.php/topic,109677.0.html)
Kostal Plenticore, EM410 (KSEM), BYD, Solarprognose, Forecast (https://forum.fhem.de/index.php/topic,108191.0.html)

An den python Skripten arbeite ich noch und es geht schon folgendes:
  - API Auslesen
  - Statistiken auslesen
  - MinSOC setzen

Und an der Bilanz arbeite ich auch noch...

Gruss
   Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 02 April 2020, 16:44:11
Hallo Christian,

es ist ein KSEM, er meldet sich so:
Produktname KOSTAL Smart Energy Meter
Version 1.1.2

Ich hatte inzwischen auch bereits Dein EM410 Beispiel dazu gefunden, bekomme aber keine Verbindung hin. Möglicherweise liegt es an der Passwortabfrage, die ich nicht deaktivieren kann (?)

Das sind meine ersten Versuche mit MODBUS, muss/will aber dann außerdem noch einen MODBUS RTU Zähler integrieren.

Viele Grüße,
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 02 April 2020, 16:51:13
Hallo nochmal.

Bei dem KSEM musst Du in die Modbus/TCP Settings.
Dort habe ich den Kostal Wechselrichter als Master mit Port 1502 eingetragen. Diese Verbindung dient momentan nur zur zusaetzlichen Datenuebermittlung und reicht noch nicht fuer die Steuerung des WR. Zusaetzlich wird die RS485 fuer den WR benoetigt.

Zum Auslesen des KSEM muss dann noch "Enable Slave" aktiviert werden.

Nun kann man mit dem Modbus TCP Modul von FHEM die Verbindung zum KSEM aufbauen und die Register auslesen, so wie ich es schon verlinkt habe.
Zu beachten ist, das die Slave Verbindung ueber Port 502 laeuft. Ich habe jedoch erst nur das Prinzip ueberprueft und noch nicht alle Register mit allen Formatierungen fertig.

Solltest Du einen Plenticore WR haben, dann brauchst Du der KSEM nicht direkt auszulesen, da die Daten im WR auch angezeigt werden und somit auch synchron zu den WR Daten sind.
Die Statistiken werden auch schon im WR erstellt, muessen jedoch ueber die API ausgelesen werden.

Bei Fragen melde Dich einfach nochmal.
    Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 03 April 2020, 10:13:11
Hallo Christian,

herzlichen Dank für Deine Erläuterungen, die mir sehr geholfen haben.

Mein WR ist ein Piko 20, der per LAN mit dem KSEM kommuniziert.
Den Piko lese ich per HTTPMOD aus (JSON API); den KSEM kann ich inzwischen mit Deinem Code und Deinen Hinweisen per ModbusAttr lesen. Offenbar muss ich beide Geräte auslesen, um alle Informationen zu bekommen; am WR sehe ich nichts zum Hausverbrauch (?)

Jetzt beschäftige ich mit meinem Zähler ABB B23, der über einen RS485-USB-Stick am Raspberry hängt und über MODBUS RTU gelesen werden soll. Vermutlich werden dabei weitere Fragen auftauchen;-)

Nochmals vielen Dank und viele Grüße, Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 03 April 2020, 12:59:16
Zitat von: uwek am 03 April 2020, 10:13:11
Mein WR ist ein Piko 20, der per LAN mit dem KSEM kommuniziert.
Den Piko lese ich per HTTPMOD aus (JSON API); den KSEM kann ich inzwischen mit Deinem Code und Deinen Hinweisen per ModbusAttr lesen. Offenbar muss ich beide Geräte auslesen, um alle Informationen zu

Den Piko kenne ich nicht, aber Pico hoert sich nsch klein an, da ist sicherlich auch die Steuerung klein ausgelegt ;-)

Fuer die Steuerung des Eigenverbrauches hast Du ja jetzt auch schon Hinweise. Das laeuft bei mir jetzt echt super.

Melde Dich einfach, wenn Fragen auftauchen. Ich bin recht frisch im Thema.

Gruss
   Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 03 April 2020, 13:06:18
Zitat von: ch.eick am 03 April 2020, 12:59:16
Den Piko kenne ich nicht, aber Pico hoert sich nsch klein an, da ist sicherlich auch die Steuerung klein ausgelegt ;-)

Naja, der hat entspannte 20kW;-)

Gruß
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 03 April 2020, 14:26:38
Ups, meiner hat nur 10 KWp, ist aber etwas geschwaetziger :-)
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 05 April 2020, 10:01:03
Hallo nochmal,

kannst Du mir bitte mal die Definition fuer
ZitatDen Piko lese ich per HTTPMOD aus (JSON API)
hier bereit stellen?

Danke
    Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 05 April 2020, 10:08:28
Hallo Christian,

ich habe die Definition aus einem Beitrag von ahermann86 übernommen.
Zitat von: ahermann86 am 29 August 2019, 09:34:54Modul für den Kostal PIKO Wechselrichter V2.04

Diese scheinen jedoch auf meinen Piko nicht richtig zu passen. Nun versuche ich, dass anzupassen - die erforderlichen Codes habe ich hier gefunden:
https://www.msxfaq.de/sonst/iot/kostal15.htm (https://www.msxfaq.de/sonst/iot/kostal15.htm)

Wenn ich meinen Piko20 mal komplett lesen kann, stelle ich die Definition gerne zur Verfügung.

Viele Grüße, Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 05 April 2020, 10:14:14
Und an welcher Stelle harpert's noch?
Das direkte Lesen bei meinem Plenticore ueber die API habe ich mit einem Pyhton Muster Skript hin bekommen. Da werden diverse Keys und halt ein Userid/Passwort ausgetauscht.
Hast Du bei dem Pico mal geschaut, ob man Modbus TCP aktivieren kann?

Gruss
   Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 05 April 2020, 10:24:09
Ich denke es ist jetzt nur noch Fleißarbeit, die entsprechenden dxsId einzufügen und zuzuordnen.
Per Hand kann ich die Werte im Webbrowser abfragen.

Modbus TCP wird nicht explizit genannt. Es gibt Konfigurationen für
- Netzwerk (TCP/IP) ohne die typischen Modbus Parameter wie Slave-Adressen und Port, und
- RS485.

Ältere Forumseinträge lassen mich vermuten, dass die Abfrage über ModbusAttr mal ging und es gab sogar ein Modul dafür. Aber seit der Piko Softwareversion 6.00 funktioniert das wohl nicht mehr.

Gruß,
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 05 April 2020, 10:49:46
Zitat von: uwek am 05 April 2020, 10:24:09
Modbus TCP wird nicht explizit genannt. Es gibt Konfigurationen für
- Netzwerk (TCP/IP) ohne die typischen Modbus Parameter wie Slave-Adressen und Port, und
- RS485.

Ältere Forumseinträge lassen mich vermuten, dass die Abfrage über ModbusAttr mal ging und es gab sogar ein Modul dafür. Aber seit der Piko Softwareversion 6.00 funktioniert das wohl nicht mehr.
Ich habe da auch mal was von einem Datenlogger gelesen, ist das ein zusaetliches, kostenpflichtiges Geraet?
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 06 April 2020, 08:48:49
Hallo Christian,
von einem weiteren Datenlogger weiß ich nichts (?)

Ich habe gerade versucht in Deiner Definition PV_EM410 einige Readins zu ergänzen, das gelingt mir aber nicht.
Ich möchte gerne erst mal M_Exported und M_Imported entsprechend der Geräte-Doku hinzufügen.

Hierfür habe ich userattr ergänzt um:
obj-h40107-reading obj-h40107-type
obj-h40115-reading obj-h40115-type

und ich habe Attribute hinzugefügt
attr PV_EM410 obj-h40107-reading M_Exported
attr PV_EM410 obj-h40107-type UINT32

attr PV_EM410 obj-h40115-reading M_Imported
attr PV_EM410 obj-h40115-type UINT32

Leider bekomme ich nur unsinnige Werte zurück: 65535 und 1

Was mache ich falsch?

Viele Grüße,
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 06 April 2020, 10:00:14
Zitat von: uwek am 06 April 2020, 08:48:49
Ich habe gerade versucht in Deiner Definition PV_EM410 einige Readins zu ergänzen, das gelingt mir aber nicht.
Ich möchte gerne erst mal M_Exported und M_Imported entsprechend der Geräte-Doku hinzufügen.

Hierfür habe ich userattr ergänzt um:
obj-h40107-reading obj-h40107-type
obj-h40115-reading obj-h40115-type

und ich habe Attribute hinzugefügt
attr PV_EM410 obj-h40107-reading M_Exported
attr PV_EM410 obj-h40107-type UINT32

attr PV_EM410 obj-h40115-reading M_Imported
attr PV_EM410 obj-h40115-type UINT32

Leider bekomme ich nur unsinnige Werte zurück: 65535 und 1
Moin, Du hast den Finger direkt in die Wunde gelegt :-) Genau die Definition habe ich noch nicht verwendet/entschluesselt. Ich war noch an den anderen Basiswerten.
Die Kunst ist es das richtige Format mit den passenden Laenge, signed oder unsigned und und und zu kombinieren. Das %s waere ein String und ich verwende es, um erst mal
einen Eindruck von dem Modbus Feld zu bekommen. Da mein Plenticore mir bereits alle Werte des KSEM liefert hatte ich mich zuerst auf den konzentriert. Ich schaue mir den
KSEM jetzt aber auch nochmal an, bin aber fuer Deinen Input immer offen. Jedes Feld zaehlt :-)


dev-type-UINT32-format %s
dev-type-UINT32-len 2


Zur Historie des KSEM ist noch zu sagen, dass erst ab der Version 1.1.2 die Modbus Felder gefuellt wurden. Davor konnte man sie zwar schon abfragen, es stand jedoch immer "0" drin. Ich hatte da bei Kostal
ein Ticket auf und etwas gedraengelt. Mein Ziel war den KSEM mit dem Plenticore nur ueber LAN zu koppeln, jedoch geht das bis heute immer noch nicht, wodurch die RS485 immer noch verwendet werden muss.

EDIT:
Und hier noch den Link zur KSEM Modbus Beschreibung, wie immer keine Gewaehr fuer Inhalte fremder WebSeiten "kostal_interface_ksem" (https://www.kostal-solar-electric.com/de-de/download/-/media/document-library-folder---kse/2019/05/09/13/57/ba_kostal_interface_ksem---201911.pdf) . Ich habe Seite 6+7 Kapitel 3.5 versucht umzusetzen, jedoch noch nicht vollstaendig.

Gruss
     Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 06 April 2020, 14:04:15
Hallo,
ich habe da mal die Power Werte entschluesselt:

Warum die Werte um Faktor 10 zu klein sind verstehe ich momentan noch nicht, deshalb habe ich es erst mal mit "-expr $val*10" korrigiert, was jedoch so nicht richtig ist!!!

Die KSEM Oberflaeche zeigt z.B. "Active Power|Phase L1 -1857.6 W" an.
Die modbus Feld Umwandlung mit "unpack s>!" kommt auf  -185 ???
Ich habe mit folgendem Link gearbeitet https://perldoc.perl.org/perlpacktut.html#Integers (https://perldoc.perl.org/perlpacktut.html#Integers)
s! waere dann signed short und > entspricht big-endian
Ich arbeite auf einem RPI4 mit 32 Bit debian

Vieleicht kann hier mal jemand mit unpack Wissen etwas weiter helfen?


attr PV_EM410 obj-h40087-reading M_AC_Power
attr PV_EM410 obj-h40087-expr $val*10
attr PV_EM410 obj-h40087-len 1
attr PV_EM410 obj-h40087-unpack s>!

attr PV_EM410 obj-h40088-reading M_AC_Power_A
attr PV_EM410 obj-h40088-expr $val*10
attr PV_EM410 obj-h40088-len 1
attr PV_EM410 obj-h40088-unpack s>!

attr PV_EM410 obj-h40089-reading M_AC_Power_B
attr PV_EM410 obj-h40089-expr $val*10
attr PV_EM410 obj-h40089-len 1
attr PV_EM410 obj-h40089-unpack s>!

attr PV_EM410 obj-h40090-reading M_AC_Power_C
attr PV_EM410 obj-h40090-expr $val*10
attr PV_EM410 obj-h40090-len 1
attr PV_EM410 obj-h40090-unpack s>!

attr PV_EM410 obj-h40092-reading M_AC_VA
attr PV_EM410 obj-h40092-expr $val*10
attr PV_EM410 obj-h40092-len 1
attr PV_EM410 obj-h40092-unpack s>!

attr PV_EM410 obj-h40093-reading M_AC_VA_A
attr PV_EM410 obj-h40093-expr $val*10
attr PV_EM410 obj-h40093-len 1
attr PV_EM410 obj-h40093-unpack s>!

attr PV_EM410 obj-h40094-reading M_AC_VA_B
attr PV_EM410 obj-h40094-expr $val*10
attr PV_EM410 obj-h40094-len 1
attr PV_EM410 obj-h40094-unpack s>!

attr PV_EM410 obj-h40095-reading M_AC_VA_C
attr PV_EM410 obj-h40095-expr $val*10
attr PV_EM410 obj-h40095-len 1
attr PV_EM410 obj-h40095-unpack s>!

attr PV_EM410 obj-h40097-reading M_AC_VAR
attr PV_EM410 obj-h40097-expr $val*10
attr PV_EM410 obj-h40097-len 1
attr PV_EM410 obj-h40097-unpack s>!

attr PV_EM410 obj-h40098-reading M_AC_VAR_A
attr PV_EM410 obj-h40098-expr $val*10
attr PV_EM410 obj-h40098-len 1
attr PV_EM410 obj-h40098-unpack s>!

attr PV_EM410 obj-h40099-reading M_AC_VAR_B
attr PV_EM410 obj-h40099-expr $val*10
attr PV_EM410 obj-h40099-len 1
attr PV_EM410 obj-h40099-unpack s>!

attr PV_EM410 obj-h40100-reading M_AC_VAR_C
attr PV_EM410 obj-h40100-expr $val*10
attr PV_EM410 obj-h40100-len 1
attr PV_EM410 obj-h40100-unpack s>!
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 06 April 2020, 14:09:56
Hallo Christian,

ja, Power klappt bei mir inzwischen auch. Seltsam verhalten sich M_Imported und M_Exported.
Mit unpack L> wird zwar M_Imported korrket angezeigt, abe M_Exported liefert unplausible Werte.

attr KSEM dev-type-UINT32-len 2
attr KSEM dev-type-UINT32-unpack L>
attr KSEM obj-h40107-reading M_Exported
attr KSEM obj-h40107-type UINT32
attr KSEM obj-h40115-reading M_Imported
attr KSEM obj-h40115-type UINT32


Hab viel ausprobiert - ohne Erfolg.
Ich habe langsam keine Idee mehr.

Gruß
Uwe

Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 06 April 2020, 14:13:47
Eine Vermutung bei mir war noch, das der Faktor mitgeliefert wird, jedoch steht da fix eine "1" drin und nicht "10"

attr PV_EM410 obj-h40091-reading M_AC_Power_SF
attr PV_EM410 obj-h40091-len 1
attr PV_EM410 obj-h40091-unpack s>!


Wie hast Du die Power Werte nun definiert?
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 06 April 2020, 14:17:23
ZitatWie hast Du die Power Werte nun definiert?

Genau wie Du mit unpack s>

Zwischendruch hatte ich auch mal versucht die "internal instantaneous register" zu lesen - ist mir aber auch nicht gelungen. MODBUS verstehe ich eben noch nicht;-(

Gruß
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 06 April 2020, 14:21:27
Zitat von: uwek am 06 April 2020, 14:17:23
Zwischendruch hatte ich auch mal versucht die "internal instantaneous register" zu lesen - ist mir aber auch nicht gelungen. MODBUS verstehe ich eben noch nicht;-(
Modbus ist doch nur die Verpackung fuer die einzelnen Register, da mach ich mir mal keine Gedanken drueber :-)

Hast Du auch den Faktor 10 als Verschiebung drin oder habe ich mich da schon verwurschtelt?
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 06 April 2020, 14:22:30
Ich brauche auch ...expr $val*10

Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 06 April 2020, 14:24:05
Zitat von: uwek am 06 April 2020, 14:22:30
Ich brauche auch ...expr $val*10
Das haetteste ja auch schon mal schreiben koennen ;-) Ich such mir hier nen Wolf...jetzt mach ich mal lieber ne kleine Pause.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 06 April 2020, 14:28:08
Das hatte ich doch von Dir aus Deinem Post vom 22 Januar 2020.

Sobald ich mal selbst etwas zustande bringe, poste ich natürlich sofort;-)

Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 06 April 2020, 14:30:31
Dann habe ich mich jetzt einmal im Kreis gedreht...es wird Zeit fuer ne Pause :-)
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: pejonp am 06 April 2020, 14:36:45
@uwe,@ch.eick

versuche mal dieses Modul (https://github.com/pejonp/FHEM---SolarEdge), das ließt die SunSpec Register aus. ggf. muss noch etwas angepaßt werden.
(https://forum.fhem.de/index.php/topic,109748.msg1038676.html#msg1038676) oder (https://forum.fhem.de/index.php/topic,80767.msg982272.html#msg982272).

Liest die Reg 40070 - 40107 und 40123 - 40243 aus.

pejonp
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 06 April 2020, 15:20:17
Und hier kommt schon der erste Test

update all https://raw.githubusercontent.com/pejonp/FHEM---SolarEdge/master/controls_SolarEdge.txt
define PV_test_KSEM SolarEdge 1 60 192.168.178.17:502 TCP



Internals:
   CFGFN     
   DEF        1 60 192.168.178.17:502 TCP
   DeviceName 192.168.178.17:502
   EXPECT     idle
   FD         46
   FUUID      5e8b2adf-f33f-61a8-39d2-79fc5316b50a4050
   INTERVAL   60
   IODev      PV_test_KSEM
   LASTOPEN   1586178963.18991
   MODBUSID   1
   MODE       master
   MODEL      KOSTAL Smart Ene
   MODULEVERSION Modbus 4.1.5 - 17.9.2019
   NAME       PV_test_KSEM
   NOTIFYDEV  global
   NR         2389
   NTFY_ORDER 50-PV_test_KSEM
   PARTIAL   
   PROTOCOL   TCP
   STATE      opened
   TCPConn    1
   TRIGGERTIME 1586179085.18534
   TRIGGERTIME_FMT 2020-04-06 15:18:05
   TYPE       SolarEdge
   devioLoglevel 3
   lastUpdate 1586179025.18534
   nextOpenDelay 60
   QUEUE:
   READ:
     BUFFER     
   READINGS:
     2020-04-06 15:17:05   Block_AC_Current 5 32768 698 781 711 -2
     2020-04-06 15:17:05   Block_AC_Energy_WH 5 -10617015 -168 0 0 0
     2020-04-06 15:17:05   Block_AC_Frequency 5 4999 -2 0 0 0
     2020-04-06 15:17:05   Block_AC_PF     5 1 -515 0 0 0
     2020-04-06 15:17:05   Block_AC_Power  5 32768 -2 0 0 0
     2020-04-06 15:17:05   Block_AC_VA     5 65041 -158 0 0 0
     2020-04-06 15:17:05   Block_AC_VAR    5 65360 -160 0 0 0
     2020-04-06 15:16:05   Block_C_Model   5 KOSTAL Smart Ene 0 0 0 0
     2020-04-06 15:17:05   Block_DC_Current 5 1 143 0 0 0
     2020-04-06 15:17:05   Block_DC_Power  5 63 1 0 0 0
     2020-04-06 15:17:05   Block_DC_Voltage 5 42 50 0 0 0
     2020-04-06 15:16:05   C_DeviceAddress 255
     2020-04-06 15:16:05   C_Manufacturer  KOSTAL
     2020-04-06 15:16:05   C_Model         KOSTAL Smart Ene
     2020-04-06 15:16:05   C_SerialNumber  73261593
     2020-04-06 15:16:05   C_SunSpec_DID   203
     2020-04-06 15:16:05   C_SunSpec_ID    SunS
     2020-04-06 15:16:05   C_Version       1.1.2
     2020-04-06 15:17:05   I_AC_Current    327.68
     2020-04-06 15:17:05   I_AC_Current_A  6.98
     2020-04-06 15:17:05   I_AC_Current_B  7.81
     2020-04-06 15:17:05   I_AC_Current_C  7.11
     2020-04-06 15:17:05   I_AC_Current_SF -2
     2020-04-06 15:17:05   I_AC_Energy_WH  -1.0617015e-161
     2020-04-06 15:17:05   I_AC_Energy_WH_SF -168
     2020-04-06 15:17:05   I_AC_Frequency  49.99
     2020-04-06 15:17:05   I_AC_Frequency_SF -2
     2020-04-06 15:17:05   I_AC_PF         0
     2020-04-06 15:17:05   I_AC_PF_SF      -515
     2020-04-06 15:17:05   I_AC_Power      327.68
     2020-04-06 15:17:05   I_AC_Power_SF   -2
     2020-04-06 15:17:05   I_AC_VA         6.5041e-154
     2020-04-06 15:17:05   I_AC_VAR        6.536e-156
     2020-04-06 15:17:05   I_AC_VAR_SF     -160
     2020-04-06 15:17:05   I_AC_VA_SF      -158
     2020-04-06 15:17:05   I_AC_VoltageAB  32768
     2020-04-06 15:17:05   I_AC_VoltageAN  23704
     2020-04-06 15:17:05   I_AC_VoltageBC  23656
     2020-04-06 15:17:05   I_AC_VoltageBN  32768
     2020-04-06 15:17:05   I_AC_VoltageCA  23519
     2020-04-06 15:17:05   I_AC_VoltageCN  32768
     2020-04-06 15:17:05   I_AC_Voltage_SF 32768
     2020-04-06 15:17:05   I_DC_Current    1e+143
     2020-04-06 15:17:05   I_DC_Current_SF 143
     2020-04-06 15:17:05   I_DC_Power      630
     2020-04-06 15:17:05   I_DC_Power_SF   1
     2020-04-06 15:17:05   I_DC_Voltage    4.2e+51
     2020-04-06 15:17:05   I_DC_Voltage_SF 50
     2020-04-06 15:17:05   I_Status        65529
     2020-04-06 15:17:05   I_Temp_HeatSink 9 °C
     2020-04-06 15:17:05   X_M_ConsumptionToday 0
     2020-04-06 15:17:05   X_M_ExportedToday 0
     2020-04-06 15:17:05   X_M_ImportedToday 0
     2020-04-06 15:17:05   X_Meter_1_Block_AC_Current 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_AC_Frequency 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_AC_PF 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_AC_Power 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_AC_VA 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_AC_VAR 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_AC_Voltage_LL 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:16:05   X_Meter_1_Block_C_Model 9 |úÇÇÇ 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_Energy_VA 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:17:05   X_Meter_1_Block_Energy_W 9 0 0 0 0 0 0 0 0 0
     2020-04-06 15:16:05   X_Meter_1_C_DeviceAddress 0
     2020-04-06 15:16:05   X_Meter_1_C_Manufacturer  ‗╔ ■î ¸]ÿ ¸
     2020-04-06 15:16:05   X_Meter_1_C_Model |úÇÇÇ
     2020-04-06 15:16:05   X_Meter_1_C_Option ÇÇÇÇ
     2020-04-06 15:16:05   X_Meter_1_C_SerialNumber Ç 
     2020-04-06 15:16:05   X_Meter_1_C_SunSpec_DID 0
     2020-04-06 15:16:05   X_Meter_1_C_Version ÇÇÇÇ
     2020-04-06 15:17:05   X_Meter_1_M_AC_Current 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Current_A 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Current_B 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Current_C 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Current_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Frequency 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Frequency_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_PF 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_PF_A 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_PF_B 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_PF_C 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_PF_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Power 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Power_A 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Power_B 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Power_C 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Power_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VA 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VAR 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VAR_A 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VAR_B 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VAR_C 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VAR_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VA_A 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VA_B 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VA_C 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_VA_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_AB 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_AN 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_BC 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_BN 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_CA 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_CN 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_LL 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_LN 0
     2020-04-06 15:17:05   X_Meter_1_M_AC_Voltage_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_Energy_VA_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_Energy_W_SF 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported_A 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported_B 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported_C 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported_VA 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported_VA_A 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported_VA_B 0
     2020-04-06 15:17:05   X_Meter_1_M_Exported_VA_C 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported_A 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported_B 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported_C 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported_VA 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported_VA_A 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported_VA_B 0
     2020-04-06 15:17:05   X_Meter_1_M_Imported_VA_C 0
     2020-04-06 15:17:05   X_PV_Energy     -1.0617015e-161
     2020-04-06 15:17:05   X_PV_EnergyToday 0
     2020-04-06 15:16:03   state           opened
   REMEMBER:
     lid        1
     lname      PV_test_KSEM
     lrecv      1586179025.62891
     lsend      1586179025.62759
   defptr:
     PV_test_KSEM 1
   gotReadings:
     X_Meter_1_Block_AC_PF 9 0 0 0 0 0 0 0 0 0
     X_Meter_1_Block_AC_VAR 9 0 0 0 0 0 0 0 0 0
     X_Meter_1_Block_Energy_W 9 0 0 0 0 0 0 0 0 0
   lastRead:
     h40000     1586178965.52183
     h40004     1586178965.53377
     h40020     1586178965.53479
     h40044     1586178965.94338
     h40052     1586178965.94421
     h40068     1586178965.94475
     h40069     1586178965.94522
     h40071     1586179025.21117
     h40076     1586179025.21206
     h40077     1586179025.21282
     h40078     1586179025.21357
     h40079     1586179025.21447
     h40080     1586179025.21526
     h40081     1586179025.21603
     h40082     1586179025.21658
     h40083     1586179025.21741
     h40085     1586179025.21818
     h40087     1586179025.21892
     h40089     1586179025.21962
     h40091     1586179025.22032
     h40093     1586179025.22133
     h40096     1586179025.22215
     h40098     1586179025.22286
     h40100     1586179025.5261
     h40103     1586179025.52685
     h40107     1586179025.52791
     h40123     1586178965.73387
     h40139     1586178965.73504
     h40155     1586178965.84007
     h40163     1586178965.8414
     h40171     1586178965.84322
     h40187     1586178965.31458
     h40188     1586178965.31532
     h40190     1586179025.42197
     h40195     1586179025.4229
     h40196     1586179025.42366
     h40197     1586179025.42448
     h40198     1586179025.42523
     h40199     1586179025.42633
     h40204     1586179025.4273
     h40206     1586179025.4289
     h40211     1586179025.43064
     h40216     1586179025.63019
     h40221     1586179025.63094
     h40226     1586179025.63193
     h40243     1586179025.31673
Attributes:
   DbLogExclude .*
   room       Strom->Photovoltaik


Wo besteht da der Vorteil?

Interessant find ich diese Definition:
...-expr $val * (10 ** ReadingsNum ('<DEVICE-NAME>' ,'I_AC_Current_SF',0))
Kannst Du mir das mal erklaeren? Ich denke das wird mein Faktor 10 sein, der mir fehlt.

Viele Gruess
      Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: pejonp am 06 April 2020, 19:04:08
@ch.eick

1.Vorteil,  wie du schon festgestellt hast, es ist nur ein Eintrag in FHEM zu machen und es läuft. Anpassungen werden im Modul gemacht.


define PV_test_KSEM SolarEdge 1 60 192.168.178.17:502 TCP


Ich habe mal ins PDF geschaut (https://www.kostal-solar-electric.com/de-de/download/-/media/document-library-folder---kse/2019/05/09/13/57/ba_kostal_interface_ksem---201911.pdf).

Die Register sind im eine Stelle versetzt SunSpect 40072 --> KOSTAL 40071

SunSpec: 40072 1  I_AC_Current uint16 Amps AC Total Current value

KOSTAL: 40071  1   RO 0x03 M_AC_Current int16 A M_AC_CurAC Current (sum of active phases) 0x8000


Hier kommt der Wert der die Kommastelle festlegt.

KOSTAL:  40075 40075 1 RO 0x03 M_AC_Current_SF  int16    N/A  N/A  AC  current Scale Factor3        -2

Du müsstest die Werte anpassen. z.B. h40071 --> h40070

Dieses wird in einer extra Funktion berechnet. Für Strom, Leistung, Scheinleistung, Blindleistung und erzeugte Energie.....

  "h40071" => {    # 40072 (Len 5) 40072 to 40076
        'len'     => '5',                  #I_AC_Current, I_AC_CurrentA, I_AC_CurrentB, I_AC_CurrentC, I_AC_Current_SF
        'reading' => 'Block_AC_Current',
        'unpack'  => 'nnnns>',
        'expr' => 'ExprMppt($hash,$name,"I_AC_Current",$val[0],$val[1],$val[2],$val[3],$val[4])',    # conversion of raw value to visible value
    },

Bei der Spannung habe ich es nicht drin, kann jetz auch nicht sagen warum. Aber I_AC_Voltage_SF ist meistens 0. Damit kan man leben. Warscheinlich 230V oder 400Volt.
Beim Gleischstrom (750Volt) ist es drin.

Wenn du möchstet kann ich das Modul um KOSTAL erweitern, so das man den WR angibt und die Werte sollten stimmen.


define PV_test_KSEM SunSpec KOSTAL 1 60 192.168.178.17:502 TCP


Ist aber nicht sofort verfügbar, muss ich mich mit Perl noch etwas mehr beschäftigen.

Ich hoffe ich konnte etwas helfen.

pejonp
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 07 April 2020, 09:47:56
Hallo pejonp,

ich würde ein solches Modul für KOSTAL natürlich toll finden.
Gerne untsrtütze ich die Entwicklung mit meinen bescheidenen Fähigkeiten. Wie geschrieben betreibe ich einen Kostal Piko 20 und ein Kostal Smart Energy Manager (EM410) und könnte zumindest beim Testen helfen. Die Parameter der Serien (Plenticore und Piko) scheinen sich ja etwas zu unterscheiden.

Viele Grüße,
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 07 April 2020, 10:30:37
Zitat von: uwek am 07 April 2020, 09:47:56
Die Parameter der Serien (Plenticore und Piko) scheinen sich ja etwas zu unterscheiden.
Momentan sprichst Du hier vom KSEM, da unterscheidet sich nichts in Bezug auf Plenticore oder Pico. Jedes dieser Geraete ist ein eigenstaendiges Modbus Geraet.

Das Modul SolarEdge spricht nach meinen Kenntnissen nur den KSEM an, da man ja auch nur dessen IP und Port angibt.

EDIT:
Nun habe ich das Modul mal ueberflogen und nach meiner Einschaetzung  werden dort nur die Modbus Definitionen und die Formatierungen vorgenommen.
Dies ist natuerlich schoen, wenn man das nicht direkt im Standard Modbus Modul vornehmen muss, was das FHEM Device uebersichtlicher macht.
Fuer mich wuerde ich das jedoch lieber im FHEM Device sehen, da ich da eh nur reinschaue, wenn es ein Problem gibt. Ansonsten schaue ich nur auf die Ausgabe stateformat
im Level darueber. Wenn ich ein Modul verwende, sollte es schon eine gewisse Erweiterung der Funktionalitaet bieten.

@pejong
Was macht das Modul SolarEdge den noch alles, ausser den Modbus abzufragen und zu Formatieren? Ich versuche den Vorteil im Vergleich zum Standard Modbus Modul zu verstehen?

Gruss
   Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 07 April 2020, 11:09:48
Zitat von: uwek am 07 April 2020, 09:47:56
ich würde ein solches Modul für KOSTAL natürlich toll finden.
Gerne untsrtütze ich die Entwicklung mit meinen bescheidenen Fähigkeiten. Wie geschrieben betreibe ich einen Kostal Piko 20 und ein Kostal Smart Energy Manager (EM410) und könnte zumindest beim Testen helfen. Die Parameter der Serien (Plenticore und Piko) scheinen sich ja etwas zu unterscheiden.

Dies ist ein weiterer Punkt, den ich auch unterstuetzen wuerde. Bisher habe ich alles mit den Standard/generischen  Modulen geloest.

1) Abfrage und Aufbereitung der Kostal WR Informationen mit dem Modul "Modbus 4.1.5 - 17.9.2019"
   Einige wenige userreadings, um zusaetzliche Information zu generieren
   Mit stateFormat werden die Kerninformationen aufbereitet und man muss nicht das Device jedesmal durchsuchen.

2) Zusaetzlich den KSEM mit "Modbus 4.1.5 - 17.9.2019" abfragen, was beim Kostal Plenticore jedoch nicht notwendig ist,
    da der Plenticore die selben Daten bereits stellt und diese somit auch syncron sind.

Was ein Modul nun noch besser machen koennte, waere das setzen von Werten im Kostal WR, was momentan nicht ueber den Modbus bereitgestellt wird.
Von Kostal habe ich da auch keine Aussage fuer die Zukunft bekommen. Von Kostal wurde uebrigens jede meiner Anfrage beantwortet oder in einem
Telefonat erklaert.

Ueber andere Projekte (ioBroker oder API call auf Stack Overflow) konnte ich bereits auch das Setzen von Werten aus FHEM heraus ermoeglichen. Dies laeuft zur Zeit
jedoch ueber Python Skripte, da es zwar von JAVA zu Python migriert wurde, jedoch noch nicht zu Perl. Eine Rueckantwort/meldung habe ich dann aus dem Python mit
einer fhem Erweiterung umgesetzt.
Hier sehe ich nun den Vorteil eines Moduls, es koennte wie das SolarEdge Modul den Modbus bedienen, jedoch als Mehrwert auch die Verbindung zur Kostal API erledigen.
Eventuell fehlende Werte koennten auch dort ergaenzt werden, was jedoch wieder eine phylosophische Frage ist.

Ein Modul, dass alle WR von verschiedenen Herstellern bedient finde ich eher illusorisch, da ja dann auch jede Firmwarevariante mit rein muesste.

Was denkt Ihr dazu?
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 07 April 2020, 15:56:37
Hallo zusammen,

ich habe die Modbus Definitionen nochmal ueberarbeitet und mit "dev-type" aufgeraeumt. Auch der Scale Faktor ist jetzt mit drin.

Ein Fehler besteht noch beim Gesamtstrom, jedoch finde ich nicht die Abweichung in der Definition. Laut Kostal Dokumentation ist der Wert identisch zu den anderen Stromwerten definiert, jedoch ist die angezeigte Zahl nicht korrekt.

attr PV_KSEM obj-h40071-reading M_AC_Current
attr PV_KSEM obj-h40071-type INT16_Current


EDIT:
Mit folgenden Werten gibt es da auch ein Problem. In der Doku steht bei allen "0x8000"als Value Range.

Hier sollte die Summe der Stroeme 2.87+5.63+5.11 stehen
M_AC_Current 327.68

Hier musste eigentlich ca 380 Volt stehen
M_AC_Voltage_AB 327.68
M_AC_Voltage_BC 327.68
M_AC_Voltage_CA 327.68
M_AC_Voltage_LL 327.68
M_AC_Voltage_LN 327.68

Im SolarEdge Modul habe ich auch keinen weiteren Hinweis gefunden :-)
Da ist sicher das unpack falsch.



defmod PV_KSEM ModbusAttr 1 60 192.168.178.17:502 TCP

attr PV_KSEM DbLogExclude .*
attr PV_KSEM alias PV_Energy_Manager
attr PV_KSEM comment Kostal KSEM (EM410) Energy Manager

attr PV_KSEM dev-h-defPoll 1

attr PV_KSEM dev-type-INT16-len 1
attr PV_KSEM dev-type-INT16-unpack s>

attr PV_KSEM dev-type-INT16_Current-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_Current_SF",0))
attr PV_KSEM dev-type-INT16_Current-format %.2f
attr PV_KSEM dev-type-INT16_Current-len 1
attr PV_KSEM dev-type-INT16_Current-unpack n

attr PV_KSEM dev-type-INT16_Freq-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_Freq_SF",0))
attr PV_KSEM dev-type-INT16_Freq-format %.2f
attr PV_KSEM dev-type-INT16_Freq-len 1
attr PV_KSEM dev-type-INT16_Freq-unpack s>

attr PV_KSEM dev-type-INT16_PF-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_PF_SF",0))
attr PV_KSEM dev-type-INT16_PF-format %.2f
attr PV_KSEM dev-type-INT16_PF-len 1
attr PV_KSEM dev-type-INT16_PF-unpack s>

attr PV_KSEM dev-type-INT16_Power-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_Power_SF",0))
attr PV_KSEM dev-type-INT16_Power-format %.2f
attr PV_KSEM dev-type-INT16_Power-len 1
attr PV_KSEM dev-type-INT16_Power-unpack s>

attr PV_KSEM dev-type-INT16_VA-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_VA_SF",0))
attr PV_KSEM dev-type-INT16_VA-format %.2f
attr PV_KSEM dev-type-INT16_VA-len 1
attr PV_KSEM dev-type-INT16_VA-unpack s>

attr PV_KSEM dev-type-INT16_VAR-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_VAR_SF",0))
attr PV_KSEM dev-type-INT16_VAR-format %.2f
attr PV_KSEM dev-type-INT16_VAR-len 1
attr PV_KSEM dev-type-INT16_VAR-unpack s>

attr PV_KSEM dev-type-INT16_Voltage-expr $val * (10 ** ReadingsNum("$name" ,"M_AC_Voltage_SF",0))
attr PV_KSEM dev-type-INT16_Voltage-format %.2f
attr PV_KSEM dev-type-INT16_Voltage-len 1
attr PV_KSEM dev-type-INT16_Voltage-unpack n

attr PV_KSEM dev-type-STR32-expr $val =~ s/[\00]+//gr
attr PV_KSEM dev-type-STR32-format %s
attr PV_KSEM dev-type-STR32-len 16
attr PV_KSEM dev-type-STR32-unpack a*

attr PV_KSEM dev-type-UINT16-format %s
attr PV_KSEM dev-type-UINT16-len 1

attr PV_KSEM obj-h40071-reading M_AC_Current
attr PV_KSEM obj-h40071-type INT16_Current
attr PV_KSEM obj-h40072-reading M_AC_Current_A
attr PV_KSEM obj-h40072-type INT16_Current
attr PV_KSEM obj-h40073-reading M_AC_Current_B
attr PV_KSEM obj-h40073-type INT16_Current
attr PV_KSEM obj-h40074-reading M_AC_Current_C
attr PV_KSEM obj-h40074-type INT16_Current
attr PV_KSEM obj-h40075-reading M_AC_Current_SF
attr PV_KSEM obj-h40075-type INT16

attr PV_KSEM obj-h40076-reading M_AC_Voltage_LN
attr PV_KSEM obj-h40076-type INT16_Voltage
attr PV_KSEM obj-h40077-reading M_AC_Voltage_AN
attr PV_KSEM obj-h40077-type INT16_Voltage
attr PV_KSEM obj-h40078-reading M_AC_Voltage_BN
attr PV_KSEM obj-h40078-type INT16_Voltage
attr PV_KSEM obj-h40079-reading M_AC_Voltage_CN
attr PV_KSEM obj-h40079-type INT16_Voltage
attr PV_KSEM obj-h40080-reading M_AC_Voltage_LL
attr PV_KSEM obj-h40080-type INT16_Voltage
attr PV_KSEM obj-h40081-reading M_AC_Voltage_AB
attr PV_KSEM obj-h40081-type INT16_Voltage
attr PV_KSEM obj-h40082-reading M_AC_Voltage_BC
attr PV_KSEM obj-h40082-type INT16_Voltage
attr PV_KSEM obj-h40083-reading M_AC_Voltage_CA
attr PV_KSEM obj-h40083-type INT16_Voltage
attr PV_KSEM obj-h40084-reading M_AC_Voltage_SF
attr PV_KSEM obj-h40084-type INT16

attr PV_KSEM obj-h40085-reading M_AC_Freq
attr PV_KSEM obj-h40085-type INT16_Freq
attr PV_KSEM obj-h40086-reading M_AC_Freq_SF
attr PV_KSEM obj-h40086-type INT16

attr PV_KSEM obj-h40087-reading M_AC_Power
attr PV_KSEM obj-h40087-type INT16_Power
attr PV_KSEM obj-h40088-reading M_AC_Power_A
attr PV_KSEM obj-h40088-type INT16_Power
attr PV_KSEM obj-h40089-reading M_AC_Power_B
attr PV_KSEM obj-h40089-type INT16_Power
attr PV_KSEM obj-h40090-reading M_AC_Power_C
attr PV_KSEM obj-h40090-type INT16_Power
attr PV_KSEM obj-h40091-reading M_AC_Power_SF
attr PV_KSEM obj-h40091-type INT16

attr PV_KSEM obj-h40092-reading M_AC_VA
attr PV_KSEM obj-h40092-type INT16_VA
attr PV_KSEM obj-h40093-reading M_AC_VA_A
attr PV_KSEM obj-h40093-type INT16_VA
attr PV_KSEM obj-h40094-reading M_AC_VA_B
attr PV_KSEM obj-h40094-type INT16_VA
attr PV_KSEM obj-h40095-reading M_AC_VA_C
attr PV_KSEM obj-h40095-type INT16_VA
attr PV_KSEM obj-h40096-reading M_AC_VA_SF
attr PV_KSEM obj-h40096-type INT16

attr PV_KSEM obj-h40097-reading M_AC_VAR
attr PV_KSEM obj-h40097-type INT16_VAR
attr PV_KSEM obj-h40098-reading M_AC_VAR_A
attr PV_KSEM obj-h40098-type INT16_VAR
attr PV_KSEM obj-h40099-reading M_AC_VAR_B
attr PV_KSEM obj-h40099-type INT16_VAR
attr PV_KSEM obj-h40100-reading M_AC_VAR_C
attr PV_KSEM obj-h40100-type INT16_VAR
attr PV_KSEM obj-h40101-reading M_AC_VAR_SF
attr PV_KSEM obj-h40101-type INT16

attr PV_KSEM obj-h40102-reading M_AC_PF
attr PV_KSEM obj-h40102-type INT16_PF
attr PV_KSEM obj-h40103-reading M_AC_PF_A
attr PV_KSEM obj-h40103-type INT16_PF
attr PV_KSEM obj-h40104-reading M_AC_PF_B
attr PV_KSEM obj-h40104-type INT16_PF
attr PV_KSEM obj-h40105-reading M_AC_PF_C
attr PV_KSEM obj-h40105-type INT16_PF
attr PV_KSEM obj-h40106-reading M_AC_PF_SF
attr PV_KSEM obj-h40106-type INT16

attr PV_KSEM obj-h8192-reading ManufacturerID
attr PV_KSEM obj-h8192-type UINT16
attr PV_KSEM obj-h8193-reading ProductID
attr PV_KSEM obj-h8193-type UINT16
attr PV_KSEM obj-h8194-reading ProductVersion
attr PV_KSEM obj-h8194-type UINT16
attr PV_KSEM obj-h8195-reading FirmwareVersion
attr PV_KSEM obj-h8195-type UINT16

attr PV_KSEM obj-h8196-reading VendorName
attr PV_KSEM obj-h8196-type STR32
attr PV_KSEM obj-h8212-reading Productname
attr PV_KSEM obj-h8212-type STR32
attr PV_KSEM obj-h8228-reading SerialNumber
attr PV_KSEM obj-h8228-type STR32

attr PV_KSEM obj-h8244-reading MeasuringInterval
attr PV_KSEM obj-h8244-type UINT16

attr PV_KSEM group PV Eigenverbrauch
attr PV_KSEM icon measure_power
attr PV_KSEM room Strom->Photovoltaik
attr PV_KSEM sortby 02
attr PV_KSEM verbose 0
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 07 April 2020, 17:15:41
Hallo nochmal.

der Code vom "SolarEdge" Modul ist uebrigens aus dem ModbusAttr Moduld mit "set saveAsModule" generiert und dann spaeter veraendert worden.
Das bedeutet, wenn wir hier mit dem Ursprungsmodul "ModbusAttr" die Definitionen korrekt setzen, koennen wir spaeter einen Export durchfuehren und
haben den Beginn eines eigenen Kostal Moduls ;-)

Gruss
    Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: killah78 am 08 Juni 2020, 16:38:45
Hallo zusammen,
habe auch den KSEM und möchte gerne die Daten per Modbus TCP lesen.

Erste Leseversuche der "internal instantaneous register" (Adressen 0 - 145) waren recht erfolgreich. Also die Leistung wird da gut ausgelesen.

Dann habe ich mich an die "internal Energy register" gewagt. Also Adressen 512 - 791. Leider bekomme ich nur Null Werte, bzw keine Werte. Habt ihr das auch schonmal versucht?

Danach habe ich dann die SunSpec Register probiert. Und hier bin ich auch auf die gleichen Probleme gestossen:

M_Exported zeigt einen nicht plausiblen Wert.
M_AC_Current zeigt fix 327,68
genauso wie M_AC_Voltage_AB, M_AC_Voltage_BC, M_AC_Voltage_CA, M_AC_Voltage_LL und M_AC_Voltage_LN.

Habt ihr da schon neue Erkenntnisse?

PS: Habt ihr auch schonmal probiert den Empfangsweg umzukehren? Sprich in FHEM als Modbus slave und den KSEM als Master die Daten senden lassen? Dazu gibt es ja im KSEM die Modbus Erweiterten Einstellungen, wo man entsprechendes Konfigurieren kann. Vielleicht gibt es da Unterschiede, welche Daten per Master gesendet werden und welche per Slave abgerufen werden.

Gruss
killah78

Edit: Teilweise die Probleme gefunden:
- Die "internal Energy register" können gelesen werden und müssen mit "Q>" entpackt werden. Dann kommen auch korrekte Werte.
- Die M_Exported-Werte werden (fälschlicherweise) als signed ausgegeben. Wenn man also mit "i>" entpackt kommen entsprechende negative Werte. Aber die passen dann.
- Lediglich diesen Fixen Werte mit 327, 68 habe ich noch nicht gefunden.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 09 Juni 2020, 08:59:13
Moin.
Bitte prüfen, ob Du die aktuellste Firmware auf dem KSEM hast. Die ältere hat noch keine Werte geliefert.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: killah78 am 10 Juni 2020, 16:31:34
Ja Firmware ist aktuell. Habe ja den Großteil jetzt gelesen (siehe mein Edit). Mir fehlen noch die readings, die diesen scheinbar fixen wert ausgeben. Kannst du denn zb. M_AC_Current korrekt lesen?
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 10 Juni 2020, 18:25:27
Zitat von: killah78 am 10 Juni 2020, 16:31:34
Ja Firmware ist aktuell. Habe ja den Großteil jetzt gelesen (siehe mein Edit). Mir fehlen noch die readings, die diesen scheinbar fixen wert ausgeben. Kannst du denn zb. M_AC_Current korrekt lesen?

Leider nein, wie ich hier (https://forum.fhem.de/index.php/topic,109749.msg1039545.html#msg1039545) ja bereits geschrieben hatte gibt es noch mehr dieser Werte.

Ich sehe das Problem beim upack und habe nochmals separat hier (https://forum.fhem.de/index.php/topic,109984.msg1043096.html#msg1043096) einen Thread aufgemacht, den jedoch niemand beantworten kann.

Gruss
    Christian
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 11 Juni 2020, 16:13:14
Hallo,

ich lese Bezug und Lieferung inzwischen wie folgt aus und bekomme plausible Werte:


attr KSEM dev-type-UINT64-expr $val/10000
attr KSEM dev-type-UINT64-format %s
attr KSEM dev-type-UINT64-len 4
attr KSEM dev-type-UINT64-unpack Q>
...
attr KSEM obj-h512-reading Active energy+
attr KSEM obj-h512-type UINT64
attr KSEM obj-h516-reading Active energy-
attr KSEM obj-h516-type UINT64


Gruß,
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 11 Juni 2020, 22:15:57
Zitat von: uwek am 11 Juni 2020, 16:13:14
ich lese Bezug und Lieferung inzwischen wie folgt aus und bekomme plausible Werte:

attr KSEM dev-type-UINT64-expr $val/10000
attr KSEM dev-type-UINT64-format %s
attr KSEM dev-type-UINT64-len 4
attr KSEM dev-type-UINT64-unpack Q>
...
attr KSEM obj-h512-reading Active energy+
attr KSEM obj-h512-type UINT64
attr KSEM obj-h516-reading Active energy-
attr KSEM obj-h516-type UINT64

Okay, das klappt auch bei mir.

Active_energy+ 2122.6187 2020-06-11 22:06:46
Active_energy- 2361.6201 2020-06-11 22:06:45

Sind das Watt ???

Mein WR zeigt immer so gegen 0 Watt an +/- 10 Watt. Dann wuerde das ja nicht passen ???

Ich bin etwas verwirrt gerade.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 12 Juni 2020, 08:52:56
Guten Morgen,

Zitat von: ch.eick am 11 Juni 2020, 22:15:57
Sind das Watt ???
Mein WR zeigt immer so gegen 0 Watt an +/- 10 Watt. Dann wuerde das ja nicht passen ???
Ich bin etwas verwirrt gerade.

Mein WR zeigt immer so gegen 0 Watt an +/- 10 Watt. Dann wuerde das ja nicht passen ???

Active energy +/- sind die Werte der Wirkenergiezähler und entsprechen 1.0.8 und 2.0.8 der EVU-Zähler.
Nach $val/10000 werden kWh angezeigt.

Gruß
Uwe

M_AC_Power
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 12 Juni 2020, 09:09:17
Zitat von: uwek am 12 Juni 2020, 08:52:56
Active energy +/- sind die Werte der Wirkenergiezähler und entsprechen 1.0.8 und 2.0.8 der EVU-Zähler.
Nach $val/10000 werden kWh angezeigt.

Laut WR, der den KSEM über rs485 ausliest wurden zu dieser Zeit ca 3 Watt bezogen und nicht 2122 Watt. Ich glaube da stimmt was nicht.
Insgesamt habe ich in 2 Monaten laut EVU Zähler nur 3 KWh bezogen.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 12 Juni 2020, 09:28:58
Hallo,

Zitat von: ch.eick am 12 Juni 2020, 09:09:17
Laut WR, der den KSEM über rs485 ausliest wurden zu dieser Zeit ca 3 Watt bezogen und nicht 2122 Watt. Ich glaube da stimmt was nicht.
Insgesamt habe ich in 2 Monaten laut EVU Zähler nur 3 KWh bezogen.

hmm.. Bei mir scheinen die Werte plausibel und stimmen bis auf winzige Abweichungen auch mit dem EVU-Zähler überein.

Ich lese den KSEM über ModbusAttr und Wechselrichter über HTTPMOD völlig unabhängig voneinander aus, da mein Piko und der KSEM offenbar keine Daten austauschen, außer für die Abregelung. Beide Geräte sind ausschließlich per LAN verbunden.

Gruß,
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 12 Juni 2020, 09:45:12
Eventuell stimmt da etwas mit dem $val/10000 nicht.
In anderen Devices musste ich folgendes schreiben

$val/10000;$val

Damit die Berechnung übernommen wird. Das prüfe ich später mal.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 12 Juni 2020, 10:14:42
Letztlich habe ich nur anhand der Doku des KSEM und einiger Beiträge aus diesem Forum "rumprobiert", bis ich die gewünschten Ausgaben hatte.
Ich häng mal meine vermutlich nicht sehr elegante Definition meines Gerätes an, vielleicht hilft das ja etwas.

Gruß
Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 12 Juni 2020, 10:25:19
Zitat von: uwek am 12 Juni 2020, 10:14:42
Letztlich habe ich nur anhand der Doku des KSEM und einiger Beiträge aus diesem Forum "rumprobiert", bis ich die gewünschten Ausgaben hatte.
Ich häng mal meine vermutlich nicht sehr elegante Definition meines Gerätes an, vielleicht hilft das ja etwas.
Das ist doch elegant! Sieht nach meiner Definition aus. Ich hatte hier den ersten ersten KSEM ;-)
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: uwek am 12 Juni 2020, 10:41:26
Zitat von: ch.eick am 12 Juni 2020, 10:25:19
Das ist doch elegant! Sieht nach meiner Definition aus. Ich hatte hier den ersten ersten KSEM ;-)

Ja, Deine Definition war meine Ausgangspunkt.
Mit "vermutlich nicht elegant" meinte ich vor allem den Bereich "attr KSEM userattr" mit der langen Liste an Definitionen, deren Bedeutung ich nach wie vor nicht komplett verstehe.

An einigen Readings bin ich gescheiert, z.B. konnte ich für M_Exported nie plausible Werte auslesen - M_Imported hingegen ging.
Glücklicherweise habe ich dann die Register für Active energy gefunden, die ja dieselben Werte enthalten sollten.

Wie ich gerade gesehen habe, schulde ich noch meine HTTPMOD-Definition des Piko20. Ich häng die mal zur Info an.

Uwe
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 15 Juni 2020, 17:21:57
Zitat von: ch.eick am 12 Juni 2020, 09:45:12
Eventuell stimmt da etwas mit dem $val/10000 nicht.
In anderen Devices musste ich folgendes schreiben

$val/10000;$val

Damit die Berechnung übernommen wird. Das prüfe ich später mal.

Hier noch eine kurze Rueckmeldung: Die Werte stimmen so mit dieser Umrechnung! Es war mein Gedankenfehler, da ich nach den Momentanwerten gesucht hatte und es sich bei 1.0.8 und 2.0.8 um die Gesamtzaehler handelt.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: killah78 am 22 Juni 2020, 13:41:07
Zitat von: uwek am 12 Juni 2020, 10:41:26
An einigen Readings bin ich gescheiert, z.B. konnte ich für M_Exported nie plausible Werte auslesen - M_Imported hingegen ging.
Glücklicherweise habe ich dann die Register für Active energy gefunden, die ja dieselben Werte enthalten sollten.

Hi, kurz als Kommentar: Das mit M_Exported hatte ich bereits gelöst. Die Werte sind fälschlicherweise mit Vorzeichen. Also nicht wie angegeben unsigned. Daher einfach mit "i>" entpacken, dann bekommst du die korrekten aber negativen Werte.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 22 Juni 2020, 15:41:05
Zitat von: killah78 am 22 Juni 2020, 13:41:07
Hi, kurz als Kommentar: Das mit M_Exported hatte ich bereits gelöst. Die Werte sind fälschlicherweise mit Vorzeichen. Also nicht wie angegeben unsigned. Daher einfach mit "i>" entpacken, dann bekommst du die korrekten aber negativen Werte.
Hallo,
kannst Du eventuell Deine komplette Konfiguration mal bereitstellen?
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: stolus am 07 Juli 2020, 21:50:09
Zitat von: ch.eick am 22 Juni 2020, 15:41:05
Hallo,
kannst Du eventuell Deine komplette Konfiguration mal bereitstellen?
Hallo,
ich komme auch gerade mit der Konfig nicht weiter und eine kleiner Tip würde helfen.
Danke ;)
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 17 Juli 2020, 16:53:36
Es gibt von Kostal eine Antwort

0x800000000 im Register  (https://forum.fhem.de/index.php/topic,102297.msg1064899.html#msg1064899)
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: killah78 am 04 August 2020, 16:10:03
Zitat von: ch.eick am 22 Juni 2020, 15:41:05
Hallo,
kannst Du eventuell Deine komplette Konfiguration mal bereitstellen?

Hi, sorry zur späten Rückmeldung. Ich kann leider nicht viel zeigen, da ich bisher nur rumgespielt habe und noch tue. Der Plenticore ist zwar in Betrieb, aber die Batterie wird noch geliefert.
Habe bisher 3 Devices eigebunden: 1. Wechelrichter (Plenticore), 2. Wechelrichter (IQ) und den KSEM. Dazu habe ich mir noch ein Dummydevice erstellt, welches ausschließlich UserReadings aus den Geräten (alle 5 Minuten) erhält und geloggt werden.

Wie gesagt, das ist bisher alles zum testen und noch nicht final fertig.


Internals:
   DEF        71 10 192.168.78.67:1502 TCP
   DeviceName 192.168.78.67:1502
   EXPECT     idle
   FD         62
   FUUID      5edf8150-f33f-86d0-1a39-9acf189d0568fc27
   INTERVAL   10
   IODev      Plenticore
   LASTOPEN   1596513512.50603
   MODBUSID   71
   MODE       master
   MODULEVERSION Modbus 4.1.5 - 17.9.2019
   NAME       Plenticore
   NOTIFYDEV  global
   NR         816
   NTFY_ORDER 50-Plenticore
   PARTIAL   
   PROTOCOL   TCP
   STATE      opened
   TCPConn    1
   TRIGGERTIME 1596544319.58288
   TRIGGERTIME_FMT 2020-08-04 14:31:59
   TYPE       ModbusAttr
   devioLoglevel 3
   lastUpdate 1596544309.58288
   nextOpenDelay 60
   QUEUE:
   READ:
     BUFFER     
   READINGS:
     2020-08-04 14:31:50   AC_Phase1_W     0.00
     2020-08-04 14:31:50   AC_Phase2_W     0.00
     2020-08-04 14:31:50   AC_Phase3_W     0.00
     2020-08-04 14:31:49   AC_Phase_total_W 0.00
     2020-08-04 14:31:50   Battery_SOC     0.00
     2020-08-04 14:31:50   DC_Power1       0.00
     2020-08-04 14:31:49   DC_Power2       0.00
     2020-08-04 14:31:50   DC_Power3_IQ    0.00
     2020-08-04 14:31:50   DC_Power4_IQ    0.00
     2020-08-04 14:31:50   DC_Power_total  0.00
     2020-08-04 14:31:50   KSEM_phase1_W   296.40
     2020-08-04 14:31:49   KSEM_phase2_W   19.70
     2020-08-04 14:31:49   KSEM_phase3_W   151.70
     2020-08-04 14:31:50   KSEM_phase_all_W 462.30
     2020-08-04 14:31:49   Yield_Daily     0.00
     2020-08-04 14:31:49   Yield_Monthly   0.00
     2020-08-04 14:31:49   Yield_Total     968374.50
     2020-08-04 14:31:49   Yield_Yearly    968374.50
     2020-08-04 14:29:19   ZAV_DC_Power1   0
     2020-08-04 14:29:50   ZAV_DC_Power2   0
     2020-08-04 14:29:19   ZAV_DC_Power3_IQ 0
     2020-08-04 14:29:19   ZAV_DC_Power4_IQ 0
     2020-08-04 14:31:50   ZAV_KSEM_phase_all_W 486
     2020-08-04 14:30:29   ZAV_ZZZ_AC_Phase_total_W 0
     2020-08-04 14:29:19   ZAV_ZZZ_DC_Power_Total_W 0
     2020-08-04 14:31:50   ZAV_ZZZ_Hausverbrauch_W 486
     2020-08-04 14:29:09   ZZZ_AC_Phase1_W 0
     2020-08-04 14:29:09   ZZZ_AC_Phase2_W 0
     2020-08-04 14:29:09   ZZZ_AC_Phase3_W 0
     2020-08-04 14:30:29   ZZZ_AC_Phase_total_W 0
     2020-08-04 14:29:19   ZZZ_DC_Power_Total_W 0
     2020-08-04 14:31:50   ZZZ_Hausverbrauch_W 462.3
     2020-08-04 14:28:50   ZZZ_Yield_Daily 0
     2020-08-04 14:28:50   ZZZ_Yield_Monthly 0
     2020-08-04 14:28:50   ZZZ_Yield_Total 1522900.44
     2020-08-04 14:28:50   ZZZ_Yield_Yearly 1522900.44
     2020-08-04 14:31:50   statZZZ_AC_Phase_total_WDay Min: 0 Avg: 0 Max: 0
     2020-08-03 23:59:55   statZZZ_AC_Phase_total_WDayLast Min: 0 Avg: 0 Max: 0
     2020-08-04 14:31:50   statZZZ_AC_Phase_total_WHour Min: 0 Avg: 0 Max: 0
     2020-08-04 13:59:55   statZZZ_AC_Phase_total_WHourLast Min: 0 Avg: 0 Max: 0
     2020-08-04 14:31:50   statZZZ_AC_Phase_total_WMonth Min: 0 Avg: 0 Max: 0
     2020-07-31 23:59:55   statZZZ_AC_Phase_total_WMonthLast Min: 0 Avg: 817 Max: 9361
     2020-08-04 14:31:50   statZZZ_AC_Phase_total_WYear Min: 0 Avg: 989 Max: 9361 (since:  )
     2020-08-04 14:31:50   statZZZ_Yield_Total Hour: 0.00 Day: 0.00 Month: 0.00 Year: 1380187.11 (since: 2020-06-10 )
     2020-08-04 13:59:55   statZZZ_Yield_TotalLast Hour: 0.00 Day: 0.00 Month: 633274.87 Year: -
     2020-08-04 05:58:32   state           opened
   REMEMBER:
     lid        71
     lname      Plenticore
     lrecv      1596544310.44198
     lsend      1596544310.41707
   defptr:
     Plenticore 71
   gotReadings:
     AC_Phase1_W 0.00
     AC_Phase2_W 0.00
     AC_Phase3_W 0.00
   helper:
     _98_statistics wetter_stat
   lastRead:
     h100       1596544310.19364
     h156       1596544310.44281
     h162       1596544310.4433
     h168       1596544310.44375
     h172       1596544309.83815
     h210       1596544310.08673
     h224       1596544310.08736
     h234       1596544309.61029
     h244       1596544309.61085
     h252       1596544310.31473
     h260       1596544310.31525
     h270       1596544309.71806
     h320       1596544309.95588
     h322       1596544309.95631
     h324       1596544309.95677
     h326       1596544309.9572
Attributes:
   dev-h-combine 16
   dev-type-Fl_R2-format %.2f
   dev-type-Fl_R2-len 2
   dev-type-Fl_R2-revRegs 1
   dev-type-Fl_R2-unpack f>
   event-min-interval .*:300
   event-on-change-reading .*
   obj-h100-poll 1
   obj-h100-reading DC_Power_total
   obj-h100-type Fl_R2
   obj-h156-poll 1
   obj-h156-reading AC_Phase1_W
   obj-h156-type Fl_R2
   obj-h162-poll 1
   obj-h162-reading AC_Phase2_W
   obj-h162-type Fl_R2
   obj-h168-poll 1
   obj-h168-reading AC_Phase3_W
   obj-h168-type Fl_R2
   obj-h172-poll 1
   obj-h172-reading AC_Phase_total_W
   obj-h172-type Fl_R2
   obj-h210-poll 1
   obj-h210-reading Battery_SOC
   obj-h210-type Fl_R2
   obj-h224-poll 1
   obj-h224-reading KSEM_phase1_W
   obj-h224-type Fl_R2
   obj-h234-poll 1
   obj-h234-reading KSEM_phase2_W
   obj-h234-type Fl_R2
   obj-h244-poll 1
   obj-h244-reading KSEM_phase3_W
   obj-h244-type Fl_R2
   obj-h252-poll 1
   obj-h252-reading KSEM_phase_all_W
   obj-h252-type Fl_R2
   obj-h260-poll 1
   obj-h260-reading DC_Power1
   obj-h260-type Fl_R2
   obj-h270-poll 1
   obj-h270-reading DC_Power2
   obj-h270-type Fl_R2
   obj-h320-poll 1
   obj-h320-reading Yield_Total
   obj-h320-type Fl_R2
   obj-h322-poll 1
   obj-h322-reading Yield_Daily
   obj-h322-type Fl_R2
   obj-h324-poll 1
   obj-h324-reading Yield_Yearly
   obj-h324-type Fl_R2
   obj-h326-poll 1
   obj-h326-reading Yield_Monthly
   obj-h326-type Fl_R2
   room       Photovoltaik
   userReadings ZZZ_DC_Power_Total_W:DC_Power_total.* { ReadingsNum ("Plenticore","DC_Power_total", 0) + ReadingsNum ("IQ","DC_Power_total", 0);},DC_Power3_IQ { ReadingsNum ("IQ","DC_Power1", 0);},DC_Power4_IQ { ReadingsNum ("IQ","DC_Power2", 0);},ZZZ_AC_Phase1_W:AC_Phase1_W.* { ReadingsNum ("Plenticore","AC_Phase1_W", 0) + ReadingsNum ("IQ","AC_Phase1_W", 0);},ZZZ_AC_Phase2_W:AC_Phase2_W.* { ReadingsNum ("Plenticore","AC_Phase2_W", 0) + ReadingsNum ("IQ","AC_Phase2_W", 0);},ZZZ_AC_Phase3_W:AC_Phase3_W.* { ReadingsNum ("Plenticore","AC_Phase3_W", 0) + ReadingsNum ("IQ","AC_Phase3_W", 0);},ZZZ_AC_Phase_total_W:AC_Phase_total_W.* { ReadingsNum ("Plenticore","AC_Phase_total_W", 0) + ReadingsNum ("IQ","AC_Phase_total_W", 0);},ZZZ_Yield_Daily:Yield_Daily.* { ReadingsNum ("Plenticore","Yield_Daily", 0) + ReadingsNum ("IQ","Yield_Daily", 0);},ZZZ_Yield_Monthly:Yield_Monthly.* { ReadingsNum ("Plenticore","Yield_Monthly", 0) + ReadingsNum ("IQ","Yield_Monthly", 0);},ZZZ_Yield_Yearly:Yield_Yearly.* { ReadingsNum ("Plenticore","Yield_Yearly", 0) + ReadingsNum ("IQ","Yield_Yearly", 0);},ZZZ_Yield_Total:Yield_Total.* { ReadingsNum ("Plenticore","Yield_Total", 0) + ReadingsNum ("IQ","Yield_Total", 0);},ZZZ_Hausverbrauch_W:ZZZ_AC_Phase_total_W.*|KSEM_phase_all_W.* { ReadingsNum ("Plenticore","KSEM_phase_all_W", 0) + ReadingsNum ("Plenticore","ZZZ_AC_Phase_total_W", 0);},ZAV_ZZZ_Hausverbrauch_W:ZZZ_Hausverbrauch_W.* {sprintf('%.0f', movingAverage('Plenticore','ZZZ_Hausverbrauch_W',300))},ZAV_DC_Power1:DC_Power1.* {sprintf('%.0f', movingAverage('Plenticore','DC_Power1',300))},ZAV_DC_Power2:DC_Power2.* {sprintf('%.0f', movingAverage('Plenticore','DC_Power2',300))},ZAV_DC_Power3_IQ:DC_Power3_IQ.* {sprintf('%.0f', movingAverage('Plenticore','DC_Power3_IQ',300))},ZAV_DC_Power4_IQ:DC_Power4_IQ.* {sprintf('%.0f', movingAverage('Plenticore','DC_Power4_IQ',300))},ZAV_ZZZ_DC_Power_Total_W:ZZZ_DC_Power_Total_W.* {sprintf('%.0f', movingAverage('Plenticore','ZZZ_DC_Power_Total_W',300))},ZAV_ZZZ_AC_Phase_total_W:ZZZ_AC_Phase_total_W.* {sprintf('%.0f', movingAverage('Plenticore','ZZZ_AC_Phase_total_W',300))},ZAV_KSEM_phase_all_W:KSEM_phase_all_W.* {sprintf('%.0f', movingAverage('Plenticore','KSEM_phase_all_W',300))}

   userattr   DbLogInclude dev-h-combine dev-type-Fl_R2-format dev-type-Fl_R2-len dev-type-Fl_R2-revRegs dev-type-Fl_R2-unpack event-on-change-reading obj-h100-poll obj-h100-reading obj-h100-type obj-h106-poll obj-h106-reading obj-h106-type obj-h108-poll obj-h108-reading obj-h108-type obj-h110-poll obj-h110-reading obj-h110-type obj-h112-poll obj-h112-reading obj-h112-type obj-h114-poll obj-h114-reading obj-h114-type obj-h116-poll obj-h116-reading obj-h116-type obj-h118-poll obj-h118-reading obj-h118-type obj-h156-poll obj-h156-reading obj-h156-type obj-h162-poll obj-h162-reading obj-h162-type obj-h168-poll obj-h168-reading obj-h168-type obj-h172-poll obj-h172-reading obj-h172-type obj-h210-poll obj-h210-reading obj-h210-type obj-h224-poll obj-h224-reading obj-h224-type obj-h234-poll obj-h234-reading obj-h234-type obj-h244-poll obj-h244-reading obj-h244-type obj-h252-poll obj-h252-reading obj-h252-type obj-h260-poll obj-h260-reading obj-h260-type obj-h270-poll obj-h270-reading obj-h270-type obj-h320-poll obj-h320-reading obj-h320-type obj-h322-poll obj-h322-reading obj-h322-type obj-h324-poll obj-h324-reading obj-h324-type obj-h326-poll obj-h326-reading obj-h326-type userReadings


Internals:
   DEF        71 10 192.168.78.68:1502 TCP
   DeviceName 192.168.78.68:1502
   EXPECT     idle
   FD         63
   FUUID      5edf82d0-f33f-86d0-84b8-ef25036d91c7e534
   INTERVAL   10
   IODev      IQ
   LASTOPEN   1596513477.49939
   MODBUSID   71
   MODE       master
   MODULEVERSION Modbus 4.1.5 - 17.9.2019
   NAME       IQ
   NOTIFYDEV  global
   NR         817
   NTFY_ORDER 50-IQ
   PARTIAL   
   PROTOCOL   TCP
   STATE      opened
   TCPConn    1
   TRIGGERTIME 1596549883.9244
   TRIGGERTIME_FMT 2020-08-04 16:04:43
   TYPE       ModbusAttr
   devioLoglevel 3
   lastUpdate 1596549873.9244
   nextOpenDelay 60
   nextQueueRun 1596549874.03325
   QUEUE:
     HASH(0xaaab00fa6390)
     HASH(0xaaab00876748)
     HASH(0xaaab01615d70)
     HASH(0xaaab007cef40)
   READ:
     BUFFER     
   READINGS:
     2020-08-04 16:04:23   AC_Phase1_W     0.00
     2020-08-04 16:04:23   AC_Phase2_W     0.00
     2020-08-04 16:04:23   AC_Phase3_W     0.00
     2020-08-04 16:04:24   AC_Phase_total_W 0.00
     2020-08-04 16:04:24   DC_Power1       0.00
     2020-08-04 16:04:24   DC_Power2       0.00
     2020-08-04 16:04:33   DC_Power_total  0.00
     2020-08-04 16:04:24   Yield_Daily     0.00
     2020-08-04 16:04:24   Yield_Monthly   0.00
     2020-08-04 16:04:24   Yield_Total     554525.94
     2020-08-04 16:04:24   Yield_Yearly    554525.94
     2020-08-04 05:57:57   state           opened
   REMEMBER:
     lid        71
     lname      IQ
     lrecv      1596549873.93309
     lsend      1596549873.92899
   defptr:
     IQ         71
   gotReadings:
     DC_Power_total 0.00
   lastRead:
     h100       1596549873.9341
     h156       1596549863.95111
     h162       1596549863.95222
     h168       1596549863.95267
     h172       1596549864.28943
     h260       1596549864.42775
     h270       1596549864.43013
     h320       1596549864.17874
     h322       1596549864.17916
     h324       1596549864.17958
     h326       1596549864.17997
Attributes:
   dev-h-combine 16
   dev-type-Fl_R2-format %.2f
   dev-type-Fl_R2-len 2
   dev-type-Fl_R2-revRegs 1
   dev-type-Fl_R2-unpack f>
   event-min-interval .*:300
   event-on-change-reading .*
   obj-h100-poll 1
   obj-h100-reading DC_Power_total
   obj-h100-type Fl_R2
   obj-h156-poll 1
   obj-h156-reading AC_Phase1_W
   obj-h156-type Fl_R2
   obj-h162-poll 1
   obj-h162-reading AC_Phase2_W
   obj-h162-type Fl_R2
   obj-h168-poll 1
   obj-h168-reading AC_Phase3_W
   obj-h168-type Fl_R2
   obj-h172-poll 1
   obj-h172-reading AC_Phase_total_W
   obj-h172-type Fl_R2
   obj-h260-poll 1
   obj-h260-reading DC_Power1
   obj-h260-type Fl_R2
   obj-h270-poll 1
   obj-h270-reading DC_Power2
   obj-h270-type Fl_R2
   obj-h320-poll 1
   obj-h320-reading Yield_Total
   obj-h320-type Fl_R2
   obj-h322-poll 1
   obj-h322-reading Yield_Daily
   obj-h322-type Fl_R2
   obj-h324-poll 1
   obj-h324-reading Yield_Yearly
   obj-h324-type Fl_R2
   obj-h326-poll 1
   obj-h326-reading Yield_Monthly
   obj-h326-type Fl_R2
   room       Photovoltaik
   userattr   DbLogInclude dev-h-combine dev-type-Fl_R2-format dev-type-Fl_R2-len dev-type-Fl_R2-revRegs dev-type-Fl_R2-unpack event-on-change-reading obj-h0-poll obj-h0-reading obj-h0-type obj-h100-poll obj-h100-reading obj-h100-type obj-h106-poll obj-h106-reading obj-h106-type obj-h108-poll obj-h108-reading obj-h108-type obj-h110-poll obj-h110-reading obj-h110-type obj-h112-poll obj-h112-reading obj-h112-type obj-h114-poll obj-h114-reading obj-h114-type obj-h116-poll obj-h116-reading obj-h116-type obj-h118-poll obj-h118-reading obj-h118-type obj-h156-poll obj-h156-reading obj-h156-type obj-h162-poll obj-h162-reading obj-h162-type obj-h168-poll obj-h168-reading obj-h168-type obj-h172-poll obj-h172-reading obj-h172-type obj-h2-poll obj-h2-reading obj-h2-type obj-h210-poll obj-h210-reading obj-h210-type obj-h224-poll obj-h224-reading obj-h224-type obj-h234-poll obj-h234-reading obj-h234-type obj-h244-poll obj-h244-reading obj-h244-type obj-h252-poll obj-h252-reading obj-h252-type obj-h260-poll obj-h260-reading obj-h260-type obj-h270-poll obj-h270-reading obj-h270-type obj-h320-poll obj-h320-reading obj-h320-type obj-h322-poll obj-h322-reading obj-h322-type obj-h324-poll obj-h324-reading obj-h324-type obj-h326-poll obj-h326-reading obj-h326-type userReadings


Internals:
   DEF        1 30 192.168.78.66:502 TCP
   DeviceName 192.168.78.66:502
   EXPECT     idle
   FD         48
   FUUID      5ede2b7f-f33f-86d0-bd4d-b879d95b49e87b46
   INTERVAL   30
   IODev      KSEM
   LASTOPEN   1595867898.58884
   MODBUSID   1
   MODE       master
   MODULEVERSION Modbus 4.1.5 - 17.9.2019
   NAME       KSEM
   NOTIFYDEV  global
   NR         815
   NTFY_ORDER 50-KSEM
   PARTIAL   
   PROTOCOL   TCP
   STATE      opened
   TCPConn    1
   TRIGGERTIME 1596549917.99525
   TRIGGERTIME_FMT 2020-08-04 16:05:17
   TYPE       ModbusAttr
   devioLoglevel 3
   lastUpdate 1596549887.99525
   nextOpenDelay 60
   QUEUE:
   READ:
     BUFFER     
   READINGS:
     2020-08-04 16:04:48   Active_Energy_L1_+_Wh 413244.90
     2020-08-04 16:04:49   Active_Energy_L1_-_Wh 351636.50
     2020-08-04 16:04:48   Active_Energy_L2_+_Wh 144169.50
     2020-08-04 16:04:48   Active_Energy_L2_-_Wh 428880.40
     2020-08-04 16:04:50   Active_Energy_L3_+_Wh 151542.40
     2020-08-04 16:04:48   Active_Energy_L3_-_Wh 403434.60
     2020-08-04 16:04:50   Active_Energy_total_+_Wh 664831.00
     2020-08-04 16:04:50   Active_Energy_total_-_Wh 1139825.40
     2020-08-04 16:04:50   Active_Power_L1_+_W 309.60
     2020-08-04 16:04:50   Active_Power_L1_-_W 0.00
     2020-08-04 16:04:50   Active_Power_L2_-_W 0.00
     2020-08-04 16:04:48   Active_Power_L2_P_W 187.70
     2020-08-04 16:04:48   Active_Power_L3_+_W 334.20
     2020-08-04 16:04:48   Active_Power_L3_-_W 0.00
     2020-08-04 16:04:49   Active_Power_total_+_W 822.50
     2020-08-04 16:04:50   Active_Power_total_-_W 0.00
     2020-08-04 16:04:48   Z_Active_Energy_total_+_Wh -113982.50
     2020-08-04 16:04:48   Z_Active_Energy_total_-_Wh 66483.00
     2020-08-04 16:04:50   statActive_Energy_total_+_Wh Hour: 55.30 Day: 8706.40 Month: 57920.50 Year: 564294.50 (since: 2020-06-11 )
     2020-08-04 15:59:55   statActive_Energy_total_+_WhLast Hour: 593.50 Day: 18794.20 Month: 373364.40 Year: -
     2020-08-04 16:04:50   statActive_Energy_total_-_Wh Hour: 0.00 Day: 0.00 Month: 0.00 Year: 1027773.70 (since: 2020-06-11 )
     2020-08-04 15:59:55   statActive_Energy_total_-_WhLast Hour: 0.00 Day: 0.00 Month: 465601.10 Year: -
     2020-07-27 18:38:18   state           opened
   REMEMBER:
     lid        1
     lname      KSEM
     lrecv      1596549890.73192
     lsend      1596549890.7296
   defptr:
     KSEM       1
   gotReadings:
     Active_Power_L2_-_W 0.00
   helper:
     _98_statistics wetter_stat
   lastRead:
     h0         1596549889.14735
     h120       1596549888.24935
     h122       1596549888.45916
     h2         1596549890.09409
     h40        1596549890.41687
     h40107     1596549888.56464
     h40115     1596549888.35417
     h42        1596549890.62586
     h512       1596549890.31228
     h516       1596549890.52135
     h592       1596549888.77428
     h596       1596549889.99002
     h672       1596549888.03902
     h676       1596549888.87918
     h752       1596549890.20764
     h756       1596549888.14432
     h80        1596549888.66938
     h82        1596549890.73407
Attributes:
   dev-type-Fl_R2-expr $val / 10
   dev-type-Fl_R2-format %.2f
   dev-type-Fl_R2-len 2
   dev-type-Fl_R2-revRegs 0
   dev-type-Fl_R2-unpack I>
   dev-type-Fl_R2b-expr $val / 10
   dev-type-Fl_R2b-format %.2f
   dev-type-Fl_R2b-len 2
   dev-type-Fl_R2b-revRegs 0
   dev-type-Fl_R2b-unpack i>
   dev-type-Fl_R4-expr $val / 10
   dev-type-Fl_R4-format %.2f
   dev-type-Fl_R4-len 4
   dev-type-Fl_R4-revRegs 0
   dev-type-Fl_R4-unpack Q>
   event-min-interval .*:300
   event-on-change-reading .*
   obj-h0-poll 1
   obj-h0-reading Active_Power_total_+_W
   obj-h0-type Fl_R2
   obj-h120-poll 1
   obj-h120-reading Active_Power_L3_+_W
   obj-h120-type Fl_R2
   obj-h122-poll 1
   obj-h122-reading Active_Power_L3_-_W
   obj-h122-type Fl_R2
   obj-h2-poll 1
   obj-h2-reading Active_Power_total_-_W
   obj-h2-type Fl_R2
   obj-h40-poll 1
   obj-h40-reading Active_Power_L1_+_W
   obj-h40-type Fl_R2
   obj-h40107-poll 1
   obj-h40107-reading Z_Active_Energy_total_+_Wh
   obj-h40107-type Fl_R2b
   obj-h40115-poll 1
   obj-h40115-reading Z_Active_Energy_total_-_Wh
   obj-h40115-type Fl_R2
   obj-h42-poll 1
   obj-h42-reading Active_Power_L1_-_W
   obj-h42-type Fl_R2
   obj-h512-poll 1
   obj-h512-reading Active_Energy_total_+_Wh
   obj-h512-type Fl_R4
   obj-h516-poll 1
   obj-h516-reading Active_Energy_total_-_Wh
   obj-h516-type Fl_R4
   obj-h592-poll 1
   obj-h592-reading Active_Energy_L1_+_Wh
   obj-h592-type Fl_R4
   obj-h596-poll 1
   obj-h596-reading Active_Energy_L1_-_Wh
   obj-h596-type Fl_R4
   obj-h672-poll 1
   obj-h672-reading Active_Energy_L2_+_Wh
   obj-h672-type Fl_R4
   obj-h676-poll 1
   obj-h676-reading Active_Energy_L2_-_Wh
   obj-h676-type Fl_R4
   obj-h752-poll 1
   obj-h752-reading Active_Energy_L3_+_Wh
   obj-h752-type Fl_R4
   obj-h756-poll 1
   obj-h756-reading Active_Energy_L3_-_Wh
   obj-h756-type Fl_R4
   obj-h80-poll 1
   obj-h80-reading Active_Power_L2_P_W
   obj-h80-type Fl_R2
   obj-h82-poll 1
   obj-h82-reading Active_Power_L2_-_W
   obj-h82-type Fl_R2
   room       Photovoltaik
   userattr   DbLogInclude dev-type-Fl_R2-expr dev-type-Fl_R2-format dev-type-Fl_R2-len dev-type-Fl_R2-revRegs dev-type-Fl_R2-unpack dev-type-Fl_R2b-expr dev-type-Fl_R2b-format dev-type-Fl_R2b-len dev-type-Fl_R2b-revRegs dev-type-Fl_R2b-unpack dev-type-Fl_R4-expr dev-type-Fl_R4-format dev-type-Fl_R4-len dev-type-Fl_R4-revRegs dev-type-Fl_R4-unpack event-on-change-reading obj-h0-poll obj-h0-reading obj-h0-type obj-h120-poll obj-h120-reading obj-h120-type obj-h122-poll obj-h122-reading obj-h122-type obj-h2-poll obj-h2-reading obj-h2-type obj-h40-poll obj-h40-reading obj-h40-type obj-h40107-poll obj-h40107-reading obj-h40107-type obj-h40115-poll obj-h40115-reading obj-h40115-type obj-h42-poll obj-h42-reading obj-h42-type obj-h512-poll obj-h512-reading obj-h512-type obj-h516-poll obj-h516-reading obj-h516-type obj-h592-poll obj-h592-reading obj-h592-type obj-h596-poll obj-h596-reading obj-h596-type obj-h672-poll obj-h672-reading obj-h672-type obj-h676-poll obj-h676-reading obj-h676-type obj-h752-poll obj-h752-reading obj-h752-type obj-h756-poll obj-h756-reading obj-h756-type obj-h80-poll obj-h80-reading obj-h80-type obj-h82-poll obj-h82-reading obj-h82-type userReadings


Internals:
   FUUID      5edfcb80-f33f-86d0-6c37-ba7d5aee1a94848d
   NAME       du_Solar
   NR         819
   STATE      load
   TYPE       dummy
   READINGS:
     2020-08-04 16:05:00   KSEM_Active_Energy_total_N_Wh 1139825.40
     2020-08-04 16:05:00   KSEM_Active_Energy_total_P_Wh 664831.00
     2020-08-04 16:05:00   ZAV_DC_Power1   0
     2020-08-04 16:05:00   ZAV_DC_Power2   0
     2020-08-04 16:05:00   ZAV_DC_Power3_IQ 0
     2020-08-04 16:05:00   ZAV_DC_Power4_IQ 0
     2020-08-04 16:05:00   ZAV_KSEM_phase_all_W 670
     2020-08-04 16:05:00   ZAV_ZZZ_AC_Phase_total_W 0
     2020-08-04 16:05:00   ZAV_ZZZ_DC_Power_Total_W 0
     2020-08-04 16:05:00   ZAV_ZZZ_Hausverbrauch_W 670
     2020-08-04 16:05:00   ZZZ_Hausverbrauch_autark 0.00
     2020-08-04 16:05:00   ZZZ_Hausverbrauch_autark_month 0.00
     2020-08-04 16:05:00   ZZZ_Hausverbrauch_autark_year 38.44
     2020-08-04 16:05:00   ZZZ_Hausverbrauch_month 57920.5
     2020-08-04 16:05:00   ZZZ_Hausverbrauch_today 8706.4
     2020-08-04 16:05:00   ZZZ_Hausverbrauch_year 916707.91
     2020-08-04 16:05:00   ZZZ_Yield_Total 1522900.44
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_N_Wh Hour: 0.00 Day: 0.00 Month: 0.00 Year: 1027773.70 (since: 2020-06-11 )
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_N_day 0.00
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_N_month 0.00
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_N_year 1027773.70
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_P_Wh Hour: 55.30 Day: 8706.40 Month: 57920.50 Year: 564294.50 (since: 2020-06-11 )
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_P_day 8706.40
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_P_month 57920.50
     2020-08-04 16:05:00   statKSEM_Active_Energy_total_P_year 564294.50
     2020-08-04 16:05:00   statZZZ_AC_Phase_total_WDay Min: 0 Avg: 0 Max: 0
     2020-08-04 16:05:00   statZZZ_AC_Phase_total_WHour Min: 0 Avg: 0 Max: 0
     2020-08-04 16:05:00   statZZZ_AC_Phase_total_WHourLast Min: 0 Avg: 0 Max: 0
     2020-08-04 16:05:00   statZZZ_AC_Phase_total_WMonth Min: 0 Avg: 0 Max: 0
     2020-08-04 16:05:00   statZZZ_AC_Phase_total_WYear Min: 0 Avg: 988 Max: 9361 (since:  )
     2020-08-04 16:05:00   statZZZ_Yield_Total Hour: 0.00 Day: 0.00 Month: 0.00 Year: 1380187.11 (since: 2020-06-10 )
     2020-08-04 16:05:00   statZZZ_Yield_TotalLast Hour: 0.00 Day: 0.00 Month: 633274.87 Year: -
     2020-08-04 16:05:00   statZZZ_Yield_Total_day 0.00
     2020-08-04 16:05:00   statZZZ_Yield_Total_month 0.00
     2020-08-04 16:05:00   statZZZ_Yield_Total_year 1380187.11
     2020-08-04 16:05:00   state           load
Attributes:
   room       Photovoltaik
   userReadings ZAV_DC_Power1 { ReadingsNum ("Plenticore","ZAV_DC_Power1", 0);},ZAV_DC_Power2 { ReadingsNum ("Plenticore","ZAV_DC_Power2", 0);},ZAV_DC_Power3_IQ { ReadingsNum ("Plenticore","ZAV_DC_Power3_IQ", 0);},ZAV_DC_Power4_IQ { ReadingsNum ("Plenticore","ZAV_DC_Power4_IQ", 0);},ZAV_KSEM_phase_all_W { ReadingsNum ("Plenticore","ZAV_KSEM_phase_all_W", 0);},ZAV_ZZZ_AC_Phase_total_W { ReadingsNum ("Plenticore","ZAV_ZZZ_AC_Phase_total_W", 0);},ZAV_ZZZ_DC_Power_Total_W { ReadingsNum ("Plenticore","ZAV_ZZZ_DC_Power_Total_W", 0);},ZAV_ZZZ_Hausverbrauch_W { ReadingsNum ("Plenticore","ZAV_ZZZ_Hausverbrauch_W", 0);},statZZZ_AC_Phase_total_WDay { ReadingsVal ("Plenticore","statZZZ_AC_Phase_total_WDay", 0);}, statZZZ_AC_Phase_total_WHour { ReadingsVal ("Plenticore","statZZZ_AC_Phase_total_WHour", 0);}, statZZZ_AC_Phase_total_WHourLast { ReadingsVal ("Plenticore","statZZZ_AC_Phase_total_WHourLast", 0);}, statZZZ_AC_Phase_total_WMonth { ReadingsVal ("Plenticore","statZZZ_AC_Phase_total_WMonth", 0);}, statZZZ_AC_Phase_total_WYear { ReadingsVal ("Plenticore","statZZZ_AC_Phase_total_WYear", 0);}, statZZZ_Yield_Total { ReadingsVal ("Plenticore","statZZZ_Yield_Total", 0);}, statZZZ_Yield_TotalLast { ReadingsVal ("Plenticore","statZZZ_Yield_TotalLast", 0);}, ZZZ_Yield_Total { ReadingsNum ("Plenticore","ZZZ_Yield_Total", 0);}, KSEM_Active_Energy_total_P_Wh { ReadingsVal ("KSEM","Active_Energy_total_+_Wh", 0);}, KSEM_Active_Energy_total_N_Wh { ReadingsNum ("KSEM","Active_Energy_total_-_Wh", 0);},statKSEM_Active_Energy_total_P_Wh { ReadingsVal ("KSEM","statActive_Energy_total_+_Wh", 0);}, statKSEM_Active_Energy_total_N_Wh { ReadingsVal ("KSEM","statActive_Energy_total_-_Wh", 0);},

statKSEM_Active_Energy_total_N_day { ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "N/A" },
statKSEM_Active_Energy_total_N_month { ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "N/A" },
statKSEM_Active_Energy_total_N_year { ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "N/A" },
statKSEM_Active_Energy_total_P_day { ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "N/A" },
statKSEM_Active_Energy_total_P_month { ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "N/A" },
statKSEM_Active_Energy_total_P_year { ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "N/A" },

statZZZ_Yield_Total_day { ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "N/A" },
statZZZ_Yield_Total_month { ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "N/A" },
statZZZ_Yield_Total_year { ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "N/A" },

ZZZ_Hausverbrauch_today { my $v1 = ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v2 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v3 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v9 = $v1 - $v2 + $v3; $v9},
ZZZ_Hausverbrauch_month { my $v1 = ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "0"; my $v2 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "0"; my $v3 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "0"; my $v9 = $v1 - $v2 + $v3; $v9},
ZZZ_Hausverbrauch_year { my $v1 = ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "0"; my $v2 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "0"; my $v3 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "0"; my $v9 = $v1 - $v2 + $v3; $v9},


ZZZ_Hausverbrauch_autark { my $v1 = ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v2 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v3 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v9 = ( $v1 - $v2 ) / ( $v1 - $v2 + $v3 ) * 100; sprintf("%.2f",$v9)},
ZZZ_Hausverbrauch_autark_month { my $v1 = ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "0"; my $v2 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "0"; my $v3 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Month:\s([\d\.]+)/ ? $1 : "0"; my $v9 = ( $v1 - $v2 ) / ( $v1 - $v2 + $v3 ) * 100; sprintf("%.2f",$v9)},
ZZZ_Hausverbrauch_autark_year { my $v1 = ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "0"; my $v2 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "0"; my $v3 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Year:\s([\d\.]+)/ ? $1 : "0"; my $v9 = ( $v1 - $v2 ) / ( $v1 - $v2 + $v3 ) * 100; sprintf("%.2f",$v9)}
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 04 August 2020, 17:38:41
Zitat von: killah78 am 04 August 2020, 16:10:03
Hi, sorry zur späten Rückmeldung. Ich kann leider nicht viel zeigen, da ich bisher nur rumgespielt habe und noch tue. Der Plenticore ist zwar in Betrieb, aber die Batterie wird noch geliefert.
Habe bisher 3 Devices eigebunden: 1. Wechelrichter (Plenticore), 2. Wechelrichter (IQ) und den KSEM. Dazu habe ich mir noch ein Dummydevice erstellt, welches ausschließlich UserReadings aus den Geräten (alle 5 Minuten) erhält und geloggt werden.

Wie gesagt, das ist bisher alles zum testen und noch nicht final fertig.

Okay, kein Problem. Ich schaue mal nach readings, die noch nicht bei mir drin sind.
Was mit auffällt ist, dass Du eigene Namen gewählt hast. Ich hatte versucht mich an die ModBus namen zu halten, damit der Zusammenhang besser zu erkennen ist. Das bleibt aber jedem selber überlassen.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: killah78 am 04 August 2020, 18:14:33
Wie loggst du denn die Werte? Die kommen ja alle paar Sekunden an. Mir ist bisher nichts besseres eingefallen, als alle 5 Minuten ein average in ein dummy zu schreiben und dieses zu loggen. Aber wie gesagt, steht alles noch auf Anfang, warte noch auf die Batterie.
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 04 August 2020, 20:05:58
Zitat von: killah78 am 04 August 2020, 18:14:33
Wie loggst du denn die Werte? Die kommen ja alle paar Sekunden an. Mir ist bisher nichts besseres eingefallen, als alle 5 Minuten ein average in ein dummy zu schreiben und dieses zu loggen. Aber wie gesagt, steht alles noch auf Anfang, warte noch auf die Batterie.
Ich logge in die LogDB, alles andere kannst Du vergessen, bei dem Datenaufkommen.
Wir haben auch schon mit RepDB ganz nette SQLs erstellt.

Laut Deinem Device läuft das bei Dir alle 10 Sekunden. Änder mal die 10 in 60 :-)

71 10 192.168.78.67:1502 TCP

Eventuell solltest Du doch lieber meine Definition nehmen...
Titel: Antw:KOSTAL Smart Energy Meter auslesen
Beitrag von: ch.eick am 29 August 2020, 12:07:10
Ohne jetzt den Thread entern zu wollen, ist mein aktuellster Stand nun im Wiki zu finden.
https://wiki.fhem.de/wiki/Kostal_Plenticore_10_Plus (https://wiki.fhem.de/wiki/Kostal_Plenticore_10_Plus)

- Kostal Plenticore 10 Plus
- BYD Speicher
- KSEM
- PV-Eigenverbrauch
- Wetter Prognose
- Plenticore Statistiken
...