Erfahrungen mit der Anbindung von Huawei Wechselrichtern?

Begonnen von lingerb, 30 Oktober 2020, 20:02:56

Vorheriges Thema - Nächstes Thema

miguelito

So,

in einem Huaweiforum habe ich ein Thema gefunden:
"how to connect custom meter DTSU666 to Smartlogger 1000", siehe Anhang.

Dort werden Modbusregister angegeben, die zu den Adressen passen, die unsere SUN WR abfragen, siehe Traces oben.

Der Adressbereich ist dort mit 2102 - 2175 (dez!) angegeben.
Das 2102 passt schon mal zu den analysierten Abfragen oben (0x836 = 2102).

Ich frage mich nur, warum das überhaupt nicht zu der Spec des CHINT passt, die ich oben angehängt habe (Adressen ab 2000 HEX!).

Eventuell eine eigene Firmware für Huawei gebrandete Geräte? Haben Eure Geräte einen Hinweis auf Huawei bzw. nicht das CHiNT Branding?

Michael

miguelito

#181
Hi,

kurze Ergänzung zur letzten Nachricht und ggF. eine Bitte..

Im Forum roboternetz.de habe ich einen Eintrsg gefunden, wo jemand einen DTSU666 Trace analysiert hat ähnlich, wie ich es gemacht habe.  Er hat sich allerdings nur für den active Power Wert interesiert / diesen herausgefunden. Aber dieser Trace ist eine Bestätigung, dass die DTSU-666 für Huawei ein anderes register layout haben als die originalen CHINT.

Ich habe nun den Trace von Robert aufbereitet, so wie es derjenige im Roboter aus dem Forum getan hat. Und mit den Informationen ergänzt, die aus dem einen Eintrag im Huawei Forum stammen (Bild vorherige Nachricht) Es sind überigens wirklich alles float Werte:

Der Trace von Robert - danke nochmal dafür - Registeradressen in Dezimal!! (<> CHINT, dort sind wir bei 0x2000ff HEX!)

Currents A,B,C                           Voltage Phase A,B,C
2102      2104      2106      2108       2110      2112      2114      2116     
3F60 8312 3F89 BA5E 3F4C 0831 4365 199A  4365 0000 4364 4CCD 4366 3333 43C6 6666

Line Voltages A-B, B-C, C-A   Freq (Hz)  activepwr activepwr phase A,B,C
2118      2120      2122      2124       2126      2128      2130      2132
43C6 0000 43C6 8000 43C6 CCCD 4248 0000  43DF F333 4306 8000 4312 E666 4326 4CCD

ReactivePwr reactive pwr phase A,B,C    apparent pwr .........
2134      2136      2138      2140      2142
C2D9 0000 C226 CCCD C208 6666 C202 CCCD 441C ACCD ..........

Ich habe noch nicht den ganzen Trace aufgearbeitet. Für die Werte im hinteren Teil (hohe Adressen) haben wir eh keine Doku. Aber ich denke mit diesen Daten, die wir jetzt kennen, kann man eine Simulation beginnen. Leider ist die gesamte Registerspec des Huawei DTSU666 nirgends zu finden.
Manche Werte wie z.B. die Freq. habe ich einfach durch Umrechung des float HEX wertes aus Roberts Trace raus gefunden.

Nun zur Bitte: Könnte jemand mit dem Meter einen Trace für mich machen, wenn der Meter beim Wechselrichter "angelernt" wird? D.h in der FusionSolar App - "Gerät einrichten" - Anmelden als Installateuer, Grundeinstellungen -> weiter nach Geräteverwaltung (siehe Bild unten) und dann einfach beim Punkt "+ Stromzähler" nochmal Euren Stromzähler auswählen (DTSU666-H). Dann sollten die Nachrichten rausgehen mit denen der WR den PM identifiziert.
Erinnert Euch an meine vorherigen Nachrichten: Es geht da eine Abfrage an Register 0x07D1 (2001) raus - Für dieses Register habe ich jetzt natürlich keine Doku - was da kommen sollte -> Trace :)

Grüße
Michael

miguelito

#182
Robert, habe erst heute gesehen, dass Du selber dieses FHEM Modul entwickelt hast! :

