76_SMAInverter.pm - Abfrage von SMA Wechselrichter

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

Vorheriges Thema - Nächstes Thema

hugo.crank

Guten Morgen,
ich bekomme das Modul nach wie vor nicht zum laufen mit dem SB5000. Hab keinen Rat mehr.

DS_Starter

Hallo Hugo,

naja an der Befehlsstruktur hat sich auch nichts geändert.
Ich schlage vor du installierst dir SBFSpot und bersuchst das zum Laufem zu bekommen. Wenn das klappt können wir versuchen mit Thomas (der Ersteller der Modulbefehlsstruktur) Hilfe ein reengineering durchzuführen um zu schauen was sich geändert hat. Alternativ gibt es das Modul SMAUtils was mit SBFSpot zusammenarbeitet und die Auswertung vornehmen kann.
Denke das wäre ein möglicher Weg um weiterzukommen.

LG
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

hugo.crank

Zitat von: DS_Starter am 09 Oktober 2017, 09:31:08
Hallo Hugo,

naja an der Befehlsstruktur hat sich auch nichts geändert.
Ich schlage vor du installierst dir SBFSpot und bersuchst das zum Laufem zu bekommen. Wenn das klappt können wir versuchen mit Thomas (der Ersteller der Modulbefehlsstruktur) Hilfe ein reengineering durchzuführen um zu schauen was sich geändert hat. Alternativ gibt es das Modul SMAUtils was mit SBFSpot zusammenarbeitet und die Auswertung vornehmen kann.
Denke das wäre ein möglicher Weg um weiterzukommen.

LG
Heiko
Danke für deine Hilfe. Ich werde das in der kalten Zeit mal angehen. LG hugo

Gesendet von meinem SM-G950F mit Tapatalk


DS_Starter

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

MiVo69

#424
Hallo zusammen,
haben vielleicht andere auch den dringenden Bedarf nach einer automatisierten Änderungsmöglichkeit von diversen Parametern an SMA Invertern?

In meinem speziellen Fall möchte ich meinen Sunny Island 4.4 - 12 automatisiert zu einer Ladung aus dem Versorgernetz bewegen. Ich möchte also nicht einfach nur zu festen Zeiten laden, was man ja über das Sunny Portal einstellen kann, sondern nach diversen unterschiedlichen Zuständen die meine Anlage betreffen dem Island sagen: jetzt bitte vollladen! Und wenn dann vielleicht auch erst 90% erreicht sind, möchte ich diese Ladung auch automatisiert beenden können.
Gerade nun in der dunklen Jahreszeit möchte ich bei zu wenig Solarenergie die Möglichkeit eines vollen Speichers haben um als USV vorbereitet zu sein.

Meines Wissen entscheidend für diese Möglichkeit sind 2 Parameter:

1. --> Parameter bearbeiten / Gerät / Eigenverbrauch / Eigenverbrauchserhöhung eingeschaltet / JA oder NEIN
2. --> Parameter bearbeiten / Batterie / Betrieb / Manuelle Ausgleichsladung / Start oder Stop

Es wäre so toll wenn wenn diese Parameter über fhem geschrieben werden könnten...


Dann habe ich noch ein zweites Problem:

meine fhem Logdatei wird mit folgendem Eintrag vollgeschrieben:

2017.11.11 07:35:47 1: PERL WARNING: Use of uninitialized value $inv_SPOT_ETODAY in concatenation (.) or string at ./FHEM/76_SMAInverter.pm line 793.

Wenn ich in den Readings nachschaue, sieht die Zeile so aus:
SPOT_ETODAY    2017-11-11 07:36:58
es steht also kein Wert drin.

Kann ich diese Fehlermeldung unterbinden? Dadurch wird meine Log-Datei täglich 12MB groß

Gruß Michael



Xguide

Hallo Michael,

zum Thema Laderegelung muss ich passen. Soweit ich weiss werden die Parameter die im Portal zur Verfügung gestellt werden werden vom SHM versorgt und entgegen genommen. Der SHM spricht auf jeden Fall anders mit dem SunnyIsland als 76_SMAInverter. Ferner basiert SMAInverter auf sbfspot und ist zum Auslesen konzipiert und nicht zum Schreiben.
An den SunnyIsland kommt man meines Wissens nach auch via ModBus, versuch mal dazu eine Doku zu finden....

