klatremis / esphome-for-deye

Esphome component for Deye 3 phase inverters for Home Assistant
113 stars 30 forks source link

no response received #21

Open dj9717 opened 8 months ago

dj9717 commented 8 months ago

hi,

i have: WT32-ETH01 RS485 to TTL power supply deye SUN-10K-SG04LP3-EU

I connect: WT32 IO17 to TTL TX WT32 IO05 to TTL RX WT32 3v3 to TTL VCC WT32 GND to TTL GND RS485 A+ to deye ModBus RJ45 7 RS485 B+ to deye ModBus RJ45 8 RS485 GND to deye ModBus RJ45 6

I shorten the R0 for 120 Ω resistance between B+ and A+ on the RS485.

The WT32 is available ( via Webservice ), but I don't get answers from the deye sun-10k. i just get: [12:33:26][D][modbus_controller:043]: Modbus command to device=1 register=0x82 countdown=0 no response received - removed from send queue [12:33:27][D][modbus_controller:043]: Modbus command to device=1 register=0x8D countdown=0 no response received - removed from send queue [12:33:28][D][modbus_controller:043]: Modbus command to device=1 register=0x94 countdown=0 no response received - removed from send queue [12:33:30][D][modbus_controller:043]: Modbus command to device=1 register=0xA6 countdown=0 no response received - removed from send queue [12:33:31][D][modbus_controller:043]: Modbus command to device=1 register=0x154 countdown=0 no response received - removed from send queue [12:33:32][D][modbus_controller:043]: Modbus command to device=1 register=0x1F4 countdown=0 no response received - removed from send queue [12:33:34][D][modbus_controller:043]: Modbus command to device=1 register=0x204 countdown=0 no response received - removed from send queue [12:33:35][D][modbus_controller:043]: Modbus command to device=1 register=0x21D countdown=0 no response received - removed from send queue [12:33:36][D][modbus_controller:043]: Modbus command to device=1 register=0x227 countdown=0 no response received - removed from send queue [12:33:38][D][modbus_controller:043]: Modbus command to device=1 register=0x24A countdown=0 no response received - removed from send queue [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=108 count=2 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=145 count=2 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=548 count=1 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=590 count=2 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=625 count=1 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=638 count=1 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=653 count=1 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=655 count=1 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=672 count=2 [12:33:39][W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=676 count=4 [12:33:39][W][component:214]: Component modbus_controller took a long time for an operation (0.09 s). [12:33:39][W][component:215]: Components should block for at most 20-30ms.

and every now and then: [12:33:53][W][modbus:108]: Modbus CRC Check failed! C822!=FDFF

Does anyone of you have an idea what I'm doing wrong and can help me.

thanks

MyHekla commented 8 months ago

I don't think your power supply is powerfull enough.

dj9717 commented 8 months ago

I don't think your power supply is powerfull enough.

thanks for your support. I have now used this USB adapter for power supply. Unfortunately the behavior doesn't change. how much power is required for stable function ?

I also used port 14 as RX instead of port 05 because I received the warning: "WARNING GPIO5 is a strapping PIN and should be avoided". However, I don't know if that should have any effect.

What is also different here than described is that when I use the BMS port of the deye, only the TX LED of the RS485-TTL flashes evenly every second, but the RX LED of the RS485-TTL never flashes. If I use the Modbus port of the deye then the TX flashes again in time but also the RX flashes every now and then in short series. Unfortunately, I only see the unanswered messages in the WT32 log.

Alphaemef commented 7 months ago

The BMS port is as far as I can tell, only read access to the modbus registry address.

For safe measure, in your ESPhome configuration are you absolutely sure you have applied the correct Tx and Rx targets (the correct GPIOs?) On some TTLs the Rx and Tx have to be swapped. As in you keep your code, but just switch the wires to see if it changes anything.

dj9717 commented 7 months ago

The BMS port is as far as I can tell, only read access to the modbus registry address.

For safe measure, in your ESPhome configuration are you absolutely sure you have applied the correct Tx and Rx targets (the correct GPIOs?) On some TTLs the Rx and Tx have to be swapped. As in you keep your code, but just switch the wires to see if it changes anything.

yes, I have already swapped tx and rx. If I do this, the RX LED of the RS485-TTL flashes in time and no longer the TX LED. The TX LED then remains completely off. The ESP still doesn't receive any replies from the WR. Or maybe the inverter is the problem ? Is there a way to test it differently and as easily as possible ?

klatremis commented 7 months ago

The BMS port is as far as I can tell, only read access to the modbus registry address. For safe measure, in your ESPhome configuration are you absolutely sure you have applied the correct Tx and Rx targets (the correct GPIOs?) On some TTLs the Rx and Tx have to be swapped. As in you keep your code, but just switch the wires to see if it changes anything.

yes, I have already swapped tx and rx. If I do this, the RX LED of the RS485-TTL flashes in time and no longer the TX LED. The TX LED then remains completely off. The ESP still doesn't receive any replies from the WR. Or maybe the inverter is the problem ? Is there a way to test it differently and as easily as possible ?

I dont think its a inverter problem. I belive its a wiring issue.

  1. Make sure B go to B, A go to A, GND to GND on the between TTL board and inverters "modebus" port.
  2. Use the correct RX/TX pins, and swap rx/tx if it dosent respond correct.

It could also be that the ESP32 version you use is using the rx/tx for the lan port maybe?? Try another type of esp32 without LAN port.