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

So, Version 3 ist am Start.
Da ich nun aber das lange Wochenende nutze, kann ich erst am Mittwoch wieder berichten.
Bislang läufts ...
Nochmals vielen Dank für die schnelle Hilfe.
Gruß Michael

Bruno_123

Hallo Heiko,
hallo Volker,

vielen Dank für deine Arbeit Heiko! War ein paar Tage weg und werde es heute/morgen ausprobieren.
Melde mich danach bei euch.  :D

Danke und viele Grüße
Bruno

Bruno_123

Hallo Heiko,

vielen Dank für deine schnelle Unterstützung!!!  8)
Echt super!  :D

Habe das neue Modul ausprobiert und folgendes ist mir aufgefallen:

"State" wir abwechselnd für die EM`s ausgegeben. Somit ist eine/die Auswertung der "Readings" nicht wirklich möglich.  :'(

Meinst du man könnte einzelnen "State" getrennt auswerten, bzw. einzeln anzeigen lassen?

@Volker: Respekt! Dein Modul läuft seit ca. 6 Monaten richtig gut auf meinem System!  :)

Danke an euch beide und Grüße
Bruno



DS_Starter

Hallo Bruno,

prima, dass es auch bei dir läuft !

Zitat"State" wir abwechselnd für die EM`s ausgegeben. Somit ist eine/die Auswertung der "Readings" nicht wirklich möglich.  :'(

Definiere "State", meinst du das Internal "STATE" oder das Reading "state" ?
Aber davon abgesehen ist doch state m.M. nach für die Energie-Auswertung eher nebensächlich und die anderen Readings wie Bezug_Wirkleistung oder Einspeisung_Wirkleistung wichtig. Du kannst aber "state" mit dem Attribut "stateFormat" deinen Anforderungen anpassen.

Eine andere Möglichkeit wäre mit dem Modul readingsProxy mehrere logische Devices vom SMA-Meter "abzuleiten". Ich habe es selbst noch nicht gemacht, aber wenn du drei Meter hast ist die Anzahl der Readings schon echt gewaltig. Dann würde es sich wahrscheinlich anbieten die Readings getrennt nach Serial-Nummer auf drei readingsProxy-Devices zu übertragen.

Weiterhin gäbe es noch "userReadings". Auch damit kannst du die einiges zusammenbauen.

Vielleicht beschreibst du nochmal genauer was du wie auswerten möchtest und woran du dabei scheiterst.
Es gibt bestimmt eine Lösung  ;)

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

Bruno_123

Hallo Heiko,

in der Regel braucht kein "normaler" Mensch mehr als ein EM...  ;D

"Gesamt" Bezug_Wirkleistung oder Einspeisung_Wirkleistung sind zwar relevant, falls aber ein BHKW und/oder ein Windkraftrad bzw. andere Energiequellen in die "Energiebilanz" aufgenommen werden sollen (verschiedene EEG-Vergütungen bzw. andere Stromgestehungskosten), ist eine Aufteilung des Readings "State" zu den jeweiligen EM´s notwendig. Damit hätte man die Möglichkeit z.B. Verbraucher nach den jeweiligen Energiekosten an/aus zuschalten...

