76_SMAInverter.pm - Abfrage von SMA Wechselrichter

Begonnen von sct14675, 28 Juli 2016, 11:01:16

Vorheriges Thema - Nächstes Thema

Wzut

#585
Zitat von: Xguide am 15 August 2019, 18:09:04
meine ich mich aber an Kommentare zu errinnern, dass es ein sehr steiniger Weg ist dort zu Ergebnissen zu kommen. Oder irre ich mich? Sonst sicher eine Alternative.
Nun das ist wie mit dem berühmten Wollknäul, wenn du mal den Anfang gefunden hast und daran ziehst wird der Faden immer länger :)
Zugegeben ich hatte mich auch etwas schwer damit getan (u.A. weil ich die falsche Registertabelle für meinen WR hatte bzw die SBFSpot ), aber als mal der erste Wert da war ging der Rest so leicht wie Katzen machen. Ich habe auch kein Problem damit jemand Starthilfe zu geben, nur nicht unbedingt als OT diesem Thread.
(also einen Neuen aufmachen und hier verlinken) Das schöne am ModbusAttrr Modul ist das man seine config quasi als Modul exportieren kann und der nächste User das einfach einliest. So genug OT, nur noch eine Anmerkung : Sunny Explorer starten und den Modbus Server auf Port 502 TCP einschalten, selbst wenn man ihn dann doch nicht nutzt frisst er kein Brot :) 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Waldmensch

Wie gesagt, Modbus wird IMHO bei den STP erst ab den TL-20 (wenn nicht noch später) unterstützt. Ich kann jetzt also weder Modbus testen, noch das Plugin, um das es hier geht, mit einem neueren WR. Das ist glaube ich das Dilemma von mehreren hier.


Gesendet von iPhone mit Tapatalk

Dersch

Also mit SBFSpot 3.5.1 kann ich ihn auslesen :)

