76_SMAInverter.pm - Abfrage von SMA Wechselrichter

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

Vorheriges Thema - Nächstes Thema

DS_Starter

Im SMAInverter Device verbose 2 setzen. Echte Fehlermeldungen kommen mit verbose 2 und niedriger.
Proxmox+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

Homalix99

Hallo Heiko,

ich habe vor ein paar Tagen einen SMA Sunny Island in Betrieb genommen. Die Daten des Batteriewechselrichters kommen auch, dedoch ist mir aufgefallen, dass das Modul nach Erreichen der Opertime_stop die relevanten Readings ( wie: SPOT_ETODAY oder BAT_LOADTODAY wieder auf null setzt.
Kann man das für Batteriewechselrichter so gestalten, dass die Tageswerte erst um 24:00 mit Beginn des nächsten Tages resetet werden?
Ich nutze diese Readings und wenn diese zur variablen opetrtime_stop auf null gehen, kommt nur Misst raus.
Mit dem offset Attribut kann man den reset der Tageswerte nur variabel verzögern, ich bräuchte jedoch einen fixen Zeitpunkt mit Beginn des neuen Tages.

VG

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

DS_Starter

Hallo Alex,

ich schau mir das an. Dauert aber etwas, habe viel zu tun z.Z.

Grüße,
Heiko
Proxmox+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

Elektron

Hallo Heiko,

Bei einer anderen Fehlersuche ist mir aufgefallen, dass das Modul bei mir recht viel ins Log schreibt.
Ist das ein Fehler oder kann ich da abstellen?

Hier die Einträge im Log:

2021.02.27 17:24:25 3: Wechselrichter2 - Send request 00020058001E8200FF208200 to 192.168.2.192 on port 9522
2021.02.27 17:24:25 3: Wechselrichter1 - Send request 00020058001E8200FF208200 to 192.168.2.191 on port 9522
2021.02.27 17:24:25 3: Wechselrichter2 - Send request 0002005400012600FF222600 to 192.168.2.192 on port 9522
2021.02.27 17:24:25 3: Wechselrichter1 - Send request 0002005400012600FF222600 to 192.168.2.191 on port 9522
2021.02.27 17:24:25 3: Wechselrichter2 - ETODAY wasn't delivered from inverter, try to calculate it ...
2021.02.27 17:24:25 3: Wechselrichter2 - ETODAY calculated successfully !
2021.02.27 17:24:25 3: Wechselrichter2 - Send request 00028053001E2500FF1E2500 to 192.168.2.192 on port 9522
2021.02.27 17:24:25 3: Wechselrichter1 - ETODAY wasn't delivered from inverter, try to calculate it ...
2021.02.27 17:24:25 3: Wechselrichter1 - ETODAY calculated successfully !
2021.02.27 17:24:25 3: Wechselrichter1 - Send request 00028053001E2500FF1E2500 to 192.168.2.191 on port 9522
2021.02.27 17:24:25 3: Wechselrichter1 - Send request 0002005100404600FF424600 to 192.168.2.191 on port 9522
2021.02.27 17:24:25 3: Wechselrichter2 - Send request 0002005100404600FF424600 to 192.168.2.192 on port 9522
2021.02.27 17:24:25 3: Wechselrichter2 - Send request 00020051003F2600FF3F2600 to 192.168.2.192 on port 9522
2021.02.27 17:24:25 3: Wechselrichter1 - Send request 00020051003F2600FF3F2600 to 192.168.2.191 on port 9522
2021.02.27 17:24:25 3: Wechselrichter1 - Send request 00020051005A2900FF5A2900 to 192.168.2.191 on port 9522
2021.02.27 17:24:25 3: Wechselrichter2 - Send request 00020051005A2900FF5A2900 to 192.168.2.192 on port 9522
2021.02.27 17:24:25 3: Wechselrichter1 - Format of inverter response does not fit.
2021.02.27 17:24:25 3: Wechselrichter2 - Format of inverter response does not fit.

Die Readings heißen bei mir alle mit SPOT_ am Anfang. Ist das so, weil ich einen anderen Wechselrichtertypen habe?
Kann ich mit Informationen helfen?

Vielen Dank und Grüße Michael

DS_Starter

Hallo Michael,

die Meldungen sind normal. Stelle das Device auf verbose 2. Echte Probleme werden mit V2 gemeldet.

Die Readingsnamen kannst du mit SBFSpotComp = 1 umstellen. Habe ich bei mir so eingestellt. Die Default-Einstellung gefällt mir persönlich nicht.

Grüße,
Heiko
Proxmox+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

DS_Starter

Hallo Alex,

ich habe dir eine Testversion in mein contrib gestellt. Wenn alles klappt, werden die relevanten Readings erst morgens um 00:10:00 auf 0 gesetzt werden.

Zum Download in der FHEMWEB Kommandozeile inklusive der Ausführungszeichen angeben und danach FHEM restarten:


"wget -qO ./FHEM/76_SMAInverter.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SMAInverter.pm"


Grüße,
Heiko
Proxmox+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

DS_Starter

Nach längerer Testzeit habe ich die neue Version eingecheckt, ist morgen früh im Update enthalten.

VG
Proxmox+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

Hallo, ich möchte mich auch mal wieder melden. SMAinverter Modul geladen und versucht aktuell mit dem modul einen SB5000SE (Speicher) auszulesen. ohne erfolg. fakt ist speedwire funktioniert und ich kann mit dem Explorer auf die kiste und alle daten auslesen. egal was ich einstelle egal welche ID oder Serial /oder IP ich komme nicht an die Daten. hat jemand einen Tip?

Netzwerkthemen sind ausgeschlossen, FIrewall ist auch alles offen

IPs Versucht: 192.168.178.56 / und die 254
ID vom Hauptprozessor / sowie serial...
Serial vom Zähler probiert Susyid alle durch die ersichtlich sind.. ich komme nicht ran. Kennwort vom Benutzer sowie Installateur probiert auch ohne erfolg.
alle Kombinationen bringen kein ziel. ich erhalte immer Timeout: process terminated....

hat überhaupt schon jemand den sb5000se zum laufen bekommen? modul habe ich bereits vor 3 jahren mal getestet und nun aktuell mit der neusten version.

Ich kann es nicht verstehen. SMAEM äuft, nur informativ.

grüße hugo

Homalix99

Hi Hugo,

das mit  dem "Timeout: process terminated.." kommt mir bekannt vor. Das Problem hatte ich auch und obwohl ich dann die richtige SUSYS ID eingetragen hatte, war immer noch kein Zugriff möglich.
Also das fhem Objekt nochmal entfernt und neu kreiiert und dann lief es (zuminest bei mir). Ich habe aber einen anderen WR-Typ.

Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

hugo.crank

Eine Neuanlage habe ich schon öfter versucht.

Kamik

Hallo Heiko,

ist es möglich über das Modul die Summe der erzeugten Leistung für jeden einzelnen String auszugeben?
Demnach könnte man anhand der Summen sehen, wie sich die Leistung in den nächsten Jahren verhält. Ich würde so jeden String Benchmarken können.

Danke und beste Grüße aus Essen

DS_Starter

Hi,

Zitat
ist es möglich über das Modul die Summe der erzeugten Leistung für jeden einzelnen String auszugeben?
Das Modul gibt ja bereits die DC Werte jedes Strings aus. Bei meinem Tripower sind es:

string_1_idc
string_1_pdc
string_1_udc
string_2_idc
string_2_pdc
string_2_udc

Zumindest die string_X_pdc liefern die aktuelle Leistung. Das kann man in eine Datenbank loggen und mit DbRep eine Auswertung fahren nach dem maximalen Wert zum Beispiel jeden Monat. Das geht im DbRep mit einem Klick "set <> maxValue" wenn man vorher die Attribute richtig eingestellt hat, unter anderem "aggregation = month".
Damit kann man dann die Monate jedes Jahres miteinander vrgleichen und bekommt ein Gefühl dafür falls ein Leistungsabfall eintreten sollte.

LG,
Heiko
Proxmox+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

MadMax

#912
Hallo,

Ich glaube der SBS6.0-10 ist noch nicht komplett intigriert oder
INV_TYPE: 9359

9358 ist ja der 5.0 richtig?

Ich sehe leider keine Bstteriedaten außer den Ladestand.

Reicht es diesen Wechselrichter im Modul unter dem SBS5.0 einzufügen?

Die anderen PV-WR liefern alle Daten. Danke für diese Funktionalität.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

dk3572

Hallo Heiko,

heute mal in diesem Thread  ;)

