daolis / ioBroker.sun2000-modbus

ioBroker adapter to read values from Huawei Sun2000 inverter and Luna2000 storage
MIT License
14 stars 4 forks source link

Keine Verbindung zum Gerät #33

Closed sansonifabio closed 7 months ago

sansonifabio commented 7 months ago

Describe the bug
Ich habe mein Bookworm aktualisiert danach bleibt der Adapter gelb. Alle anderen Adapter die ich habe arbeiten normal. Ich habe weder die IP oder die ID verändert der Adapter bleibt trotzdem gelb. Das einzige was aufgefallen ist das ich im ioBroker eine Meldung erhalten habe das der Info Adapter veraltet ist und nicht mehr gepflegt wird und Probleme machen könnte. Hat das etwas mit dem Huawei Adapter zu tun, ich denke eher nicht? Wenn ich die ID zum Beispiel auf 100 setze wird der Adapter grün aber bringt dann diese Fehlermeldung. Gehe ich zurück auf ID 1 kommt dann unten die Meldung aber er wird nicht grün.

` sun2000-modbus.0 2024-01-31 15:17:06.435 info Updated 0 registers in 0.01 sec, [LOW]

sun2000-modbus.0 2024-01-31 15:17:06.434 warn Error while reading from 192.168.2.125: [32078|2] '' with : Error: Modbus exception 2: Illegal data address (register not supported by device)

sun2000-modbus.0 2024-01-31 15:17:06.429 warn Error while reading from 192.168.2.125: [32080|2] '' with : Error: Modbus exception 2: Illegal data address (register not supported by device)

sun2000-modbus.0 2024-01-31 15:17:06.425 info Updated 0 registers in 0.005 sec, [HIGH]`

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '...'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots & Logfiles
` sun2000-modbus.0 2024-01-31 14:59:21.615 info Update initial states

sun2000-modbus.0 2024-01-31 14:59:21.614 info Create states

sun2000-modbus.0 2024-01-31 14:59:21.553 info starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.sun2000-modbus, node: v18.19.0, js-controller: 5.0.17

sun2000-modbus.0 2024-01-31 14:59:21.447 debug Plugin sentry Initialize Plugin (enabled=true)

sun2000-modbus.0 2024-01-31 14:59:21.415 debug States connected to redis: 127.0.0.1:9000

sun2000-modbus.0 2024-01-31 14:59:21.354 debug States create User PubSub Client

sun2000-modbus.0 2024-01-31 14:59:21.353 debug States create System PubSub Client

sun2000-modbus.0 2024-01-31 14:59:21.344 debug Redis States: Use Redis connection: 127.0.0.1:9000

sun2000-modbus.0 2024-01-31 14:59:21.325 debug Objects connected to redis: 127.0.0.1:9001

sun2000-modbus.0 2024-01-31 14:59:21.323 debug Objects client initialize lua scripts

sun2000-modbus.0 2024-01-31 14:59:21.290 debug Objects create User PubSub Client

sun2000-modbus.0 2024-01-31 14:59:21.290 debug Objects create System PubSub Client

sun2000-modbus.0 2024-01-31 14:59:21.289 debug Objects client ready ... initialize now

sun2000-modbus.0 2024-01-31 14:59:21.268 debug Redis Objects: Use Redis connection: 127.0.0.1:9001 host.nuc 2024-01-31 14:59:20.899 info instance system.adapter.sun2000-modbus.0 started with pid 3735 host.nuc 2024-01-31 14:59:18.370 info instance system.adapter.sun2000-modbus.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)

sun2000-modbus.0 2024-01-31 14:59:18.301 info terminating host.nuc 2024-01-31 14:59:17.838 info stopInstance system.adapter.sun2000-modbus.0 send kill signal

sun2000-modbus.0 2024-01-31 14:59:17.800 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason

sun2000-modbus.0 2024-01-31 14:59:17.800 debug Plugin sentry destroyed

sun2000-modbus.0 2024-01-31 14:59:17.799 info terminating

sun2000-modbus.0 2024-01-31 14:59:17.798 info Got terminate signal TERMINATE_YOURSELF host.nuc 2024-01-31 14:59:17.795 info stopInstance system.adapter.sun2000-modbus.0 (force=false, process=true)

sun2000-modbus.0 2024-01-31 14:59:09.176 info Update initial states

sun2000-modbus.0 2024-01-31 14:59:09.175 info Create states

sun2000-modbus.0 2024-01-31 14:59:09.112 info starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.sun2000-modbus, node: v18.19.0, js-controller: 5.0.17

sun2000-modbus.0 2024-01-31 14:59:08.988 debug Plugin sentry Initialize Plugin (enabled=true)

sun2000-modbus.0 2024-01-31 14:59:08.959 debug States connected to redis: 127.0.0.1:9000

sun2000-modbus.0 2024-01-31 14:59:08.901 debug States create User PubSub Client

sun2000-modbus.0 2024-01-31 14:59:08.900 debug States create System PubSub Client

sun2000-modbus.0 2024-01-31 14:59:08.889 debug Redis States: Use Redis connection: 127.0.0.1:9000

sun2000-modbus.0 2024-01-31 14:59:08.870 debug Objects connected to redis: 127.0.0.1:9001

sun2000-modbus.0 2024-01-31 14:59:08.868 debug Objects client initialize lua scripts

sun2000-modbus.0 2024-01-31 14:59:08.837 debug Objects create User PubSub Client

sun2000-modbus.0 2024-01-31 14:59:08.836 debug Objects create System PubSub Client

sun2000-modbus.0 2024-01-31 14:59:08.836 debug Objects client ready ... initialize now

sun2000-modbus.0 2024-01-31 14:59:08.815 debug Redis Objects: Use Redis connection: 127.0.0.1:9001 host.nuc 2024-01-31 14:59:08.453 info instance system.adapter.sun2000-modbus.0 started with pid 3720 host.nuc 2024-01-31 14:59:05.925 info instance system.adapter.sun2000-modbus.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)

sun2000-modbus.0 2024-01-31 14:59:05.842 info terminating host.nuc 2024-01-31 14:59:05.383 info stopInstance system.adapter.sun2000-modbus.0 send kill signal

sun2000-modbus.0 2024-01-31 14:59:05.340 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason

sun2000-modbus.0 2024-01-31 14:59:05.340 debug Plugin sentry destroyed

sun2000-modbus.0 2024-01-31 14:59:05.339 info terminating

sun2000-modbus.0 2024-01-31 14:59:05.335 info Got terminate signal TERMINATE_YOURSELF`