SBFspot V3.5.1
Yet another tool to read power production of SMA solar inverters
(c) 2012-2018, SBF (https://github.com/SBFspot/SBFspot)
Compiled for Linux (LE) 64 bit with MySQL support
Commandline Args: -v -finq -nocsv
Reading config '/usr/local/bin/sbfspot.3/SBFspot.cfg'
Fri Aug 16 11:43:28 2019: INFO: Starting...
sunrise: 06:17
sunset : 20:41
Connecting to Local Network...
Initializing...
SUSyID: 125 - SessionID: 915634837 (0x36937A95)
Inverter IP address: 192.168.10.70 from SBFspot.cfg
Logon OK
SUSyID: 378 - SN: 3004218712
Device Name:      SN: 3004218712
Device Class:     Solar Inverters
Device Type:      Sunny Tripower 6.0
Software Version: 02.13.33.R
Serial number:    3004218712
SUSyID: 378 - SN: 3004218712
Device Status:      Ok
SUSyID: 378 - SN: 3004218712
Device Temperature: 0.0°C
SUSyID: 378 - SN: 3004218712
GridRelay Status:      Closed
SUSyID: 378 - SN: 3004218712
Pac max phase 1: 6000W
Pac max phase 2: 0W
Pac max phase 3: 0W
SUSyID: 378 - SN: 3004218712
Energy Production:
        EToday: 0.000kWh
        ETotal: 111.726kWh
        Operation Time: 56.66h
        Feed-In Time  : 54.49h
SUSyID: 378 - SN: 3004218712
DC Spot Data:
        String 1 Pdc:   0.629kW - Udc: 322.26V - Idc:  1.954A
        String 2 Pdc:   0.629kW - Udc: 322.75V - Idc:  1.951A
SUSyID: 378 - SN: 3004218712
AC Spot Data:
        Phase 1 Pac :   0.408kW - Uac: 232.59V - Iac:  1.762A
        Phase 2 Pac :   0.409kW - Uac: 234.08V - Iac:  1.756A
        Phase 3 Pac :   0.415kW - Uac: 235.13V - Iac:  1.775A
        Total Pac   :   1.232kW
SUSyID: 378 - SN: 3004218712
Grid Freq. : 50.01Hz
SUSyID: 378 - SN: 3004218712
Current Inverter Time: 16/08/2019 11:43:26
Inverter Wake-Up Time: 16/08/2019 06:07:33
Inverter Sleep Time  : 16/08/2019 11:43:27
********************
* ArchiveDayData() *
********************
startTime = 5D55D5E0 -> 16/08/2019 00:00:00
**********************
* ArchiveMonthData() *
**********************
startTime = 5D42C630 -> 01/08/2019 13:00:00
Reading events: 2019-Aug-01
Fri Aug 16 11:43:29 2019: INFO: Done.

Waldmensch

Dann musst Du Dir erst mal mit dem Plugin behelfen, was SBFSpot nutzt. Habe jetzt gerade den Namen nicht zur Hand. Ich kann das erst debuggen, wenn ich den neuen WR habe. Das wird nicht vor Ende September, laut meinem Solarteur.


Gesendet von iPhone mit Tapatalk

Dersch

Zitat von: Waldmensch am 15 August 2019, 13:56:11
Wenn ich das Log von @Dersch richtig interpretiere klappt das Login und die Serial wird ausgelesen. Als nächster Aufruf kommt 58000200 00821E00 008220FF was sup_TypeLabel entspricht. Bei diesem bleibt es dann hängen, das Log von @Dersch endet dort. Mir fehlt allerdings der Timeout, der dort kommen sollte, wenn der WR nicht antwortet

Mein erster Versuch wäre nun, einfach mal auf diesen Aufruf zu verzichten, indem man ihn auskommentiert oder aus dem Array entfernt. Wie es scheint, antwortet der Wechselrichter ja überhaupt nicht auf dieses Kommando, wenn @Dersch uns da nichts unterschlagen hat.
Zeile 557
     # Aufbau Command-Array
     my @commands = ("sup_TypeLabel",                  # Check TypeLabel
                     "sup_EnergyProduction",           # Check EnergyProduction
    "sup_SpotDCPower",                # Check SpotDCPower
    "sup_SpotACPower",                # Check SpotACPower
     "sup_SpotACTotalPower",           # Check SpotACTotalPower
     "sup_ChargeStatus"                # Check BatteryChargeStatus
     );


Ich habe wie gesagt den neuen WR noch nicht und kann diesbezüglich nichts testen. Ich würde vermutlich erstmal eine 2.FHEM instanz aufsetzen mit nur diesem Plugin. Dann kann man schon mal Fremdeinflüsse ausschließen


EDIT: die ganzen anderen Timeouts sind aber auch ungewöhnlich. Hast Du eventuell ein Netzwerk/Latenzproblem zum Wechselrichter hin? Powerlan kannst Du gleich vergessen, das hatte ich durch. Ich häng jetzt per Kabel direkt dran

Wenn ich in Zeile 557 sub_TypeLabel auskommentiere sieht das Log mit Verbose5 so aus:

019.08.16 14:13:50 3: SMAInverter SMATRIPOWER - WARNING - old process 13665 will be killed now to start a new BlockingCall
2019.08.16 14:13:50 1: SMAInverter SMATRIPOWER -> BlockingCall getstatus_DoParse Timeout: process terminated
2019.08.16 14:13:50 4: SMATRIPOWER - ###############################################################
2019.08.16 14:13:50 4: SMATRIPOWER - ##########  Begin of new SMAInverter get data cycle  ##########
2019.08.16 14:13:50 4: SMATRIPOWER - ###############################################################
2019.08.16 14:13:50 4: SMATRIPOWER - timeout cycles since module start: 18
2019.08.16 14:13:51 4: SMATRIPOWER -> Start BlockingCall getstatus_DoParse
2019.08.16 14:13:51 1: PERL WARNING: Loaded DateTime::TimeZone::Europe::Berlin, which is from a different version (2019b) of the Olson database than this installation of DateTime::TimeZone (2019a).
2019.08.16 14:13:51 4: SMATRIPOWER - current time: 16.08.2019 14:13:51
2019.08.16 14:13:51 4: SMATRIPOWER - operation time begin: 16.08.2019 05:39:38
2019.08.16 14:13:51 4: SMATRIPOWER - operation time end: 16.08.2019 21:19:22
2019.08.16 14:13:51 4: SMATRIPOWER - Send login to 192.168.10.70 on Port 9522 with password XXXX
2019.08.16 14:13:51 5: SMATRIPOWER - Send: 534D4100000402A000000001003A001060650EA0FFFFFFFFFFFF0001E90023BB590700010000000001800C04FDFF0700000084030000FF9D565D00000000B9C0C0B9888888888888888800000000
2019.08.16 14:13:51 5: SMATRIPOWER - Received: 534d4100000402a000000001002e001060650be0e90023bb590700017a0158bd10b300010000000001800d04fdff0700000084030000ff9d565d0000000000000000
2019.08.16 14:13:51 4: SMATRIPOWER - logged in to inverter serial: 3004218712, susyid: 378
2019.08.16 14:13:51 5: SMATRIPOWER - Logged in now
2019.08.16 14:13:51 3: SMATRIPOWER - Send request 0002005400012600FF222600 to 192.168.10.70 on port 9522
2019.08.16 14:13:51 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A0FFFFFFFFFFFF0000E90023BB590700000000000002800002005400012600FF22260000000000

Waldmensch

#590
Sieht aus, wie das gleiche in grün, nur mit dem nächsten command.

Du findest das Command indem du den Request aus dem Log nimmst, in 3 Achter Gruppen aufteilst und die 8 Byte jeweils andersrum setzt

12345678 wird zu 78563412, das findest du dann im Skript/Code

Gesendet von iPhone mit Tapatalk

Dersch

#591
Danke für diese Exkursion :)

