NEWS
Modbus adapter
-
@icegixxe Bei mir waren es auch nur wenige Aussetzer pro Tag. Also mal einige Tage in Ruhe laufen lassen.
Dann ein Tageslog runterladen und nach Modbus-Einträgen durchsuchen.
-
@bkuerby Hallo!
Funktioniert bei dir das Auslesen der WPCU mit dem Modbus adapter? Wie hast du die WPCU angeschlossen? Die hat doch einen RS232 Anschluss.
Ich bin schon am Verzweifeln.
Ich habe auch einen WPCU Regler. lt Schaltplan von Waterkotte ein RS232 Anschluss.
Mittels Adapter RS232-> USB verbinde ich mich zu einem Raspberry 4 auf dem Iobroker läuft.
Das System ist komplett frisch aufgesetzt und es läuft eigentlich nur der Modbus Adapter darauf.Jedoch bekomme ich keine Verbindung mit dem Modbus Adapter.
Also der Adapter wird kurz grün und geht dann wieder auf gelb.Folgende Meldungen kommen im log:
modbus.0 2023-01-23 18:02:11.042 info Disconnected from slave modbus.0 2023-01-23 18:02:10.040 warn Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2023-01-23 18:02:10.038 error Request timed out. modbus.0 2023-01-23 18:02:10.036 warn Error: undefined modbus.0 2023-01-23 18:02:05.060 error Error response: Data address of some or all the required entities are not allowed or do not exist in slave modbus.0 2023-01-23 18:02:05.059 error Error response for FCx4: Illegal Data Address modbus.0 2023-01-23 18:02:05.025 info Connected to slave modbus.0 2023-01-23 18:02:04.569 info starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v16.19.0, js-controller: 4.0.24
Ich habe auch schon diverse versuche mit Eingangsregister und Holdingregister unternommen.
Was kann ich hier noch falsch eingestellt haben? -
@worxweis Sollte sich der Regler direkt per Modbus ansprechen lassen oder wie auch immer: Du benötigst ein sogenanntes "Null-Modem" Kabel. Also ein RS-232 bei dem RX-TX gekreutzt ist. Sonst gibt das nichts.
-
@wendy2702 Ich habe ein Nullmodemkabel zwischen Adapter und Wärmepumpe.
-
Hallo Zusammen,
könnt Ihr mir aktuell einen Drehstromzähler (geeicht) und ein Gateway empfehlen, um die Daten in den iobroker zu bekommen?
Viele Grüße
Maic -
@blessi Hier gibt es Erfahrungen mit funktionierenden Konfigurationen: https://forum.iobroker.net/topic/55710/sdm120-sdm72-sdm630-modbus-rs485-stromzähler-w-lan-iobroker?_=1677138832377
-
@blessi sagte in Modbus adapter:
Hallo Zusammen,
könnt Ihr mir aktuell einen Drehstromzähler (geeicht) und ein Gateway empfehlen, um die Daten in den iobroker zu bekommen?
Viele Grüße
MaicAn wie vielen Stellen willst du noch fragen?
Einmal sollte doch reichen.
Zumal es hier eigentlich um den Modbus Adapter geht.
-
@wendy2702 Kann ich nicht an 2 Stellen Fragen stellen?
Hier frage ich, weil ich den Adapter gefunden habe und es sich interessant anhört, nach der aktuell funktionierenden Hardware mit diesem Adapter.Meine Frage unter Hardware ist komplett offen in einer möglichen Lösung.
Ein Forum ist dafür da, Fragen zu stellen, oder sehe ich das falsch?
-
@blessi Klar ist das Forum dafür da, aber nicht um das gleiche an mehreren Stellen zu fragen.
Ausserdem geht es hier im Thread eigentlich um den Adapter und nicht um HW die eventuell damit funktionieren könnte.
Im anderen Thread hast du schon Antworten auf dein Frage bekommen.
-
@blessi sagte in Modbus adapter:
Kann ich nicht an 2 Stellen Fragen stellen?
kannst du schon, hat ja geklappt!
@blessi sagte in Modbus adapter:
Ein Forum ist dafür da, Fragen zu stellen, oder sehe ich das falsch?
ist schon richtig, aber wenn jetzt in mehreren Threads untersciedliche Antworten / Antworten von unterschiedlichen Usern kommen, wird es sehr schnell chaotisch.
-
@klassisch Moin,
ich habe mir jetzt den Drehstromzähler SDM720DM-V2 sowie den Wandler USR-TCP232-304 bestellt.
Wenn ich es richtig verstanden habe, klemme ich zwischen Zähler und Wandler A auf A, B auf B und G auf G, richtig?An dem Wandler kann ich auch mehrere SDM 720 anschließen, oder habe ich das falsch verstanden?
Brauche ich noch etwas?
Ich hoffe ich komme mit der Einrichtung klar
-
@blessi Ja, 2 Zähler gehen. Vorher manuell über die Tasten und das Display die gleiche Baudraute einstellen und unterschiedliche Adressen.
Generell A nach A und B nach B. Manchmal muß man auch kreuzen, weil die Definition verschieden interpretiert wird. -
@klassisch Gehen an dem Gateway maximal 2 oder auch mehr Zähler?
-
@blessi Da gehen auch mehr. Jedem seine eigene Adresse manuell einstellen. Die Baudrate hochstellen und vielleicht nicht gar zu viele Werte abfragen, damit die Daten über den Bus gehen können.
-
Hallo in die Runde und mein erster Beitrag!
Ein großer Dank geht an die unermüdlichen Helfer, die es mir ermöglicht haben, ein Multihost-System (Iobroker Master auf Syn-DS, im Docker und einen Raspi 3+ als Slave) einzurichten.
Gerne möchte ich hier meine Erfahrung mit SDM72DM und auch SDM630DM weitergeben. Ich habe bisher 3+1 dieser Zähler über einem 3-Draht-Bus (CAT7-Kabel) an einem USB-Seriell Adapter am Pi3+ Slave angeschlossen. In den Zählern die Grundeinstellung, Baudrate (9600) usw. unverändert, nur die Adressen 1,2,3,4 angepasst. An jedem Zähler einen 120 Ohm Widerstand zwischen A und B und alle Zähler an dem Bus angeschlossen. Wichtig, in „Einem“ Eingangsregister des Modusadapter für alle Zähler die Abfragen einstellen und in die Slave-ID, die Adresse für den jeweiligen Zähler eintragen. Bevor Ihr den Adapter aktiviert, sollten mindestens eine Abfrage für jeden Zähler (Slave-ID 1,2,3,4) vorhanden sein. Der Bus läuft seit ein paar Tagen ohne Fehler, ich hoffe es bleibt so.
Da ich erst nach 14 Tagen auf einen passenden Beitrag gestoßen bin und ich als Linux Dummie vor so vielen Problemen stehe, bin ich doch auf den richtigen Weg gekommen und vielleicht hilft dies ja jemanden.Gruß aus Wuppertal stoni
-
@kstoni sagte in Modbus adapter:
Hallo in die Runde und mein erster Beitrag!
Herzlich Willkommen im Forum!
Ein großer Dank geht an die unermüdlichen Helfer, die es mir ermöglicht haben, ein Multihost-System (Iobroker Master auf Syn-DS, im Docker und einen Raspi 3+ als Slave) einzurichten.
Glückwunsch und Respekt, keine Mühen gescheut und keinen Schwierigkeiten aus dem Weg gegangen. Für Linux noobs wie mich läuft ioBroker auch unter Win und die zusätzliche Komplexität von Multihost konnte ich auch vermeiden.
Gerne möchte ich hier meine Erfahrung mit SDM72DM und auch SDM630DM weitergeben.
Vielen Dank, zu diesen beiden Zählern gibt es auch jenen Thread https://forum.iobroker.net/topic/55710/sdm120-sdm72-sdm630-modbus-rs485-stromzähler-w-lan-iobroker?_=1678856560996 . Dort wird auch beschrieben, wie man das ohne zusätzlichen Raspi realisieren kann und dadurch u.U. Multihost vermeiden kann.
Ich habe bisher 3+1 dieser Zähler über einem 3-Draht-Bus (CAT7-Kabel) an einem USB-Seriell Adapter am Pi3+ Slave angeschlossen.
Wichtig ist, daß A und B zum selben twisted pair gehören und die Leitung ca. 120 100 Ohm Wellenwiderstand - wenn sie lang ist und die Baudrate hoch. Ethernetkabel hat 100Ohm und bei kürzeren Leitungen und kleiner Baudrate passt das gut genug.
An jedem Zähler einen 120 Ohm Widerstand zwischen A und B und alle Zähler an dem Bus angeschlossen.
Wenn es läuft, ist das gut aber eigentlich nicht korrekt. Die Leitungstopologie sollte kein Stern sein, sondern eine Linie und ein Termination Widestand sollte nur an den Enden der Linie sein. Also typischerweise im RS458 Konverter (da ist so ein Widerstand die oft schon eingebaut) und dem "letzten" Endgerät am anderen Ende. Aber bei 9600Bd und kurzer Leitungslänge ist das Matching des Wellenwiderstands nicht gar zu wichtig. Wenn man es einrichten kann, sollte man das tun, wenn es nicht gahz passt, ist das bei diesen Parametern kein Beinbruch. Man hat genügend Reserven zu den Auslegungsgrößen von Buslänge und Baudrate.
Dennoch würde ich die überzählichen Widerstände entfernen. Nicht wegen des Matching des Wellenwiderstands, sondern weil sich die Treiber belasten. Die sehen ja jetzt 120/5 = 24 Ohm statt 120/2 = 60 Ohm und müssen entsprechend mehr Strom treiben. Das muß nicht sein.Wichtig, in „Einem“ Eingangsregister des Modusadapter für alle Zähler die Abfragen einstellen und in die Slave-ID, die Adresse für den jeweiligen Zähler eintragen. Bevor Ihr den Adapter aktiviert, sollten mindestens eine Abfrage für jeden Zähler (Slave-ID 1,2,3,4) vorhanden sein.
Modbus ist sehr alt und leider nicht mit ordentlichen Fehlermeldungen gesegnet. Er verzeiht praktisch keinen Fehler, was das Aufsetzen schwierig macht.
Deshalb empfehle ich Schritt für Schritt.- Immer "Mehrere Ids" anhaken, auch wenn man nur mit einem Endgerät startet. Denn wenn dann ein zweites dazukommt, ändert sich die Struktur im Objektbaum.
- Immer mit einem Zähler starten
- Immer mit nur einem "einfachen" Registereintrag starten
- Bei den Registeradressen auf "Alias" oder nicht alias achten. Registernummern wie 3000x oder 4000x sind für alias gedacht
Der Bus läuft seit ein paar Tagen ohne Fehler, ich hoffe es bleibt so.
Wenn der Modbus und RS485 mal läuft, ist das recht stabil
Da ich erst nach 14 Tagen auf einen passenden Beitrag gestoßen
Die Suche im Forum nach "SDM630" oder "SDM72" hätte viele Ergebnisse erbracht. Sogar bei der erweiterten Such mit einem dieser Stichworte im Titel des Threads.
-
@klassisch,
danke für deine ausführliche Antwort, auf die ich leider erst jetzt antworten kann.
Ich habe meine Zählerhauptverteilung umgebaut, um einen zusätzlichen Zähler für meine Wärmepumpe einzubauen. Da ich schon 2 Erzeugungsanlagen (BHKW und PV), beide mit Eigenstromnutzung und Einspeisung betreibe, musste ich noch einen EHZ-Platz umbauen.
In diesem Umbau habe ich noch weitere Hutschienenzähler ausgetauscht und jetzt sind 6 Stck. Eastron in den Bus aufgenommen.
Die 6 Zähler sind alle im Zählerschrank installiert und ich habe die Cat7-Kabel nach oben aus dem Schrank in einen Patchverteiler geführt und von da geht ein Buskabel (ca. 10m) zu PiSlave. Die Widerstände werde ich morgen anpassen, im Zählerschrank wollte ich allerdings nicht von Zähler zu Zähler verdrahten, deshalb habe ich die Kabel aus dem Schrank nach oben rausgeführt.
Ja, der Multihost-Betrieb war schon eine Baustelle, die mich immer wieder zu einer Neuinstallation gebracht hat, weil nichts mehr ging. Ich habe die Anleitung von Buanet (Synology, Docker, Mcvalan über Portainer) umgesetzt und nach dem gefühlten 20. Anlauf, einen funktionierenden Multihostbetrieb eingerichtet und konnte mein Homematic-System, testweise steuern.
Die Vis ist noch eine weitere Hürde, mit der ich mich auch noch beschäftige, allerdings habe ich eine funktionierende AIO-Remote-Neo-App, mit dem ich mein IP-Wired-Bus und Funksystem steure.
Ob ich auf den Multihostbetrieb verzichten kann, habe ich noch keine Aktien drin, ich möchte noch Wärmemengenzähler integrieren und seit Mittwoch laufen auch 8 Stck. DS18B20 Temperatursensoren über den Pi.
Der Pi ist im Heizungskeller installiert, wo ich zuerst über D1 Minis und W-LAN, Stromzähler und die Temperatursensoren angeschlossen hatte, was allerdings nicht zuverlässig lief.
Leider bin ich mit meinen 63 Jahren nicht so Fit am Computer, deshalb eine klassische Antwort, ohne passende Bezugseinblendungen.
Viele Baustellen noch, aber danke für die Hinweise und Links!
Gruß stoni -
Moin Freunde des ModBuses,
ich scheitere gerade an der Einbringung von Bender Messgeräten.
Der Aufbau:
Differenzstrommessgerät (via BMS) --> CP907 (Sammelstelle für alles was BMS oder ModBusTCP spricht und unsere Datentankstelle) --> ioBroker.Das Bender CP907 sammelt alle Werte via sämtlicher Protokolle ein und wir wollen diese dort zentral abholen. Alle ModBusTCP Geräte sind bereits erfolgreich in einer Instanz angeschlossen.
Vom Hersteller bekam ich die folgende Übersicht für z.B. den Differenzstromwert in A.
Leider bekomme ich es nicht in den Modbus Adapter rein:
Bekomme dann im Log:
Habe es auch mal Adresse: 626 probiert, dann bekam ich:
Interessanterweise bekomme ich wenn ich den Typ (Hersteller schreibt Float) ändere wenigstens mal Werte durch, aber nicht die Richtigen.
Was verstehe ich hier nicht, bzw. mache ich offensichtlich falsch?
Gruss
-
@fliegema Kenne das Gerät leider nicht, aber die Adresse müsset 626 sein, nicht 1, der Rest sieht imho eigentlich korrekt aus. Vielleicht mal die UnitID als Slave ID eingeben?
Ansonsten bitte mal die Allgemeinen Einstellungen mal posten...Edit:
Sehe gerade: Function Code 0x04 sind nicht die Holding Register, sondern die Eingangsregister... -
@joergh said in Modbus adapter:
UnitID als Slave ID eingebe
Danke Dir! Es klappt. Eingangsregister und Slave ID 10 mit Adresse 626!
Ihr seit die Besten!