Versions:

Additional context
Add any other context about the problem here.

daolis commented 7 months ago

Hi @sansonifabio,

Puhh, das ist allerdings komisch. Hat sich mit bookworkm möglicherweise irgendetwas an den default firewall Einstellungen geändert? Normalerweise blockiert die aber keine Ausgehenden Verbindungen.

Versuch mal mit ...

telnet INVERTER_IP 502

...ob du überhaupt hin kommst. Wenn der adapter vorher verbunden war, dann danach restareten. Sonst kommen keine Daten mehr!. (Das ist das Huawei Dongle problem, dass nur eine Connection offen sein kann....)

Da sollte sowas ähnliches rauskommen....

Trying [INVERTER_IP]... Connected to [INVERTER_IP]. Escape character is '^]'.

Hint: ^] = STRG-5 (de), CTRL-2 (en)

Error while reading from 192.168.2.125: [32078|2] '' with : Error: Modbus exception 2: Illegal data address (register not supported by device) ist allerdings interessant. Neue Firmware am Inverter hast du nicht installiert?!

sansonifabio commented 7 months ago

Also ich bekomme über telnet kein Kontakt da blinkt nach Eingabe von telnet 192.168.2.125 502 nur ein curser. Ich habe nur für die Optimiere eine neuen Version installiert sonst nix. Wenn ich die ID vom Dongel eingebe die ist 100 dann verbindet er sich aber es kommen logisch kein Daten an.

daolis commented 7 months ago

Dann scheint keine Verbindung möglich zu sein... Deaktivier mal die firewall (falls eine läuft).