Das ist dann nun sup_EnergyProduction

Klammer ich beides aus hängt es dann an sup_SpotDCPower  etc...

Xguide

Hallo zusammen,

dadurch das SBFSpot funktioniert und dieses Model entsprechend nachempfunden ist, muss sich das Problem doch lösen lassen.
Der Blick ins Modul verrät, das ab Zeile 578 die einzelnen Komandos über eine foreach abgearbeitet werden, richtig?
Folgend wird je nach Komando SMA_comand aufgerufen. Die Schleife wird aber auch nie mehr verlassen, da die Meldung aus SMA_logout nicht kommt.
Detaillevel hast du hoffentlich erstmal noch nicht gesetzt gehabt, das begrenzt dann alles auf die ersten 6 if-bedingungen.

Pack mal wie nachfolgend gezeigt ein wenig logging rein, poste den code und das Log.

     foreach my $i(@commands) {
             Log3 $name, 1, "$name - start foreach processing commands";

             if ($i eq "sup_TypeLabel") {
                         Log3 $name, 1, "$name - start processing commands sup_TypeLabel";
         ($sup_TypeLabel,$inv_TYPE,$inv_CLASS,$inv_susyid,$inv_serial) = SMA_command($hash, $hash->{HOST}, 0x58000200, 0x00821E00, 0x008220FF);
     }
elsif ($i eq "sup_EnergyProduction") {
         ($sup_EnergyProduction,$inv_SPOT_ETODAY,$inv_SPOT_ETOTAL,$inv_susyid,$inv_serial) = SMA_command($hash, $hash->{HOST}, 0x54000200, 0x00260100, 0x002622FF);
     }
     elsif ($i eq "sup_SpotDCPower") {
         ($sup_SpotDCPower,$inv_SPOT_PDC1,$inv_SPOT_PDC2,$inv_susyid,$inv_serial) = SMA_command($hash, $hash->{HOST}, 0x53800200, 0x00251E00, 0x00251EFF);
     }
     elsif ($i eq "sup_SpotACPower") {
         ($sup_SpotACPower,$inv_SPOT_PAC1,$inv_SPOT_PAC2,$inv_SPOT_PAC3,$inv_susyid,$inv_serial) = SMA_command($hash, $hash->{HOST}, 0x51000200, 0x00464000, 0x004642FF);
         }
     elsif ($i eq "sup_SpotACTotalPower") {
         ($sup_SpotACTotalPower,$inv_SPOT_PACTOT,$inv_susyid,$inv_serial) = SMA_command($hash, $hash->{HOST}, 0x51000200, 0x00263F00, 0x00263FFF);
     }   
     elsif ($i eq "sup_ChargeStatus") {
         ($sup_ChargeStatus,$inv_ChargeStatus,$inv_susyid,$inv_serial) = SMA_command($hash, $hash->{HOST}, 0x51000200, 0x00295A00, 0x00295AFF);
     }

             Log3 $name, 1, "$name - stop foreach processing commands";
         }