Zitat von: bertl am 14 März 2024, 11:33:22Jetzt gibt es ein passendes Modul für die AMIS-Zähler aus Oberösterreich.

Hier der Link: 98_TD3511_OOE.pm für Siemens AMIS-Zähler vom EVU - Netz Oberösterreich

Super, well done! Das gibt mir Mut meine aktuelle Python Implementierung für meinen Kaifa Zähler auch mal auf perl / FHEM I/O device module zu portieren. Da ich mit perl bis dato keine Erfahrung habe war mir nicht klar, wie gut die bestehende Infrastruktur ist - die lib zum decyphern habe ich schon in Deinem Module gesehen (und danach eh gleich im FHEM wiki AES Encryption gefunden). Damit sind alle Voraussetzungen gegeben. Und eine schönes Template zum Einstieg in FHEM I/O dev habe ich auch gleich.
P.S. falls der Zähler nicht eh durch das bestehende FHEM OBIS modul bedient werden kann. Habe ich auch eben erst entdeckt.. :)

Michael

rallye

Hallo!
Ich bin über Eure Diskussionen gestoßen, nachdem ich mich um eine Alternative zu FHEMpy/fusionsolar umsehe. Ich habe das erfolgreich seit letztem Sommer in meiner Dockerinstallation laufen gehabt, doch scheint es mit der Entwicklung und Fehlerbehebung nicht recht weiterzugehen. Ich kann mich über FHEMpy seit Monaten nicht mehr einloggen und jetzt, wo ich eine Wärmepumpe bekommen habe ist es für mich noch wichtiger zu wissen ob und wieviel "Überproduktion" ich habe bzw. ins Netz einspeise(n würde).
Was Ihr hier diskutiert scheint mir eine super Lösung zu sein, doch ich stehe mit meinem Wissen gleich zu Beginn an. Was ich habe ist folgendes (aus dem WI FusionSolar):
Du darfst diesen Dateianhang nicht ansehen.
So dachte ich, ich Kupfer von Euch ab und habe folgende Definition in meinem FHEM gemacht:
defmod Sun2000 ModbusAttr 0 10 192.168.57.20:502 TCP
attr Sun2000 disable 0
attr Sun2000 room Development
attr Sun2000 verbose 4

setstate Sun2000 active
setstate Sun2000 2024-04-05 19:59:20 state active


ergibt bei mir folgendes list:
Internals:
   CFGFN     
   DEF        0 10 192.168.57.20:502 TCP
   DeviceName 192.168.57.20:502
   EXPECT     idle
   FUUID      661028c7-f33f-55a1-d3c2-d7baccca3cd818d8
   IODev      Sun2000
   Interval   10
   LASTOPEN   1712339955.17389
   MODBUSID   0
   MODE       master
   MODULEVERSION Modbus 4.5.6 - 7.11.2023
   NAME       Sun2000
   NEXT_OPEN  1712340015.28302
   NOTIFYDEV  global
   NR         555
   NTFY_ORDER 50-Sun2000
   PARTIAL   
   PROTOCOL   TCP
   STATE      active
   TCPConn    1
   TYPE       ModbusAttr
   devioLoglevel 3
   devioNoSTATE 1
   eventCount 28
   nextOpenDelay 60
   FRAME:
   READ:
   READINGS:
     2024-04-05 19:59:20   state           active
   UPDATECACHE:
   defptr:
     Sun2000    0
   lastRead:
Attributes:
   disable    0
   room       Development
   verbose    4