Sonst hat sich vielleicht der Dongle aufgehängt. (Try to turn it off and on again ;-) )

Mit sudo iptables -L siehst auch die konfigurierten Rules...

sansonifabio commented 7 months ago

Das ist ein intel nuc nur mit Bookworm mit nix anderem drauf. Kann sich da eine Firewall von alleine installieren? Der Dongle wurde heute morgen von Elektriker neu gestartet. Das ging ja alles bis nach dem Update. Ich habe zugriff über Fusion Solar app und auch über FusionSolar Web. Und auch die Leds am Inverter und Dongel zeigen keine Fehler.

sansonifabio commented 7 months ago

@daolis ich habe mal zum testen einen anderen Adapter installiert, da kommen Daten an aber, mit diesen Meldungen:

sun2000.0 2024-02-01 15:22:07.405 info Connected Modbus IP to: 192.168.2.125 /PORT 502
sun2000.0 2024-02-01 15:22:06.403 info Open Connection...
sun2000.0 2024-02-01 15:22:06.402 warn Error while reading from 192.168.2.125: [32064|2] id: 1 '' with : Timed out
sun2000.0 2024-02-01 15:21:08.685 info Connected Modbus IP to: 192.168.2.125 /PORT 502
sun2000.0 2024-02-01 15:21:07.682 info Open Connection...
daolis commented 7 months ago

Das scheint genau das selbe Problem zu sein. Er versucht die Connection zu öffnen bekommt aber einen timeout. Modbus Einstellungen im Inverter. Da kann man den Zugriff so weit ich weiss auf gewisse IPs geschränken. So wie eine Allowlist.

daolis commented 7 months ago

Schau dir mal die Konfiguration von deinem Dongle im FusionSolar an. Gerätemanager -> Dongle -> Konfiguration Das sollte auf uneingeschränkt sein... image

Es gibt auch noch die Einstellung Aktivieren (eingeschränkt): Da muss man dann noch die Client IP eingeben die siech verbinden darf...

sansonifabio commented 7 months ago

Guten morgen @daolis wenn der Elektriker da war lasse ich die IP vom Iobroker eintragen dann sehen wir weiter. Du denkst also auch das es am Wechselrichtert liegt? So die Einstellung ist so wie bei dir. Sag mal hat dein Dongel auch die IP 100? Grüße Fabio Zwischenablage01

Hab alles noch mal gespeichert aber klappt immer noch nicht hier dasL og. Dann versuchen wir es mit der IP:

sun2000-modbus.0 2024-02-02 06:38:17.970 info Update initial states
sun2000-modbus.0 2024-02-02 06:38:17.969 info Create states
sun2000-modbus.0 2024-02-02 06:38:17.903 info starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.sun2000-modbus, node: v18.19.0, js-controller: 5.0.17
sun2000-modbus.0 2024-02-02 06:38:17.783 debug Plugin sentry Initialize Plugin (enabled=true)
sun2000-modbus.0 2024-02-02 06:38:17.730 debug States connected to redis: 127.0.0.1:9000
sun2000-modbus.0 2024-02-02 06:38:17.669 debug States create User PubSub Client
sun2000-modbus.0 2024-02-02 06:38:17.668 debug States create System PubSub Client
sun2000-modbus.0 2024-02-02 06:38:17.659 debug Redis States: Use Redis connection: 127.0.0.1:9000
sun2000-modbus.0 2024-02-02 06:38:17.639 debug Objects connected to redis: 127.0.0.1:9001
sun2000-modbus.0 2024-02-02 06:38:17.637 debug Objects client initialize lua scripts
sun2000-modbus.0 2024-02-02 06:38:17.606 debug Objects create User PubSub Client
sun2000-modbus.0 2024-02-02 06:38:17.605 debug Objects create System PubSub Client
sun2000-modbus.0 2024-02-02 06:38:17.605 debug Objects client ready ... initialize now
sun2000-modbus.0 2024-02-02 06:38:17.584 debug Redis Objects: Use Redis connection: 127.0.0.1:9001
host.nuc 2024-02-02 06:38:17.192 info instance system.adapter.sun2000-modbus.0 started with pid 2377
host.nuc 2024-02-02 06:38:17.110 info "system.adapter.sun2000-modbus.0" enabled
host.nuc 2024-02-02 06:37:38.734 info instance system.adapter.pushsafer.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
daolis commented 7 months ago

