Replies: 1 comment 1 reply
-
It would be easier to help you on discord. First, add the |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi there,
For a while now, I've been struggling to set up Modbus RTU on ESPHome (ESP8266). I need this for communication with a reactive power compensator and to read basic information such as energy consumption, power, voltage, etc. The compensator in question is the Sinexcel SVG30, which has Modbus communication fairly well documented.
Sending frames through the terminal using a USB<>RS485 converter works without any issues. I send the frame 0104007600029011, and in response, I receive 010404437457A61050. The query format is 01-address 04-read 0076-register 0002-data size 9011-CRC. The response format differs slightly: 01-address 04-read 04-data size 437457A6-float data (244.34 V) 1050-CRC.
However, things are not as smooth with ESPHome. While monitoring through the USB<>RS485 adapter, I can see that ESPHome sends the frame correctly and the compensator responds. However, ESPHome logs errors such as:
[D][modbus_controller:029]: Modbus command to device=1 register=0x76 countdown=0 no response received - removed from send queue
and many more, almost for each byte...
[W][modbus:108]: Modbus CRC Check failed! FFFF!=BF9F
I suspect the issue might be that when asking for two bytes of data, the compensator returns four.
Here's the relevant YAML configuration:
I would appreciate any suggestions you might have.
Beta Was this translation helpful? Give feedback.
All reactions