tbnobody / OpenDTU

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

Power OFF but still DC power shown for Module4 at ~270W (Total Power = 0W) ???? #1832

Open njordan77 opened 6 months ago

njordan77 commented 6 months ago

What happened?

I tried to limit the total power of an HMS1500, the result was that in the GUI it shows not the limited 70W but ~ 300-400W for total power. AND the Module4 DC power is at 270W....strange. the rest of the modules at ~15W. I turned off the inverter per GUI, and the result is TOTAL = ZERO WATT but still DC4 = ~270W.

Im using the latest version v24.2.16 on an ESP32.

Up to now all went very well, but now when limiting of turning OFF the inverter, the GUI displays strange information.

To Reproduce Bug

Reproduce is possible in my setup. HMS1500 + ESP32 on v24.2.16

Expected Behavior

Expected would be that DC source4 does also show similar values not 270W if the overall limit is at 60W

Install Method

Pre-Compiled binary from GitHub

What git-hash/version of OpenDTU?

v24.2.16

Relevant log/trace output

No response

Anything else?

No response

tbnobody commented 6 months ago

Would be nice if you share some screenshots of the settings you did and the result in the live view.

njordan77 commented 6 months ago

thanks for your reply. i had something prepared but its lost due do a hibernate crash. i will send as soon as we have sunlight again.

Its exremely strange. i make a power limitiation to e.g. 60W instead of 1500 that is the max. from SUN we would have ~900Wp possible. I can see DC1-DC3 arround 15W...which would work as expected (4x15W = 60W). But in the GUI i see DC4 showing 270W, which ends up in a total value of more than 300W. even though i limit to 60W.

to me it seems or i hope its a mistake in the value presentation of DC4. on the internet i have seen similar issues so i hope its something known. will deliver a screenshot as soon as possible tomorrow.

njordan77 commented 6 months ago

Here i have two screenshots within the same time +/-5mins.

At 100%, no limitation Clipboard0455

Turned OFF, and still i see lots of WATTS at DC4 Clipboard02444

Similar situation would be at e.g. 3% or 60W. I see DC1-DC3 ~15W each...but DC4 shows 250W....so Total Power shows ~300W

tbnobody commented 6 months ago

When the inverter is turned off, please provide a capture of the console output. (Can be found under "Info" --> "Console"). You should see something like this:

11:05:27.189 > TX RealTimeRunData Channel: 75 --> 15 71 60 35 46 80 12 23 04 80 0B 00 65 F5 6E E6 00 00 00 00 00 00 00 00 A6 BF 48 
11:05:27.290 > Interrupt received
11:05:27.395 > RX Channel: 23 --> 95 71 60 35 46 71 60 35 46 01 00 01 01 58 00 8D 00 87 01 E5 01 D0 00 0D 2A 00 D4 | -80 dBm
11:05:27.498 > Interrupt received
11:05:27.560 > RX Channel: 23 --> 95 71 60 35 46 71 60 35 46 02 00 0D 23 DE 00 66 00 62 01 56 00 84 00 02 01 C4 77 | -80 dBm
11:05:27.707 > Interrupt received
11:05:27.763 > RX Channel: 3 --> 95 71 60 35 46 71 60 35 46 03 00 06 00 0D 4F D4 00 00 14 01 00 60 00 02 08 DC A5 | -80 dBm
11:05:27.823 > Interrupt received
11:05:27.904 > RX Channel: 23 --> 95 71 60 35 46 71 60 35 46 84 13 88 05 39 00 C9 00 3B 03 DD 00 A1 00 03 AB FC 6F | -80 dBm
11:05:28.006 > RX Period End
11:05:28.006 > Success
njordan77 commented 6 months ago

Here is a trace of a set limit to 400W. it does not matter if its OFF or any limit. the values shown for DC4 do not apply to what sums up to 400W).

Websocket: [/livedata][25] disconnect 10:58:11.718 > RX Period End 10:58:11.718 > All missing 10:58:11.718 > Nothing received, resend whole request 10:58:11.718 > TX ActivePowerControl Channel: 40 --> 51 83 30 79 78 83 30 79 78 81 0B 00 0F A0 00 00 56 02 20 10:58:13.758 > RX Period End 10:58:13.758 > All missing 10:58:13.758 > Nothing received, resend whole request 10:58:13.758 > TX ActivePowerControl Channel: 61 --> 51 83 30 79 78 83 30 79 78 81 0B 00 0F A0 00 00 56 02 20 10:58:13.811 > Interrupt received 10:58:13.900 > RX Channel: 3 --> D1 83 30 79 78 83 30 79 78 81 00 00 0B 00 14 07 48 | -80 dBm 10:58:15.764 > RX Period End 10:58:15.764 > Success 10:58:26.507 > Fetch inverter: 116183307978 10:58:26.574 > TX RealTimeRunData Channel: 75 --> 15 83 30 79 78 83 30 79 78 80 0B 00 65 F6 BE C2 00 00 00 00 00 00 00 00 4A 1F 24 10:58:27.099 > RX Period End 10:58:27.099 > All missing 10:58:27.099 > Nothing received, resend whole request 10:58:27.099 > TX RealTimeRunData Channel: 3 --> 15 83 30 79 78 83 30 79 78 80 0B 00 65 F6 BE C2 00 00 00 00 00 00 00 00 4A 1F 24 10:58:27.647 > RX Period End 10:58:27.647 > All missing 10:58:27.647 > Nothing received, resend whole request 10:58:27.647 > TX RealTimeRunData Channel: 23 --> 15 83 30 79 78 83 30 79 78 80 0B 00 65 F6 BE C2 00 00 00 00 00 00 00 00 4A 1F 24 10:58:28.203 > RX Period End 10:58:28.203 > All missing 10:58:28.203 > Nothing received, resend whole request 10:58:28.203 > TX RealTimeRunData Channel: 40 --> 15 83 30 79 78 83 30 79 78 80 0B 00 65 F6 BE C2 00 00 00 00 00 00 00 00 4A 1F 24 10:58:28.758 > RX Period End 10:58:28.758 > All missing 10:58:28.758 > Nothing received, resend whole request 10:58:28.758 > TX RealTimeRunData Channel: 61 --> 15 83 30 79 78 83 30 79 78 80 0B 00 65 F6 BE C2 00 00 00 00 00 00 00 00 4A 1F 24 10:58:28.851 > Interrupt received 10:58:29.069 > RX Channel: 40 --> 95 83 30 79 78 83 30 79 78 01 00 01 01 32 01 4B 01 44 03 F5 03 E0 00 00 62 BE 60 | -80 dBm 10:58:29.260 > Interrupt received 10:58:29.311 > RX Channel: 3 --> 95 83 30 79 78 83 30 79 78 03 02 AC 00 00 5E 1C 00 00 51 2A 00 3E 00 62 09 30 64 | -80 dBm 10:58:29.481 > Interrupt received 10:58:29.771 > RX Channel: 3 --> 95 83 30 79 78 83 30 79 78 84 13 8C 0D 4F 00 D8 00 91 03 E6 00 D0 00 01 35 10 94 | -80 dBm 10:58:29.826 > RX Period End 10:58:29.826 > Middle missing 10:58:29.826 > Request retransmit: 2 10:58:29.826 > TX RequestFrame Channel: 75 --> 15 83 30 79 78 83 30 79 78 82 97 10:58:30.093 > RX Period End 10:58:30.093 > Middle missing 10:58:30.093 > Request retransmit: 2 10:58:30.093 > TX RequestFrame Channel: 3 --> 15 83 30 79 78 83 30 79 78 82 97 10:58:30.294 > RX Period End 10:58:30.294 > Middle missing 10:58:30.294 > Request retransmit: 2 10:58:30.294 > TX RequestFrame Channel: 23 --> 15 83 30 79 78 83 30 79 78 82 97 10:58:30.488 > RX Period End 10:58:30.488 > Middle missing 10:58:30.488 > Request retransmit: 2 10:58:30.488 > TX RequestFrame Channel: 40 --> 15 83 30 79 78 83 30 79 78 82 97 10:58:30.542 > RX Period End 10:58:30.542 > Middle missing 10:58:30.542 > Request retransmit: 2 10:58:30.542 > TX RequestFrame Channel: 61 --> 15 83 30 79 78 83 30 79 78 82 97 10:58:30.591 > Interrupt received 10:58:30.794 > RX Channel: 3 --> 95 83 30 79 78 83 30 79 78 02 00 00 62 A1 00 52 00 50 01 3F 01 19 00 D6 03 81 24 | -80 dBm 10:58:30.897 > RX Period End 10:58:30.897 > Success

tbnobody commented 6 months ago

Unfortnunatly there is no complete recieved data shown. If you look at the TX RealTimeRunData commands, there are only timeouts (either All missing or Middle missing), no Success. Can you maybe look for an example with received data?

And keep in mind, that if you set the limit to 400W, inputs 1+2 gets set to 200W and 3+4 get also set to 200W. (Thats hard coded in the inverters firmware)

njordan77 commented 6 months ago

