Right… so some history here
There is another frame, 0x35E, which has the manufacturer name, but this frame wasn’t always there. Early Pylontech batteries didn’t have it. The only way to detect those, is to look for the PN in 0x359.
What is more, there are two other battery makers that use 359 as well, without the PN (Muratta and LG).
Then others copied the “pylontech protocol” exactly, and that means inverters that had support for those older Pylontech batteries started incorrectly detecting those batteries as Pylontech batteries. And sadly cannot stop doing so, otherwise support for older installations is lost.
That is why I ask people not to do it. If you’re not a Pylontech battery, don’t claim to be one (unless, as in your case, it’s a personal project and it is the only way to get it to work at all).
Further to that, I dislike the 0x359 for other reasons too. The Warnings (Protection) and Alarms are on that frame, but it is limited to an on/off bit. Some other batteries use 0x35A for this, and allocates two bits to each alarm/warning, which allows the battery to also communicate which warnings or alarms are supported. Much better.
I have other issues with the protocol as well, but that is not specific to any particular manufacturer. For example, they original protocol specified the maximum charge/discharge currents as a 16-bit SIGNED integer. Why, when the number will never be negative?
What is more, they provided for one decimal place, which allows you to specify charge current to the nearest 100mA, a feature absolutely nobody uses, and which limits the maximum charge/discharge current to 3276.7A. Sounds like a lot, but in the same manner that 640kb of RAM was a lot, this is no longer true.
Then we get to the SOC on 0x355, where a decimal place WOULD have been nice, and there is ample space for it in the data type… but none was provided. Also, if a decimal place was not envisioned, why would you allocate 16-bits for the SOC, if the maximum number is 100 (which fits in 8 bits)?
A perfect example of a slapdash protocol that is now the defacto standard