Hatte heute das 1. mal diese Meldung im Log:

2021.06.02 06:27:11.244 1: ERROR evaluating my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};my $SELF=   $evalSpecials->{'%SELF'};my $TYPE=   $evalSpecials->{'%TYPE'};{
# Energieverbrauch
fhem "setreading du_Energie PV ".sprintf("%.1f",(ReadingsVal("SMA_Wechselrichter","total_pac",0)*1000));;
my $tc = sprintf("%.1f",ReadingsVal("du_Energie","PV",0)+ReadingsVal("du_Energie","GridConsumption",0)-ReadingsVal("du_Energie","GridFeedIn",0)+ReadingsVal("SMA_Wechselrichter_Bat","power_out",0)-ReadingsVal("SMA_Wechselrichter_Bat","power_in",0));;
if($tc >= 0) {
     fhem ("setreading du_Energie TotalConsumption ".sprintf("%.1f",$tc));;
}

# Autarkiegrad
my $valA = (ReadingsVal("SMA_Wechselrichter", "total_pac",0)*1000)-ReadingsVal("SMA_Zaehler", "Einspeisung_Wirkleistung",0)+ReadingsVal("SMA_Wechselrichter_Bat","power_in",0)+ReadingsVal("SMA_Wechselrichter_Bat","power_out",0);;
my $calcVal = $valA / ($valA + ReadingsVal("SMA_Zaehler", "Bezug_Wirkleistung",0))*100;;
fhem ("setreading du_Energie AutarkyQuote ".($calcVal?sprintf("%.0f",$calcVal):"0"));;
 
# Eigenverbrauchsquote
my $totalpac = (ReadingsVal("SMA_Wechselrichter", "total_pac",0)*1000)+ReadingsVal("SMA_Wechselrichter_Bat","power_in",0)+ReadingsVal("SMA_Wechselrichter_Bat","power_out",0);;
if($totalpac > 0) {
     my $valSelf = $totalpac - ReadingsVal("SMA_Zaehler", "Einspeisung_Wirkleistung",0);;
     my $calSelf = $valSelf / $totalpac * 100;;
     fhem ("setreading du_Energie SelfConsumptionQuote ".sprintf("%.0f",$calSelf));;
} else {
     fhem ("setreading du_Energie SelfConsumptionQuote -");;
}
}: Illegal division by zero at (eval 355293) line 11.