IP 100? Ich hab den Dongle bei mit per LAN Kabel angeschlossen, und am DHCP Server für den Wechselrichter eine Fixe IP eingtragen. Ich verwende aber einen 10.1.2.* range.

Ich habe ein kleine Tool geschrieben dass ein paar Werte vom Inverter ausliest, um zu testen ob die ModbusTCP Verbindung funktioniert. Ich kann das mal raussuchen und dir den Link schicken. Am einfachsten wäre es wenn du GO installierst und es selbst für dein System compilierst, oder du sagst mir welches system du verwendest (linux/amd64, linux/arm64, windows/amd64, ...)) und ich upload hier das binary. Info: https://www.digitalocean.com/community/tutorials/building-go-applications-for-different-operating-systems-and-architectures

daolis commented 7 months ago

@sansonifabio UPDATE: Check tool https://github.com/daolis/huawei-sun2000-check Du kannst die Binaries hier herunterladen... https://github.com/daolis/huawei-sun2000-check/releases

Starte mit ./huawei-sun2000-check --ip 192.168.2.125 Wenn da auch ein timeout kommt, dann liegts beim inverter.

sansonifabio commented 7 months ago

Hallo @daolis keine Ahnung was du meinst mit deinem Tool da reicht mein Wissen nicht für. Mein Dongel ist auch im Lan und hat von der Fritzbox ne feste IP zuweisung. Entschuldige das soll heißen ID 100 und nicht ip.

daolis commented 7 months ago

Ahh, du meinst die Modbus UnitID. Nein. Meiner hatte von Anfang die ID 1

sansonifabio commented 7 months ago

@daolis komisch, könnte es damit zusammhängen? Bei mir hat der Dongel 100 und der Wechselrichter die 1.

daolis commented 7 months ago

Möglich! Aber wenn die ID im WR und im Adapter gleich eingestellt sind, sollte es eigentlich funktionieren.

Bzgl tool: Du brauchst nur das richtige Archiv (für dein system) bei den Releases (https://pages.github.tools.sap/edp/edp-admin-api-doc/) herunterladen, entpacken, und dann das command von oben auf der console ausführen. HINT: Unter windows heisst das bin dann huawei-sun2000-check.exe

System Archiv Info
MAC Intel huawei-sun2000-check_0.0.1_darwin_amd64.tar.gz
MAC M1/M2 huawei-sun2000-check_0.0.1_darwin_arm64.tar.gz
Linux Intel 32Bit huawei-sun2000-check_0.0.1_linux_386.tar.gz
Linux Intel 64Bit huawei-sun2000-check_0.0.1_linux_amd64.tar.gz
Linux ARM huawei-sun2000-check_0.0.1_linux_arm64.tar.gz z.B. Raspberry PI
Windows 64Bit huawei-sun2000-check_0.0.1_windows_amd64.tar.gz
sansonifabio commented 7 months ago

Zwischenablage01 funktioniert irgend wie nicht er sagt immer ich soll cmd öffnen wenn ich dan den Befehl eingebe kommt die Meldung befehl falsch

daolis commented 7 months ago

Ahh, sorry. ./ muss man unter Linux verwenden, weil man per default keine binaries aus dem Aktuellen Verzeichnis starten kann.

Unter WIN wäre es: huawei-sun2000-check.bat --ip ... image

sansonifabio commented 7 months ago

@daolis huawei-sun2000-check.bat --192.168.2.125 funktioniert auch nicht. Bin ich da zum dumm für? hatte das hier runtergeladen huawei-sun2000-check_0.0.1_windows_amd64.tar.gz

daolis commented 7 months ago

Wenn die timeout message kommt, dann lässt dich der WR nicht... (oder irgendetwas dazwischen)

sansonifabio commented 7 months ago

..... @daolis was bleibt da jetzt noch fritzbox neu starten und oder Adapter deininstallieren und dann neu installieren?

daolis commented 7 months ago

Adapter restart sollte nicht notwendig sein. Ausser du hast dich mit dem Testtool verbunden (dann kommt nichts mehr beim adapter an, das ist aber ein bug in der dongle firmware)

Ich habe noch immer den verdacht, dass sich irgendeine Einstellung in der dongle config beim update verändert hat...

sansonifabio commented 7 months ago

@daolis vielen Dank für deine Hilfe. Der Elektriker versucht nächste Woche vorbeizukommen da er diese Einstellungen nur direckt mit Handy am Wechselrichter ändern kann. Von der Ferne her konnte er keine Fehler oder falsche Einstellungen erkennen. Ich denke auch das beim Update der 15 Optimiere was falsch gelaufen ist. Evtl. läßt mich das Dongel nicht rein das könnte doch auch eine Möglichkeit sein.

sansonifabio commented 7 months ago

Guten morgen @daolis ja was soll ich sagen, ich habe die Tage viele getestet nichts kam dabei raus. Habe verschiedene Adapter probiert, wie auch Software da kamen die Verbindugen zu stande aber die Werte kamen eher unzuverlässig und einige gar nicht. Dongel, Wechselrichter neu gestartet im ioBroker den Adapter gelöscht und neue installiert. Nix brachte eine Änderung. Eines hat aber alles gemeinsam das die IP wie auch der Port und die ID immer noch die selben waren und folgerichtig auch funktionieren.

Heute morgen habe ich dann aus Frust den Adapter wieder mal neu gestartet und was soll ich sagen er wurde grün und es kamen Daten an, bis jetzt soweit alle, wenn der Wechselrichter in Betrieb geht schau ich ob dann alle Daten aktualisiert werden noch ist er im Standby. Ich habe den Adapter jetzt mehrmals neu gestartet und auch die Einstellung der Intervalle geändert um zu sehen ob es daran gelegen hat. Spielt aber keine Rolle er wurde immer wieder grün. Alles sehr sehr komisch. Ich habe jetzt auch den Support von Huawei angeschrieben mal sehen ob die was feststellen konnten. Ich melde mich heute Abend dann noch mal. Danke dir @daolis

Herzliche Grüße aus Köln Fabio

daolis commented 7 months ago

@daolis Okeee. In perfekt English: I understand only railway station! :wink: Das ist allerdings ein sehr eigenartiges Verhalten...

sansonifabio commented 7 months ago

@daolis ja was soll ich sagen. Es läuft. Ich glaube das es der Dongle war, aber wie beweisen? Der hat mir eigentlich viel zu oft, zu lang hintereinander grün geblinkt. Huawei hat sich gemeldet das sich das einer ansehen wird. Was sagst du @daolis sollen wir hier jetzt zu machen?

Herzliche Grüße Fabio

sansonifabio commented 7 months ago

Hallo @daolis Huawei hat sich gemeldet und gesagt das ich meine MBUS Version updaten muss. Da ich keinen Zugriff auf Updates habe, macht das demnächst mein Elektroinstallateur. Ob das im Zusammenhang steht mit dem Modbus, kann ich nicht sagen, es läuft ja alles deshalb mach ich hier zu.

Herzliche Grüße Fabio

daolis commented 7 months ago

@sansonifabio Könntest du bitte noch die Version auf die du updaten sollst hier posten? Würde sie gerne mit meiner vergleichen... Danke!

sansonifabio commented 7 months ago

@daolis klar, das ist die Version V100R001C00SPC330 aber Achtung wen du/ihr das updatet solltet Ihr auch euer System mit updaten hier ein Link zu der Seite wo ihr genau sehen könnt was aktuell für Huawei PV und Zubehör ist: https://photomate.zendesk.com/hc/en-gb/categories/4406398674589 Und noch was die Optimierer und das MBUS nur aktualisieren bei Sonnenschein sprich wenn die Anlage in Betrieb ist und die Panels Online.

Grüße Fabio