Neu: 77_SMAEM - Modul für SMA Energie Meter. Alternative zum Sunny Home Manager.

Begonnen von Volker Kettenbach, 30 März 2016, 12:42:05

Vorheriges Thema - Nächstes Thema

MiVo69

Hallo Heiko,
Raspi hatte sich schnell erledigt. Enocean, Z-Wave, Hue, Siemens S7 usw. haben den Raspi an den Rand des Wahnsinns gebracht.
Habe den gleichen NUC wie du, den die mittlerweile 11000 Zeilen lange fhem.cfg nicht viel ausmacht.
Nochmals danke für das tolle Modul.
Gruß Michael

ritter_runkel

Hallo Zusammen,
ich bin gerade etwas ratlos. Seit Monaten läuft das Gerät und das Modul rund, nun kommen keine Detailwerte mehr.
Ich habe das Gerät gelöscht und mit gleichem Namen wieder angelegt.
Es werden nur folgende Werte angezeigt:
GRIDIN_SUM_''
GRIDIN_SUM_1901400203
GRIDOUT_SUM_''
GRIDOUT_SUM_1901400203

Über den Browser ist das SMA Gerät erreichbar und administrierbar.
Hab im SMA schon Netzwerkkabel gezogen und wieder gesteckt.

Kann ich im Modul etwas einstellen, was mir die Readings wieder bringt?

Grüße und Dank vorab,
Erik
FHEM auf Raspberry Pi 2B
2x eService 1WireHu, 7x DS1820, 2x Multisensoren Wiregate AMS 2.11 für Temperatur DS1820, relativer Luftfeuchte HIH4031, zwei IO-Ports DS2438, Analog-Eingang 0-10 V (bzw. 0-20 mA) DS2413
FritzDECT; HUE; 5xFibaro RollerShutter, Rauchmelder

DS_Starter

Hallo Erik,

mach mal bitte ein list vom SMAEM-Device und stelle mal verbose4 oder 5 dafür ein.
Und das Ergebnis dann posten.

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

ritter_runkel

Hallöchen,
ich war gestern unterwegs, deswegen hier erst die Antwort mit dem Listing:

Internals:
   CFGFN
   CHANGED
   FD         12
   GRIDIN_SUM_'' 2290.2489
   GRIDIN_SUM_1901400203 2288.991
   GRIDOUT_SUM_'' 450.2439
   GRIDOUT_SUM_1901400203 403.2041
   LASTUPDATE_'' 29.11.2017 / 14:01:36
   LASTUPDATE_1901400203 29.11.2017 / 14:01:36
   NAME       SMA_Energy_Meter
   NR         1079
   STATE      ???
   TYPE       SMAEM
   VERSION    3.0.1
   HELPER:
     ALLSERIALS 1901400203
     FAULTEDCYCLES 1
     LASTUPDATE_'' 1511960496
     LASTUPDATE_1901400203 1511960496
     STARTTIME  1511960465
   READINGS:
Attributes:
   group      Geräte
   room       Energie
   userReadings displayA {ReadingsVal("SMA_Energy_Meter","SMAEM1901400203_Bezug_Wirkleistung_Zaehler",0)+1540801;;;;},consumption_power differential {ReadingsVal("SMA_Energy_Meter","SMAEM1901400203_Bezug_Wirkleistung_Zaehler",0)*86400;;;;;;;;}, daily_power {ReadingsVal("SMA_Energy_Meter","SMAEM1901400203_Bezug_Wirkleistung_Zaehler",0)+1540801-Value("Dum_DP_Diff_D");;;;;;;;;;;;;;;;}, {sprintf("%.2f",ReadingsVal("SMA_Energy_Meter","SMAEM1901400203_Einspeisung_Wirkleistung_Zaehler",0)/1000)},Einspeisung_Wirkleistung_Tag {sprintf("%.2f",ReadingsVal("SMA_Energy_Meter","SMAEM1901400203_Einspeisung_Wirkleistung_Zaehler",0)+1540801)},Bezug_Wirkleistung_Tag {sprintf("%.2f",ReadingsVal("SMA_Energy_Meter","SMAEM1901400203_Bezug_Wirkleistung_Zaehler",0)+1540801);;;;}
FHEM auf Raspberry Pi 2B
2x eService 1WireHu, 7x DS1820, 2x Multisensoren Wiregate AMS 2.11 für Temperatur DS1820, relativer Luftfeuchte HIH4031, zwei IO-Ports DS2438, Analog-Eingang 0-10 V (bzw. 0-20 mA) DS2413
FritzDECT; HUE; 5xFibaro RollerShutter, Rauchmelder