i've seen some missing messages when preparing your console output. asked myself as i have a rather good line-of-sight to the inverter. increased now from high to MAX. and copied the TURN OFF messaging. strange as the inverter in the end seems to always get its information as after a few seconds its power limited or as now turned OFF.

Websocket: [/livedata][30] disconnect 13:21:35.440 > RX Period End 13:21:35.440 > All missing 13:21:35.440 > Nothing received, resend whole request 13:21:35.440 > TX PowerControl Channel: 3 --> 51 83 30 79 78 83 30 79 78 81 01 00 20 00 F1 13:21:37.431 > RX Period End 13:21:37.431 > All missing 13:21:37.431 > Nothing received, resend whole request 13:21:37.431 > TX PowerControl Channel: 23 --> 51 83 30 79 78 83 30 79 78 81 01 00 20 00 F1 13:21:37.514 > Interrupt received 13:21:37.589 > RX Channel: 61 --> D1 83 30 79 78 83 30 79 78 81 00 00 01 00 B4 01 E4 | -80 dBm 13:21:39.460 > RX Period End 13:21:39.460 > Success 13:21:39.460 > Fetch inverter: 116183307978 13:21:39.460 > Request SystemConfigPara 13:21:39.724 > TX RealTimeRunData Channel: 40 --> 15 83 30 79 78 83 30 79 78 80 0B 00 65 F6 E0 53 00 00 00 00 00 00 00 00 68 DC 0A 13:21:39.781 > Interrupt received 13:21:39.865 > RX Channel: 75 --> 95 83 30 79 78 83 30 79 78 02 00 00 63 78 01 24 01 27 01 68 00 00 02 6C 00 02 8A | -80 dBm 13:21:40.074 > Interrupt received 13:21:40.276 > RX Channel: 75 --> 95 83 30 79 78 83 30 79 78 03 08 BB 00 00 5E BB 00 00 52 23 00 DD 01 5B 09 20 1F | -80 dBm 13:21:40.480 > Interrupt received 13:21:40.556 > RX Channel: 61 --> 95 83 30 79 78 83 30 79 78 84 13 88 00 00 00 D4 00 00 00 00 01 53 00 05 AD FC 58 | -80 dBm 13:21:40.650 > RX Period End 13:21:40.650 > Middle missing 13:21:40.650 > Request retransmit: 1 13:21:40.650 > TX RequestFrame Channel: 61 --> 15 83 30 79 78 83 30 79 78 81 94 13:21:40.996 > Interrupt received 13:21:41.060 > RX Channel: 3 --> 95 83 30 79 78 83 30 79 78 01 00 01 01 5D 00 08 00 01 00 1D 00 02 00 00 63 90 2C | -80 dBm 13:21:41.320 > RX Period End 13:21:41.320 > Success 13:21:41.508 > TX SystemConfigPara Channel: 75 --> 15 83 30 79 78 83 30 79 78 80 05 00 65 F6 E0 53 00 00 00 00 00 00 00 00 A6 D3 C5 13:21:41.563 > RX Period End 13:21:41.563 > All missing 13:21:41.563 > Nothing received, resend whole request 13:21:41.563 > TX SystemConfigPara Channel: 3 --> 15 83 30 79 78 83 30 79 78 80 05 00 65 F6 E0 53 00 00 00 00 00 00 00 00 A6 D3 C5 13:21:41.706 > RX Period End 13:21:41.706 > All missing 13:21:41.706 > Nothing received, resend whole request 13:21:41.706 > TX SystemConfigPara Channel: 23 --> 15 83 30 79 78 83 30 79 78 80 05 00 65 F6 E0 53 00 00 00 00 00 00 00 00 A6 D3 C5 13:21:41.911 > Interrupt received 13:21:42.018 > RX Channel: 75 --> 95 83 30 79 78 83 30 79 78 81 00 01 01 0A 00 00 03 E8 FF FF FF FF 01 68 C1 5D 00 | -80 dBm 13:21:42.115 > RX Period End 13:21:42.115 > Success 13:22:09.434 > Fetch inverter: 116183307978 13:22:09.572 > TX RealTimeRunData Channel: 40 --> 15 83 30 79 78 83 30 79 78 80 0B 00 65 F6 E0 71 00 00 00 00 00 00 00 00 C9 5C 09 13:22:09.763 > Interrupt received 13:22:09.977 > RX Channel: 75 --> 95 83 30 79 78 83 30 79 78 02 00 00 63 78 01 24 01 27 01 69 00 00 02 7A 00 02 9D | -80 dBm 13:22:10.038 > Interrupt received 13:22:10.186 > RX Channel: 61 --> 95 83 30 79 78 83 30 79 78 84 13 86 00 00 00 D5 00 00 00 00 01 55 00 05 0A 0E 04 | -80 dBm 13:22:10.378 > RX Period End 13:22:10.378 > Middle missing 13:22:10.378 > Request retransmit: 1 13:22:10.378 > TX RequestFrame Channel: 61 --> 15 83 30 79 78 83 30 79 78 81 94 13:22:10.691 > Interrupt received 13:22:10.787 > RX Channel: 3 --> 95 83 30 79 78 83 30 79 78 01 00 01 01 5D 00 09 00 01 00 21 00 02 00 00 63 90 11 | -80 dBm 13:22:10.992 > RX Period End 13:22:10.992 > Middle missing 13:22:10.992 > Request retransmit: 3 13:22:10.992 > TX RequestFrame Channel: 75 --> 15 83 30 79 78 83 30 79 78 83 96 13:22:11.198 > RX Period End 13:22:11.198 > Middle missing 13:22:11.198 > Request retransmit: 3 13:22:11.198 > TX RequestFrame Channel: 3 --> 15 83 30 79 78 83 30 79 78 83 96 13:22:11.256 > RX Period End 13:22:11.256 > Middle missing 13:22:11.256 > Request retransmit: 3 13:22:11.256 > TX RequestFrame Channel: 23 --> 15 83 30 79 78 83 30 79 78 83 96 13:22:11.405 > Interrupt received 13:22:11.458 > RX Channel: 61 --> 95 83 30 79 78 83 30 79 78 03 08 F0 00 00 5E BB 00 00 52 23 00 DD 01 5B 09 21 55 | -80 dBm 13:22:11.607 > RX Period End 13:22:11.607 > Success 13:22:11.661 > TX AlarmData Channel: 40 --> 15 83 30 79 78 83 30 79 78 80 11 00 65 F6 E0 71 00 00 00 00 00 00 00 00 13 47 D2 13:22:11.815 > Interrupt received 13:22:12.019 > RX Channel: 75 --> 95 83 30 79 78 83 30 79 78 01 00 01 80 01 00 01 45 74 45 74 00 00 00 00 50 D3 96 | -80 dBm 13:22:12.222 > Interrupt received 13:22:12.436 > RX Channel: 75 --> 95 83 30 79 78 83 30 79 78 02 00 03 A6 03 00 08 00 00 00 00 20 D3 00 04 04 AC 66 | -80 dBm 13:22:12.482 > Interrupt received 13:22:12.530 > RX Channel: 61 --> 95 83 30 79 78 83 30 79 78 03 00 00 00 00 00 00 20 7C 00 05 05 08 00 00 00 00 C2 | -80 dBm 13:22:12.634 > Interrupt received 13:22:12.687 > RX Channel: 61 --> 95 83 30 79 78 83 30 79 78 84 00 00 3B A5 8F | -80 dBm 13:22:12.833 > RX Period End 13:22:12.833 > Success

