76_SMAInverter.pm - Abfrage von SMA Wechselrichter

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

Vorheriges Thema - Nächstes Thema

sct14675

@cerberus:
Ich dachte der Multigate liefert schon die Summenwerte...
Rein aus den Antworten scheint das Multigate ein leicht anderes Format zu haben, im Logfile steht sehr oft: "Format does not fit", aber keine negative Antwort.
Da muss ich nochmal drüber nachgrübeln... Danke für den Test!

tschüss,
Thomas

cerberus

Hallo Thomas, leider ist das wohl nicht so. Ich nehme an das erst das SunnyPortal die Werte aller angeschlossenen Inverter summiert. Der Multigate gibt zwar ETODAY und ETOTAL aber nicht

•SPOT_PAC1 : Power L1
•SPOT_PAC2 : Power L2
•SPOT_PAC3 : Power L3
•SPOT_PACTOT : Total Power

als Summer aller Inverter aus.

Gruß
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

cerberus

#17
Zum Verständnis nochmal zwei Sreenshots. Im Sunnyportal kann man den Leistungswert jedes einzelnen Panels sehen. Ich nehme an das der Wert PAC1 dem des ersten Panel entspricht. Sinnvoll wäre es hier beim Multiport die aktuelle Leistung, siehe rechts oben im Bild, darzustellen Hier ist die Leistung des ganzen Systems dargestellt. Was natürlich auch denkbar wäre, für jeden Inverter ein eigenes Reading mit z.B. PAC1_SNxxxxxxx wiederzugeben und man summiert sich diese Readings dann selbst z.B. mit userReadings.

Grüße
cerberus
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

sct14675

@cerberus:
Ich wollte dir nur mal eine Statusmeldung geben: Es wird wahrscheinlich auf ein neues Modul für das Multigate rauslaufen.
Der Ablauf ist doch zu unterschiedlich zum normalen Inverter.
Dauert aber noch ein bisserl...

cerberus

Hallo Thomas, danke für die Info. Ist kein Problem, bin gespannt und ich teste dann gern wenn es soweit ist.

Grüße
Ringo
Banana PI mit Bananian + Fhem 5.5, 2x SCC SlowRF/Homematic + RS485 LAN Gateway HMW-LGW-O-DR-GS-EU + RPI2 I2C to 1-Wire Host Adapter for Raspberry Pi

DS_Starter

Hallo Thomas,

jetzt nach ein paar Tagen Laufzeit ein paar Rückmeldungen von mir.
Ich möchte  dir einen Überblick geben was ich während der Laufzeit bemerkt habe, ohne genauer nach der Ursache geschaut zu haben.

Beim FHEM-Start treten folgende Meldungen auf (teilweise schon von anderen berichtet):


PERL WARNING: Smartmatch is experimental at ./FHEM/76_SMAInverter.pm line 151, <$fh> line 711.
PERL WARNING: Constant subroutine main::MAXBYTES redefined at /usr/share/perl/5.20/constant.pm line 156, <$fh> line 711.
PERL WARNING: Use of uninitialized value $name in hash element at ./FHEM/76_SMAInverter.pm line 127, <$fh> line 711.
PERL WARNING: Use of uninitialized value $name in hash element at ./FHEM/76_SMAInverter.pm line 128, <$fh> line 711.
PERL WARNING: Use of uninitialized value $name in hash element at ./FHEM/76_SMAInverter.pm line 129, <$fh> line 711.


Die folgenden Infos, die bei entspr. Aktionen ins Logfile geschrieben werden, würde ich rausnehmen:

Zitat
3: MySTP_5000: Set detail-level to 1
3: MySTP_5000: Set detail-level to 1
3: MySTP_5000: Set room to Energie

Während des Betriebes erscheinen ständig folgende Meldungen im Logfile obwohl das Modul bisher problemlos funktioniert und Werte geliefert werden
(STP 5000TL-20):

Zitat
MySTP_5000: Send request 0002005100484600FF554600 to 192.168.2.40 on port 9522
2016.07.31 09:51:47.998 3: MySTP_5000: Send request 00020051001E4900FF5D4900 to 192.168.2.40 on port 9522
2016.07.31 09:51:48.019 3: MySTP_5000: Format of inverter response does not fit.
2016.07.31 09:51:48.020 3: MySTP_5000: Logged out now.
2016.07.31 09:52:48.067 3: MySTP_5000: Send request 00020058001E8200FF208200 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.087 3: MySTP_5000: Send request 0002005400012600FF222600 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.107 3: MySTP_5000: Send request 00028053001E2500FF1E2500 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.128 3: MySTP_5000: Send request 0002005100404600FF424600 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.152 3: MySTP_5000: Send request 00020051003F2600FF3F2600 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.172 3: MySTP_5000: Send request 00020051005A2900FF5A2900 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.199 3: MySTP_5000: Format of inverter response does not fit.
2016.07.31 09:52:48.199 3: MySTP_5000: Send request 00028053001F4500FF214500 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.217 3: MySTP_5000: Send request 0002005100484600FF554600 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.237 3: MySTP_5000: Send request 00020051001E4900FF5D4900 to 192.168.2.40 on port 9522
2016.07.31 09:52:48.260 3: MySTP_5000: Format of inverter response does not fit.
2016.07.31 09:52:48.261 3: MySTP_5000: Logged out now.

Heute Abend (21:00) habe ich noch bemerkt, dass jetzt da der WR den Betrieb eingestellt hat, das Modul für bestimmte Kenngrößen unsinnige Werte in die Readings schreibt, z.b.:

Zitat
SPOT_FREQ     42949672.95
SPOT_IAC1     -0.001
SPOT_IAC2     -0.001
SPOT_IAC3     -0.001
SPOT_IDC1    -2147483.648
SPOT_IDC2     -147483.648
SPOT_PAC1    -2147483648
SPOT_PAC2    -2147483648
SPOT_PAC3    -2147483648
SPOT_PACTOT -2147483648
SPOT_PDC1     2147483648
SPOT_PDC2     2147483648
SPOT_UAC1    -0.01
SPOT_UAC2    -0.01
SPOT_UAC3    -0.01
SPOT_UDC1    -21474836.48
SPOT_UDC2    -21474836.48

Das würde natürlich dazu führen dass im produktiven Betrieb falsche Werte in der Datenbank landen würden. SBFSpot belegt die Daten zur Zeit richtigerweise mit 0.00.
Wahrscheinlich müßte dieser Zustand im Code berücksichtigt werden.

Danke für die Arbeit !  :)

viele 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

sct14675

Hallo Heiko,
die Perl-warnings hab ich behoben (fix for issue #17).

Die Meldungen im Logfile sollten nur kommen, wenn du verbose auf mindestens Level 3 hast.
Auch die "Fehlermeldungen" sind normal > Es werden alle möglichen Befehle durchprobiert, aber es werden normalerweise nicht alle unterstützt.
(Dein Wechselrichter kann z.B. die Befehle BatteryChargeStatus und BatteryInfo nicht, was ja auch Sinn macht bei einem STP.)

Den Fehler mit -2147483648 (entspricht 0x80000000) hab ich recht früh entdeckt (issue #2), aber damals nur halbherzig behoben...
Sollte seit letztem Wochenende nun wirklich gefixt sein, jetzt auch für die Frequenz (issue #19).

tschüss,
Thomas

DS_Starter

Morgen Thomas,

Danke für die Infos.
Dann lade ich heute Abend mal die neueste Version vom github.

Ja, diese "Fehlermeldungen" kann man natürlich mit verbose 2 unterdrücken. Perfekt wäre es natürlich den relevanten Befehlssatz z.b. über das Reading inv_class, auszusteuern. Dann bräuchte sich der WR nicht damit beschäftigen.  ;)

Günstig wäre m. M. nach auch ein Attr mit dem man die Readingnamen SBFspot like einstellen kann.
Das geht zwar auch über Userreading, aber nativ wäre es sicherlich reizvoll um die Datenintegrität mit Altdaten zu erhalten.

Hast du dich schon einmal mit Volker kurzgeschlossen bzgl. Ersatz vom SMASTP mit deine! mudul bzw. Zusammenführung ?

Grüsse,
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

Volker Kettenbach

Zitat von: DS_Starter am 03 August 2016, 09:56:30

Hast du dich schon einmal mit Volker kurzgeschlossen bzgl. Ersatz vom SMASTP mit deine! mudul bzw. Zusammenführung ?


Ja, wir haben das privat diskutiert.
Ich bin sehr dafür, dass 76_SMAInverter das Modul 77_SMASTP komplett ablöst.

DS_Starter

ZitatIch bin sehr dafür, dass 76_SMAInverter das Modul 77_SMASTP komplett ablöst.

Macht Sinn. Wäre auch dafür.

VG
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

kdeb

Hallo Thomas,

ich hab das Modul eben gefunden und gleich mal ausprobiert. Ich habe zwei SMA WR, einen TP10000-TL und einen SBS2.5 .
Der Tripower funktioniert so wie erwartet. Aber beim Batterie-WR kommt nach dem Login nichts zurück.
Ich habe den Loglevel mal auf 5 gestellt und die Logs angehängt.
IP ind PW scheinen mir richtig, sonst käme kein "WR_SBS: Logged in now"
Nach dem Logout bekomme ich jedesmal ein
Perfmon: possible freeze starting at 08:31:51, delay is 30.684

Ich habe den aktuellen SBFSpot darauf losgelassen, der bekommt Daten.


Internals:
   CFGFN
   DEF        bn4jbm 192.168.99.54
   Host       192.168.99.54
   INTERVAL   60
   LASTUPDATE 02.09.2016 / 08:24:19
   NAME       WR_SBS
   NR         35532
   Pass       xxxxxxxxx
   STATE      ???
   TYPE       SMAInverter
   Readings:
     2016-09-02 08:24:49   modulstate      normal
Attributes:
   detail-level 0
   room       Keller,Photovoltaik
   verbose    5


Hast Du da ne Idee dazu?

Schönen Gruß

Kai

sct14675

Hab mir das Log mal angeschaut, anscheinend kennt es keine Kommandos ausser dem Login...
kannst du bitte in einem Terminal folgendes Kommando im Verzeichnis von SBFspot ausführen:

./SBFspot -nocsv -d5 -v5 > output.txt

Es wird dann in die Datei Output.txt reingeschrieben, welche Kommandos von SBFspot verwendet werden.

tschüss,
Thomas

kdeb

So, bitteschön, hier die Ausgabedatei.

Schönen Gruß

Kai

Volker Kettenbach

Zur Info:

Hier: https://forum.fhem.de/index.php/topic,57287.0.html
wurde ein Thread zur Kombination von SMAInverter und SMAEM und der Berechnung eigener Energiebilanzen begonnen.

sct14675

@kdeb:
Ich hab mir die Log-Files mal angeschaut:
Das FHEM Modul schickt die gleichen Kommandos wie SBFspot raus. Der Login wird positiv betätigt, also sind IP und Passwort korrekt.
Seltsam ist, dass du überhaupt keine Antwort auf die restlichen Befehle bekommst.
Auch der Hänger beim logout ist komisch > irgendwie wird da nicht wirklich was rausgeschickt hab ich das gefühl...

Das übliche mit Neustart usw hast du schon probiert?