KOSTAL Smart Energy Meter auslesen

Begonnen von uwek, 01 April 2020, 08:23:41

Vorheriges Thema - Nächstes Thema

ch.eick

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
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>!
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

uwek

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

ch.eick

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?
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

uwek

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

ch.eick

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?
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

uwek

Ich brauche auch ...expr $val*10

Uwe

ch.eick

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.
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

uwek

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

ch.eick

Dann habe ich mich jetzt einmal im Kreis gedreht...es wird Zeit fuer ne Pause :-)
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

pejonp

#24
@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
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

ch.eick

#25
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
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

pejonp

@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
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

uwek

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

ch.eick

#28
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
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: 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?
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