Autor Thema: Modbus Zugriff für Fronius Symo  (Gelesen 36676 mal)

Offline Fritz Muster

  • Full Member
  • ***
  • Beiträge: 159
Antw:Modbus Zugriff für Fronius Symo
« Antwort #210 am: 23 Oktober 2018, 12:22:13 »
ist es eigentlich möglich anstatt die Tageserzeugung, auch den Tagesverbrauch auszulesen ? Die Daten scheinen vorhanden zu sein, im Solarweb kann ich es ja abrufen... ?

Ich denke das was im Solarweb dargestellt wird, wird mathematisch errechnet (Import+Direktverbrauch), da der (Haus)Verbrauch nicht gemessen wird.

Wenn Du den Verbrauch darstellen möchtest, musst Du fhem das berechnen lassen.

Grüße Fritz
Raspberry Pi Modell B 512MB, Raspbian Debian Wheezy, Fhem 5.8, DBlog SQLite
HMLAN, Jeelink Clone, Selbstbau nanoCULMAX/433IT, ArduCounter
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Moon, Weather, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

Offline sweetie-pie

  • Jr. Member
  • **
  • Beiträge: 93
Antw:Modbus Zugriff für Fronius Symo
« Antwort #211 am: 08 November 2018, 19:51:13 »
Hallo FHEM-Gemeinde,
ich habe einen Fronius Symo PV Wechselrichter vom Typ 7.0-3-M.
Dieser kann auch über Modbus ausgelesen werden. Dafür habe ich einige FHEM-Module erstellt:

Fronius Basismodul:      98_Fronius_Modbus.pm
MPPT Tracker (Strings):  98_Fronius_Modbus_MPPT (String2 geht bei mir nicht)
Fronius String Combiner: 98_Fronius_Modbus_SC403.pm (ungetestet)
Fronius Energiezähler:   98_Fronius_Modbus_Meter.pm (ungetestet)


Dafür zunächst auch mal meinen Dank, ich habe einen Fronius Symo Hybrid 5.0-3-S und die Module funktionieren bei mir auch sehr gut. Ich habe zusätzlich noch eine Fronius Solar Battery. Dafür habe ich Quick'n'Dirty nach Gutenberg-Art ein entsprechendes Modul gebaut. Ich weiß, es hält nicht die fhem-Konventionen ein, aber es funktioniert zumindest. Vielleicht komme ich Winter nochmal dazu, den Quelltext aufzuräumen. Wer sich berufen fühlt, kann das gerne auch tun...  ;)

Das Modul zeigt nicht nur Werte an, sondern ermöglicht es das Verhalten des Speichers zu steuern wenn dies im WR so eingestellt. Ich tue das derzeit mit der Notstromreserve. Anhand von Proplanta-Vorhersage löse ich die Reserve auf wenn entspechend Sonne kommt, wenn nicht halte ich immer eine Reserve vor. Diverse Spielchen sind denkbar, man kann den Speicher gezielt laden und entladen und Grenzwerte festlegen... Die (deutsche) Beschreibung dazu aus dem Fronius PDF habe ich in die EN-Hilfe kopiert.  ::)

Im Anhang dann ein Screenshot einer Readingsgroup und das Modul.
Vielleicht hilft's einem...
« Letzte Änderung: 08 November 2018, 19:53:36 von sweetie-pie »

Offline Reliktdragon

  • New Member
  • *
  • Beiträge: 12
Antw:Modbus Zugriff für Fronius Symo
« Antwort #212 am: 20 Dezember 2018, 09:12:18 »
Kann man irgendwie Power gesamt in watt anzeigen wenn man keinen Smart Meter hat? Bei mir sind nur die Strings einzeln aufgelistet.

Offline Fritz Muster

  • Full Member
  • ***
  • Beiträge: 159
Antw:Modbus Zugriff für Fronius Symo
« Antwort #213 am: 20 Dezember 2018, 10:05:24 »
Kann man irgendwie Power gesamt in watt anzeigen wenn man keinen Smart Meter hat? Bei mir sind nur die Strings einzeln aufgelistet.