und im Log (mit verbose 4) fortlaufend:
2024.04.06 09:29:54 4: Sun2000: GetUpdate (V4.5.6 - 7.11.2023) called from Fhem internal timer
2024.04.06 09:29:54 4: Sun2000: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 10.0 sec at 09:30:04.907, interval 10
2024.04.06 09:29:54 4: Sun2000: CombineUpdateHash objHash keys before combine:
2024.04.06 09:29:54 4: Sun2000: GetUpdate will now create requests for
2024.04.06 09:30:04 4: Sun2000: GetUpdate (V4.5.6 - 7.11.2023) called from Fhem internal timer
2024.04.06 09:30:04 4: Sun2000: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 10.0 sec at 09:30:14.921, interval 10
2024.04.06 09:30:04 4: Sun2000: CombineUpdateHash objHash keys before combine:
2024.04.06 09:30:04 4: Sun2000: GetUpdate will now create requests for
2024.04.06 09:30:14 4: Sun2000: GetUpdate (V4.5.6 - 7.11.2023) called from Fhem internal timer
2024.04.06 09:30:14 4: Sun2000: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 10.0 sec at 09:30:24.924, interval 10
2024.04.06 09:30:14 4: Sun2000: CombineUpdateHash objHash keys before combine:
2024.04.06 09:30:14 4: Sun2000: GetUpdate will now create requests for
Ich habe irgendwie erfolglos einige "attr"-Definitionen bei Euch abgeschrieben ohne wirklich zu wissen was ich tue. Erfolglos deshalb, weil sich einfach nichts getan hat (alle Werte blieben auf 0. Vllt. war ich zu ungeduldig oder es war schon zu dunkel). Nun bitte ich um Eure Unterstützung.
- Ich weiß nicht ob bei meiner PV-Anlage Modbus aktiviert ist. Wie stelle ich das fest (mit einfachen Mitteln, die ich als nicht-Solateur zur Verfügung habe)? Mein Solateur kommt am Montag vorbei um an meiner Heizung weiterzuarbeiten, da könnte ich ihn ggf. darauf ansprechen es zu enablen (wenn notwendig=.
- Ist meine Definition überhaupt richtig? Wenn ich das Device neu definiere steht es auf "disconnected". Erst wenn ich
set Sun2000 activeeingebe wird es aktiv. Ob es tatsächlich eine Verbindung zu meinem Dongle hat (em habe ich die fixe IP 192.168.57.20 gegeben) weiß ich nicht.
- Was muss ich für mein erstes Erfolgserlebnis als "attr" definieren um zumindest irgendeinen Wert von meiner PV-Anlage zurück zu bekommen? Am liebsten wäre mir der Wert "from grid/to grid", also was speise ich ein bzw entnehme ich aus dem öffentlichen Netz.

Danke vorab für Eure Hilfe

Rallye
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

rallye

"probehalber" habe ich folgende attrs definiert (abgeschrieben auf Seite 1):
attr Sun2000 obj-h32016-expr $val/10
attr Sun2000 obj-h32016-len 1
attr Sun2000 obj-h32016-poll 1
attr Sun2000 obj-h32016-reading PV1_voltage
attr Sun2000 obj-h32016-unpack n!
attr Sun2000 obj-h32017-expr $val/100
attr Sun2000 obj-h32017-len 1
attr Sun2000 obj-h32017-poll 1
attr Sun2000 obj-h32017-reading PV1_current
attr Sun2000 obj-h32017-unpack n!
attr Sun2000 obj-h32064-len 2
attr Sun2000 obj-h32064-poll 1
attr Sun2000 obj-h32064-reading Input_power
attr Sun2000 obj-h32064-unpack N!
attr Sun2000 obj-h32078-len 2
attr Sun2000 obj-h32078-poll 1
attr Sun2000 obj-h32078-polldelay 3600
attr Sun2000 obj-h32078-reading Peak_active_power
attr Sun2000 obj-h32078-unpack N!
attr Sun2000 obj-h32080-len 2
attr Sun2000 obj-h32080-poll 1
attr Sun2000 obj-h32080-reading Active_power
attr Sun2000 obj-h32080-unpack N!
attr Sun2000 obj-h32086-expr $val/100
attr Sun2000 obj-h32086-len 1
attr Sun2000 obj-h32086-poll 1
attr Sun2000 obj-h32086-reading Efficiency
attr Sun2000 obj-h32086-unpack n
attr Sun2000 obj-h32087-expr $val/10
attr Sun2000 obj-h32087-len 1
attr Sun2000 obj-h32087-poll 1
attr Sun2000 obj-h32087-reading Internal_temperature
attr Sun2000 obj-h32087-unpack n!
attr Sun2000 obj-h32089-len 1
attr Sun2000 obj-h32089-map 0:standby, 1:standby, 2:standby, 3:standby, 256:starting, 512:on_grid, 513:power_limited, 514:self_derating, 768:shutdown_fault, 769:shutdown_command, 770:shutdown_OVGR, 771:shutdown_comm_disconn, 772:shutdown_power_limited, 773:shutdown_manual_startup_required, 774:shutdown_DC_switches_disconn, 775:shutdown_rapid_cutoff, 776:shutdown_input_underpower, 1025:Grid_scheduling_cosφ-P_curve, 1026:Grid_scheduling_Q-U_curve, 1027:Grid_scheduling_PF-U_curve, 1028:Grid_scheduling_dry_contact, 1029:Grid_scheduling_Q-P_curve, 1280:Spot-check_ready, 1281:Spot-checking, 1536:Inspecting, 1792:AFCI_self_check, 2048:I-V_scanning, 2304:DC_input_detection, 2560:Running_off-grid_charging, 40960:Standby_no_irradiation
attr Sun2000 obj-h32089-poll 1
attr Sun2000 obj-h32089-reading Device_status
attr Sun2000 obj-h32089-unpack n
attr Sun2000 obj-h32106-expr $val/100
attr Sun2000 obj-h32106-len 2
attr Sun2000 obj-h32106-poll 1
attr Sun2000 obj-h32106-polldelay 3600
attr Sun2000 obj-h32106-reading Accumulated_energy_yield
attr Sun2000 obj-h32106-unpack N
attr Sun2000 obj-h32114-expr $val/100
attr Sun2000 obj-h32114-len 2
attr Sun2000 obj-h32114-poll 1
attr Sun2000 obj-h32114-reading Daily_energy_yield
attr Sun2000 obj-h32114-unpack N
attr Sun2000 obj-h37113-len 2
attr Sun2000 obj-h37113-poll 1
attr Sun2000 obj-h37113-reading PM_active_power
attr Sun2000 obj-h37113-unpack N!
attr Sun2000 room Photovoltaik
attr Sun2000 stateFormat {sprintf("Status: %s, Temp: %.1f, Aktuell %.1f Watt, Heute gesamt %.2f KWh", ReadingsVal($name,"Device_status",0), ReadingsVal($name,"Internal_temperature",0), ReadingsVal($name,"Active_power",0), ReadingsVal($name,"Daily_energy_yield",0))}
attr Sun2000 verbose 4

setstate Sun2000 Status: 0, Temp: 0.0, Aktuell 0.0 Watt, Heute gesamt 0.00 KWh
setstate Sun2000 2024-04-06 18:31:10 state disconnected
mit dem Ergebnis, dass alle Wert 0 (klar, wenn der readbuffer empty ist) sind und im Log alle 10 Sekunden das Folgende wiederholt wird:
2024.04.06 18:33:39 4: Sun2000: GetUpdate (V4.5.6 - 7.11.2023) called from Fhem internal timer
2024.04.06 18:33:39 4: Sun2000: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 10.0 sec at 18:33:49.256, interval 10
2024.04.06 18:33:39 4: Sun2000: CombineUpdateHash objHash keys before combine: h32106,h32064,h32016,h32078,h37113,h32114,h32087,h32089,h32086,h32017,h32080
2024.04.06 18:33:39 4: Sun2000: GetUpdate will now create requests for h32016 len 1 (PV1_voltage), h32017 len 1 (PV1_current), h32064 len 2 (Input_power), h32078 len 2 (Peak_active_power), h32080 len 2 (Active_power), h32086 len 1 (Efficiency), h32087 len 1 (Internal_temperature), h32089 len 1 (Device_status), h32106 len 2 (Accumulated_energy_yield), h32114 len 2 (Daily_energy_yield), h37113 len 2 (PM_active_power)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32016, len 1, tid 159, master device Sun2000, reading PV1_voltage (getUpdate for PV1_voltage len 1)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32017, len 1, tid 195, master device Sun2000, reading PV1_current (getUpdate for PV1_current len 1)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32064, len 2, tid 75, master device Sun2000, reading Input_power (getUpdate for Input_power len 2)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32078, len 2, tid 120, master device Sun2000, reading Peak_active_power (getUpdate for Peak_active_power len 2)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32080, len 2, tid 48, master device Sun2000, reading Active_power (getUpdate for Active_power len 2)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32086, len 1, tid 153, master device Sun2000, reading Efficiency (getUpdate for Efficiency len 1)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32087, len 1, tid 13, master device Sun2000, reading Internal_temperature (getUpdate for Internal_temperature len 1)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32089, len 1, tid 133, master device Sun2000, reading Device_status (getUpdate for Device_status len 1)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32106, len 2, tid 148, master device Sun2000, reading Accumulated_energy_yield (getUpdate for Accumulated_energy_yield len 2)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h32114, len 2, tid 208, master device Sun2000, reading Daily_energy_yield (getUpdate for Daily_energy_yield len 2)
2024.04.06 18:33:39 4: Sun2000: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 0, read fc 3 h37113, len 2, tid 153, master device Sun2000, reading PM_active_power (getUpdate for PM_active_power len 2)
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

casoe

Hallo zusammen,

ich hab jetzt auch eine PV-Anlage mit SUN2000-10KTL-M1, LUNA2000 und DTSU666-H am Start. Ich habe die Anlage über Dongle ins Gäste-WLAN geholt. VOn dort darf sie dann mit der Cloud bzw. an Fusion Solar kommunizieren. Für das Auslesen der Daten mit FHEM hab ich den Raspi mit dem WLAN des Wechselrouters verbunden und FHEM kann darüber direkt alle Daten per MODBUS TCP auslesen. Mit der Vorarbeit 98_ModbusSUN2000WR.pm war das total easy. Vielen Dank an alle Beitragenden. Ich hänge den aktuellen Stand inkl. Erweiterung mit den Alarm-Mappings hier in den Thread.

Jetzt zu meinem Problem: Ich kann über das ModbusSUN2000WR-Device und dessen Setter keine Einstellungen ändern. Ein "set BAT_Max_SOC 90" bleibt ohne Folgen. Über die Fusion Solar App klappt es. Hat jemand eine Idee, woran das liegen könnte? Müss ich ggf. einen anderen Modus des Device einstellen?

Anbei meine aktuelle Device-Defition:

defmod sun2000 ModbusSUN2000WR 0 60 192.168.200.1:6607 TCP
attr sun2000 alias SUN2000-10KTL-M1
attr sun2000 alignTime 00:00
attr sun2000 room Photovoltaik
attr sun2000 showError 1
attr sun2000 verbose 1

Beste Grüße
Carsten

bertl

Zitat von: casoe am 09 April 2024, 22:22:32Ich kann über das ModbusSUN2000WR-Device und dessen Setter keine Einstellungen ändern.

Hallo Carsten,

wenn man mit dem Wechselrichter via WLAN kommuniziert (Port 6607), dann kann man nur lesen und NICHT schreiben!
Wenn du über den SDongleA (Port 502) mit dem Wechselrichter verbunden bist, dann kannst du lesen und auch schreiben.
So ist meine Erfahrung damit - klingt komisch ist aber so!

Falls du also Werte schreiben willst, musst du dich mit dem Port 502 über den SDongleA mit dem Wechselrichter verbinden.
Fürs Schreiben habe ich ein eigenes Gerät angelegt, wo nur die Schreibe-Register enthalten sind und welches standardmäßig 'disabled' ist.
Will ich mal was schreiben, wird das Gerät auf 'disable = 0' gesetzt und schon kann ich Werte zum Wechselrichter senden.

Schönen Tag
Robert

bertl

Zitat von: rallye am 06 April 2024, 09:46:34Wie stelle ich das fest (mit einfachen Mitteln, die ich als nicht-Solateur zur Verfügung habe)? Mein Solateur kommt am Montag vorbei um an meiner Heizung weiterzuarbeiten, da könnte ich ihn ggf. darauf ansprechen es zu enablen

Hallo Rallye,

anpingen (ping 192.168.57.20) kannst du den SDongleA, oder?

Folgende Einstellungen müssen durch den Installateur oder falls du auch Zugriff auf deine Analge hast gesetzt sein (siehe Anhang):
   Modbus TCP - Verbindung - Aktivieren (uneingeschränkt)
   RS485_1 - Baudrate: 9600, Protokolltyp: MODBUS, Komm.adresse: 1, RS485-Bus-Fraem-Erfassung: 1

Die Komm.adresse benötigst du für die Gerätedefinition (in meinem Falls ist diese 1 - siehe oben).
defmod Sun2000 ModbusAttr 0 10 192.168.57.20:502 TCPIn deinem Fall müsste die Komm.adresse auf 0 stehen.

Wenn du diese Details geprüft hast, und es funktioniert immer noch nicht, dann suchen wir weiter.

Schönen Tag
Robert

casoe

Zitat von: bertl am 10 April 2024, 15:26:29
Zitat von: casoe am 09 April 2024, 22:22:32Ich kann über das ModbusSUN2000WR-Device und dessen Setter keine Einstellungen ändern.

Hallo Carsten,

wenn man mit dem Wechselrichter via WLAN kommuniziert (Port 6607), dann kann man nur lesen und NICHT schreiben!
Wenn du über den SDongleA (Port 502) mit dem Wechselrichter verbunden bist, dann kannst du lesen und auch schreiben.
So ist meine Erfahrung damit - klingt komisch ist aber so!

Falls du also Werte schreiben willst, musst du dich mit dem Port 502 über den SDongleA mit dem Wechselrichter verbinden.
Fürs Schreiben habe ich ein eigenes Gerät angelegt, wo nur die Schreibe-Register enthalten sind und welches standardmäßig 'disabled' ist.
Will ich mal was schreiben, wird das Gerät auf 'disable = 0' gesetzt und schon kann ich Werte zum Wechselrichter senden.

Schönen Tag
Robert


@Robert

Danke für das Feedback. Komme ich auf den Dongle auch über das WLAN des Wechselrichters? Ich möchte die Huawei-Komponenten lieber aus meinem internen Netz raushalten. Deswegen hab ich die Anbindung über das Gäste-WLAN der Fritzbox gemacht und die Anbindung an FHEM über das Zusätzliche WLAN des Wechselrichters.

Wenn ich ein weiteres Device mit
defmod sdongleA ModbusAttr 0 10 192.168.200.1:502 TCP anlege, steht da disconnected als Status.

Beste Grüße
Carsten

bertl

Hallo Carsten,
Zitat von: casoe am 10 April 2024, 19:14:06Komme ich auf den Dongle auch über das WLAN des Wechselrichters
nein das glaube ich funktioniert nicht!

Welchen SDongleA hast du - es gibt meines Wissens 3 verschiedene?
  • SDongleA-01 - WLAN
  • SDongleA-03 - 4G
  • SDongleA-05 - LAN

Wenn du die Modbus-Verbindung über den SDongleA herstellen möchtest, musst du die richtigen Einstellungen setzten (z.B. SDongleA-05 - LAN):
Zitat von: bertl am 10 April 2024, 16:08:56Modbus TCP - Verbindung - Aktivieren (uneingeschränkt)
RS485_1 - Baudrate: 9600, Protokolltyp: MODBUS, Komm.adresse: 1, RS485-Bus-Fraem-Erfassung: 1
Und wie bereits erwähnt muss die Komm.adresse übereinstimmen - laut deiner Definition 0.

Wenn du den 'SDongleA-01 - WLAN' hast, dann kannst du diesen ja ins Gäste-WLAN einbinden und alles ist gut.

Mehr fällt mir dazu leider nicht ein.

Gruß, Robert

casoe

Ich hab den mit WLAN und Ethernet (SDongleA-05). Ich hatte es so verstanden, dass sich die komplette Gerätekaskade sich ein Netzwerkdevice teilt und über die verschiedenen Ports angesprochen wird. Die Einstellungen sollten richtig gesetzt sein und ich hab auch Modbus TCP auf "Aktivieren (uneingeschränkt)". Schade, dass das man an das Device nicht auch über das WLAN des Wechselrichters kommt. Das macht mein Sicherheitskonzept etwas kaputt. Ich könnte den Raspi sich auch ins Gäste-WLAN verbinden lassen, aber dann müsste ich Kommunikation unter den Geräten erlauben, was ich (zumindest derzeit) nicht möchte. Dann könnte ggf. jeder im Gäste-WLAN auf den Raspi zugreifen.

Danke noch mal für das Feedback. Ich lasse es erst mal so und bleibe beim reinen Monitoring.

Beste Grüße
Carsten

miguelito

Moin,

Zitat von: miguelito am 29 März 2024, 11:41:40Nun zur Bitte: Könnte jemand mit dem Meter einen Trace für mich machen, wenn der Meter beim Wechselrichter "angelernt" wird? D.h in der FusionSolar App - "Gerät einrichten" - Anmelden als Installateuer, Grundeinstellungen -> weiter nach Geräteverwaltung (siehe Bild unten) und dann einfach beim Punkt "+ Stromzähler" nochmal Euren Stromzähler auswählen (DTSU666-H). Dann sollten die Nachrichten rausgehen mit denen der WR den PM identifiziert.
Erinnert Euch an meine vorherigen Nachrichten: Es geht da eine Abfrage an Register 0x07D1 (2001) raus - Für dieses Register habe ich jetzt natürlich keine Doku - was da kommen sollte -> Trace :)