Zu deinem 2. Problem, betrifft es den Sunny Island oder deinen PV-Wechselrichter?
SPOT_ETODAY ist nur beim PV-WR verfügbar und gibt dir den Tagesertrag zurück - für mich einer der wichtigsten Werte :-) auch wenn gerade viel zu klein ;-)
Kommen denn die anderen Werte wie SPOT_ETOTAL?

Gruß Marcel
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 -

MiVo69

#426
Hi Marcel,
die beiden Parameter stelle ich ja lokal um, also direkt auf der Webseite des Islands, nicht im SunnyPortal...
Das läuft also Netzintern auf der lokalen IP.

Zum 2.
Bei meinen PV Wechselrichtern bekomme ich Daten bei SPOT_ETODAY. Aber nicht beim Sunny Island...
Die restlichen Readings funktionieren aber...
Hänge mal ein Bild ran.
Gruß Michael


Xguide

Hallo Michael,

habe mich mit der Aufladung des Akkus noch nie manuell beschäftigt.
Denke aber das man das per Modbus realisieren könnte.

Also bezüglich der Readings, eigentlich dürften die gar nicht angelegt werden, da der SI diese nicht liefert. Irgendwo scheint da für deinen SI was falsch zu laufen. SMAInverter entscheidet eigentlich ob PV Wechselricher oder Batterie WR.
Ich schaue gleich noch mal in den Code.

PV WR und Batterie WR sind zwei Geräte, oder?

Gruß Marcel
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 -

MiVo69

Habe aktuell 3 Stück Sunny Boy 1.5 und einen Sunny Island 4.4-12 mit einem 7,2KWh Sony Fortellion Speicher.
Gruß Michael

Xguide

Ich wollte nur sicherstellen das es nicht ein hybrid WR ist....
Also dein SunnyIsland ist einzig und allein für die Batterie zuständig, wenn ich es richtig verstehe....
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

kannst du mal ein list vom device posten?
bei mir sieht es wirklich total anders aus.... Du hast schon die letzte Version von 76_SMAInverter oder? Wobei bei der Zeilenangabe der Fehlermeldung gehe ich mal davon aus....
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

#432

Internals:
   CFGFN      ./FHEM/msPV-Plant.cfg
   DEF        0000 10.1.12.62
   HOST       10.1.12.62
   INTERVAL   manual
   LASTUPDATE 11.11.2017 / 11:25:59
   NAME       SMA_SunnyIsland
   NR         2069
   PASS       0815
   STATE      <div class="row">Charge: 8% | In: 0.00kW |  Out: 0.00kW |</div><div class="row">Status: normal | 21.10°C @ 540 cycles</div>
   TYPE       SMAInverter
   VERSION    2.9.2
   HELPER:
     DEFAULT_TARGET_SERIAL 08154711
     DEFAULT_TARGET_SUSYID 08154711
     FAULTEDCYCLES 1
     INTERVAL   45
     MAXBYTES   300
     MYSERIALNUMBER 08154711
     MYSUSYID   999
     PKT_ID     99999
   READINGS:
     2017-11-11 11:25:59   BAT_CYCLES      540
     2017-11-11 11:25:59   BAT_IDC         0.3
     2017-11-11 11:25:59   BAT_TEMP        21.1
     2017-11-11 11:25:59   BAT_UDC         48.3
     2017-11-11 11:25:59   ChargeStatus    8
     2017-11-11 11:25:59   INV_CLASS       Batterie Inverters
     2017-11-11 11:25:59   INV_STATUS      Ok
     2017-11-11 11:25:59   INV_TYPE        Sunny Island 3.0M
     2017-11-11 11:25:59   POWER_IN        0
     2017-11-11 11:25:59   POWER_OUT       0
     2017-11-11 11:25:59   SPOT_FREQ       49.9
     2017-11-11 11:25:59   SPOT_IAC1       0.4
     2017-11-11 11:25:59   SPOT_IAC2       0
     2017-11-11 11:25:59   SPOT_IAC3       0
     2017-11-11 11:25:59   SPOT_PAC1       0
     2017-11-11 11:25:59   SPOT_PAC2       0
     2017-11-11 11:25:59   SPOT_PAC3       0
     2017-11-11 11:25:59   SPOT_PACTOT     0
     2017-11-11 11:25:59   SPOT_UAC1       235.1
     2017-11-11 11:25:59   SPOT_UAC2       0
     2017-11-11 11:25:59   SPOT_UAC3       0
     2017-11-11 11:25:59   SUSyID          999
     2017-11-11 11:25:59   Serialnumber    08154711
     2017-11-11 11:25:59   background_processing_time 0.3795
     2017-11-11 11:25:59   inverter_processing_time 0.1057
     2017-11-11 11:25:59   modulstate      normal
     2017-11-11 11:25:59   opertime_start  11.11.2017 07:05:08
     2017-11-11 11:25:59   opertime_stop   11.11.2017 17:24:50
     2017-11-11 11:25:59   state           0
