NEWS
Tasmota ModBusBridge Testen?
-
Hi
habe für eine ModBus TCP Bridge zu MQTT heute zum ersten mal dazu Tasmota aufgsetzt und mit den entsprechenden Parametern kompiliert und auf einem ESP32 installiert.
Nun simuliere ich einen Modbus TCP Master auf meinem Windows Desktop:
und versuche Werte zB hier das erste Holding Register zu lesen.
Die Verbindung von Tasmota (Modbus Client) baut er (auch wenn nur kurzweilig) erfolgreich auf und meldet es per Mqtt:16:41:40.432 CMD: ModbusTCPConnect 502,192.168.0.50 16:41:40.433 SRC: WebConsole from 192.168.0.50 16:41:40.435 CMD: Grp 0, Cmd 'MODBUSTCPCONNECT', Idx 1, Len 16, Pld 502, Data '502,192.168.0.50' 16:41:40.439 TCP: MBS: MBRTCP Connecting to 192.168.0.50 on port 502 16:41:40.455 TCP: MBS: MBRTCP connected! 16:41:40.460 MQT: stat/tasmota_4A211C/RESULT = {"ModbusTCPConnect":"Done"}
Möchte ich aber Werte lesen, passiert nicht viel:
16:45:32.862 CMD: ModBusSend {"deviceaddress": 1, "functioncode": 3, "startaddress": 40001, "type":"uint16", "count":1} 16:45:32.863 SRC: WebConsole from 192.168.0.50 16:45:32.864 CMD: Grp 0, Cmd 'MODBUSSEND', Idx 1, Len 90, Pld -99, Data '{"deviceaddress": 1, "functioncode": 3, "startaddress": 40001, "type":"uint16", "count":1}' 16:45:32.878 MQT: stat/tasmota_4A211C/RESULT = {"ModbusSend":"Done"}
Es fehlen die gelesen Werte im Ergebnis wie zB
RESULT = {"ModbusReceived":{"DeviceAddress":1,"FunctionCode":3,"StartAddress":1,"Length":13,"Count":4,"Values":[65282,65028,65280,65024]}}
Was dann natürlich auch nicht per Mqtt im IObroker erscheint.
Seht ihr den Fehler? Egal was ich als Anfrage schicke und ohne Fehler versendet wird. Ich bekomme nie ein ModBusReceived zurück.
Thx!
-
Zur Info, ein Kommentar des Entwicklers gab Aufschluß. Für die ModBusBridge von Tasmota muß eine serielle Verbindung (zB zum RS485 Konverter) beteiligt sein. Ob die dann zu ModBus TCP oder Mqtt spricht ist beides möglich aber reine Lösungen über Ethernet wie mein Testsetup sind nicht vorgesehen.