NEWS
Einrichten Modbus Adapter / Solar X3 Gen4
-
@mcwoolf Wie bekommt man mit, daß man ein Passwort eintragen muß? Und das wird dann in die Objekte eingetragen und vom ioBroker Adapter an den Solax gesendet?
-
@klassisch Habe ich in einem anderen Forum gelesen, sonst kann man keine Werte Schreiben. Ist aber noch ungetestet.
-
@mcwoolf Halte uns auf dem Laufenden. Wenn alles stabil läuft, gibt es ja eine Schritt für Schritt Anleitung von Dir
-
@klassisch
Habe heute mit Solax telefoniert, die haben mir gesagt, dass ich eine total veraltete FW auf meinem WR habe, ich soll es morgen nochmal kontrollieren, da sollte das Update, dann bereits aufgespielt sein. Zur Frage ob ich eine Info bekommen würde ob das Update durch ist, bekam ich eine recht schnippische Antwort, Zitat: "Ich habe Ihnen gerader erklärt wie das abläuft" Zitat Ende.
Naja anscheinend darf man bei Solax nicht zuviel wissen. -
@mcwoolf Vielen Dank für das Update. Hauptsache es geht voran. Dann hoffen wir, daß das Gerät dann kooperativer ist - und durch das Update keine Seiteneffekte reinkommen.
-
Was ich doch sehr eigenartig finde ist, das auf der Registerliste doch eindeutig little endian Format steht, aber da nur komische Werte ausgespuckt werden, wenn man nämlich big endian nimmt, bekommt man plausible Werte.
Da hat das Update anscheinend auch nichts bewirkt. -
@mcwoolf Zumindest dieser Ausschnitt ist nicht wirklich eindeutig.
Big/little endian wird ja bei > 1 Byte wichtig.
Also auch für die uint16. Dazu steht aber nichts explizit in der Liste.
Die Liste ist überschrieben mit einer Anmerkung zu den 32 bit, also 4 Byte Werten. Ob sich das auch auf die 16Bitter bezieht, liegt zwar nahe, wird aber nicht wirklich explizit beschrieben.
Und dann würde ich natürlich das nehmen, was plausible Ergebnisse bringt. -
@klassisch
Ja ich habe jetzt schon einige Register eingetragen und seit dem ich big endian verwende, habe ich auch saubere Werte. -
@mcwoolf Hallo, habe ebenfalls einen Solax X3 G4 15 D und möchte die Daten auch über Modbus auslesen (gibt ja keine andere Möglichkeit soweit ich sehe) - mit welchem Adapter hattest du schlussendlich Erfolg?
-
@planb1
Hi
eigentlich mit dem ich dazwischen abgebrochen habe. Also den USR-TCP232-304, damit hat es dann geklappt. -
Hi,
ich muss das hier nochmal aufgreifen. Ich habe eine ähnliche Konfiguration.
Solax X3 + einem Waveshare Modbus->IP Konverter. Habe es bereits geschafft die Daten mit Loxone abzugreifen, würde die aber auch noch im iobroker benötigen. Kann ich eigentlich mit 2 Clients abfragen?Ich bekomme folgendes im Log:
modbus.1 2023-04-14 17:45:12.653 error unknown function code: 0x26, 0x0 modbus.1 2023-04-14 17:45:12.639 error unknown function code: 0x25, 0x0 modbus.1 2023-04-14 17:45:12.625 error unknown function code: 0x24, 0x0 modbus.1 2023-04-14 17:45:12.611 error unknown function code: 0x23, 0x0 modbus.1 2023-04-14 17:45:12.598 error unknown function code: 0x22, 0x0 modbus.1 2023-04-14 17:45:12.486 error unknown function code: 0x21, 0x0 modbus.1 2023-04-14 17:45:07.960 info Connected to slave modbus.1 2023-04-14 17:45:07.890 info Can not execute task "add" for ID undefined: The id is empty! Please provide a valid id. ({"name":"add","obj":{"type":"state","common":{"name":"","role":"value","type":"string","read":true,"write":true,"def":"","unit":""},"native":{"regType":"holdingRegs","address":-40000,"deviceId":1,"type":"string","len":"7","offset":0,"factor":1,"poll":true}}} modbus.1 2023-04-14 17:45:07.839 error Invalid object: {"type":"state","common":{"name":"","role":"value","type":"string","read":true,"write":true,"def":"","unit":""},"native":{"regType":"holdingRegs","address":-40000,"deviceId":1,"type":"string","len":"7","offset":0,"factor":1,"poll":true}} modbus.1 2023-04-14 17:45:07.839 error Invalid data holdingRegisters/0: {"_address":"1","name":"Serial","description":"","unit":"","type":"string","len":"7","factor":1,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":"","cw":"","isScale":"","address":-40000,"deviceId":1,"fullId":"modbus.1.0"} modbus.1 2023-04-14 17:45:07.838 error Invalid holdingRegisters address: -40000
-
@rettroo sagte in Einrichten Modbus Adapter / Solar X3 Gen4:
Kann ich eigentlich mit 2 Clients abfragen?
Gute Frage. Der Waveshare ist ja ein Server und sollte das können. - also die Verbndung von Clients bis zum Waveshare. Mit den USRIOT habe ich das auch schon in einer anderen Konfiguration schon gemacht.
Das scheint so weit auch in Deinem Fall zu funktionieren, da die Verbindung zum Waveshare nicht abzureißen scheint. Zumindest sehe ich keine entsprechende Fehlermeldung wie tiemout.
Die Frage ist, wie sich der RS485 und das Modbus Protokoll sowie das Modbus Endgerät verhalten.- Läuft die Loxone Abfrage fehlerfrei weiter während man mit dem ioBroker parallel auf das Endgerät zugreifen will?
- Was passiert wenn man die Loxone Abfrage pausiert und dann nur vom ioBroker aus zugreift?
-
ja Loxone läuft ganz normal weiter. Wenn ich Lox deaktiviere, bekomme ich den ersten Teil des Logs (Zeile 32 bis 19)
wenn ich danach Lox wieder aktiviere bekomme ich für jeden von Lox abgefragten Wert " unknown function code: 0x22, 0x0" im iobroker Log.Nun habe ich von "RTU over TCP" auf "TCP" umgestellt mit folgenden Einstellungen. (ohne Aliase läuft Lox nicht mehr)
Mit diesen Einstellungen habe ich zumindest mal die Seriennummer abfragen können im IOB und Lox läuft weiter!
@McWoolf: Hast du schon die Register für die relevanten Werte eingepflegt? Könntest du diese vielleicht teilen?
-
@rettroo Ich würde mich erst mal so weit vorkämpfen, daß ich jeden Zweig einzeln lauffähig habe. Der Loxone Zweig läuft schon mal solo. Also nächster Schritt Loxone pausieren und ioBroker Modbus aufbauen. Schritt für Schritt, Datenpunkt für Datenpunkt. Weil Modbus sehr empfindlich ist aber keine hilfreiche Fehlermeldungen gibt.
Wenn jeder Zweig solo funktioniert, dann kann man die Kombination testen. Fürchte aber, daß das in diesem Fall eher nicht funktionieren wird.
40000er Adressen sind Alias Adressen, das sieht plausibel aus.Wenn der Parallelbetrieb nicht möglich ist, dann vielleicht eine ioBroker - Loxone Kopplung https://github.com/UncleSamSwiss/ioBroker.loxone ?
-
@klassisch
wie du vermutet hast läuft es nicht parallel... ich bekomme zwischenzeitlich Response Fehler in beiden Systemen.. Unabhängig funktioniert aber jedes System.. Schade, dann werde ich wohl die Daten mit dem Loxone Adapter wieder zurückholen wie du vorgeschlagen hast. -
@rettroo Vielen Dank für die Info. Schade, daß das nicht geht. Über die Loxone - ioBroker Schnittstelle ist wahrscheinlich eh robuster und schnelller.
-
Hi. Bin neu hier und, was Modbus angeht, blutiger Anfänger. @planb1 , du hst geschrieben, dass es mit dem USR-TCP232-304 geklappt hat. Daraufhin habe ich mir den bestellt.
Mittlerweile kann ich mich auf einen Docker mit dem Teil verbinden. Er hängt am X3-Hybrid G4 und im LAN. Als Werte bekomme ich aber immer nur Nullen.Würdest du mir Screenshots der Settings machen? Gerne im sowohl im USR-TCP232-304 als auch im ioBroker ("Allgemein" und die verschiedenen Register).
Da wär ich dir sehr dankbar!
Hoppla... war @McWoolf !
-
Hier die beiden Dateien, die solltest du eigentlich im iobroker "modbus" importieren können.
Holding Register.txt
Eingangs Register.txt -
@mcwoolf Tausend Dank für die Dateien! Ich hab sie reinkopiert und ioBroker hat auch nicht gemeckert. Läuft.
Leider sind immer noch die Werte bei allen Datenpunkten "0"
Kannst du mir noch für "Allgemein" mit der "Geräte ID" weiterhelfen (und sagen, wo die noch eingestellt sein soll)? Und mir im Konverter (USR) mit den richtigen Settings helfen? Oder was dir sonst noch so mit deiner nun reichhaltigen Erfahrung einfällt.
-
@mcwoolf Wie kann ich die beiden Dateien importieren?
LG
Lutz