Tasmota ModbusBridge - MaxTrautwein/TAR-Weiterentwicklung-IoT-Tor GitHub Wiki

Dies ist die Dokumentation der Befehle welche in https://github.com/MaxTrautwein/Tasmota/tree/modbus_bridge_b hinzugefügt wurden. Sowie Informationen wie diese verwendet werden können.

Modbus-Bridge konfigurieren

Vom Hauptmenü des Tasmota Webinterfaces wechseln sie in das Configuration Untermenü. Je nach ihrer Konfiguration können sie nun unter Configure Module oder Configure Template die Pins ihres ESP32 Moduls konfigurieren. Dort können sie nun die Pins wählen, welche Sie für die Kommunikation verwenden wollen.

Zu beachten ist, dass keine freie Wahl besteht, mehr Informationen unter: https://github.com/MaxTrautwein/TAR-Weiterentwicklung-IoT-Tor/wiki/ESP32-Modbus

In den Dropdowns können sie so den Tx Pin Modbus MQTT TX sowie den Rx Pin Modbus MQTT RX festlegen.

Nach dem speichern Steht Ihnen die Funktionalität zur Verfügung.

MQTT Kommunikation

Ist die oben beschriebene Konfiguration abgeschlossen, so stehen ihnen zwei neue Befehle zur Verfügung:

  • mqttbridgeconf→ Zum konfigurieren der Kommunikation
  • mqttbridge→ Zum Senden von Daten

Konfiguration

Das Kommando zum Konfigurieren lautet mqttbridgeconf

Als Parameter wird ein JSON Object erwartet.

  • mit Baud lässt sich die gewünschte Baudrate konfigurieren (Standard ist 9600 3)
  • mit Config kann die Konfiguration des Ports festgelegt werden (Standard ist 8N1 0)
  • mit Strict kann der Strict-Response Modus aktiviert und deaktiviert werden. (Standard ist ein 1)
{
    "Baud":3,
    "Config":0,
    "Strict":1
}

Es besteht die Möglichkeit entweder alle Werte gleichzeitig anzupassen oder nur Teile davon.

Baud Optionen

  • 0 1200
  • 1 2400
  • 2 4800
  • 3 9600
  • 4 14400
  • 5 19200

Config Optionen

  • 0 8N1
  • 1 8N2
  • 2 8E1
  • 3 8E2
  • 4 8O1
  • 5 8O2

Strict Optionen

Der Strict-Response Modus stellt sicher, dass erst dann eine neue Nachricht gesendet werden kann, wenn die zuletzt versendete Nachricht beantwortet wurde.

  • 0 Aus
  • 1 Ein

Tx Daten Senden

Zum Senden von Daten kann das Kommando mqttbridge verwendet werden.

Die Daten müssen folgendem Format übertragen werden:

{
    "Address":"0x<add>",
    "Function":"0x<func>",
    "Data":[<arrayOfBytes>]
}

<add> Enthält die Addresse
<func> Enthält den Funktionscode
<arrayOfBytes> Liste aller zu sendenden Daten

Beispiel

{
    "Address":"0x01",
    "Function":"0x06",
    "Data":["0x00","0x01","0x01","0x00"]
}

Rx Antworten Empfangen

Die Modbus-Bridge prüft ständig ob Daten über den Modbus empfangen wurden. Daraufhin werden diese automatisch über MQTT übermittelt.

Fehlerfreie Daten

Sollen Daten korrekt empfangen werden so werden sie im folgendem JSON Format übertragen:

{"Address": "0x<add>","Function": "0x<func>","Status":"<status>","Data": [<arrayOfBytes>],"LastRequest":"0x<crc>"}

<add> Enthält die Addresses
<func> Enthält den Funktionscode
<status> den EC
<arrayOfBytes> Ist eine Liste aller weiterer empfangener Bytes
<crc> enthält den CRC der zuletzt versendeten Nachricht

Fehlercodes

Derzeit (TasmotaModbus-1.2.0) bestehen die folgenden Fehlercodes:

  • (0) No error
  • (1) Illegal Function
  • (2) Illegal Data Address
  • (3) Illegal Data Value
  • (4) Slave Error
  • (5) Acknowledge but not finished (no error)
  • (6) Slave Busy
  • (7) Not enough data
  • (8) Memory Parity error
  • (9) crc error
  • (10) Gateway Path Unavailable
  • (11) Gateway Target device failed to respond

FAQ

An welche Topic müssen die Kommandos gesendet werden?

https://tasmota.github.io/docs/Commands/#with-mqtt

⚠️ **GitHub.com Fallback** ⚠️