- writable_registers.py: shared whitelist, ranges and defaults (230: 0-115 A,
293: 0-6500 W; defaults 43 and 4500) with strict validate_write()
- app.py: POST /api/registers validates everything before writing, writes
under the inverter lock, reads each register back to verify; also reads
register 230 for display
- index.html: Settings section with per-register Set, Default button,
client-side digit/range checks and a confirm dialog
- read_registers.py: use the shared limits; README documents the feature
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>