Wobei eigentlich klar ist, dass das Modul hier abkackt: (Hier auch mal loggings einbauen)

*Neue Erkenntnis, erst ab hier mit dem Zusatzlogging beginnen*

SMA_command:

# Send Data
$data = pack("H*",$cmd);
$socket->send($data);
Log3 $name, 3, "$name - Send request $cmd_ID to $host on port 9522";
Log3 $name, 5, "$name - send: $cmd";


Log3 $name, 5, "$name - Debug SMA_Command_1";

# Receive Data and do a first check regarding length
# receive data
$socket->recv($data, $hash->{HELPER}{MAXBYTES});
$size = length($data);

Log3 $name, 5, "$name - Debug SMA_Command_2";


Wenn "Debug SMA_Command_2" im Log steht dann ist vermutlich das $cmd nicht ganz sauber. Socket sollte ja funktionieren, da er bereits eingeloggt ist.

Wenn ich mir den String der geschickt werde so ansehe, dann wird die Target-ID mit FFFFFFFFFFFF angegeben *mal im Hinterkopf behalten und vergleichen*
$spkt_ID   und $cmd_ID debuggen um zu differenzieren.


534D4100000402A00000000100   26  0010606509A0   FFFFFFFFFFFF   0000   E90023BB5907   0000   00000000   0280000200    5400012600FF222600   00000000
$cmdheader=fix                                    $esignature(fix)                           fix                                 fix        fix                $spkt_ID                                                fix
                                                   länge(fix)                      $target_ID                  $myID                                                                        $cmd_ID


fix=fester String im Sourcecode

*mal im Hinterkopf behalten und vergleichen* getan, ich bin mir sehr sicher das da der Fehler liegt, bei mir steht da was deutlich anderes!

Den Rest kann ich ziemlich gut bei mir im Log reproduzieren.

Hast du die Attribute

attr SMATRIPOWER  target-serial 3004218712
attr SMATRIPOWER  target-susyid 378

gesetzt?

Ansonsten hier auch mal etwas logging reinbauen und die variablen ausgeben lassen!


my $target_susyid = AttrVal($name, "target-susyid", $default_target_susyid);
my $target_serial = AttrVal($name, "target-serial", $default_target_serial);

# Define own ID and target ID and packet ID
$myID      = ByteOrderShort(substr(sprintf("%04X",$mysusyid),0,4)) . ByteOrderLong(sprintf("%08X",$myserialnumber));
$target_ID = ByteOrderShort(substr(sprintf("%04X",$target_susyid),0,4)) . ByteOrderLong(sprintf("%08X",$target_serial));


Bin gespannt....
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

Dersch

#593
WOW. :)  Also folgendes:

2019.08.16 21:01:48 3: SMAInverter SMATRIPOWER - WARNING - old process 3539 will be killed now to start a new BlockingCall
2019.08.16 21:01:48 1: SMAInverter SMATRIPOWER -> BlockingCall getstatus_DoParse Timeout: process terminated
2019.08.16 21:01:48 4: SMATRIPOWER - ###############################################################
2019.08.16 21:01:48 4: SMATRIPOWER - ##########  Begin of new SMAInverter get data cycle  ##########
2019.08.16 21:01:48 4: SMATRIPOWER - ###############################################################
2019.08.16 21:01:48 4: SMATRIPOWER - timeout cycles since module start: 3
2019.08.16 21:01:48 4: SMATRIPOWER -> Start BlockingCall getstatus_DoParse
2019.08.16 21:01:48 1: PERL WARNING: Loaded DateTime::TimeZone::Europe::Berlin, which is from a different version (2019b) of the Olson database than this installation of DateTime::TimeZone (2019a).
2019.08.16 21:01:48 4: SMATRIPOWER - current time: 16.08.2019 21:01:48
2019.08.16 21:01:48 4: SMATRIPOWER - operation time begin: 16.08.2019 05:39:38
2019.08.16 21:01:48 4: SMATRIPOWER - operation time end: 16.08.2019 21:19:22
2019.08.16 21:01:48 4: SMATRIPOWER - Send login to 192.168.10.70 on Port 9522 with password XXXX
2019.08.16 21:01:48 5: SMATRIPOWER - Send: 534D4100000402A000000001003A001060650EA0FFFFFFFFFFFF0001E90023BB590700010000000001800C04FDFF07000000840300009CFD565D00000000B9C0C0B9888888888888888800000000
2019.08.16 21:01:48 5: SMATRIPOWER - Received: 534d4100000402a000000001002e001060650be0e90023bb590700017a0158bd10b300010000000001800d04fdff07000000840300009cfd565d0000000000000000
2019.08.16 21:01:48 4: SMATRIPOWER - logged in to inverter serial: 3004218712, susyid: 378
2019.08.16 21:01:48 5: SMATRIPOWER - Logged in now
2019.08.16 21:01:48 3: SMATRIPOWER - Send request 00020058001E8200FF208200 to 192.168.10.70 on port 9522
2019.08.16 21:01:48 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A0FFFFFFFFFFFF0000E90023BB5907000000000000028000020058001E8200FF20820000000000
2019.08.16 21:01:48 5: SMATRIPOWER - Debug SMA_Command_1


