Autor Thema: 76_SMAInverter.pm - Abfrage von SMA Wechselrichter  (Gelesen 1902 mal)

Offline sct14675

  • Developer
  • Jr. Member
  • ****
  • Beiträge: 63
76_SMAInverter.pm - Abfrage von SMA Wechselrichter
« am: 28 Juli 2016, 11:12:49 »
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

Offline Xguide

  • Full Member
  • ***
  • Beiträge: 249
Antw:76_SMAInverter.pm - Abfrage von SMA Wechselrichter
« Antwort #1 am: 01 September 2016, 17:01:12 »
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.8 - Raspberry Pi 3 @ Jessie - HomeMatic - VCCU mit 2 x HM-LAN-CFG und 1 X UART-PI Module - SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI

Offline sct14675

  • Developer
  • Jr. Member
  • ****
  • Beiträge: 63
Antw:76_SMAInverter.pm - Abfrage von SMA Wechselrichter
« Antwort #2 am: 02 September 2016, 11:49:12 »
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




Offline Xguide

  • Full Member
  • ***
  • Beiträge: 249
Antw:76_SMAInverter.pm - Abfrage von SMA Wechselrichter
« Antwort #3 am: 02 September 2016, 15:41:04 »
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.8 - Raspberry Pi 3 @ Jessie - HomeMatic - VCCU mit 2 x HM-LAN-CFG und 1 X UART-PI Module - SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3146
Antw:76_SMAInverter.pm - Abfrage von SMA Wechselrichter
« Antwort #4 am: 02 September 2016, 16:14:33 »
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 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline Xguide

  • Full Member
  • ***
  • Beiträge: 249
Antw:76_SMAInverter.pm - Abfrage von SMA Wechselrichter
« Antwort #5 am: 04 September 2016, 12:05:38 »
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.8 - Raspberry Pi 3 @ Jessie - HomeMatic - VCCU mit 2 x HM-LAN-CFG und 1 X UART-PI Module - SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3146
Antw:76_SMAInverter.pm - Abfrage von SMA Wechselrichter
« Antwort #6 am: 04 September 2016, 13:00:29 »
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
« Letzte Änderung: 04 September 2016, 23:38:19 von DS_Starter »
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

 

decade-submarginal