Autor Thema: Growatt Wechselrichter Daten über Modbus abfragen  (Gelesen 1898 mal)

Offline ttiger47

  • New Member
  • *
  • Beiträge: 6
Growatt Wechselrichter Daten über Modbus abfragen
« am: 23 August 2021, 20:34:53 »
Hallo,

da ich seit 2 Wochen eine Mini PV-Anlage auf dem Dach habe, wollte ich die in die Cloud gesendeten Daten, auch in mein FHEM einbinden. Nach dem Lesen verschiedener Foren und Forenbeiträgen, läuft bei mit seit gestern die Datenabfrage über Modbus. Die Daten der RS485 Schnittstelle meines Growatt MIC 600TL-X habe ich über ein USR-TCP232-304 per LAN in mein Heimnetz eingespeist. Es gibt aber auch RS485 zu Wlan-Adapter. Dafür müssen 2 Pole des Schnitstellenstecker mit dem USR-TCP Adapter verbunden werden. RS485A1 an A, RS485B1 an B.

Eine Übersicht der Verfügbaren Register findet man unter,
http://www.photovoltaicsolar.in/Growatt_Manual/MAX%20Series%20Modbus%20RTU%20Protocol.pdf
ab Seite 25

Sicherlich kann man das etwas schlanker in FHEM codieren und ich bin dankbar für Verbesserungsvorschläge, aber den angefügten Code habe ich mir zusammen gesucht und angepasst, wie es meinen jetziger FHEM Fähigkeiten entspricht.

define pvAnlage ModbusAttr 1 30 192.168.xxx.yyy:23 RTU
attr pvAnlage userattr dev-h-defExpr dev-h-defLen dev-h-defUnpack obj-i00000-expr obj-i00000-format obj-i00000-poll obj-i00000-reading obj-i00000-unpack obj-i000000-expr obj-i00002-expr obj-i00002-format obj-i00002-poll obj-i00002-reading obj-i00002-unpack obj-i00003-expr obj-i00003-format obj-i00003-poll obj-i00003-reading obj-i00003-unpack obj-i00036-expr obj-i00036-format obj-i00036-poll obj-i00036-reading obj-i00036-unpack obj-i00037-expr obj-i00037-format obj-i00037-poll obj-i00037-reading obj-i00037-unpack obj-i00054-expr obj-i00054-format obj-i00054-poll obj-i00054-reading obj-i00054-unpack obj-i00056-expr obj-i00056-format obj-i00056-poll obj-i00056-reading obj-i00056-unpack obj-i00093-expr obj-i00093-format obj-i00093-poll obj-i00093-reading obj-i00093-unpack obj-i00113-expr obj-i00113-format obj-i00113-poll obj-i00113-reading obj-i00113-unpack obj-i00335-expr obj-i00335-format obj-i00335-poll obj-i00335-reading obj-i00335-unpack obj-i00347-expr obj-i00347-format obj-i00347-poll obj-i00347-reading obj-i00347-unpack obj-i00349-expr obj-i00349-format obj-i00349-poll obj-i00349-reading obj-i00349-unpack obj-i00376-expr obj-i00376-format obj-i00376-poll obj-i00376-reading obj-i00376-unpack obj-i00378-expr obj-i00378-format obj-i00378-poll obj-i00378-reading obj-i00378-unpack
attr pvAnlage dev-h-defExpr ModbusLD_ScanFormat($hash, $val)
attr pvAnlage dev-h-defLen 1
attr pvAnlage dev-h-defUnpack a2
attr pvAnlage event-on-change-reading .*
attr pvAnlage group PV-Anlage
attr pvAnlage obj-i00000-expr ("s>",$val/1)
attr pvAnlage obj-i00000-format %.0f
attr pvAnlage obj-i00000-poll 1
attr pvAnlage obj-i00000-reading inverter_state
attr pvAnlage obj-i00000-unpack s>
attr pvAnlage obj-i00002-expr ("s>",$val/10)
attr pvAnlage obj-i00002-format %.1f
attr pvAnlage obj-i00002-poll 1
attr pvAnlage obj-i00002-reading input_power
attr pvAnlage obj-i00002-unpack s>
attr pvAnlage obj-i00003-expr ("s>",$val/10)
attr pvAnlage obj-i00003-format %.1f
attr pvAnlage obj-i00003-poll 1
attr pvAnlage obj-i00003-reading input_voltage
attr pvAnlage obj-i00003-unpack s>
attr pvAnlage obj-i00036-expr ("s>",$val/10)
attr pvAnlage obj-i00036-format %.1f
attr pvAnlage obj-i00036-poll 1
attr pvAnlage obj-i00036-reading output_power
attr pvAnlage obj-i00036-unpack s>
attr pvAnlage obj-i00037-expr ("s>",$val/100)
attr pvAnlage obj-i00037-format %.2f
attr pvAnlage obj-i00037-poll 1
attr pvAnlage obj-i00037-reading grid_frequency
attr pvAnlage obj-i00037-unpack s>
attr pvAnlage obj-i00054-expr ("s>",$val/10)
attr pvAnlage obj-i00054-format %.1f
attr pvAnlage obj-i00054-poll 1
attr pvAnlage obj-i00054-reading today_generated_energy
attr pvAnlage obj-i00054-unpack s>
attr pvAnlage obj-i00056-expr ("s>",$val/10)
attr pvAnlage obj-i00056-format %.1f
attr pvAnlage obj-i00056-poll 1
attr pvAnlage obj-i00056-reading total_generated_energy
attr pvAnlage obj-i00056-unpack s>
attr pvAnlage obj-i00093-expr ("s>",$val/10)
attr pvAnlage obj-i00093-format %.1f
attr pvAnlage obj-i00093-poll 1
attr pvAnlage obj-i00093-reading inverter_temperature
attr pvAnlage obj-i00093-unpack s>
attr pvAnlage obj-i00113-expr ("s>",$val/1)
attr pvAnlage obj-i00113-format %.0f
attr pvAnlage obj-i00113-poll 1
attr pvAnlage obj-i00113-reading power_percentage
attr pvAnlage obj-i00113-unpack s>
attr pvAnlage obj-i00335-expr ("s>",$val/10)
attr pvAnlage obj-i00335-format %.1f
attr pvAnlage obj-i00335-poll 1
attr pvAnlage obj-i00335-reading lastDay_generated_energy
attr pvAnlage obj-i00335-unpack s>
attr pvAnlage obj-i00347-expr ("s>",$val/10)
attr pvAnlage obj-i00347-format %.1f
attr pvAnlage obj-i00347-poll 1
attr pvAnlage obj-i00347-reading actualMonth_generated_energy
attr pvAnlage obj-i00347-unpack s>
attr pvAnlage obj-i00349-expr ("s>",$val/10)
attr pvAnlage obj-i00349-format %.1f
attr pvAnlage obj-i00349-poll 1
attr pvAnlage obj-i00349-reading lastMonth_generated_energy
attr pvAnlage obj-i00349-unpack s>
attr pvAnlage obj-i00376-expr ("s>",$val/10)
attr pvAnlage obj-i00376-format %.1f
attr pvAnlage obj-i00376-poll 1
attr pvAnlage obj-i00376-reading actualYear_generated_energy
attr pvAnlage obj-i00376-unpack s>
attr pvAnlage obj-i00378-expr ("s>",$val/10)
attr pvAnlage obj-i00378-format %.1f
attr pvAnlage obj-i00378-poll 1
attr pvAnlage obj-i00378-reading lastYear_generated_energy
attr pvAnlage obj-i00378-unpack s>
attr pvAnlage openTimeout 2
attr pvAnlage queueDelay 0.05
attr pvAnlage queueMax 128
attr pvAnlage queueTimeout 20
attr pvAnlage retriesAfterTimeout 60
attr pvAnlage room Strom
attr pvAnlage stateFormat {sprintf("%.0f W", (ReadingsVal($name,"output_power",0) / 1) ) . " / ". sprintf("%.0f V", ReadingsVal($name,"input_voltage",0))}

Als Beispiel habe ich noch einen Plot von heute angefügt.

Gruß ttiger47
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline satprofi

  • Hero Member
  • *****
  • Beiträge: 1658
Antw:Growatt Wechselrichter Daten über Modbus abfragen
« Antwort #1 am: 04 Januar 2022, 19:02:42 »
Hallo.
welchen growatt nutzt du dafür? ich habe den 750s
gruss
-----------------------------------------------------------------------
Raspberry - Fhem 5.7 CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Offline shorty1111

  • New Member
  • *
  • Beiträge: 23
Antw:Growatt Wechselrichter Daten über Modbus abfragen
« Antwort #2 am: 19 Juli 2022, 20:12:16 »
Danke! Klappt bei mir prima mit nem Growatt 2500 mic tlx
« Letzte Änderung: 19 Juli 2022, 20:14:10 von shorty1111 »

Offline Henno

  • Full Member
  • ***
  • Beiträge: 168
Antw:Growatt Wechselrichter Daten über Modbus abfragen
« Antwort #3 am: 08 August 2022, 18:29:51 »
Hat mal jemand versucht über FHEM und den Growatt MIV über Modbus Nulleinspeisung zu realisieren?
Für einen Modbus Zähler an den Growatt anzuschließen müsste ich zu viel Kabel ziehen....
Server NAS+FHEM @ Intel i3 4160 16GB RAM 2x Crucial M4 256GB SSD 1x WD RED 3TB
HM-USB, 6X HM-CC-RT-DN, 3x HM-Sec-RHS, 4X HM-LC-Dim1TPBU-FM, 2x HM-PB-2-WM55-2, 1x HM-LC-Sw1PBU-FM für Heizung über HCS, 1x HM-Sec-Key
2x Arduino UNO Firmata
2x Jeelink für
9xEC3K 6XLa Crosse