Mit

attr SMATRIPOWER  target-serial 3004218712
attr SMATRIPOWER  target-susyid 378

Passiert dann schon mehr:

2019.08.16 21:03:12 3: SMAInverter SMATRIPOWER - WARNING - old process 3670 will be killed now to start a new BlockingCall
2019.08.16 21:03:12 1: SMAInverter SMATRIPOWER -> BlockingCall getstatus_DoParse Timeout: process terminated
2019.08.16 21:03:12 4: SMATRIPOWER - ###############################################################
2019.08.16 21:03:12 4: SMATRIPOWER - ##########  Begin of new SMAInverter get data cycle  ##########
2019.08.16 21:03:12 4: SMATRIPOWER - ###############################################################
2019.08.16 21:03:12 4: SMATRIPOWER - timeout cycles since module start: 5
2019.08.16 21:03:12 4: SMATRIPOWER -> Start BlockingCall getstatus_DoParse
2019.08.16 21:03:12 1: PERL WARNING: Loaded DateTime::TimeZone::Europe::Berlin, which is from a different version (2019b) of the Olson database than this installation of DateTime::TimeZone (2019a).
2019.08.16 21:03:12 4: SMATRIPOWER - current time: 16.08.2019 21:03:12
2019.08.16 21:03:12 4: SMATRIPOWER - operation time begin: 16.08.2019 05:39:38
2019.08.16 21:03:12 4: SMATRIPOWER - operation time end: 16.08.2019 21:19:22
2019.08.16 21:03:12 4: SMATRIPOWER - Send login to 192.168.10.70 on Port 9522 with password XXXX
2019.08.16 21:03:12 5: SMATRIPOWER - Send: 534D4100000402A000000001003A001060650EA07A0158BD10B30001E90023BB590700010000000001800C04FDFF0700000084030000F0FD565D00000000B9C0C0B9888888888888888800000000
2019.08.16 21:03:12 5: SMATRIPOWER - Received: 534d4100000402a000000001002e001060650be0e90023bb590700017a0158bd10b300010000000001800d04fdff0700000084030000f0fd565d0000000000000000
2019.08.16 21:03:12 4: SMATRIPOWER - logged in to inverter serial: 3004218712, susyid: 378
2019.08.16 21:03:12 5: SMATRIPOWER - Logged in now
2019.08.16 21:03:12 3: SMATRIPOWER - Send request 00020058001E8200FF208200 to 192.168.10.70 on port 9522
2019.08.16 21:03:12 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A07A0158BD10B30000E90023BB5907000000000000028000020058001E8200FF20820000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_1
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_2
2019.08.16 21:03:12 5: SMATRIPOWER - Received: 534d4100000402a000000001009e0010606527a0e90023bb590700a07a0158bd10b30000000000000280010200580100000003000000011e8210dafa565d534e3a2033303034323138373132000000000000000000000000000000000000011f8208dafa565d411f0001feffff0000000000000000000000000000000000000000000000000001208208dafa565d962400008024000081240000822400018324000084240000feffff000000000000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Data identifier 33310
2019.08.16 21:03:12 5: SMATRIPOWER - Found Data CLASS=8001 and TYPE=9346
2019.08.16 21:03:12 3: SMATRIPOWER - Send request 0002005400012600FF222600 to 192.168.10.70 on port 9522
2019.08.16 21:03:12 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A07A0158BD10B30000E90023BB590700000000000003800002005400012600FF22260000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_1
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_2
2019.08.16 21:03:12 5: SMATRIPOWER - Received: 534d4100000402a0000000010036001060650da0e90023bb590700a07a0158bd10b3000000000000038001020054000000000000000001012600dafa565d181302000000000000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Data identifier 9729
2019.08.16 21:03:12 1: PERL WARNING: substr outside of string at ./FHEM/76_SMAInverter.pm line 1124.
2019.08.16 21:03:12 1: PERL WARNING: Use of uninitialized value in unpack at ./FHEM/76_SMAInverter.pm line 1124.
2019.08.16 21:03:12 1: PERL WARNING: Use of uninitialized value $inv_SPOT_ETODAY in concatenation (.) or string at ./FHEM/76_SMAInverter.pm line 1125.
2019.08.16 21:03:12 5: SMATRIPOWER - Found Data SPOT_ETOTAL=135960 and SPOT_ETODAY=
2019.08.16 21:03:12 3: SMATRIPOWER - Send request 00028053001E2500FF1E2500 to 192.168.10.70 on port 9522
2019.08.16 21:03:12 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A07A0158BD10B30000E90023BB5907000000000000048000028053001E2500FF1E250000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_1
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_2
2019.08.16 21:03:12 5: SMATRIPOWER - Received: 534d4100000402a000000001005e0010606517a0e90023bb590700a07a0158bd10b30000000000000480010280530000000001000000011e2540cffd565d0000008000000080000000800000008001000000021e2540cffd565d000000800000008000000080000000800100000000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Data identifier 9502
2019.08.16 21:03:12 5: SMATRIPOWER - Found Data SPOT_PDC1=0 and SPOT_PDC2=0
2019.08.16 21:03:12 3: SMATRIPOWER - Send request 0002005100404600FF424600 to 192.168.10.70 on port 9522
2019.08.16 21:03:12 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A07A0158BD10B30000E90023BB590700000000000005800002005100404600FF42460000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_1
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_2
2019.08.16 21:03:12 5: SMATRIPOWER - Received: 534d4100000402a000000001007a001060651ea0e90023bb590700a07a0158bd10b3000000000000058001020051080000000a00000001404640cffd565d000000800000008000000080000000800100000001414640cffd565d000000800000008000000080000000800100000001424640cffd565d000000800000008000000080000000800100000000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Data identifier 17984
2019.08.16 21:03:12 5: SMATRIPOWER - Found Data SPOT_PAC1=0 and SPOT_PAC2=0 and SPOT_PAC3=0
2019.08.16 21:03:12 3: SMATRIPOWER - Send request 00020051003F2600FF3F2600 to 192.168.10.70 on port 9522
2019.08.16 21:03:12 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A07A0158BD10B30000E90023BB5907000000000000068000020051003F2600FF3F260000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_1
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_2
2019.08.16 21:03:12 5: SMATRIPOWER - Received: 534d4100000402a00000000100420010606510a0e90023bb590700a07a0158bd10b30000000000000680010200510000000000000000013f2640cffd565d000000800000008000000080000000800100000000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Data identifier 9791
2019.08.16 21:03:12 5: SMATRIPOWER - Found Data SPOT_PACTOT=0
2019.08.16 21:03:12 3: SMATRIPOWER - Send request 00020051005A2900FF5A2900 to 192.168.10.70 on port 9522
2019.08.16 21:03:12 5: SMATRIPOWER - send: 534D4100000402A00000000100260010606509A07A0158BD10B30000E90023BB5907000000000000078000020051005A2900FF5A290000000000
2019.08.16 21:03:12 5: SMATRIPOWER - Debug SMA_Command_1
2019.08.16 21:03:13 5: SMATRIPOWER - Debug SMA_Command_2
2019.08.16 21:03:13 5: SMATRIPOWER - Received: 534d4100000402a00000000100260010606509a0e90023bb590700e07a0158bd10b3000015000000078001020051005a2900ff5a290000000000
2019.08.16 21:03:13 3: SMATRIPOWER - Format of inverter response does not fit.
2019.08.16 21:03:13 4: SMATRIPOWER - Send logout to 192.168.10.70 on Port 9522
2019.08.16 21:03:13 5: SMATRIPOWER - Send: 534D4100000402A00000000100220010606508A07A0158BD10B30003E90023BB590700030000000008800E01FDFFFFFFFFFF00000000
2019.08.16 21:03:13 4: SMATRIPOWER - logged out now from inverter serial: 3004218712, susyid: 378
2019.08.16 21:03:13 5: SMATRIPOWER - CNT05: 5 SUM05: 0
2019.08.16 21:03:13 5: SMATRIPOWER - CNT10: 10 SUM10: 0
2019.08.16 21:03:13 5: SMATRIPOWER - CNT15: 15 SUM15: 0
2019.08.16 21:03:13 5: SMATRIPOWER - Content of Averagebuffer:
2019.08.16 21:03:13 5: SMATRIPOWER - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2019.08.16 21:03:13 5: SMATRIPOWER - avg_power_lastminutes_05 = 0, avg_power_lastminutes_10 = 0, avg_power_lastminutes_15 = 0
2019.08.16 21:03:13 1: PERL WARNING: Use of uninitialized value $inv_SPOT_ETODAY in concatenation (.) or string at ./FHEM/76_SMAInverter.pm line 803.
2019.08.16 21:03:13 5: SMATRIPOWER -> row_array before encoding:
2019.08.16 21:03:13 5: SMATRIPOWER -> modulstate normal
2019.08.16 21:03:13 5: SMATRIPOWER -> opertime_start 16.08.2019 05:39:38
2019.08.16 21:03:13 5: SMATRIPOWER -> opertime_stop 16.08.2019 21:19:22
2019.08.16 21:03:13 5: SMATRIPOWER -> avg_power_lastminutes_05 0
2019.08.16 21:03:13 5: SMATRIPOWER -> avg_power_lastminutes_10 0
2019.08.16 21:03:13 5: SMATRIPOWER -> avg_power_lastminutes_15 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_ETOTAL 135960
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_ETODAY
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PDC1 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PDC2 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PAC1 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PAC2 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PAC3 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PACTOT 0
2019.08.16 21:03:13 5: SMATRIPOWER -> state 0
2019.08.16 21:03:13 4: SMATRIPOWER -> BlockingCall getstatus_DoParse finished
2019.08.16 21:03:13 4: SMATRIPOWER -> Start BlockingCall getstatus_ParseDone
2019.08.16 21:03:13 5: SMATRIPOWER -> row_array after decoding:
2019.08.16 21:03:13 5: SMATRIPOWER -> modulstate normal
2019.08.16 21:03:13 5: SMATRIPOWER -> opertime_start 16.08.2019 05:39:38
2019.08.16 21:03:13 5: SMATRIPOWER -> opertime_stop 16.08.2019 21:19:22
2019.08.16 21:03:13 5: SMATRIPOWER -> avg_power_lastminutes_05 0
2019.08.16 21:03:13 5: SMATRIPOWER -> avg_power_lastminutes_10 0
2019.08.16 21:03:13 5: SMATRIPOWER -> avg_power_lastminutes_15 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_ETOTAL 135960
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_ETODAY
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PDC1 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PDC2 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PAC1 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PAC2 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PAC3 0
2019.08.16 21:03:13 5: SMATRIPOWER -> SPOT_PACTOT 0
2019.08.16 21:03:13 5: SMATRIPOWER -> state 0
2019.08.16 21:03:13 4: SMATRIPOWER -> BlockingCall getstatus_ParseDone finished