In meinem Fall, möchte ich ein EM (Home Manager 2.0 - mit integriertem EM) zusammen mit dem dazugehörigen PV-Wechselrichter und separat zwei verschiedene Energiequellen (über zwei "reine" EM`s) anzeigen/auswerten können...

ReadingsProxy und userReadings kenne ich noch nicht wirklich, schaue sie mir aber an. Danke für den Hinweis!  :)

Vielen Dank für die schnelle Antwort und LG
Bruno


DS_Starter

Ich denke mit userReadings  wirst du zum Ziel kommen.  :)

Zitat"Gesamt" Bezug_Wirkleistung oder Einspeisung_Wirkleistung...
Diese Readings werden aber getrennt nach Serial-Nummer erzeugt und kannst du dann auch auswerten. Die Serial ist ja jeweils vorangestellt.

Für heute aber erstmal genug .... gute Nacht und schönen Feiertag !

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

Bruno_123


DS_Starter

Hallo Bruno,

noch eine kleine Ergänzung.

Das Reading "state" entspricht per default immer dem Reading "SMAEM<Serialnr>Saldo_Wirkleistung".
D.h. statt state auszuwerten kannst du dir ein notify auf "SMAEM<Serialnr>Saldo_Wirkleistung" setzen.
Da bei dir jede Menge Readings angelegt werden und dementsprechend viele Evebts generiert werden empfiehlt sich gleich von Anfang an nur die benötigten Events mit "event-on-...-reading" erzeugen zu lassen um fhem-system nicht mehr als nötig zu belasten.

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

Bruno_123

Hallo Heiko,

vielen Dank für deine hilfreichen Tipps! Endlich kann ich meine EM´s auslesen und die Daten weiterverarbeiten!

Nochmal herzlichen Dank an Volker und an dich für dieses super funktionierende Modul!!!!!

Dein Hinweis auf readingsProxy führte zum Erfolg. Werde aber noch userReadings ausprobieren.
Datenmenge? Ja - und was für eine Menge. event-on-change-reading kenne ich noch nicht genau, schau ich mir aber an.

:) :) :) :) :) :) :) :) :) :) :) :)

LG
Bruno


DS_Starter

Hi Bruno,

na das klingt doch super.  :)

Ich denke mit deiner und Michaels Umgebung hat das Modul den "Härtetest" überstanden.  ;)
Mal schauen was Michael morgen noch zu melden hat, aber auch ich habe die neue Version in meiner bescheidenen Umgebung kritisch getestet und werde die Version sicherlich morgen Abend einchecken.

Dann haben wir wieder etwas geschafft !

schönen Abend und 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

DS_Starter

@Bruno, eine Bitte hätte ich noch.

Könntest du bei dir die Performance mal messen. (apptime musst du ins System bringen wenn du es nicht hast -> Wiki)

apptime funktion all

und suche dann nach "SMAEM_Read".
So eine SMA-Umgebung wie bei dir findet man ja nicht alle Tage ....
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

Bruno_123

Hallo Heiko,

folgende Werte sind übertragen worden:

DP11_SMAEM                               SMAEM_Read                              50    326     5969    18.31      0 04.10. 16:27:58 HASH(DP11_SMAEM)


Kann ich sonst noch an der Weiterentwicklung helfen/unterstützen?

Viele Grüße
Bruno

DS_Starter

Hallo Bruno,

danke, perfekt.

Sieht richtig gut aus, selbst bei deinen sehr vielen Daten braucht die Read-Funktion nur durchschnittlich 18,31ms.
Was wollen wir mehr.

ZitatKann ich sonst noch an der Weiterentwicklung helfen/unterstützen?
Momentan habe ich nichts.
Aber danke für das Angebot, komme ich bei Bedarf gerne darauf zurück  :D

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

MiVo69

Hallo zusammen,
bei mir sieht das so aus

EM1                                      SMAEM_Read                              30  77151   108582     1.41      0 04.10. 13:38:57 HASH(EM1)

In meinen Plots, konnte ich keine Fehler mehr entdecken, beide Energy Meter werden wunderbar ausgelesen.
In meiner Fhem Log-Datei finde ich über den Tag verteilt ab und zu Meldungen dieser Art:

2017.10.04 12:16:04 1: SMAEM EM1 -> BlockingCall SMAEM_DoParse timed out
2017.10.04 12:16:04 1: Timeout for SMAEM_DoParse reached, terminated process 18923

Hoffe das ist nichts Schlimmes ;-)

Gruß Michael

DS_Starter

Hallo Michael,

deine Mitteilung bestätigt die positiven Ergebnisse von Bruno.
Der Durchschnitt sieht ja noch besser aus. Wahrscheinlich hast du kein Raspi drunter, oder ?

Zitat
2017.10.04 12:16:04 1: SMAEM EM1 -> BlockingCall SMAEM_DoParse timed out
2017.10.04 12:16:04 1: Timeout for SMAEM_DoParse reached, terminated process 18923

Hoffe das ist nichts Schlimmes ;-)

Nein, ist nichts schlimmes, es geht dann mal ein Messzyklus verloren. Es gibt das Attribut "timeout". Du kannst versuchen den Wert höher zu setzen. Aber der steht per default schon auf 60s.
"Interval" muss auf jeden Fall größer als "timeout" sein.
Berücksichtigt in diesem Zusammenhang auch das Attribut "blockingCallMax" im global-Device. Eventuell muss man das Attr höher setzen falls ihr es nutzt.

Ich checke die neue Version dann mal ein.  :D

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