Liebe Gemeinde,
geht jetzt so weit alles. Wer es nachbauen mag:
Internals:
BUSY 0
DEF 1 30 192.168.178.36 TCP
DEST 192.168.178.36:502
DeviceName 192.168.178.36:502
FD 91
INTERVAL 600
IODev KeSolarEdge
LASTOPEN 1523044866.65275
MODBUSID 1
ModuleVersion 3.7.3 - 22.12.2017
NAME KeSolarEdge
NOTIFYDEV global
NR 354
NTFY_ORDER 50-KeSolarEdge
PARTIAL
PROTOCOL TCP
REQUESTHEX 00270000000601039c940001
STATE 0 W; 1718 kWh
TRIGGERTIME 1523048587.13296
TRIGGERTIME_FMT 2018-04-06 23:03:07
TYPE ModbusAttr
devioLoglevel 4
nextOpenDelay 60
QUEUE:
READINGS:
2018-04-06 22:53:07 AC-Energy 1717.665
2018-04-06 22:53:07 AC-Energy-Scale 0
2018-04-06 22:53:07 AC-Energy-Val 1717665
2018-04-06 22:58:10 AC-Power 0
2018-04-06 22:58:10 AC-Power-Scale 0
2018-04-06 22:58:10 AC-Power-Val 0
2018-04-06 22:53:07 DC-Current 0
2018-04-06 22:53:07 DC-Current-Scale -32768
2018-04-06 22:53:07 DC-Current-Val 65535
2018-04-06 22:53:07 DC-Power 0
2018-04-06 22:53:07 DC-Power-Scale 0
2018-04-06 22:53:07 DC-Power-Val 0
2018-04-06 22:53:07 DC-Voltage 0
2018-04-06 22:53:07 DC-Voltage-Scale -1
2018-04-06 22:53:07 DC-Voltage-Val 0
2018-04-06 22:53:07 HeatSinkTemp 0
2018-04-06 22:53:07 Status 2
2018-04-06 22:53:07 Zustand Nachtmodus
2018-04-06 22:01:06 state opened
defptr:
1:
gotReadings:
AC-Power-Scale 0
helper:
buffer
lid 1
lrecv 1523048290.49688
lsend 1523048290.48976
lastRead:
h40083 1523048290.48193
h40084 1523048290.50143
h40093 1523047987.08669
h40095 1523047987.09043
h40096 1523047987.09428
h40097 1523047987.09784
h40098 1523047987.10153
h40099 1523047987.10505
h40100 1523047987.10867
h40101 1523047987.11226
h40103 1523047987.1158
h40107 1523047987.11994
Attributes:
dev-h-combine 200
dev-h-defPoll 1
dev-h-defShowGet 1
enableControlSet 1
event-on-change-reading .*
event-on-update-reading AC-Energy,AC-Energy-Scale,AC-Power-Scale,DC-Voltage-Scale,DC-Current-Scale,DC-Power-Scale,Status
maxTimeoutsToReconnect 3
obj-h40083-reading AC-Power-Val
obj-h40084-reading AC-Power-Scale
obj-h40084-unpack s>
obj-h40093-len 2
obj-h40093-reading AC-Energy-Val
obj-h40093-unpack l>
obj-h40095-reading AC-Energy-Scale
obj-h40096-reading DC-Current-Val
obj-h40097-reading DC-Current-Scale
obj-h40097-unpack s>
obj-h40098-reading DC-Voltage-Val
obj-h40099-reading DC-Voltage-Scale
obj-h40099-unpack s>
obj-h40100-reading DC-Power-Val
obj-h40101-reading DC-Power-Scale
obj-h40101-unpack s>
obj-h40103-reading HeatSinkTemp
obj-h40103-unpack s>
obj-h40107-reading Status
room Solar,SolarPV,SolarReport
silentReconnect 1
sortUpdate 1
stateFormat {sprintf("%.0f W; %.0f kWh",ReadingsVal("KeSolarEdge","AC-Power",0),ReadingsVal("KeSolarEdge","AC-Energy",0))}
userReadings AC-Energy:(AC-Energy-Scale.*) {
my $scale = ReadingsVal ("KeSolarEdge","AC-Energy-Scale",0);
return (ReadingsVal ("KeSolarEdge","AC-Energy-Val",0) * ( 10 ** $scale) / 1000);;},
AC-Power:(AC-Power-Scale.*) {
my $scale = ReadingsVal ("KeSolarEdge","AC-Power-Scale",0);
return (ReadingsVal ("KeSolarEdge","AC-Power-Val",0) * ( 10 ** $scale));;},
DC-Power:(DC-Power-Scale.*) {
my $scale = ReadingsVal ("KeSolarEdge","DC-Power-Scale",0);
return (ReadingsVal ("KeSolarEdge","DC-Power-Val",0) * ( 10 ** $scale));;},
DC-Current:(DC-Current-Scale.*) {
my $scale = ReadingsVal ("KeSolarEdge","DC-Current-Scale",0);
return (ReadingsVal ("KeSolarEdge","DC-Current-Val",0) * ( 10 ** $scale));;},
DC-Voltage:(DC-Voltage-Scale.*) {
my $scale = ReadingsVal ("KeSolarEdge","DC-Voltage-Scale",0);
return (ReadingsVal ("KeSolarEdge","DC-Voltage-Val",0) * ( 10 ** $scale));;},
Zustand:(Status.*) {
my $Zus = ReadingsVal("KeSolarEdge","Status",0);
my $rueck = ReadingsVal("KeSolarEdge","Zustand",0);
if (($Zus == 2) and (InternalVal("KeSolarEdge","INTERVAL","") != 600)) {
fhem("set KeSolarEdge interval 600");
$rueck = "Nachtmodus";
}
elsif (InternalVal("KeSolarEdge","INTERVAL","") != 60) {
fhem("set KeSolarEdge interval 60");
$rueck = "Tagmodus";
}
return ($rueck);;
}
webCmdLabel {sprintf("AC-Energy %.3f",ReadingsVal("Solaredge","AC-Energy",0));;}