Es fällt mir auf, dass SPOT_ETOTAL 135960 einen Wert erhalten hat! Und der Wert ist auch noch richtig :)

Xguide

Nabend,

darauf habe ich gewartet. Das geht in die richtige Richtung. Kannst die beiden Debug-Logs wieder raus nehmen, bzw. das Modul wieder auf den Ausgangszustand bringen. Bin gerade nur mobil unterwegs, aber das Serial/SysID Problem müssen wir abfangen, bzw. im Log kenntlich machen. Augenscheinlich geht da jetzt noch was bei Etoday in die Hose.
Setze mal das Detail-Level hoch und poste morgen mal ein List vom Device und ein Log (Verbose 5). Vermutlich schläft der WR jetzt eh...

Besten Gruß

Marcel


Gesendet von iPhone mit Tapatalk
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

Xguide

@Heiko, habe mir gerade noch mal das ältere Log angesehen. Das Anmelden am WR hat ja immer geklappt und auch Serial und SysID standen zur Verfügung, spricht was dagegen die gleich im entsprechenden attr zu speichern wenn nicht schon gesetzt?

Das hätte uns Diskussionen über die Existenzgrundlage des Moduls erspart [emoji12]


Gruß Marcel


Gesendet von iPhone mit Tapatalk
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

Xguide