Attributes:
   alias      SMA Batterie-Wechselrichter SI3.0
   detail-level 2
   event-on-change-reading BAT_CYCLES,BAT_TEMP,INV_STATUS,,background_processing_time,inverter_processing_time
   event-on-update-reading ChargeStatus,POWER_OUT,POWER_IN
   group      SMA-Peripheries
   icon       measure_photovoltaic_inst
   interval   45
   mode       manual
   room       11_PV-Plant
   showproctime 1
   stateFormat {
  "<div class=\"row\">".
"Charge: " . sprintf("%.0f",ReadingsVal($name,"ChargeStatus",0))."% |" .
" In: ".sprintf("%.2f",ReadingsVal($name,"POWER_IN",0)/1000)."kW | ".
" Out: ".sprintf("%.2f",ReadingsVal($name,"POWER_OUT",0)/1000)."kW |".
  "</div>".
  "<div class=\"row\">".
    "Status: ".ReadingsVal($name,"modulstate","undef")." | ".
sprintf("%.2f",ReadingsVal($name,"BAT_TEMP",0))."°C @ ".
sprintf("%.0f",ReadingsVal($name,"BAT_CYCLES",0))." cycles".
  "</div>"
}
   suppressSleep 1
   target-serial 08154711
   target-susyid 999
   timeout    40
   verbose    0


Bin jetzt aber erstmal unterwegs, nett wäre auch mal ein Zyklus auf dem Logging in verbose 5.
Ich vermute dein SunnyIsland wird falsch identifiziert...
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 -

MiVo69

