Rework the M5 design doc data model and add manual-testing surface: - Two-layer model: rename energy_meters/energy_readings -> generic modbus_device + modbus_reading; readings become a JSON payload blob instead of a wide fixed-column table (aggregation via SQLite json_extract, generated-column index as a future lever). - Protocol knowledge moves to read-only YAML profiles (data+functions, no OOP inheritance); deployment/config (friendly_name, unit_id, host) stays on the device row; multiple devices share one profile. - UUID = stable internal identity, also anchors HA discovery unique_id (Z2M rename model); device metadata for HA derived from the profile. - Naming scheme C: modbus_* / /api/modbus/devices at the data+API layer, 'Energy' as the first domain view in the frontend. - New task M5-T01B: ConfigPage Accordion sectioning (avoids a second in-page side nav conflicting with the T01 app sidebar). - Manual testing: read-only modbus_cli 'probe' subcommand (FC03/04 only, no register writes); mqtt/test now publishes a test message viewable in MQTT Explorer; no MQTT CLI (manual verification via UI + HA).