tbnobody / OpenDTU

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

HMS2000 Grid Profile - wrong display of RVHF #2021

Closed fred777 closed 3 weeks ago

fred777 commented 1 month ago

What happened?

For both of my HMS2000 with grid profile DE - DE_VDE4105_2018 the Frequency Watt (FW) / Recovery High Frequency (RVHF) parameter is displayed wrongly:

image

=> it should read 50.2Hz :-)

Raw grid profile:

03 00 20 01 00 0a 08 fc 07 30 00 1e 0b 3b 00 01 04 0b 00 1e 09 e2 10 00 13 88 12 8e 00 01 14 1e 00 01 20 00 00 01 30 03
02 58 0a c8 07 a3 13 92 12 8e 40 00 07 d0 00 10 50 08 00 01 13 9c 03 e8 00 10 01 f6 13 74 70 02 00 01 27 10 80 00 00 00
08 5b 01 2c 08 b7 09 41 09 9d 01 2c 90 00 00 00 ff a1 b0 00 00 00 01 f4 00 5f a0 02 00 00 00 00 d7 fb

In case you're wondering about the non-standard FW Droop Slope (Kpower_Freq) of 100%Pn/Hz instead of 40 - this is correct and on purpose. And it's only active for one of my HMS2000. The other one is using the original grid profile as provided by Hoymiles, see below

image

03 00 20 00 00 0a 08 fc 07 30 00 1e 0b 3b 00 01 04 0b 00 1e 09 e2 10 00 13 88 12 8e 00 01 14 1e 00 01 20 00 00 01 30 03
02 58 0a c8 07 a3 13 92 12 8e 40 00 07 d0 00 10 50 08 00 01 13 9c 01 90 00 10 01 f6 13 74 70 02 00 01 27 10 80 00 00 00
08 5b 01 2c 08 b7 09 41 09 9d 01 2c 90 00 00 00 ff a1 b0 00 00 00 01 f4 00 5f a0 02 00 00 00 00 71 df

To Reproduce Bug

display grid profile for HMS2000 and look at RVHF parameter

Expected Behavior

50.2Hz should be shown instead of 5.02Hz

Install Method

Pre-Compiled binary from GitHub

What git-hash/version of OpenDTU?

1f1227f

Relevant log/trace output

No response

Anything else?

No response

tbnobody commented 1 month ago

Hm in this case I would say we haven't understood the structure of the profile correctly.... The combination 50 08 in your profile means

0x08 of the table looks currently as follows: image

Whereby the last column is the divider. This works currently perfectly for the profiles "DE_VDE4105_2018" in https://github.com/tbnobody/OpenDTU/wiki/Grid-Profile-Parser and also other profiles which access the combination 50 08.

But if it's not working for your profile, there's still something wrong with the parser logic.

Maybe this is somehow related to #1606

fred777 commented 1 month ago

Yes, that's exactly what I was afraid of and I'm glad I bought the Hoymiles DTU to alter the grid profile :smiley:

I do not remember 100% if the RVHF value was shown correctly with the stock EU profile that also had FW enabled by default, but I think it was wrong too.

Here is some additional info about my hardware:

Produktionswoche    15
Modell  HMS-2000-4T
Ermittelte max. Leistung    2.000 W
Bootloader-Version  0.1.0
Firmware-Version    1.0.16
Firmware-Erstellungsdatum   2022-08-03 15:20:00
Hardware-Teilenummer    270692628
Hardware-Version    01.00

Strangely, in S-Miles Cloud, the Hardware Version is shown as H00.04.00

tbnobody commented 1 month ago

Based on what I've seen in #1606 the current dividor for the RVHF value should be 10 instead of 100. But lets wait for the confirmation.

And you are right. The version information are not yet decoded in all details. are you able to see the firmware version and bootloader version in the s-miles cloud as well? does this match the opendtu ouput?

fred777 commented 1 month ago

Sounds good!

And yes: at least firmware versions are identical. Bootloader version is not shown.

tbnobody commented 1 month ago

I know it's a little bit offtopic now but if you have time and like to help, could maybe have a look at the serial console while you reboot the ESP? You should see some requests and responses for DevInfoAll and DevInfoSimple It would be helpfull to get this responses in order to determine the correct hardware version. (should be inside in one of these two packages)

fred777 commented 1 month ago

No problem, there you go:

TX DevInfoAll 865.00 MHz --> 15 91 54 40 66 80 15 13 52 80 01 00 66 58 15 ED 00 00 00 00 00 00 00 00 F8 88 15
Interrupt received
RX 865.00 MHz --> 95 91 54 40 66 80 15 13 52 81 27 20 07 E6 03 23 05 F0 00 64 00 00 00 00 00 73 07 | -54 dBm
RX Period End
Success
TX DevInfoSimple 865.00 MHz --> 15 91 54 40 66 80 15 13 52 80 00 00 66 58 15 ED 00 00 00 00 00 00 00 00 39 88 D5
Interrupt received
RX 865.00 MHz --> 95 91 54 40 66 80 15 13 52 81 27 20 10 22 71 14 01 00 03 00 20 01 00 00 D0 A5 25 | -55 dBm
RX Period End
Success
TX DevInfoAll 865.00 MHz --> 15 91 43 73 54 80 15 13 52 80 01 00 66 58 15 F2 00 00 00 00 00 00 00 00 C8 04 A0
Interrupt received
RX 865.00 MHz --> 95 91 43 73 54 80 15 13 52 81 27 20 07 E6 03 23 05 F0 00 64 00 00 00 00 00 73 11 | -61 dBm
RX Period End
Success
TX DevInfoSimple 865.00 MHz --> 15 91 43 73 54 80 15 13 52 80 00 00 66 58 15 F2 00 00 00 00 00 00 00 00 09 04 60
Interrupt received
RX 865.00 MHz --> 95 91 43 73 54 80 15 13 52 81 27 20 10 22 71 14 01 00 03 00 20 00 00 00 10 F4 A3 | -61 dBm
RX Period End
Success
tbnobody commented 1 month ago

Thats how we are currently reading the values (based on your data) image

The purple marked cells are currently not used. Green and cyan are used and decoded (see green values below).

But based on this data I currently don't see anything that could represent a H00.04.00

fred777 commented 1 month ago

Hm... I also checked DTU Wlite-S direct Wifi connection via Android Installer app but it didn't have any additional information.

But if you google for "H00.04.00" you'll find a bunch of other HMS inverters and even HM series inverters. No idea what exact hardware part this refers to. The DSP platform?

But well - it's not mission critical to get this right I would say :smile: