Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

mschneider
Beiträge: 21
Registriert: 07.01.2017, 18:57
Danksagung erhalten: 13 Mal

Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von mschneider » 24.12.2018, 18:36

Hallo,
ich habe eine Solaranlage mit einem SMA Sunny Boy Wechselrichter und mit einem SMA Home Manager 2. Die Werte des Systems (Netzeinspeisung/Verbrauch und die derzeitige PV Leistung) können recht leicht in Variablen der Homematic CCU3 eingelesen werden. Dann kann man sich Skripte programmieren um diese Energie zu verbrauchen.
Wie dies geht beschreibe ich nun:

Voraussetzung:
1) SMA Sunnyboy Wechselrichter unterstützt das Modbus Protokoll und dies ist auch eingeschaltet im Wechselrichter.
2) Falls vorhanden: Ein Energy Meter oder ein SMA Homemanager zur Leistungsmessung ist angeschlossen und im Wechselrichter konfiguriert. (Im Wechselrichter kann man den aktuellen Verbrauch im Web Menu sehen).
3) SMA Sunnyboy und die Homematic CCU3 befinden sich im gleichen Netzwerk.

CCU3 Setup:
1) In der CCU diese Systemvariablen anlegen vom Typ Number, „SMA AC Leistung“, „SMA DC Leistung“, „SMA Netzbezug“, „SMA Netzeinspeisung“. Einheit: Watt
2) In der CCU diese Systemvariable anlegen vom Typ Character string. „SMA Zeitstempel”, Einheit: Uhr
3) Nun SSH in der CCU aktivieren und mit FTP (FileZilla) ein Verzeichnis im CCU3 Dateisystem anlegen: /usr/local/addons/modbus, also das Verzeichnis modbus in Verzeichnis /usr/local/addons anlegen. Dateiattribute des modbus Verzeichnisses setzen auf: 701
4) Mit FTP oder FileZilla die beiden Dateien modbus.tcl und sma.tcl in das Verzeichnis modbus kopieren. Dateiattribute beider Dateien setzen auf: 755.
modbus.zip
modbus tcl scripts für SMA Wechselrichter
(3.06 KiB) 1053-mal heruntergeladen
5) Nun dieses Script auf der CCU3 einrichten und z.B. jede Minute laufen lassen: Achtung: 192.168.178.35 im folgenden Skript ersetzen durch die IP Adresse des SMA Sunny Boy Wechselrichters.

string lGetOut = "";
string lGetErr = "";
system.Exec("tclsh /usr/local/addons/modbus/sma.tcl 192.168.178.35 30865 2",&lGetOut,&lGetErr);
var SMAValue=dom.GetObject("SMA Netzbezug");
SMAValue.State(lGetOut.StrValueByIndex(" ", 1));

string lGetOut = "";
string lGetErr = "";
system.Exec("tclsh /usr/local/addons/modbus/sma.tcl 192.168.178.35 30867 2",&lGetOut,&lGetErr);
var SMAValue=dom.GetObject("SMA Netzeinspeisung");
SMAValue.State(lGetOut.StrValueByIndex(" ", 1));

string lGetOut = "";
string lGetErr = "";
system.Exec("tclsh /usr/local/addons/modbus/sma.tcl 192.168.178.35 30773 2",&lGetOut,&lGetErr);
var SMAValue=dom.GetObject("SMA DC Leistung");
SMAValue.State(lGetOut.StrValueByIndex(" ", 1));

string lGetOut = "";
string lGetErr = "";
system.Exec("tclsh /usr/local/addons/modbus/sma.tcl 192.168.178.35 30775 2",&lGetOut,&lGetErr);
var SMAValue=dom.GetObject("SMA AC Leistung");
SMAValue.State(lGetOut.StrValueByIndex(" ", 1));

var t = system.Date("%H:%M:%S");
dom.GetObject("SMA Zeitstempel").State(t);

#WriteLine(lGetErr.StrValueByIndex(" ", 1));

Das Program liest nacheinander mehrere ModBus Register des Wechselrichters aus. Man kann natürlich auch noch andere Register auslesen. Dazu gibt es auf der SMA Webseite eine Liste aller verfügbaren ModBus Register.

Nun kann man die Werte in Scripten verwenden und abhängig von den PV Werten seine Verbraucher steuern und auch das laden seines E-Autos.

Achtung: Wenn die Dateien modbus.tcl oder sma.tcl editiert werden, dann einen Editor verwenden der keine CRLF einfügt. (Z.B. NotePad++).

Ich hoffe das meine Anleitung nützlich ist.

Frohe Weihnachten, M. Schneider

Noch ein Hinweis: Fall der Wechselrichter mehrere Strings hat, dann wird in "SMA DC Leistung" nur die Leistung vom String A angezeigt. Ich habe noch keine ModBus Register für die weiteren Strings gefunden. Bitte melden wenn jemand Infos hierzu hat.
Zuletzt geändert von mschneider am 01.02.2019, 16:51, insgesamt 1-mal geändert.

Chriss0001
Beiträge: 33
Registriert: 15.01.2012, 19:12

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von Chriss0001 » 02.01.2019, 12:04

Hallo,

kann man anstatt des Wechselrichters auch den SHM oder den Energiemeter abfragen?
Hintergrund ist das mein Tripower über Bluetooth mit dem SHM kommuniziert.
Die IP´s des SHM hatte ich bereits im Script und in der tcl Datei geändert, jedoch ohne Erfolg.

Gruß Christian

mschneider
Beiträge: 21
Registriert: 07.01.2017, 18:57
Danksagung erhalten: 13 Mal

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von mschneider » 02.01.2019, 14:06

Hallo Christian

Ich glaube der SHM und auch der SHM2 kann seine Werte nicht über ModBus Abfragen bereitstellen. Der SHM bzw. der Energy Meter sendet seine Werte mit SpeedWire an den Wechselrechter. Der Wechselrichter stellt dann diese Werte über Modbus bereit. Diese werden dann im Skript abgefragt. Dies ist zumindest die Voraussetzung damit auch die derzeitige Bezugsleistung bzw. Einspeiseleistung abgefragt werden kann.

In deinem Fall sehe ich nur die Möglichkeit die Werte über SpeedWire abzufragen. Der SHM 2 sendet auch die SpeedWire MultiCast Telegramme wie ein SMA Energy Meter.

Das kann man sicher auch programmieren auf einer CCU3. Ich habe das aber (noch) nicht gemacht.

Gruß, Martin

Chriss0001
Beiträge: 33
Registriert: 15.01.2012, 19:12

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von Chriss0001 » 02.01.2019, 14:51

Hallo Martin,

Danke für die Info. Dann werde ich meinen Tripower per Speedwire verbinden. Aktuell ist der über Bluetooth angeschlossen. Bekommt der Tripower eigentlich alle Daten? Ich habe noch einen Sunny Boy in der Garage der über Bluetooth kommunizieren muss.

Ich habe noch den Energiemeter1 und das SHM1.

Was ist eigentlich EEBus beim SHM, dieser wäre bei mir im SHM noch aktivierbar....

Gruß Christian

JR1201
Beiträge: 1
Registriert: 07.01.2019, 20:27

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von JR1201 » 07.01.2019, 20:33

Hi,

vielen Dank - das ist genau das, was ich gesucht habe, bin mal gespannt, wie es aussieht, wenn die Sonne wieder scheint und Strom produziert wird.

Zu Deiner Frage bzgl. der Register müssten das die folgenden Werte sein:
- 30961: DC-Leistung Eingang 2, in W
- 30967: DC-Leistung Eingang 3, in W
- 30973: DC-Leistung Eingang 4, in W

Ob 30983: Leistung der Photovoltaik, in W nun alle Strings zusammenaddiert werde ich dann morgen sehen...

Schönen Abend,

Jan

Harpau
Beiträge: 156
Registriert: 08.01.2019, 13:17
Hat sich bedankt: 5 Mal

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von Harpau » 08.01.2019, 13:25

Hallo Martin,

danke für Deine wirklich hervorragende Anleitung!

Ich habe das gestern Abend bei mir so eingerichtet und es hat (fast) auf Anhieb funktioniert.
"Fast" jedoch nur deshalb, weil mein Sunny Tripower 20000TL-30 leider die beiden Register 30865 (Netzbezug) und 30867 (Netzeinspeisung) nicht kennt und daher diese Werte nicht liefert. Gibt es hier eventuell andere (undokumentierte) Register, über welche man bei diesem Wechselrichter an diese beiden Werte (oder zumindest einen davon) kommt? In der entsprechenden Dokumentation von SMA (Datei SMA_Modbus-de-en_V23.zip) bin ich leider nicht fündig geworden.

Alternativ wäre auch ich sehr an einer Lösung interessiert, meinen SHM 2.0 mit der CCU3 auszulesen.

Viele Grüße

Harald

steffi8118
Beiträge: 19
Registriert: 15.09.2018, 12:18
Hat sich bedankt: 11 Mal
Danksagung erhalten: 1 Mal

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von steffi8118 » 09.01.2019, 11:34

... auch von uns ein großes Dankeschön für deine Arbeit und die Anleitung Martin.

Unser SB 4000-TL21 liefert zwar auch keine Daten zur Einspeisung und zum Bezug, aber die Leistungsdaten können wir beispielsweise prima als Helligkeitssensor verwenden. :D

LG
Steffi

vo2
Beiträge: 48
Registriert: 15.03.2013, 11:56
Hat sich bedankt: 1 Mal

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von vo2 » 10.01.2019, 22:28

Wow danach suche ich seit 2 Jahren. Vielen Dank dafür. Läuft bei mir auf Anhieb.

Gruß
Frank

mschneider
Beiträge: 21
Registriert: 07.01.2017, 18:57
Danksagung erhalten: 13 Mal

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von mschneider » 12.01.2019, 16:03

Neuer Beitrag von mir: "Mit CCU3 Homematic Skript SMA Energy Meter oder Sunny Home Manager 2 auslesen".

Sicherlich interessant für Systeme ohne Wechselrichter (WR) oder mit WR ohne Modbus Interface.

Gruss, Martin Schneider

mabuchho
Beiträge: 3
Registriert: 11.01.2015, 11:14

Re: Homematic und SMA Sunny Boy mit SHM, PV Erzeugung lesen über ModBus

Beitrag von mabuchho » 23.01.2019, 15:30

Hallo zusammen,

ich habe einen Sunny Tripower 9000TL-20 und habe diesen per LAN angeschlossen. So kann ich über das Sunny Portal im Internet die Leistungsdaten auslesen.

Wenn ich das Skript von Martin nutze, sehe ich jedoch keinerlei Daten (habe die IP auf meinen SMA Wechselrichter geändert und die restlichen Daten unverändert gelassen). Unterstützt mein SMA Wechselrichter dies nicht, frage ich die falschen Verzeichnisse ab, oder fehlt mir ein weiteres Gerät (Smart Meter, Home Manager, o.ä.)?

VG,

mabuchho

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“