2017.11.11 11:41:23 4: SI -> BlockingCall getstatus_ParseDone finished
2017.11.11 11:41:23 5: SI -> POWER_IN 0
2017.11.11 11:41:23 5: SI -> POWER_OUT 858
2017.11.11 11:41:23 5: SI -> ChargeStatus 64
2017.11.11 11:41:23 5: SI -> state 858
2017.11.11 11:41:23 5: SI -> SPOT_PACTOT 858
2017.11.11 11:41:23 5: SI -> SPOT_PAC3 0
2017.11.11 11:41:23 5: SI -> SPOT_PAC2 0
2017.11.11 11:41:23 5: SI -> SPOT_PAC1 858
2017.11.11 11:41:23 5: SI -> SPOT_ETODAY
2017.11.11 11:41:23 5: SI -> SPOT_ETOTAL 262460
2017.11.11 11:41:23 5: SI -> opertime_stop 11.11.2017 19:03:58
2017.11.11 11:41:23 5: SI -> opertime_start 11.11.2017 06:16:07
2017.11.11 11:41:23 5: SI -> modulstate normal
2017.11.11 11:41:23 5: SI -> row_array after decoding:
2017.11.11 11:41:23 4: SI -> Start BlockingCall getstatus_ParseDone
2017.11.11 11:41:23 4: SI -> BlockingCall getstatus_DoParse finished
2017.11.11 11:41:23 5: SI -> POWER_IN 0
2017.11.11 11:41:23 5: SI -> POWER_OUT 858
2017.11.11 11:41:23 5: SI -> ChargeStatus 64
2017.11.11 11:41:23 5: SI -> state 858
2017.11.11 11:41:23 5: SI -> SPOT_PACTOT 858
2017.11.11 11:41:23 5: SI -> SPOT_PAC3 0
2017.11.11 11:41:23 5: SI -> SPOT_PAC2 0
2017.11.11 11:41:23 5: SI -> SPOT_PAC1 858
2017.11.11 11:41:23 5: SI -> SPOT_ETODAY
2017.11.11 11:41:23 5: SI -> SPOT_ETOTAL 262460
2017.11.11 11:41:23 5: SI -> opertime_stop 11.11.2017 19:03:58
2017.11.11 11:41:23 5: SI -> opertime_start 11.11.2017 06:16:07
2017.11.11 11:41:23 5: SI -> modulstate normal
2017.11.11 11:41:23 5: SI -> row_array before encoding:
2017.11.11 11:41:23 1: PERL WARNING: Use of uninitialized value $inv_SPOT_ETODAY in concatenation (.) or string at ./FHEM/76_SMAInverter.pm line 793.
2017.11.11 11:41:23 4: SI - logged out now from inverter serial: 3000979960, susyid: 371
2017.11.11 11:41:23 5: SI - Send: 534D4100000402A00000000100220010606508A07301F851DFB20003E90023BB590700030000000008800E01FDFFFFFFFFFF00000000
2017.11.11 11:41:23 4: SI - Send logout to 192.168.1.88 on Port 9522
2017.11.11 11:41:23 5: SI - Found Data Battery Charge Status=64
2017.11.11 11:41:23 5: SI - Data identifier 10586
2017.11.11 11:41:23 5: SI - Received: 534d4100000402a00000000100420010606510a0e90023bb590700a07301f851dfb20000000000000780010200510100000001000000075a2900d6d3065a400000004000000040000000400000000100000000000000
2017.11.11 11:41:23 5: SI - send: 534D4100000402A00000000100260010606509A07301F851DFB20000E90023BB5907000000000000078000020051005A2900FF5A290000000000
2017.11.11 11:41:23 3: SI - Send request 00020051005A2900FF5A2900 to 192.168.1.88 on port 9522
2017.11.11 11:41:23 5: SI - Found Data SPOT_PACTOT=858
2017.11.11 11:41:23 5: SI - Data identifier 9791
2017.11.11 11:41:23 5: SI - Received: 534d4100000402a00000000100420010606510a0e90023bb590700a07301f851dfb20000000000000680010200510000000000000000073f2640d6d3065a5a0300005a0300005a0300005a0300000100000000000000
2017.11.11 11:41:22 5: SI - send: 534D4100000402A00000000100260010606509A07301F851DFB20000E90023BB5907000000000000068000020051003F2600FF3F260000000000
2017.11.11 11:41:22 3: SI - Send request 00020051003F2600FF3F2600 to 192.168.1.88 on port 9522
2017.11.11 11:41:22 5: SI - Found Data SPOT_PAC1=858 and SPOT_PAC2=0 and SPOT_PAC3=0
2017.11.11 11:41:22 5: SI - Data identifier 17984
2017.11.11 11:41:22 5: SI - Received: 534d4100000402a000000001007a001060651ea0e90023bb590700a07301f851dfb20000000000000580010200510c0000000e00000007404640d6d3065a5a0300005a0300005a0300005a0300000100000007414640d6d3065a000000000000000000000000000000000100000007424640d6d3065a000000000000000000000000000000000100000000000000
2017.11.11 11:41:22 5: SI - send: 534D4100000402A00000000100260010606509A07301F851DFB20000E90023BB590700000000000005800002005100404600FF42460000000000
2017.11.11 11:41:22 3: SI - Send request 0002005100404600FF424600 to 192.168.1.88 on port 9522
2017.11.11 11:41:22 3: SI - Format of inverter response does not fit.
2017.11.11 11:41:22 5: SI - Received: 534d4100000402a00000000100260010606509a0e90023bb590700e07301f851dfb2000014000000048001028053001e2500ff1e250000000000
2017.11.11 11:41:22 5: SI - send: 534D4100000402A00000000100260010606509A07301F851DFB20000E90023BB5907000000000000048000028053001E2500FF1E250000000000
2017.11.11 11:41:22 3: SI - Send request 00028053001E2500FF1E2500 to 192.168.1.88 on port 9522
2017.11.11 11:41:22 5: SI - Found Data SPOT_ETOTAL=262460 and SPOT_ETODAY=
2017.11.11 11:41:22 1: PERL WARNING: Use of uninitialized value $inv_SPOT_ETODAY in concatenation (.) or string at ./FHEM/76_SMAInverter.pm line 1110.
2017.11.11 11:41:22 1: PERL WARNING: Use of uninitialized value in unpack at ./FHEM/76_SMAInverter.pm line 1109.
2017.11.11 11:41:22 1: PERL WARNING: substr outside of string at ./FHEM/76_SMAInverter.pm line 1109.
2017.11.11 11:41:22 5: SI - Data identifier 9729
2017.11.11 11:41:22 5: SI - Received: 534d4100000402a0000000010036001060650da0e90023bb590700a07301f851dfb2000000000000038001020054000000000000000007012600d6d3065a3c0104000000000000000000
2017.11.11 11:41:22 5: SI - send: 534D4100000402A00000000100260010606509A07301F851DFB20000E90023BB590700000000000003800002005400012600FF22260000000000
2017.11.11 11:41:22 3: SI - Send request 0002005400012600FF222600 to 192.168.1.88 on port 9522
2017.11.11 11:41:22 5: SI - Found Data CLASS=8007 and TYPE=9332
2017.11.11 11:41:22 5: SI - Data identifier 33310
2017.11.11 11:41:22 5: SI - Received: 534d4100000402a000000001009e0010606527a0e90023bb590700a07301f851dfb20000000000000280010200580100000003000000071e82100fc6065a53756e6e792049736c616e6420342e342d313200000000000000000000000000071f820800000000471f0001feffff0000000000000000000000000000000000000000000000000007208208d3d3065a73240000742400017524000076240000feffff0000000000000000000000000000000000
2017.11.11 11:41:22 5: SI - send: 534D4100000402A00000000100260010606509A07301F851DFB20000E90023BB5907000000000000028000020058001E8200FF20820000000000
2017.11.11 11:41:22 3: SI - Send request 00020058001E8200FF208200 to 192.168.1.88 on port 9522
2017.11.11 11:41:22 5: SI - Logged in now
2017.11.11 11:41:22 4: SI - logged in to inverter serial: 3000979960, susyid: 371
2017.11.11 11:41:22 5: SI - Received: 534d4100000402a000000001002e001060650be0e90023bb590700017301f851dfb200010000000001800d04fdff0700000084030000d2d3065a0000000000000000
2017.11.11 11:41:22 5: SI - Send: 534D4100000402A000000001003A001060650EA07301F851DFB20001E90023BB590700010000000001800C04FDFF0700000084030000D2D3065A00000000BEBEBEC1888888888888888800000000
2017.11.11 11:41:22 4: SI - Send login to 192.168.1.88 on Port 9522 with password xxxx
2017.11.11 11:41:22 4: SI - operation time end: 11.11.2017 19:03:58
2017.11.11 11:41:22 4: SI - operation time begin: 11.11.2017 06:16:07
2017.11.11 11:41:22 4: SI - current time: 11.11.2017 11:41:22
2017.11.11 11:41:22 4: SI -> Start BlockingCall getstatus_DoParse
2017.11.11 11:41:22 4: SI - timeout cycles since module start: 3
2017.11.11 11:41:22 4: SI - ###############################################################
2017.11.11 11:41:22 4: SI - ##########  Begin of new SMAInverter get data cycle  ##########
2017.11.11 11:41:22 4: SI - ###############################################################

Xguide

Hallo Michael,

irgendwie ist das Komisch.
1. Dein WR meldet sich mit der Type-ID (TYPE=9332) - die ist schon mal nicht in der Liste enthalten, was aber nicht schlimm ist
2. Dein WR meldet die Klasse 8007 (CLASS=8007) - was eigentlich richtig ist, denn das steht für:  8007 => "Batterie-Wechselrichter",

Folgende reading habe ich nicht im Batterie WR, nur im PV-WR:
2017.11.11 11:41:23 5: SI -> SPOT_ETODAY
2017.11.11 11:41:23 5: SI -> SPOT_ETOTAL 262460

Was passiert denn wenn du Zeile 580-582 auskommentierst und ein reload 76_SMAInverter.pm machst?


#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);
         #}


Schon mal Detail-Level auf 2 gesetzt? Gibt es dann noch mehr Fehler?

Gruß Marcel
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 -