76_SMAInverter.pm - Abfrage von SMA Wechselrichter

Begonnen von sct14675, 28 Juli 2016, 11:12:49

Vorheriges Thema - Nächstes Thema

sct14675

Hallo zusammen,
auf Basis von den Modulen von Volker Kettenbach und SBFspot hab ich ein neues Modul erzeugt, das SMA Wechselrichter abfragen kann.
Es kann das Modul 77_SMASTP.pm komplett ablösen, es liefert (wenn gewünscht) mehr Daten und unterstützt mehr Wechselrichter.

Ihr könnt das Modul hier laden:
https://github.com/Rincewind76/SMAInverter

Über Rückmeldung und Tests würde ich mich freuen!

Die eigentliche Diskussion zu diesem Modul läuft hier:
https://forum.fhem.de/index.php/topic,56080.0.html

tschüss,
Thomas

Xguide

Hallo Thomas,

das Modul funktioniert bei mir super (RaPi 3 - FHEM 5.7). Danke!
Hast Du Dir mal Gedanken zum Direktverbrauch und Gesamtverbrauch gemacht?
Ich habe meine Frage mal in einen eignen Thread gepackt, da sie in meinem Fall 2 Instanzen SMAInverter + 1 SMAEM betrifft.

https://forum.fhem.de/index.php/topic,57287.msg487012.html#msg487012

Anbei für den ein oder anderen ein paar Attribute für einen SMA TriPower und SunnyIsland

###Interface to SMA Tripower Inverter
define SMA_TriPower10 SMAInverter XXXX XXX.XXX.XXX.XXX
attr SMA_TriPower10 alias SMA Wechselrichter STP 10000-TL20
attr SMA_TriPower10 detail-level 2
attr SMA_TriPower10 event-on-change-reading .*
attr SMA_TriPower10 icon measure_power
attr SMA_TriPower10 interval 60
attr SMA_TriPower10 stateFormat {"Total: " . sprintf("%.2f",ReadingsVal($name,"SPOT_ETOTAL",0)/1000000)."MWh |".\
" Today: ".sprintf("%.2f",ReadingsVal($name,"SPOT_ETODAY",0)/1000)."kWh |".\
" Actual: ".sprintf("%.2f",ReadingsVal($name,"SPOT_PACTOT",0)/1000)."kWh |".\
" Status: ".sprintf("%.2f",ReadingsVal($name,"INV_TEMP",0))."°C | @ ".sprintf("%.0f",ReadingsVal($name,"SPOT_OPERTM",0))." hr"}



###Interface to SMA Sunny Island Inverter
define SMA_SunnyIsland SMAInverter XXXX XXX.XXX.XXX.XXX
attr SMA_SunnyIsland alias SMA Batterie-Wechselrichter SI3.0
attr SMA_SunnyIsland detail-level 2
attr SMA_SunnyIsland event-on-change-reading .*
attr SMA_SunnyIsland icon measure_power
attr SMA_SunnyIsland interval 60
attr SMA_SunnyIsland stateFormat {"Charge: " . sprintf("%.0f",ReadingsVal($name,"ChargeStatus",0))."% |" . \
" In: ".sprintf("%.2f",ReadingsVal($name,"POWER_IN",0)/1000)."kWh | ".\
" Out: ".sprintf("%.2f",ReadingsVal($name,"POWER_OUT",0)/1000)."kWh |".\
" Status: ".sprintf("%.2f",ReadingsVal($name,"BAT_TEMP",0))."°C @ ".sprintf("%.0f",ReadingsVal($name,"BAT_CYCLES",0))." cycles"}


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 -

sct14675

Hallo Marcel,
ich hab mir da schon Gedanken gemacht, ich hatte mir da mal ein Dummy erzeugt, dass per notify immer aktualisiert wird:
Der Verbrauch ist ja

Verbrauch = (PV Erzeugte Leistung) + (Netzbezug) + (Leistung aus Batterie) - (Batterie Ladeleistung) - (Einspeiseleistung)


Da das EM die aktuellen Werte jede Sekunde verteilt kann man schon eine zeitliche Korrelation zu den Werten aus den STP/Sunny ISland herstellen.
Leider geht dann die Belastung für FHEM ganz schön hoch.
Oder man lebt mit dem Fehler, dass nicht zum gleichen Zeitpunkt gemessen wird.

tschüss,
Thomas




Xguide

Hallo Thomas,

genau das ist mein Punkt. Klar die Lösung liegt nahe den Interval möglichst klein zu setzen. Ich habe es allerdings noch nicht versucht, da in der Doku der Module davon abgeraten wird.
Ich bin mir sicher das dieses die Ungenauigkeiten minimieren würde!
Bei einem Abtast-Interval von 60s ist der Einfluss gigantisch.
Kannst Du mir sagen wann der Zyklus für die einzelnen Module startet? Kann man die Module ggf. gleichzeitig losrennen lassen, so dass die Datenannahme mehr oder weniger synchron passiert?

Danke für Deine Überlegungen,

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 -

DS_Starter

Hallo zusammen, hallo Thomas,

zu dem gerade diskutierten Thema schlage ich vor dem Invertermodul neben dem jetzigen Zyklusmous einen Modus zu gönnen, mit dem der User über einen set-Befehl die Informationen vom WR abrufen kann.
Dadurch wäre es möglich ganz einfach über ein Notify eine Synchronisation mit der SMAEM zu realisieren.
D.h. wenn der SMAEM mit seiner Messung durch ist (state) lässt man über das Notify den Inverter abfragen. Der Zeitverzug ist gering und würde meiner Meinung nach das Prob eliminieren.

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

Xguide

Hallo zusammen,

der Ansatz von Heiko klingt vielversprechend.
Da ich mich bislang mit der Modul-Entwicklung noch gar nicht beschäftig habe, stellt sich mir die Frage wie aufwendig die Implementierung eines Set-Befehls ist.
Ist der Ansatz auf das Event von SMAEM zu triggern der richtige oder wäre es nützlich auch im SMAEM-Modul ein Set-Befehl zu haben, so dass man die Daten zyklisch über ein AT abpollt?

Euch ein gutes Wochenende, auch wenn der Solarertrag in NRW heute sehr gering ausfällt :-)

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 -

DS_Starter

#6
Der set-Befehl ließe sich im Invertermodul m.M. nach relativ einfach einbauen. Im SMAEM ist es weniger oder gar nicht möglich weil der EM eigenständig via Multicast seine Infos an die registrierten Clients sendet. Das Invertermodul muss/kann hingegen den Datenabruf initiieren.
Nach meinem Urlaub würde ich es mal versuchen und Thomas einen Patch vorschlagen. Vielleicht ist er aber schneller  ;)

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