Zitat von: Dersch am 16 August 2019, 21:05:42
WOW. :)

Es fällt mir auf, dass SPOT_ETOTAL 135960 einen Wert erhalten hat! Und der Wert ist auch noch richtig :)

Nicht nur der Wert hat sich geändert...

Ggf. attr supressSleep auf 1 setzen, dann fragt er auch jetzt die Daten ab, also wenn er eigentlich schläft.


Gesendet von iPhone mit Tapatalk
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

Dersch

Zitat von: Xguide am 16 August 2019, 21:18:44
Nabend,

darauf habe ich gewartet. Das geht in die richtige Richtung. Kannst die beiden Debug-Logs wieder raus nehmen, bzw. das Modul wieder auf den Ausgangszustand bringen. Bin gerade nur mobil unterwegs, aber das Serial/SysID Problem müssen wir abfangen, bzw. im Log kenntlich machen. Augenscheinlich geht da jetzt noch was bei Etoday in die Hose.
Setze mal das Detail-Level hoch und poste morgen mal ein List vom Device und ein Log (Verbose 5). Vermutlich schläft der WR jetzt eh...

Besten Gruß

Marcel


Gesendet von iPhone mit Tapatalk

Super dass wir damit weiterkommen. Ja er ist nun seit ein paar Minuten schlafen gegangen. Morgen poste ich das gewünschte.