Im sun.store gibts den Huawei DTSU-666H um 99.- Werd' mir in der nächsten Zeit mal so einen holen zum reverse engineeren. Dann muss ich keinen von Euch quälen mir einen trace von der Einrichtung des DTSU666 am Inverter zu machen. Die billigste Lösung wäre dann den DTSU-666 zusätzlich in den Zählerschrank zu schrauben. Damit hat der Sun Inverter seinen eigenen Meter für die Batteriesteuerung und Ruhe ist. Aber eigentlich möchte ich schon zuerst den Weg probieren, mit der bereits vorhandenen FHEM Lösung / Auslesen des Smartmeters Energieversorger auch den Sun Inverter mit Daten zu versorgen.

beimaik

Moin,

heute ist mir aufgefallen, dass der Wert für die Entladeleistung vom Speicher für einen Tag, also
ESU1_Energie_Entladung_Tag_kWh
also
obj-h37017-reading
siehe BildDu darfst diesen Dateianhang nicht ansehen.

seit dem 27.11.2023 nur noch 0 ist.

Konnte das in meinem Log nachvollziehen. Ist das bei euch auch?

2023-11-26_23:59:04 Sun2000 ESU1_Energie_Entladung_Tag_kWh: 2.09
2023-11-27_00:00:30 Sun2000 ESU1_Energie_Entladung_Tag_kWh: 0

