Tasmota RS485 Modbus ESP-01+ WLan WiFi Bridge Modul

OP #8045205
Lesenswert?
• ▲
▼

Hallo, ich habe ein Tasmota RS485 Modbus ESP-01+ WLan WiFi Bridge Modul der Firma ei-ot.de gekauft. Ziel ist es, via Modbus die Heizungsdaten (Easyfire 1) auszulesen. Leider komme ich hier nicht wirklich zum Ziel, ich brauche (Eure) Hilfe. Das Modul arbeitet, aber es scheint keine Daten zu senden. Auch ein Tausch der beiden A-B Kabel brachte keinen Erfolg. Das Register-Schema habe ich, Auszug anbei. Meine Frage ist, was muss ich konkret tun, damit Daten von der Heizung auf der Konsole angezeigt werden.

Vielen Dank!

Angehängte Dateien:
#8046955
Lesenswert?
• ▲
▼

Bist du dir sicher, dass die Registeradressen stimmen? Typisches Problem: Software startet bei 1 mit dem Zählen, Modbus intern aber mit 0. Dann hängt es immer davon ab, wer die Tabelle geschrieben hat.

Hast du die richtige Unit-Adresse? Ich vermute einfach mal 1 bei einer Heizung.

Welchen Function Code hast du verwendet? Holding Register lesen wird FC3 gemeint sein.

Ich habe irgendeine Modbus-Tabelle zu einer KWB Easyfire gefunden, die 24576 als Adresse für Kessel AN/AUS angibt.

Hast du ein Laptop und RS485 Adapter so dass du erst einmal die grundsätzliche ModbusRTU Kommunikation testen kannst?

Wenn die Kommunikation Laptop <-> Heizung funktioniert, nutzt du den Laptop um die Heizung zu simulieren, also Laptop <-> ESP32.

Dann kann man genauer beurteilen, wo es zu Unstimmigkeiten kommt.

: Bearbeitet durch User
#8046962
Lesenswert?
• ▲
▼

Daniel F. schrieb:

Typisches Problem: Software startet bei 1 mit dem Zählen, Modbus intern aber mit 0.

Und nicht nur das; es gibt eines komplett schwachsinnige Konvention, daß die Registerart (Coil, Holding Register etc.) als 10000er-Offset auf die Registernummer addiert wird.

Coil 1 (Function Code 1, 5 und 10) Discrete Input 10001 (Function Code 2) Input Register 30001 (Function Code 4) Holding Register 40001 (Function Code 3, 5, 16, 22 und 23)

Alle Werte bedeuten auf dem Bus aber den gleichen Wert, nämlich 0.

Eine Erweiterung (aber nicht Verbesserung) des Schwachsinns ist die Gruppierung nicht in Zehntausendern, sondern in Hunderttausendern. Da die Registernummer als 16-Bit-Wert übertragen wird (d.h. nur den Wertebereich von 0 bis 65535 zulässt), ist auch das nicht hilfreich.

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.