standalone connection test script
Register map derived and validated from two real Intesis MAPS signals
exports (2-unit and 11-unit) taken from the physically installed gateway.
The 11-unit export overturned an earlier assumption from the config
screen's "Fixed" addressing label: register slots are dense in
config/commission order, not fixed-per-IU with gaps — so a unit's
register base must come from the imported map (or be entered manually),
never computed from room number or SuperLink IU address.
- drivers/mhi-profiles/intesis-mhi-modbus.js: register map + encodings for
the confirmed gateway (TCP, port 502, slave 1, single-slave mode),
documenting the corrected slot-vs-IU distinction
- lib/mhi-xlsx-import.js: parses an Intesis MAPS signals export into a
structured per-unit register map (0 unmatched rows against both real
samples) — this becomes the authoritative Phase 2 source of truth,
with the static profile only a pre-first-export fallback
- scripts/test-modbus-connection.py: dependency-free Modbus TCP test
(validated against a local loopback mock server) to resolve the one
remaining open question — the address-base convention — directly from
the Proxmox host, which already sits on the trusted admin VLAN
- docs/: both real MAPS export samples, preserved as provenance
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>