nathanmarlor / foxess_modbus

FoxESS inverter integration. Connect directly to your FoxESS inverter (no cloud!) for real-time status and control.
MIT License
113 stars 16 forks source link

K series manager 1.33 upgrade breaks integration #678

Open williamjeccles opened 4 hours ago

williamjeccles commented 4 hours ago

KH inverters upgraded to manager 1.33 and now seeing the following error in HA:

Error connecting to inverter (friendly name: "KHM"). Error reading registers. Type: RegisterType.HOLDING; start: 31039; count: 10; slave: 247 from tcp://192.168.1.164:502: Exception Response(131, 3, IllegalAddress)

williamjeccles commented 3 hours ago

So @TonyM1958 confirmed that address 31039 is PV3 voltage, moving a solar string over to pv3 and I can confirm that the address is showing 0v in home assistant using tony's project so assume this manager update has broken pv3 in someway. Happy to test if someone can confirm how I can comment out the pv voltage registers and see if I get overcome the blocking faulty register?

williamjeccles commented 3 hours ago

Currently, the following are failing to respond and blocking the integration from loading cleanly.

Broken left / working right Pv3 & PV4 31039 - 39074 31040 - 39075 31041 - 39283 31042

rpower 31045 31046

EPSpower 31047 31048

Gridct 31049 - 39168 31050

ct2 31051 31052

loadpower 31053

With these addresses commented out the integration loads.

williamjeccles commented 3 hours ago

Ok so Tony pointed me to a new v2 address register, I've tested out the new address on the pv3 voltage address which is the first failing address and it's working. I'm going to test out updating them each with the new values but it looks like more of an improvement to the address consistency than bugs introduced at this stage.

image

canton7 commented 2 hours ago

Yay, I hate it when they break things. Looks like they're bringing it into line with the H3 Pro perhaps? That's the other inverter which uses 39074.

I think we're going to need to start selecting which registers to use based on the firmware version... We can't just keep breaking all KH users because one person upgrades. I'll try and find some time to implement something.

williamjeccles commented 2 hours ago

thanks @canton7, do you want me to commit a PR so we can offer a beta version for those who have upgraded while you work on a switch of some kind?

canton7 commented 2 hours ago

Sure, if you've got the time to update the register map, that would be helpful!

Can you do what we did for the KH, and at least keep the old register map around? (For the KH, we did that as KH_PR119).

williamjeccles commented 49 minutes ago

@canton7 versions are completely messed up also :(

image

I feel like this is going to need proper reengineering, maybe a switch in the config wizard or maybe we only support the latest firmware?

canton7 commented 43 minutes ago

🤦

TonyM1958 commented 21 minutes ago

Looks like the encoding of the versions has changed, it seems unlikely they got this wrong?

Previously, they have used decimal and then hex encoding. Don't think they expected to get to version 2.55. You may need to write out the values you read in binary to see if you can make any sense it.