Rührt der Fehler aus der Berechnung des Autarkiegrad?

Fehlt hier evtl. sowas?

# Autarkiegrad
my $valA = (ReadingsVal("SMA_Wechselrichter", "total_pac",0)*1000)-ReadingsVal("SMA_Zaehler", "Einspeisung_Wirkleistung",0)+ReadingsVal("SMA_Wechselrichter_Bat","power_in",0)+ReadingsVal("SMA_Wechselrichter_Bat","power_out",0);;
my $calcVal = $valA / ($valA + ReadingsVal("SMA_Zaehler", "Bezug_Wirkleistung",0))*100;;
if($calcVal >= 0) {
fhem ("setreading du_Energie AutarkyQuote ".($calcVal?sprintf("%.0f",$calcVal):"0"));;
} else {
fhem ("setreading du_Energie AutarkyQuote -");;
}


Oder müsste man vorher schon abfangen, dass nicht durch 0 geteilt wird?
Falls das überhaupt die Ursache ist.  ???

Oder abwarten und gucken ob es ein einmaliger Fehler war?  ;)

Danke und VG Dieter

DS_Starter

#914
Hallo Dieter,

Das ist sicher nicht der Normalzustand, abwarten und Tee trinken.  ;)

Grüße,
Heiko
Proxmox+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