LG
Maik

beimaik

ich werde stattdessen erst einmal "ESS_Energie_Entladung_Tag_kWh" also obj-h37786-reading nehmen.
[Energystorage]Current-daydischargecapacity

TheTrumpeter

Hat hier jemand Erfahrung mit Fehlern vom Wechselrichter?

Mein Wechselrichter hat sich nun zum 3. Mal innerhalb weniger Wochen mit einem "Ausschaltfehler" verabschiedet. Außerdem hat der FI-Schutzschalter ausgelöst. Ich weiß aber nicht, ob zuerst der FI auslöst und dann der "Ausschaltfehler" einfach die Folge der fehlenden AC-Seite ist oder stattdessen der "Ausschaltfehler" zum Auslösen des FI führt.

Im Register 0x32089 (device status) steht dann 768, also "Ausschaltfehler". Die Alarm-Register hatte ich bisher nicht ausgelesen, aber in der FusionSolar-App steht bei den Alarmen jeweils die Alarm-ID "2032", was "Netzverlust" bedeutet. Als Ursachen-ID steht "1" drin, da weiß ich nicht was das bedeutet.

Der Fehler trat immer abends VOR einem Gewitter auf. Beim 1. Mal ist es mir erst nach einiger Zeit aufgefallen (Wechselrichter hängt am Stromkreis der Garage, die über einen eigenen FI-Schutzschalter verfügt), mittlerweile habe ich ein "notify", das einen "nicht-normalen" WR-Status sofort meldet. Wenn ich den FI wieder einschalte (die letzten beiden Male innerhalb 60 Sekunden), läuft alles ganz normal und auch wenn das Gewitter dann tobt, passiert nix mehr.

Der WR ist seit etwas über 15 Monaten im Betrieb, seit dessen Installation wurde am Stromkreis nichts mehr geändert, es gibt auch keine neuen/anderen Geräte am Stromkreis der Garage.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110