ritter_runkel

... und hier noch der Auszug aus dem Log, der sich immer wiederholt:

2017.11.29 14:25:38 4: SMAEM SMA_Energy_Meter - ##############################################################
2017.11.29 14:25:38 4: SMAEM SMA_Energy_Meter - ### Begin of new SMA Energymeter 1901400203 get data cycle ###
2017.11.29 14:25:38 4: SMAEM SMA_Energy_Meter - ##############################################################
2017.11.29 14:25:38 4: SMAEM SMA_Energy_Meter - discarded cycles since module start: 24
2017.11.29 14:25:38 4: SMAEM SMA_Energy_Meter - last update time set to: 29.11.2017 / 14:25:38
2017.11.29 14:25:38 4: SMAEM SMA_Energy_Meter - Blocking process with PID: 14191 started
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter -> Start BlockingCall SMAEM_DoParse
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter - old GRIDIN_SUM_1901400203 got from RAM: 2288.9910
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter - old GRIDOUT_SUM_1901400203 got from RAM: 403.2041
2017.11.29 14:25:40 1: SMAEM SMA_Energy_Meter - cycle discarded due to allowed diff GRIDOUT exceeding
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter -> BlockingCall SMAEM_DoParse finished
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter -> Start BlockingCall SMAEM_ParseDone
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter - last update time set to: 29.11.2017 / 14:25:40
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter - wrote new energy values to INTERNALS - GRIDIN_SUM_'': 2290.2702, GRIDOUT_SUM_'': 450.2464
2017.11.29 14:25:40 1: PERL WARNING: Argument "" isn't numeric in subtraction (-) at (eval 10430) line 1.
2017.11.29 14:25:40 1: PERL WARNING: Argument "" isn't numeric in subtraction (-) at (eval 10431) line 1.
2017.11.29 14:25:40 1: PERL WARNING: Argument "" isn't numeric in subtraction (-) at (eval 10432) line 1.
2017.11.29 14:25:40 4: SMAEM SMA_Energy_Meter -> BlockingCall SMAEM_ParseDone finished
2017.11.29 14:25:58 1: PERL WARNING: Argument "22.56 C" isn't numeric in sprintf at (eval 10456) line 1.
2017.11.29 14:25:59 1: PERL WARNING: Argument "22.56 C" isn't numeric in sprintf at (eval 10458) line 1.
2017.11.29 14:26:38 4: SMAEM SMA_Energy_Meter - ##############################################################
2017.11.29 14:26:38 4: SMAEM SMA_Energy_Meter - ### Begin of new SMA Energymeter 1901400203 get data cycle ###
2017.11.29 14:26:38 4: SMAEM SMA_Energy_Meter - ##############################################################
2017.11.29 14:26:38 4: SMAEM SMA_Energy_Meter - discarded cycles since module start: 25
2017.11.29 14:26:38 4: SMAEM SMA_Energy_Meter - last update time set to: 29.11.2017 / 14:26:38
2017.11.29 14:26:38 4: SMAEM SMA_Energy_Meter - Blocking process with PID: 14248 started
2017.11.29 14:26:43 4: SMAEM SMA_Energy_Meter -> Start BlockingCall SMAEM_DoParse
2017.11.29 14:26:43 4: SMAEM SMA_Energy_Meter - old GRIDIN_SUM_1901400203 got from RAM: 2288.9910
2017.11.29 14:26:43 4: SMAEM SMA_Energy_Meter - old GRIDOUT_SUM_1901400203 got from RAM: 403.2041
2017.11.29 14:26:43 1: SMAEM SMA_Energy_Meter - cycle discarded due to allowed diff GRIDOUT exceeding
2017.11.29 14:26:43 4: SMAEM SMA_Energy_Meter -> BlockingCall SMAEM_DoParse finished
2017.11.29 14:26:43 4: SMAEM SMA_Energy_Meter -> Start BlockingCall SMAEM_ParseDone
2017.11.29 14:26:43 4: SMAEM SMA_Energy_Meter - last update time set to: 29.11.2017 / 14:26:43
2017.11.29 14:26:43 4: SMAEM SMA_Energy_Meter - wrote new energy values to INTERNALS - GRIDIN_SUM_'': 2290.2713, GRIDOUT_SUM_'': 450.2464


Ich könnte auch den "RESET-Knopf" am Gerät drücken nur sind dann meine Zählerstände weg - vermute ich zumindest.
Könnt Ihr da mehr sagen?

Grüße
Erik
FHEM auf Raspberry Pi 2B
2x eService 1WireHu, 7x DS1820, 2x Multisensoren Wiregate AMS 2.11 für Temperatur DS1820, relativer Luftfeuchte HIH4031, zwei IO-Ports DS2438, Analog-Eingang 0-10 V (bzw. 0-20 mA) DS2413
FritzDECT; HUE; 5xFibaro RollerShutter, Rauchmelder

DS_Starter

Hallo Erik,

ZitatIch könnte auch den "RESET-Knopf" am Gerät drücken nur sind dann meine Zählerstände weg - vermute ich zumindest.
Wahrscheinlich wäre es so. Bei mir sind die Zählerstände auch weg wenn mal der Strom ausfällt.

Deswegen logge ich grundsätzlich nur Differenzen (Readings mit _Diff) mit DbLog. Mit DbRep mache ich die Auswertung (sumValue) .... nur mal so ganz grob. Dadurch bin ich in dieser Beziehung unabhängig.

Im Log sieht man jetzt den Grund für das Problem:

cycle discarded due to allowed diff GRIDOUT exceeding

Zur Lösung probiere mal folgendes in genau dieser Reihenfolge:

1. stopp fhem
2 es gibt ein File /opt/fhem/FHEM/FhemUtils/cacheSMAEM -> lösche es
3. starte FHEM

Das verbose 4 LOg soll dann so aussehen:


2017.11.29 15:54:33.176 4: SMAEM SMA_Energymeter - ##############################################################
2017.11.29 15:54:33.177 4: SMAEM SMA_Energymeter - ### Begin of new SMA Energymeter 1900212213 get data cycle ###
2017.11.29 15:54:33.179 4: SMAEM SMA_Energymeter - ##############################################################
2017.11.29 15:54:33.181 4: SMAEM SMA_Energymeter - discarded cycles since module start: 0
2017.11.29 15:54:33.182 4: SMAEM SMA_Energymeter - last update time set to: 29.11.2017 / 15:54:33
2017.11.29 15:54:33.193 4: SMAEM SMA_Energymeter - Blocking process with PID: 2170 started
2017.11.29 15:54:33.199 4: SMAEM SMA_Energymeter -> Start BlockingCall SMAEM_DoParse
2017.11.29 15:54:33.203 4: SMAEM SMA_Energymeter - old GRIDIN_SUM_1900212213 got from RAM: 5700.2746
2017.11.29 15:54:33.204 4: SMAEM SMA_Energymeter - old GRIDOUT_SUM_1900212213 got from RAM: 3603.5530
2017.11.29 15:54:33.207 4: SMAEM SMA_Energymeter - bezug_wirk_count: 3603.559
2017.11.29 15:54:33.209 4: SMAEM SMA_Energymeter - gridoutsum_1900212213: 3603.5530
2017.11.29 15:54:33.211 4: SMAEM SMA_Energymeter - diffb: 0.0060
2017.11.29 15:54:33.213 4: SMAEM SMA_Energymeter - einspeisung_wirk_count: 5700.2746
2017.11.29 15:54:33.214 4: SMAEM SMA_Energymeter - gridinsum_1900212213: 5700.2746
2017.11.29 15:54:33.216 4: SMAEM SMA_Energymeter - diffe: 0
2017.11.29 15:54:33.217 4: SMAEM SMA_Energymeter - plausibility check done: GRIDIN -> 1, GRIDOUT -> 1
2017.11.29 15:54:33.225 4: SMAEM SMA_Energymeter - new energy values saved to ./FHEM/FhemUtils/cacheSMAEM
2017.11.29 15:54:33.227 4: SMAEM SMA_Energymeter - GRIDIN_SUM_1900212213: 5700.2746, GRIDOUT_SUM_1900212213: 3603.559
2017.11.29 15:54:33.245 4: SMAEM SMA_Energymeter -> BlockingCall SMAEM_DoParse finished
2017.11.29 15:54:33.250 4: SMAEM SMA_Energymeter -> Start BlockingCall SMAEM_ParseDone
2017.11.29 15:54:33.252 4: SMAEM SMA_Energymeter - last update time set to: 29.11.2017 / 15:54:33
2017.11.29 15:54:33.254 4: SMAEM SMA_Energymeter - wrote new energy values to INTERNALS - GRIDIN_SUM_1900212213: 5700.2746,


Bei GRIDIN_SUM/GRIDOUT_SUM muss immer die Meternummer mit stehen, also GRIDIN_SUM_1900212213, GRIDOUT_SUM_1900212213.

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

