{"route":"/skills/modbus/remap-addresses","title":"Remap Addresses","tab":"skills/modbus/remap-addresses.md","description":"Convert a complete map between zero-based offsets and 40001-style register numbers, then return the converted map when it is safe.","updatedAt":"2026-08-28","enabled":true,"url":"https://studioseventeen.io/skills/modbus/remap-addresses","markdown":"# Remap Addresses\n\nREAD-ONLY\n\nConvert a complete map between zero-based offsets and 40001-style register numbers, then return the converted map when it is safe.\n\n## What you get\n\nIt writes one JSON result with every old and new address. Each converted point keeps `protocol_offset` as the zero-based value used in the Modbus request and `display_address` as its 40001-style reference. `source_address` contains the output notation you selected. When every address converts without a collision, the result contains the complete converted map for the next check. The input map stays unchanged.\n\n## How it runs\n\n**Converts the full map before linting.** You state the current and required address conventions. The script converts the full map, refreshes each stored address representation, and checks for invalid values and collisions. Converting to protocol offsets does not replace the 40001-style display address with an offset. A clean result includes the converted points and goes to $check-map. A held result does not publish converted points.\n\n## Example request\n\n```text\n$remap-addresses\n\nThis map uses 40001-style holding-register numbers, but the target system expects zero-based offsets. Convert the addresses in `reviewed-map.json` and flag any duplicates or overlaps.\n```\n\n## Safety\n\nNo writes. No broadcasts. No discovery scans. No polls without a defined limit. Unknown values stay blank and remain visible for review.\n\n## Source\n\n- [Canonical SKILL.md](https://github.com/studioxvii/modbus-skills/blob/v0.2.2/plugins/modbus-skills/skills/remap-addresses/SKILL.md)\n- [Modbus Skills 0.2.2 release](https://github.com/studioxvii/modbus-skills/releases/tag/v0.2.2)\n- [All Modbus Skills](/skills/modbus.md)\n"}