NEWS
Sensostar Modbus auslesen
-
Hallo, ich möchte einen Sensostar U Wärmezäherl via Modbus auslesen (also wirklich Modbus nicht MBUS).
Es klappt auch soweit, dass ich bis 30064 auslesen kann, alles was drüber ist geht nicht mehr (mit dem iobroker Modbus Adapter).
Der Modbusadapter verbindet sich über TCP mit einem Waveshare Ethernet zu RS485 Adapter.
Wenn ich hingegen unter Linux mit OpenModScan verbinde und auslese, komme ich auch an die Register über 63 bzw. 64.
2024-12-04 17:09:00.539 - [33mwarn[39m: modbus.5 (1040191) [DevID_1] Poll error count: 1 code: "App Timeout" 2024-12-04 17:09:00.636 - [33mwarn[39m: modbus.5 (1040191) Error: undefined 2024-12-04 17:09:00.637 - [31merror[39m: modbus.5 (1040191) Request timed out. 2024-12-04 17:09:00.637 - [31merror[39m: modbus.5 (1040191) Client in error state. 2024-12-04 17:09:01.637 - [32minfo[39m: modbus.5 (1040191) Disconnected from slave 192.168.103.64
Folgende Register bietet der Wärmezähler an: https://www.engelmann.de/wp-content/uploads/2023/04/Datenblatt_Modbus_S3-S3C_2023_03_27_de.pdf
Eingerichtet habe ich wie folgt im Modbusadapter:
_address deviceId name description unit type len factor offset formula role room cw isScale 0 1 Energy kWh uint32be 2 1 0 value false false 28 1 Volume l uint32be 2 1 0 level false false 49 1 Power W uint32be 2 1 0 level false false 56 1 Flow l/m uint32be 2 1 0 val = x / 60 level false false 63 1 Forward temperature (Fixed) °C int16be 1 1 0 level false false
Sobald ich die Adresse 67 hinzufüge steigt der Adapter mit obigem Log aus.
Was allerdings auffält, dass ich die Register über 63 nur einzeln auslesen kann, wenn ich mehrere gleichzeitig auslesen möchte steigt auch der Modbuscanner aus.
Ironischerweise kann ich die Register 76 und 82 wieder auslesen.
Da ich mit dem gleichen Modbusadapter noch andere Geräte auslese, sollte es nicht am Waveshare liegen (auf Adresse 2 liegt eine LG ThermaV Wärmepumpe mit einigen Registern und unter Adresse 12 ein SDM630).
-
@konni was sagt denn die Bedienungsanleitung zum Thema "Anzahl gleichzeitig auslesbare Register"?
-
So blöds klingt, mehr als das obige PDF findet sich leider zu dem ganzen Modul nicht
Der Händler wo ich es her hab, verweist auf Engelmann, aber da gabs bisher keine Antwort (wird wohl auch nicht kommen, das ganze Modul ist lt. dem Händler für einen Großkunden erstellt worden und womit oder wie die auslesen wird der normalsterbliche wohl nie erfahren).
Grundsätzlich kann ich mit dem Modbuscanner 35 Register auf einmal auslesen, aber nur von 30001 bis 30031, alles was drüber ist geht selten mit mehr als 1, ich denke das Problem dabei ist, dass der Scanner dumm alles ausliest, und wenn ein Register nicht existiert aussteigt, das sollte aber mit dem iobroker Modbuis Adapter ja kein Problem sein, da ich die Register ja gezielt angebe, die auch existieren).
Ok, Nachtrag wenn ich den iobroker Adapter so einstelle, dass er maximal ein Register ausliest geht es.
-
@konni sagte in Sensostar Modbus auslesen:
wenn ich den iobroker Adapter so einstelle, dass er maximal ein Register ausliest geht es.
Da wollte ich drauf hinsus
-
Hallo,
ich versuche bereits seit einiger Zeit, einen Wärmezähler Sensostar E mit dem entsprechenden Kommunikationsmodul ebenfalls über einen Waveshare RS485 to ETH-Konverter über Modbus auszulesen. Bisher ist mir dies leider nicht gelungen (Timeout_Fehler), obwohl das Auslesen anderer Koppelpartner über den selben Konverter problemlos funktioniert. Gibt es eine Besonderheit, die es bei den Engelmann Wärmezählern zu beachten gibt?
Für einen Hinweis wäre ich sehr dankbar, da mir langsam nichts mehr einfällt…
-
Hallo Zusammen,
ich habe das gleiche Problem meinen Sensostar U mit modbus über einen Waveshare RS485 to ETH-Konverter auszulesen.
Gibt hier schon eine Lösung?Hat überhaupt schon jemand den modbus vom Sensostar zu laufen gebracht?
-
@stephan-a sagte in Sensostar Modbus auslesen:
ich habe das gleiche Problem
welches genau?
@stephan-a sagte in Sensostar Modbus auslesen:
Hat überhaupt schon jemand den modbus vom Sensostar zu laufen gebracht?
@konni sagte in Sensostar Modbus auslesen:
wenn ich den iobroker Adapter so einstelle, dass er maximal ein Register ausliest geht es.
und zusätzlich
@baeckto sagte in Sensostar Modbus auslesen:
über einen Waveshare RS485 to ETH-Konverter über Modbus
ist der korrekt konfiguriert?
-
Danke für die Antworten.
Ich habe einen 2 Kanal Waveshare to ETH Adapter.
4 laufende modbus Instanzen sind auf dem 1 Kanal. Die laufen ohne Probleme.
Am 2. Kanal Waveshare ist der Engelmann modbus Adapter. Im iobrocker und alles ist grün.Die Parameter sind:
Unter objekte info/connection steht "true".
Bei den eingetragenen Registern kommen die Werte alle mit "0".Ich habe auch nur ein Register versucht - ohne Verbesserung. Was wäre da genau zum Einstellen im Adapter?
-
@stephan-a mit dem RTU2TCP Konverter jenne ich mich nicht aus.
ich arbeite ohne zusätzliche Konvertierung ausschließlich mit RTU direkt per USB am iobroker Server.Ob jetzt die Kommunikation Konverter zu Endgerät klemmt, oder iob zum Konverter kann ich damit ausschließen.
für etsteres gehe ich davon aus dass die seriellen Parameter stimmen.
Aber was hast du denn in der Instanz eingetragen wenn du im Waveshare dafür TCP2RTU eingetragen hast?
-
-
@stephan-a sagte in Sensostar Modbus auslesen:
In der Instanz:
hast du zumindest nicht beachtet was @Konni schrieb
@konni sagte in Sensostar Modbus auslesen:
wenn ich den iobroker Adapter so einstelle, dass er maximal ein Register ausliest geht es
in dem Verbindungsprotocol steht nur tcp
während
@homoran sagte in Sensostar Modbus auslesen:
du im Waveshare dafür TCP2RTU eingetragen hast
-
Beim Verbindungsprotokoll habe ich bei 4 laufenden Instanzen überall "TCP" in der Instanz eingestellt und es läuft problemlos. Ich werde es noch mal mit "TCP over RTU" versuchen.
@Konni
Wie stelle ich den Adapter so ein, dass er nur ein Register ausliest?
Bisher hatte ich dazu einfach nur ein Register in die Registerliste eingetragen. -
@stephan-a sagte in Sensostar Modbus auslesen:
Wie stelle ich den Adapter so ein, dass er nur ein Register ausliest?
in deinen Einstellungen
-
@homoran
ok. Danke für den Hinweis.
Ich werde die Einstellung entsprechend ändern und testen. -
Hat keine Änderung gebracht. Immer noch Null.
-
@stephan-a sagte in Sensostar Modbus auslesen:
Immer noch Null.
ich habe bereits nach deinem Erstpost
@stephan-a sagte in Sensostar Modbus auslesen:
ich habe das gleiche Problem
gefragt
@homoran sagte in Sensostar Modbus auslesen:
welches genau?
und leider keine Antwort bekommen
der TO hatte
@konni sagte in Sensostar Modbus auslesen:
Grundsätzlich kann ich mit dem Modbuscanner 35 Register auf einmal auslesen, aber nur von 30001 bis 30031, alles was drüber ist geht selten mit mehr als 1
und dazu passte die Lösung!!
BITTE NIEMALS NIE NICHT mit einem anderen Problem an einen Thread anhängen.
steht deswegen auch alles hier:
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1 -
@homoran
Ok Sorry. Danke für die Hinweise.
Ich mache alles nochmal neu und öffne einen entsprechenden Thread. -
Seit ich anfangs gleich Probleme mit dem Modbus Adapter hatte, habe ich die Kommunikation Modbus / Seriell auf Node-Red probiert. Da lief es und das Problem waren wohl zu schnelle Anfragen des Adapters an die Geräte. Bei Node-Red habe ich dann einfach Verzögerungen zwischengehängt und seit dem läuft es da durch.
Ob der Adapter inzwischen auch die Pausen kann, weiß ich nicht, da ich bei Node-Red geblieben bin. Evtl. einfach mal ausprobieren. Kann ja nichts passieren.
Mein Muster dafür habe ich vor längerer Zeit im Node-Red Forum gepostet.
-
@peterfido sagte in Sensostar Modbus auslesen:
das Problem
von @Stephan-a ist doch noch gar nicht wirklich bekannt
bisher wissen wir davon nur
@stephan-a sagte in Sensostar Modbus auslesen:
Immer noch Null.
-
Danke an Alle die mich unterstützen.
Mein Probem ist, dass die im iobrocker angezeiten Werte alle "null" sind:
Die Instanz ist aber grün:
Die Abfrageanzahlg steht auf "1".
@peterfido
Die Wartezeiten im Adaper sind:
Wie sind deine Verzögerungswerte?