njordan77 commented 6 months ago

now its turned off and i see this from the GUI. All DC1-3 are almost ZERO, total is zero as well, but DC4 has arround 2xxW Power.....

image

njordan77 commented 6 months ago

also strange: DC3 Power Issue. image

I only can imagine that this is realated to DC3/4 having similar but not 100% aligned modules...but my idea would be that its similar to shadding, it would simply perform only at a lower power but not ZERO. and this would/could not explain the 2xxW if all power is OFF.

njordan77 commented 6 months ago

have a look now, to complete the story. at 100% its all fine and almost balanced.....

image

tbnobody commented 6 months ago

Sorry, but there is no way from software side to change anything as the values are coming from the inverter itself.

njordan77 commented 6 months ago

thanks a lot for this effort and feedback.

but how can it be that the Total Power is zero if switched off and still DC_P4 is 2xxW. Or is this not a sum up of DC_P1-DC_P4 and comes directly from the inverter as well?

image

tbnobody commented 6 months ago

The total power is the sum of all AC power values... (In your case zero) And yes, the AC power is transmitted independent of the DC power of the strings. The total DC power in the inverter section is the sum of the strings (calculated by openDTU)

MetaChuh commented 6 months ago

@njordan77 i like the naming of your dc sources 😉 question: why are 3 called MoreEnergy#1-3, and the 4th one Risen#4 ?

to your specific issue reason: i only have a hm-1500 4 channel inverter connected right now, but if your issue is based on the general behaviour of 4-6 channel inverters, in conjunction with opendtu, we could test on this platform tomorrow, as this issue should be probably independent of the used wireless communication module, when either throttled to less than 10% or turned off.

greetings, metachuh