tbnobody / OpenDTU

Software for ESP32 to talk to Hoymiles/TSUN/Solenso Inverters
GNU General Public License v2.0
1.82k stars 511 forks source link

OpenDTU reports Hoymiles HM400 as reachable although inverter is off #2419

Open mibcat opened 1 week ago

mibcat commented 1 week ago

What happened?

OpenDTU is sending solar/serial-number/status/reachable equal 1 each 10s although the inverter is not supplied via DC input. image

To Reproduce Bug

  1. turn off inverter
  2. start OpenDTU

Expected Behavior

If the inverter is not powered the reachable signal should be zero.

Install Method

Pre-Compiled binary from GitHub releases

What git-hash/version of OpenDTU?

3dc70ab

What firmware variant (PIO Environment) are you using?

generic_esp32

Relevant log/trace output

16:56:17.691 > All missing
16:56:17.691 > Nothing received, resend whole request
16:56:17.691 > TX ActivePowerControl Channel: 3 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:18.556 > Received MQTT message on topic: solar/112183819193/cmd/limit_nonpersistent_absolute
16:56:18.556 > Limit Non-Persistent: 0.0 W
16:56:19.694 > RX Period End
16:56:19.694 > All missing
16:56:19.694 > Nothing received, resend count exeeded
16:56:19.811 > TX ActivePowerControl Channel: 23 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:21.861 > RX Period End
16:56:21.861 > All missing
16:56:21.861 > Nothing received, resend whole request
16:56:21.861 > TX ActivePowerControl Channel: 40 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:23.574 > Received MQTT message on topic: solar/112183819193/cmd/limit_nonpersistent_absolute
16:56:23.574 > Limit Non-Persistent: 0.0 W
16:56:23.908 > RX Period End
16:56:23.908 > All missing
16:56:23.908 > Nothing received, resend whole request
16:56:23.908 > TX ActivePowerControl Channel: 61 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:25.955 > RX Period End
16:56:25.955 > All missing
16:56:25.955 > Nothing received, resend whole request
16:56:25.955 > TX ActivePowerControl Channel: 75 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:28.002 > RX Period End
16:56:28.002 > All missing
16:56:28.002 > Nothing received, resend whole request
16:56:28.002 > TX ActivePowerControl Channel: 3 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:28.595 > Received MQTT message on topic: solar/112183819193/cmd/limit_nonpersistent_absolute
16:56:28.595 > Limit Non-Persistent: 0.0 W
16:56:30.004 > RX Period End
16:56:30.004 > All missing
16:56:30.004 > Nothing received, resend count exeeded
16:56:30.153 > TX ActivePowerControl Channel: 23 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:32.203 > RX Period End
16:56:32.203 > All missing
16:56:32.203 > Nothing received, resend whole request
16:56:32.203 > TX ActivePowerControl Channel: 40 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7 
16:56:33.508 > Received MQTT message on topic: solar/112183819193/cmd/limit_nonpersistent_absolute
16:56:33.508 > Limit Non-Persistent: 0.0 W
16:56:34.249 > RX Period End
16:56:34.249 > All missing
16:56:34.249 > Nothing received, resend whole request
16:56:34.249 > TX ActivePowerControl Channel: 61 --> 51 83 81 91 93 80 13 56 88 81 0B 00 00 00 00 00 60 01 F7

Anything else?

This issue exists even if every OpenDTU relevant topics were deleted from the MQTT broker before OpenDTU is started.

some configurations which might be interesting:

image

image

image

Please confirm the following

tbnobody commented 1 week ago

try stopping your power control commands and let the queue be cleared.... does it work then?

mibcat commented 1 week ago

Thanks for the quick answer! Indeed - after not sending any command the state is now zero.

So it's not allowed to send command if the inverter is turned off?