ritter_runkel

Danke Dir - Problem erledigt.
Kennst Du die Ursachen für den Ausfall?

Das nächste Mal weiss ich wie. Ich hatte - nachdem Du Dich gemeldet hast - von Dieser Datei gelesen irgendwo hier im Forum aber in einem anderen Kontext. Wollte nur nix machen um den Status nicht zu verändern ;-)

Mein Logging baut auch auf Tagesdifferenzen auf. Irgendwie steckt da aber ein Startwert drin.
Die Berechnungen über DBRep habe ich mir angeschaut aber ich kapiers irgendwie nicht.
Aktuell schreibe ich diverse Tagesdifferenzen in die DBLOG und rechne am Tages, Monatsende immer die verbräuche in Subroutinen aus.

Nochmals Danke für die schnelle Hilfe.
Grüße aus Leipzig
//Erik
FHEM auf Raspberry Pi 2B
2x eService 1WireHu, 7x DS1820, 2x Multisensoren Wiregate AMS 2.11 für Temperatur DS1820, relativer Luftfeuchte HIH4031, zwei IO-Ports DS2438, Analog-Eingang 0-10 V (bzw. 0-20 mA) DS2413
FritzDECT; HUE; 5xFibaro RollerShutter, Rauchmelder

DS_Starter

ZitatKennst Du die Ursachen für den Ausfall?
Schwer im Nachhinein zu sagen.

Diese Datei wird am Anfang und bei jedem Messzyklus geschrieben. Sie enthält den letzten Zählerstand zum Beispiel als Vorsorge für fhem Absturz oder eben Stromausfall. Jetzt kann es sein das fhem evtl. mal längere Zeit aus war oder keinen Wert empfangen hat. Das Modul ist dann der Meinung dass ein so großer Differenzwert nicht auftreten kann und verwirft den Messzyklus.
Du kannst das Device zwingen hohe Differenzwerte zu akzeptieren indem du das Attribut diffAccept entsprechend hoch setzt. Damit kannst du solche Probleme auch lösen.

EDIT: ein Beispiel für Auswertung der Energiewerte hatte ich im Wiki ein detailliertes Beispiel erstellt:   https://wiki.fhem.de/wiki/Datenbankgest%C3%BCtzte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_%C3%9Cberschu%C3%9Feinspeisung

Grüße aus etwas 25km Entfernung :)
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

Volker Kettenbach

Ich hatte im Laufe des Jahres 2 totale Stromausfälle. 1x auch nachts.
Folglich war die gesamte Anlage stromlos.
Ich habe gerade mal nachgeschaut: mein SMA-EM hat die Zählerstände nicht vergessen!

DS_Starter

Hi Volker,

meiner macht das schon. Vielleicht ist das abhängig von Produktionsdatum/Firmware. Ich habe die 1.02.04.R.

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


Michael

Moin Volker,

Komme leider erst jetzt dazu.
Seid einiger Zeit bekomme ich keine Readings mehr.
Glaube seid Umstellung auf mehere EM's.
Das Log ist Sauber (verbose 5).
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

DS_Starter

Hallo Michael,

gehe so vor wie ich es für Erik in #395 beschrieben habe.

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

mkoerner

Hallo zusammen,

Guten Abend,

ich bin am Verzweifeln. Ich habe das Modul als Device angelegt.
Leider passiert hier gar nichts.
Das Device bleibt auf dem Status initialized stehen.
Ich habe auch keine Einträge im Log.
Ein Test mit dem Testprogramm liefert auch gar nichts.
Hat jemand eine Idee wie ich das Ganze mal zum laufen bringen könnte?
Der EnergieMeter ist der letzte Baustein, den ich noch benötige, um meinen Verbrauch darzustellen.

Danke

M

DS_Starter

Hallo M,

Wenn nichts kommt und auch das Testprogramm keine Ausgaben bringt, ist sehr wahrscheinlich, dass die Pakete vom EM nicht zum FHEM-Rechner gelangen.
Wichtig ist, dass alle relevanten Netzwerkkomponenten Multicast übertragen und nichts gefiltert oder blockiert wird. Verwendet wird UDP Port 9522.
Ist denn ein Ping vom FHEM-Rechner zum EM möglich ? Der EM hat ja auch eine kleine Webseite auf der man zunächst die Netzwerkeinstellungen des EM im Heimnetz festlegen muss. Ich würde ihm auf jeden Fall eine feste IP vergeben.

Wichtig wäre noch ein List deines Devices und ein Logauszug mit verbose 5 deines Devices.

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