Welche "Power gesamt" meinst Du, die Power (Leistung) welche aktuell vom WR/Kollektoren erzeugt wird?

Grüße Fritz
Raspberry Pi Modell B 512MB, Raspbian Debian Wheezy, Fhem 5.8, DBlog SQLite
HMLAN, Jeelink Clone, Selbstbau nanoCULMAX/433IT, ArduCounter
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Moon, Weather, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

Offline Reliktdragon

  • New Member
  • *
  • Beiträge: 12
Antw:Modbus Zugriff für Fronius Symo
« Antwort #214 am: 20 Dezember 2018, 12:09:02 »
Welche "Power gesamt" meinst Du, die Power (Leistung) welche aktuell vom WR/Kollektoren erzeugt wird?

Grüße Fritz

Ja genau. Die aktuelle Gesamtleistung.

Offline topa_LE

  • Jr. Member
  • **
  • Beiträge: 74
Antw:Modbus Zugriff für Fronius Symo
« Antwort #215 am: 20 Dezember 2018, 12:18:24 »
Mit dem Basis Solarmodul müsstest du die Readings:

Power_DC__W
Power_Site__W

erhalten.

Definiert ist das bei mir mit:
defmod PV_Solar_Basismodul Fronius_Modbus 1 30 192.168.178.60:502 TCP

Hoffe das meinst du?

Offline Fritz Muster

  • Full Member
  • ***
  • Beiträge: 159
Antw:Modbus Zugriff für Fronius Symo
« Antwort #216 am: 20 Dezember 2018, 13:18:42 »
Ja genau. Die aktuelle Gesamtleistung.

Kann ich bestätigen: Reading "Power_Site__W"

Grüße Fritz
Raspberry Pi Modell B 512MB, Raspbian Debian Wheezy, Fhem 5.8, DBlog SQLite
HMLAN, Jeelink Clone, Selbstbau nanoCULMAX/433IT, ArduCounter
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Moon, Weather, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

Offline Reliktdragon

  • New Member
  • *
  • Beiträge: 12
Antw:Modbus Zugriff für Fronius Symo
« Antwort #217 am: 21 Dezember 2018, 09:33:14 »
Mit dem Basis Solarmodul müsstest du die Readings:

Power_DC__W
Power_Site__W

erhalten.

Definiert ist das bei mir mit:
defmod PV_Solar_Basismodul Fronius_Modbus 1 30 192.168.178.60

Hoffe das meinst du?

Vielen Dank. Jetzt hat es funktioniert. Power_Site steht jetzt da.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline MegaData

  • Jr. Member
  • **
  • Beiträge: 94
Antw:Modbus Zugriff für Fronius Symo
« Antwort #218 am: 30 Dezember 2018, 18:53:04 »
Hallo zusammen,

ich habe mir das auch alles mit einem 5er Symo eingerichtet, jedoch wird mir seither das Log voll gemüllt... Kann man das abschalten oder was hat er für ein Problem ? Es war schon dunkel, also dass er meldet das ein Fehler vorliegt ist okay... Aber... so viel in 2 Minuten ?

2018.12.30 18:46:10.829 3: Solaranlage: MapConvert called from ModbusLD_ParseObj did not find 307 in map 1:aus, 2:AutoShutdown, 3:startet, 4:Normalbetrieb, 5:Leistungsreduktion, 6:abschalten, 7:Fehler, 8:Standby
2018.12.30 18:46:23.704 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Current_String1__A, OpStateName: Operating_State_String1, OpState: Error.exists; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:46:25.676 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Power_String1__W, OpStateName: Operating_State_String1, OpState: Error.exists; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:46:29.648 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Current_String2__A, OpStateName: Operating_State_String2, OpState: 65535; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:46:30.561 2: IgnoreExprMppt, DevName: SolaranlageString1, ReadingName: Voltage_String2__V, WertAlt: 0, WertNeu: 0.4; zu grosse Abweichung alt/neu --> kein Update, 1. mal, neu: 0.4 gt alt: 0
2018.12.30 18:46:30.561 3: SolaranlageString1: CheckEval for ModbusLD_ParseObj error evaluating ignoreExpr for Voltage_String2__V, val=40, expr=IgnoreExprMppt($hash,$name,"Voltage_String2__V",$val,"ScaleFactor_Voltage"): Undefined subroutine &main::xterTeil called at ./FHEM/98_Fronius_Modbus_MPPT.pm line 572.