Grüße
Dirk

DS_Starter

Hallo Marcel,

erstmal danke für deine Unterstützung ! Bin nämlich gerade mit DbLog beschäftigt.  ;)

ZitatDas Anmelden am WR hat ja immer geklappt und auch Serial und SysID standen zur Verfügung, spricht was dagegen die gleich im entsprechenden attr zu speichern wenn nicht schon gesetzt?
Ich denke das lässt sich machen. Würde die Testversion wieder in meinem contrib zur Verfügung stellen.

ZitatDas hätte uns Diskussionen über die Existenzgrundlage des Moduls erspart
Na das Modul stellen wir nicht in Frage. Läuft ja absolut perfekt.
Aber nachdenken den Vorteil von ModBus mit den Vorteilen dieses Moduls zu verheiraten sollte ja erlaubt sein.  ;)
Ich meine damit eine speziell für SMA zugeschnittenes Modul auf Basis Modbus zu entwerfen was für den Nutzer genauso einfach und im Ergebnis identisch zu diesem Modul ist, mit diesen Readings, der Tag/Nacht-Führung usw.
War nur so ins Blaue gedacht ohne einen genauen Plan zu haben, von der Zeit dafür mal ganz abgesehen  ::)

Grüße,
Heiko

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Xguide

#599
Hallo Heiko,

hab gerne geholfen. Ärgerlich das es vermutlich so ein einfacher Fehler war (vergessenes Attribut). Hatten wir auch schon mal meine ich [emoji85]

Das Modul ist perfekt, die eierlegende Wollmilchsau wird es eh nie geben. Gut zu wissen, dass wie noch zur aktuellen Generation kompatibel sind. Zumindest was die STPs angeht. Sunnyboy, oder wie die heissen, funktioniert ja augenscheinlich nicht mehr.

Wenn mich jemand über die Vorzüge von Modbus überzeugen kann, dann wäre ich dabei.

Allgemein hoffe ich nur das mein WR noch einige Jahre durchhält :-) Akku wurde nach 4a bereits ausgetauscht.

GN8 Marcel



Gesendet von iPhone mit Tapatalk
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -