NEWS
[gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden
-
@pingo sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
@homoran besser?
wie gesagt kenne ich mich mit diesem Konverter nicht aus.
aber ich denke dass Destination ip und port dein ioBroker sein müssten.Das muss dir aber jemand sagen, der sich damit auskennt!
@pingo sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
Leider hat sich noch niemand gefunden, der mir helfen konnte
erwartest du ernsthaft, dass genau der, der das kann innerhalb von 2 Stunden genau diesen Thread findet?
-
@pingo sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
SPH 10000 TL3
Falls du noch Probleme hast hier mal meine Einstellungen.
IP IOB 192.168.20.220
IP Waveshare 192.168.20.225
Port 4196
Wechselrichter Growatt 5000TL3-HXEinstellungen Waveshare:
IP und Port vom IOB sind eingekreist.
Einstellung im Adapter:
Eingangsregister, wie Sie bei meinem 5000TL3-HX passen. Die könnten bei deinem Typ anders sein.
.
Hir mal die ganzen Eingangsregister die ich beim 5000TL3-HX auslese als Importdatei:
Eingangsregister.tsv -
@pingo Hallo, wenn ich das richtig sehe, haben wir so ziemlich die gleiche Hardware im Einsatz nur der Growatt-WR differiert, ich habe einen MIN 4600 TL-XH mit 5,1 kWh-Speicher.
Zumindest ist das Anfangsproblem dasselbe, in der FritzBox taucht keine IP-Adresse auf.
Aus deinen Antworten konnte ich leider nicht entnehmen, wie deine Lösung aussieht?Du hattest die werksseitig eingestellte IP-Adresse angesprochen, ich habe mich mit meinem Laptop direkt mit dem Waveshare lokal verbunden, komme aber mit den genannten IP-Adressen nicht auf das Webinterface. Wie hast du es gemacht?
Zur Info: Am Waveshare leuchtet bei mir die PWR- und die Link-LED, aber nicht die ACT-LED.
Kannst du helfen?
BTW:
- Wo hast du VPP aktiviert?
- ist die Groundanbindung unbedingt nötig? Wenn ja, müsste ich die doch sicher mit gn/ge verbinden oder?
- Sind die Screenshots von dem Webinterface des Waveshare?
Nachtrag: habe es jetzt doch geschafft in dem ich die Software VirCom installiert habe und dort eine feste IP-Adresse definiert habe, nach ein paar Minuten zeigte diese sich auch in der FB.
Bleibt die Frage nach der Aktivierung von VPP und der Groundanbindung?
2. Nachtrag
Ergänzend, nach mehreren Stunden Tests stelle ich meine Konfiguration vor, da ich keine Verbindung zum ioBroker hinbekomme - hoffentlich kann jemand helfen:
Mein Verständnis ist, dass ich über das Userinterfache des Waveshare u.a. die Eigenschaften des Adapters definiere, aber auch die Zieladresse des ioBrokers mit seinem Adapter notiere.Also, unter den Networksettings (s. Screenshot) gebe ich die IP des Waveshare mit einem selbst definierten/beliebigen Port (?) an: 192.168.2.48, Port 4196
Unter Destination IP/DNS dann die Angaben des ioBrokers, den ich stets mit dem Port 8081 aufrufe: also 192.168.2.40, Port 8081
Im ioBroker-Adapter (s. Screenshot) dann unter der Partneradresse die IP un den Port des Waveshare, also 192.168.2.48, Port 4196
So müsste es doch passen!? Ich bekomme aber nach dem Neustart des ioB-Adapters "keine Verbindung mit Gerät oder Dienst" angezeigt (Status orange) - zunächst wird aber für ein paar Sekunden der Status grün angezeigt!
Als Fehlermeldung finde ich im ioBroker2024-07-18 15:26:25.012 warn [1] Poll error count: 7 code: {"err":"timeout","timeout":10000} modbus.0 2024-07-18 15:26:25.009 error Client in error state. modbus.0 2024-07-18 15:26:25.007 error Request timed out. modbus.0 2024-07-18 15:26:25.005 warn Error: undefined
Habe ich einen Denkfehler oder was ist falsch?
-
@mane444 Ich versuche mal über eine Antwort an dich einen Kontakt herzustellen, da möglicherweise der gelöste Thread nicht mehr in deinem Fokus steht. Ich komme einfach nicht weiter mit meiner Verbindung zu dem Waveshare.
Mittlerweile habe ich ein paar Adressen eingetragen, bin mir aber nicht sicher, ob die relevant sind. Merkwürdig ist, dass ich bei Growatt für meinen WR (MIN 4600 TL-XH) nur 4-stellige Register gefunden habe. Alternativ habe ich aber auch ein paar 5-stellige aus deinem WR eingetragen.
Ich unterstelle einmal, dass die Verbindungsprobleme bislang auch wegen fehlenden Registerangaben entstanden sind, bin mir aber nicht sicher.
Kannst du helfen? -
@nobbiman Ich würde das immer erst mit einem Register testen. Idealerweise eines bei dem man sicher weis das der WR hergibt. Ist die Verdrahtung der beiden Kabel A und B richtig angeklemmt. Evtl einfach mal tauschen.
Hier ein Bild der Verdrahtung: -
@mane444 Danke für deine Rückmeldung, leider bin ich heute Abend unterwegs, meine aber, die Verdrahtung genauso gemacht zu haben. Das prüfe ich morgen.
Kannst du etwas zum Thema der Ports und des korrekten Eintrags sagen? -
@nobbiman So, ich habe nun die Verdrahtung nochmals geprüft und auch den Durchgang gemessen - alles so, wie es sein soll. Die PIN-Belegung in der Beschreibung ist meiner Meinung nach nicht so ganz eindeutig, ich denke aber, es müsste so sein, wie im Bild 1 dargestellt und zwar die Verdrahtung auf PIN 3 und 4 dargestellt, da ich einen solchen Rundstecker habe.
Mittlerweile habe ich auch nochmals an den Adressen "gespielt" und experimentiere nur noch mit einer Adresse (3001 = PV power total). Im Ergebnis bleibt die Verbindung nun zwar bestehen und es gibt keine Fehlermeldungen mehr, aber es wird kein Objekt im ioBroker unter "input registers" angelegt, demzufolge erhalte ich auch keine Daten. Mindestens leite ich daraus ab, dass die Porteinstellungen doch korrekt sind.
Beim Versuch, mit mehreren anderen der 4-stelligen Adressen, werden auch keine Objekte in ioB erzeugt.
Welchen Einfluss haben denn die Angaben wie Typ (z.B. Unsigned 16 bi Big Endian) oder Rolle (z.B. value oder state) beim Registereintrag? Können diese Einstellungen auch das Anlegen eines Objektes verhindern, dann würde ich auch hier alle Varianten durchtesten?Sobald ich ein 5-stelliges Register angebe (z.B. 33001), bricht die Verbindung zum Device wie ursprünglich angegeben ab.
Kann mir noch jemand bei diesem nächsten Schritt weiterhelfen?
-
@nobbiman ich denke du bist auf dem richtigen Weg.
Wenn du bei den Adapter Einstellungen Aliases benutzen anhakst dann solltest du die 33000 Register haben
Ohne Aliase sind es die 3000er.
Du hast evtl beim 3000 Register den falschen Typ gewählt. Bei mir ist das "Unsigned 16Bit (Big Endian)"Hier mal meine Registerliste:
_address name description unit type len factor offset formula role room cw isScale 30109 RemoteCtrlEn uint16be 2 1 0 level false false 30110 RemoteCtrlPow uint16be 2 1 0 level false false 30120 Battery Type 0 Lead acid 1 Lithium battery uint16be 2 1 0 level false false 33001 Inverter Status 0:warten; 1:normal; 3:Fehler " " uint16be 1 1 0 level false false 33002 Ppv Eingangsleistung PV W uint32be 2 0.1 0 level false false 33004 Upv1 Spannung PV1 V uint16be 1 0.1 0 level false false 33005 Ipv1 Strom PV1 A uint16be 1 0.1 0 level false false 33006 Ppv1 Eingangsleistung PV1 W uint32be 2 0.1 0 level false false 33008 Upv2 Spannung PV2 V uint16be 1 0.1 0 level false false 33009 Ipv2 Strom PV2 A uint16be 1 0.1 0 level false false 33010 Ppv2 Eingangsleistung W uint32be 2 0.1 0 level false false 33024 Pac Ausgangsleistung AC W int32be 2 0.1 0 level false false 33026 Fac Ausgangsfrequenz Hz uint16be 2 0.01 0 level false false 33027 Vac1 Spannung L1 V uint16be 1 0.1 0 level false false 33028 Iac1 Strom L1 A uint16be 1 0.1 0 level false false 33029 Pac1 Leistung L1 VA uint32be 2 0.1 0 level false false 33031 Vac2 Spannung L2 V uint16be 1 0.1 0 level false false 33032 Iac2 Strom L2 A uint16be 1 0.1 0 level false false 33033 Pac2 Leistung L2 VA uint32be 2 0.1 0 level false false 33035 Vac3 Spannung L3 V uint16be 1 0.1 0 level false false 33036 Iac3 Strom L3 A uint16be 1 0.1 0 level false false 33037 Pac3 Leistung L3 VA uint32be 2 0.1 0 level false false 33039 Vac12 Spannung L1-L2 V uint16be 1 0.1 0 level false false 33040 Vac23 Spannung L2-L3 V uint16be 1 0.1 0 level false false 33041 Vac31 Spannung L3-L1 V uint16be 1 0.1 0 level false false 33042 Ptouser Ausgangsleistung Verbrauch AC W uint32be 2 0.1 0 level false false 33044 Ptogrid Ausgangsleistung Netz AC W uint32be 2 0.1 0 level false false 33046 Ptoload Ausgangsleistung Laden AC W uint32be 2 0.1 0 level false false 33048 Time_total Betriebszeit s uint32be 2 0.5 0 level false false 33050 Eac_today Wirklarbeit Heute kWh uint32be 2 0.1 0 level false false 33053 Eac_total Wirkarbeit gesamt kWh uint16be 2 0.1 0 level false false 33055 Epv_total Wirkarbeit PV gesamt kWh uint16be 2 0.1 0 level false false 33057 Epv1_today Wirkarbeit Heute PV1 kWh uint16be 2 0.1 0 level false false 33059 Epv1_total Wirkarbeit gesamt PV1 kWh uint16be 2 0.1 0 level false false 33061 Epv2_today Wirkarbeit Heute PV2 kWh uint16be 2 0.1 0 level false false 33063 Epv2_total Wirkarbeit gesamt PV2 kWh uint16be 2 0.1 0 level false false 33087 DeratingMode uint16be 1 1 0 level false false 33088 PVISO PVISOValue kOhm uint16be 1 1 0 level false false 33089 L1 DCI L1 DCI mA uint16be 1 0.1 0 level false false 33090 L3 DCI L2 DCI mA uint16be 1 0.1 0 level false false 33091 L3 DCI L3 DCI mA uint16be 1 0.1 0 level false false 33094 Temp1 Inverter IPM Temperatur °C uint16be 1 0.1 0 level false false 33095 Temp2 Inverter Temperatur °C uint16be 1 0.1 0 level false false 33096 Temp3 Boost Temperatur °C uint16be 1 0.1 0 level false false 33097 Temp4 Reserve Temperatur °C uint16be 1 0.1 0 level false false 33098 Temp5 Commmunication broad Temperatur °C uint16be 1 0.1 0 level false false 33099 P Bus Voltage P Bus interne Spannung V uint16be 1 0.1 0 level false false 33100 N Bus Voltage N Bus interne Spannung V uint16be 1 0.1 0 level false false 33101 IPF Inverter Ausgang PF uint16be 1 1 0 level false false 33102 RealOPPercent Ausgangsleistung % % uint16be 1 1 0 level false false 33104 OPFullwatt Ausgansleistung Limit max W uint16be 2 0.1 0 level false false 33106 Fault code Fehlercode uint16be 1 1 0 level false false 33107 Warn code Warnungscode uint16be 1 1 0 level false false
MOD-EDIT: Code in code-tags gesetzt!
-
@mane444 OK, ich vermute mal, dass ich die Farbe der Verbindung überschätzt habe: Schaut man auf das Fehlerprotokoll, so wird die Verbindung ja stets auf- und abgebaut (Disconnect/Connect):
modbus.0 2024-07-20 16:38:09.186 info Disconnected from slave 192.168.2.48 modbus.0 2024-07-20 16:38:08.191 warn [1] Poll error count: 7 code: {"err":"timeout","timeout":10000} modbus.0 2024-07-20 16:38:08.187 error Client in error state. modbus.0 2024-07-20 16:38:08.186 error Request timed out. modbus.0 2024-07-20 16:38:08.185 warn Error: undefined modbus.0 2024-07-20 16:37:58.182 info Connected to slave modbus.0 2024-07-20 16:36:58.177 info Disconnected from slave 192.168.2.48 modbus.0 2024-07-20 16:36:57.178 warn [1] Poll error count: 6 code: {"err":"timeout","timeout":10000} modbus.0 2024-07-20 16:36:57.177 error Client in error state. modbus.0 2024-07-20 16:36:57.176 error Request timed out. modbus.0 2024-07-20 16:36:57.174 warn Error: undefined modbus.0 2024-07-20 16:36:47.171 info Connected to slave
Aber mit dem Anlegen von Objekten im ioB wird es langsam spannend, da es erste Erfolge gibt.
Die Aliase hatte ich bereits angehakt, offenbar jedoch nicht den korrekten Typ gewählt!
Nun habe ich folgende Situation:
Ich habe einmal deine 5 Register (33001-33006) abgekupfert
und finde nun in den Objekten ebenfalls die gewünschten Einträge, allerdings (noch?) ohne Werte
Was fehlt denn nun wohl noch? -
@mane444 Kann es sein, dass man im WR die Modbus-Funktion aktivieren muss?
In einem Thread, den ich im Zusammenhang mit der Ursachensuche der Fehlermeldungclient in error state
fand, kam diese Aussage. Der Thread stand im Zusammenhang mit einem SMA-Wechselrichter.
Beim Growatt-WR finde ich auch nach intensiver Suche keine entsprechende Einstellmöglichkeit. -
Was mir aufgefallen ist, du hast beim Waveshare noch einen falschen Port angegeben:
Bei mir steht hier:
-
@mane444 Ich verstehe von Netzwerktechnik zu wenig, als dass ich qualifiziert antworten könnte.
Im Ergebnis bekomme ich immer noch keine Daten.
Müssen denn die Ports gleich sein?
Die Device-IP ... .48 ist doch die des Waveports, die Destination IP, die des ioBrokers, der bei mir auf einem RasPi läuft. -
@nobbiman sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
die Destination IP, die des ioBrokers, der bei mir auf einem RasPi läuft.
richtig!
aber der Port muss der modbus Port der im Adapter steht sein, nicht die 8081!
8081 ist das Webinterface des adminIch verstehe von Netzwerktechnik zu wenig
deswegen empfehle ich immer wenn möglich auf diese zusätzliche Ebene RS45aufETH zu verzichten
-
@homoran sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
deswegen empfehle ich immer wenn möglich auf diese zusätzliche Ebene RS45aufETH zu verzichten
Hätte ich gerne gemacht, aber ich habe leider nur einen seriellen Ausgang am Wechselrichter. Ich experimentiere mittlerweile mit dem 3. Adapter und das seit Monaten, es will einfach nicht gelingen, dem WR Daten zu entlocken. Wahrlich, meine Geduld wird arg strapaziert, ich will aber nicht aufgeben.
Die Waveshare-Konfiguration sollte nun nach euren Empfehlungen korrekt sein
Kann jemand noch etwas zur Geräte-ID sagen, wie muss sie lauten oder wo bekomme ich die her?
Im ioB habe ich die Standard-ID = 1 belassen! -
@nobbiman sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
aber ich habe leider nur einen seriellen Ausgang am Wechselrichter.
das ist ja auch ok.
Wenn möglich dann mit USB2RS485 direkt mit dem iobroker Host verbinden.
Anfangs hatte ich dafür einen Slave genommen, jetzt sitzt der gesamte iobroker im Keller -
@nobbiman sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
Kann jemand noch etwas zur Geräte-ID sagen, wie muss sie lauten oder wo bekomme ich die her?
Die Geräte ID ist in der Modbus Konfiguration des Endgeräts eingestellt oder einstellbar.
Das wäre dein Wechselrichter -
@homoran sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
Das wäre dein Wechselrichter
Daran hatte ich auch schon gedacht und hatte die ID aus dem Growatt-Adapter im ioB-Modbusadapter eingetragen. Der Growatt-Adapter bekommt ja seine Daten über den China-Server, den ich mit dem Waveshareadapter umgehen möchte.
Auch wenn ich die dort gefundene ID
(1397806) in die ioB-Modbuskonfiguration des Waveshare eintrage, laufen immer noch keine Daten auf! -
@nobbiman sagte in [gelöst] Waveshare RS485 to Eth nicht im Netzwerk zu finden:
die dort gefundene ID
ist die ID des Wechselrichters, nicht des WR-Modbus.
Die ID kann nur von 1-256 sein. -
@homoran Danke für die Unterstützung, ich muss jetzt leider für heute weg, weiß aber immer noch nicht, wo ich die ID ablesen soll
-
@nobbiman Die Geräte ID im IOB Modbusadapter entspricht der Com Adresse im Wechselrichter. Die ist Standardmäßig auf 1. Kann aber im WR geändert werden. WR Handbuch 7.2.2
Bitte immer nach einer Änderung im WR oder im Waveshare den Modbus Adapter im IOB neu starten.