2018.12.30 18:46:30.562 2: ExprMppt, DevName: SolaranlageString1, ReadingName: Voltage_String2__V, OpStateName: Operating_State_String2, OpState: 65535; geloescht, 1. mal, neu: 0.4 gt alt: 0
2018.12.30 18:46:31.634 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Power_String2__W, OpStateName: Operating_State_String2, OpState: 65535; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:47:13.747 3: Solaranlage: MapConvert called from ModbusLD_ParseObj did not find 522 in map 1:aus, 2:AutoShutdown, 3:startet, 4:Normalbetrieb, 5:Leistungsreduktion, 6:abschalten, 7:Fehler, 8:Standby
2018.12.30 18:48:16.785 3: Solaranlage: MapConvert called from ModbusLD_ParseObj did not find 307 in map 1:aus, 2:AutoShutdown, 3:startet, 4:Normalbetrieb, 5:Leistungsreduktion, 6:abschalten, 7:Fehler, 8:Standby
2018.12.30 18:48:24.035 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Current_String1__A, OpStateName: Operating_State_String1, OpState: Error.exists; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:48:26.142 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Power_String1__W, OpStateName: Operating_State_String1, OpState: Error.exists; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:48:30.106 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Current_String2__A, OpStateName: Operating_State_String2, OpState: Error.exists; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:48:31.019 2: IgnoreExprMppt, DevName: SolaranlageString1, ReadingName: Voltage_String2__V, WertAlt: 0, WertNeu: 0.4; zu grosse Abweichung alt/neu --> kein Update, 1. mal, neu: 0.4 gt alt: 0
2018.12.30 18:48:31.020 2: ExprMppt, DevName: SolaranlageString1, ReadingName: Voltage_String2__V, OpStateName: Operating_State_String2, OpState: Error.exists; geloescht, 1. mal, neu: 0.4 gt alt: 0
2018.12.30 18:48:32.061 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Power_String2__W, OpStateName: Operating_State_String2, OpState: Error.exists; Operating_State nicht i.O. --> WertNeu auf Null: 0
2018.12.30 18:49:19.775 3: Solaranlage: MapConvert called from ModbusLD_ParseObj did not find 522 in map 1:aus, 2:AutoShutdown, 3:startet, 4:Normalbetrieb, 5:Leistungsreduktion, 6:abschalten, 7:Fehler, 8:Standby

Offline topa_LE

  • Jr. Member
  • **
  • Beiträge: 74
Antw:Modbus Zugriff für Fronius Symo
« Antwort #219 am: 30 Dezember 2018, 20:11:24 »
2018.12.30 18:48:32.061 3: ExprMppt, DevName: SolaranlageString1, ReadingName: Power_String2__W, OpStateName: Operating_State_String2, OpState: Error.exists; Operating_State nicht i.O. --> WertNeu auf Null: 0
Die hatte ich z.B. auch , gerade wenn nix produziert wird, da es dunkel ist liefert z.B. der String1 und 2 jede Menge im Log.

Das Solar Tracker Modul (Fronius_Modbus_MPPT) habe ich daher disabled, da du das eigentlich nicht mehr brauchst. Habe aktuell nur noch das Basismodul am Laufen, weil das alles liefert was du für die normale Statistik etc. brauchst.

Hier mal meine Defines vom Basis-Modul:

defmod httpmod_PV_Solaranlage HTTPMOD http://192.168.178.60/solar_api/v1/GetPowerFlowRealtimeData.fcgi 10
attr httpmod_PV_Solaranlage userattr reading01Name reading01OMap reading01Regex reading02Name reading02OMap reading02Regex reading03Name reading03OMap reading03Regex reading04Name reading04OMap reading04Regex reading05Name reading05OMap reading05Regex reading06Name reading06OMap reading06Regex reading07Name reading07OMap reading07Regex reading08Name reading08OMap reading08Regex
attr httpmod_PV_Solaranlage DbLogExclude .*
attr httpmod_PV_Solaranlage DbLogInclude PV_Eigenverbrauch_Aktuell_in_Watt,Eigenverbrauch_Current_SelfConsumption,Netzbezug_P_Load,PV_Einspeisung_Aktuell_in_Watt,Produktion_Gesamt_Fronius,Produktion_P_Generate,Produktion_pro_Jahr_Fronius,Produktion_pro_Tag_Fronius,Verbrauch_P_Grid,Strombezug_Aktuell_in_Watt,Strom_Gesamtverbrauch_Aktuell_in_Watt,Relative_Current_Autonomy
attr httpmod_PV_Solaranlage alias Solar PV Fronius Sym 6.0.3 - Daten
attr httpmod_PV_Solaranlage alignTime 00:00:00
attr httpmod_PV_Solaranlage event-on-change-reading .*
attr httpmod_PV_Solaranlage group PV Solaranlage FRONIUS
attr httpmod_PV_Solaranlage icon message_light_intensity
attr httpmod_PV_Solaranlage reading01Name Verbrauch_P_Grid
attr httpmod_PV_Solaranlage reading01OMap null:0
attr httpmod_PV_Solaranlage reading01Regex "P_Grid"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage reading02Name Netzbezug_P_Load
attr httpmod_PV_Solaranlage reading02OMap null:0
attr httpmod_PV_Solaranlage reading02Regex "P_Load"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage reading03Name Produktion_P_Generate
attr httpmod_PV_Solaranlage reading03OMap null:0
attr httpmod_PV_Solaranlage reading03Regex "P_PV"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage reading04Name Eigenverbrauch_Current_SelfConsumption
attr httpmod_PV_Solaranlage reading04OMap null:0
attr httpmod_PV_Solaranlage reading04Regex "rel_SelfConsumption"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage reading05Name Relative_Current_Autonomy
attr httpmod_PV_Solaranlage reading05OMap null:0
attr httpmod_PV_Solaranlage reading05Regex "rel_Autonomy"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage reading06Name Produktion_pro_Tag_Fronius
attr httpmod_PV_Solaranlage reading06OMap null:0
attr httpmod_PV_Solaranlage reading06Regex "E_Day"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage reading07Name Produktion_pro_Jahr_Fronius
attr httpmod_PV_Solaranlage reading07OMap null:0
attr httpmod_PV_Solaranlage reading07Regex "E_Year"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage reading08Name Produktion_Gesamt_Fronius
attr httpmod_PV_Solaranlage reading08OMap null:0
attr httpmod_PV_Solaranlage reading08Regex "E_Total"[ : \t]+([-+]?[a-z\d\.]+)
attr httpmod_PV_Solaranlage room Draußen,HW-Raum
attr httpmod_PV_Solaranlage showError 1
attr httpmod_PV_Solaranlage stateFormat {return "PV aktuell: ".sprintf("%.0f",ReadingsVal($name,"Produktion_P_Generate",0))." W | PV Eigenverbrauch: ".sprintf("%.0f",ReadingsVal($name,"PV_Eigenverbrauch_Aktuell_in_Watt",0))." W | PV Einspeisung: ".sprintf("%.0f",ReadingsVal($name,"PV_Einspeisung_Aktuell_in_Watt",0))." W | Netzbezug: ".sprintf("%.0f",ReadingsVal($name,"Strombezug_Aktuell_in_Watt",0))." W | Stromverbrauch: ".sprintf("%.0f",ReadingsVal($name,"Strom_Gesamtverbrauch_Aktuell_in_Watt",0))." W<br/>PV Leistung (60 Minuten Ø): ".sprintf("%.0f",ReadingsVal($name,"statPower_P_GenerateHourAvg",0))." | Autarkiegrad: ".sprintf("%.1f",ReadingsVal($name,"Relative_Current_Autonomy",0))." % | PV-Eigenverbrauch: ".sprintf("%.1f",ReadingsVal($name,"Eigenverbrauch_Current_SelfConsumption",0))." %";;}
attr httpmod_PV_Solaranlage userReadings PV_Einspeisung_Aktuell_in_Watt { my $temp1 = ReadingsVal($name,"Verbrauch_P_Grid",0)*-1;; return $temp1 if($temp1>0);; return 0;; }, Strombezug_Aktuell_in_Watt { my $temp2 = ReadingsVal($name,"Verbrauch_P_Grid",0);; return 0 if($temp2<0);; return $temp2;;}, PV_Eigenverbrauch_Aktuell_in_Watt { my $temp3 = ReadingsVal($name,"Produktion_P_Generate",0);; my $temp4 = ReadingsVal($name,"PV_Einspeisung_Aktuell_in_Watt",0);; my $temp5 = $temp3 - $temp4;; return $temp5 if($temp5>0);; return 0;; }, Strom_Gesamtverbrauch_Aktuell_in_Watt { my $temp41 = ReadingsVal($name,"Netzbezug_P_Load",0)*-1;; return $temp41 if($temp41>0);; return 0;;}
attr httpmod_PV_Solaranlage verbose 2

Wie du die Fehler beseitigen kannst, weiß ich nicht. Vielleicht hat ja einer ne Lösung.

Offline dobiwan

  • New Member
  • *
  • Beiträge: 26
Antw:Modbus Zugriff für Fronius Symo
« Antwort #220 am: 07 Januar 2019, 11:47:06 »
Hallo zusammen,

ich habe im Dezember auch einen Fronius Symo Hybrid 5.0-3-S in Betrieb genommen. Habe ihn mit HTTPMOD auslesen können. Bekomme aber seit mehreren Tagen kein Update über json mehr. Die Seite ist online. Ich habe jetzt diesen Beitrag hier gefunden und mir die Module in das FHEM verzeichnis kopiert und nachgeladen. Leider zeigt mir Modul disconnected. Habe natürlcih meine IP verwendet. Wird an dem Projekt noch gearbeitet oder hat jemand eine funktionierende Konfig als Beispiel.

Grüße

Dirk

Offline topa_LE

  • Jr. Member
  • **
  • Beiträge: 74
Antw:Modbus Zugriff für Fronius Symo
« Antwort #221 am: 07 Januar 2019, 12:23:41 »
An dem Projekt bzw. dem Modbus Modul wird immer irgendwie "gearbeitet" ... , wenn alles funktioniert und keine Probleme gemeldet werden gibt es auch kein Update  ;)

Es funktioniert derzeit, siehe Config oben. Warum du ein Disconnect hast, kann ich nicht beurteilen., stimmen denn die Settings auf der Anlage?

Port etc. (weiter oben findest du die dafür erforderlichen Einstellungen)

Gibt dir die Anlage denn Werte zurück?
http://IP-DER-ANLAGE/solar_api/v1/GetPowerFlowRealtimeData.fcgi

Offline dobiwan

  • New Member
  • *
  • Beiträge: 26
Antw:Modbus Zugriff für Fronius Symo
« Antwort #222 am: 14 Januar 2019, 10:29:05 »
Hallo topa_LE,

ja ich bekomme die Daten. über HTTPMOD.
Aber eigentlich sollten die Module doch die Werte bringen, wenn ich sie einbinde. Ich habe ModBus over TCP aktiviert auf Port 502.