{
 "manufacturer": "Intesis (HMS Networks)",
 "manufacturer_slug": "intesis",
 "model": "INMBSPAN001R000 Panasonic AC to Modbus RTU gateway",
 "model_slug": "inmbspan001r000",
 "short_model": "INMBSPAN001R000 Panasonic",
 "aliases": [
  "INMBSPAN001R000",
  "PA-RC2-MBS-1",
  "Intesis Panasonic Modbus",
  "Intesis Sanyo Modbus"
 ],
 "equipment_type": "VRF / split AC gateway",
 "applies_to": "Panasonic / Sanyo ECOi and PACi indoor units (one, or up to 16 controlled together as one) on the R1R2 remote-controller bus, user manual v2.8 (09/2025).",
 "summary": "Modbus RTU server that sits on the Panasonic/Sanyo R1R2 remote-controller bus of an ECOi or PACi indoor unit. Holding registers cover on/off, mode, fan, vane, setpoint and limits, room and return temperatures, alarm and error code, filter sign, window-contact logic, outdoor demand limiting and the master/slave pair used for back-up and rotation.",
 "transport": [
  "RTU"
 ],
 "defaults": {
  "unit_id": 1,
  "baud": 9600,
  "parity": "None",
  "data_bits": 8,
  "stop_bits": 2,
  "tcp_port": null
 },
 "addressing": {
  "convention": "0-based",
  "note": "Tables give a 'protocol address' (base 0) and a 'PLC address' (base 1); the protocol address is the wire address and is used for 'documented'."
 },
 "default_word_order": null,
 "firmware": null,
 "source": {
  "title": "Intesis INMBSPAN001R000 Modbus RTU (EIA-485) Interface for Panasonic and Sanyo air conditioners - User Manual",
  "doc_number": "User Manual v2.8 EN",
  "revision_date": "2025-09",
  "url": "https://www.hms-networks.com/docs/default-source/products/intesis/manuals-and-guides---manuals/user-manual-inmbspan001r000.pdf",
  "pages": "pp. 8-12 (registers), pp. 12-13 (temperature notes, outdoor demand), pp. 14-16 (DIP switches), p. 17 (functions)"
 },
 "notes": [
  "The manual declares every register a 16-bit unsigned holding register; the temperature ranges listed never go below zero, so temperatures are UINT16. The 'no value' marker the manual writes as -32768 is raw 0x8000 (32768) and is listed as an enum entry.",
  "Temperature registers depend on the DIP SW4 setting: x1 °C, x10 °C (decidegrees) or °F (no °F x10). The register-table footnote calls x10 the default, but the DIP-switch table and the quick-start page (all other switches off) give x1 °C as the factory setting, so scale 1 / °C is used. Check the switch on site: if x10 is set use scale 0.1; if °F is set the values are whole °F.",
  "The manual notes temperatures carry 0.5 °C resolution, which only shows when the x10 setting is used.",
  "Register 5 (temperature reference) is marked R/W in the register table but described as read-only in the temperature section; it is listed as read-only here.",
  "Left out: outdoor demand rate max/min (registers 83/84), because the manual only says they are 'portions of 100%' without a usable scale; machine threshold and custom setpoint-limit registers 1151-1156, because the manual gives their defaults in °C/°F but does not say whether they follow the SW4 x1/x10 setting.",
  "Error code list (Panasonic codes) not reproduced; see manual section 7."
 ],
 "registers": [
  {
   "table": "holding_register",
   "address": 0,
   "documented": "0",
   "name": "AC unit On/Off",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Off",
    "1": "On"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1,
   "documented": "1",
   "name": "AC unit mode",
   "description": "Available modes depend on the indoor unit.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Auto",
    "1": "Heat",
    "2": "Dry",
    "3": "Fan",
    "4": "Cool"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 2,
   "documented": "2",
   "name": "AC unit fan speed",
   "description": "Available speeds depend on the indoor unit.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Auto",
    "1": "Low",
    "2": "Mid",
    "3": "High"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 3,
   "documented": "3",
   "name": "AC unit vane position",
   "description": "Availability depends on the indoor unit.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Auto",
    "1": "POS1 (Horizontal)",
    "2": "POS2 (Horizontal)",
    "3": "POS3 (Medium)",
    "4": "POS4 (Vertical)",
    "5": "POS5 (Vertical)",
    "10": "Swing"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4,
   "documented": "4",
   "name": "AC unit temperature setpoint",
   "description": "Setpoint 16..32 °C (61..90 °F). SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "RW",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5,
   "documented": "5",
   "name": "AC unit temperature reference",
   "description": "Control temperature; mirrors reg 22 when valid. SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / invalid sensor value (0x8000)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6,
   "documented": "6",
   "name": "Window contact",
   "description": "Virtual window contact written from Modbus.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Closed",
    "1": "Open"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 7,
   "documented": "7",
   "name": "Gateway disablement",
   "description": "Stops the gateway passing commands; stored in NVM.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "INMBSPAN001R000 enabled",
    "1": "INMBSPAN001R000 disabled"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 8,
   "documented": "8",
   "name": "AC remote control disablement",
   "description": "Blocks the manufacturer's wired remote; stored in NVM.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Remote control enabled",
    "1": "Remote control disabled"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 9,
   "documented": "9",
   "name": "AC unit operation time",
   "description": "Hours the unit has been on.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "h",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 10,
   "documented": "10",
   "name": "AC unit alarm status",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No alarm condition",
    "1": "Alarm condition"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 11,
   "documented": "11",
   "name": "Error code",
   "description": "Panasonic error (manual section 7); 65535 = communication error.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No error active",
    "65535": "Error in communication between the gateway and the AC unit"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 13,
   "documented": "13",
   "name": "Open window switch-off timeout",
   "description": "Countdown after window opens before switch-off (0..30, default 30).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "min",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 14,
   "documented": "14",
   "name": "Modbus RTU baud rate",
   "description": "Baud rate in use (set on DIP switches).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 15,
   "documented": "15",
   "name": "Modbus slave address",
   "description": "Range 1..63.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 21,
   "documented": "21",
   "name": "Max number of fan speeds",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 22,
   "documented": "22",
   "name": "External ambient temperature (Modbus)",
   "description": "Room temperature written from a Modbus-side sensor. SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "RW",
   "values": {
    "32768": "Initialisation value, no external sensor value (0x8000)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 23,
   "documented": "23",
   "name": "AC setpoint temperature",
   "description": "Setpoint currently applied in the indoor unit. SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 24,
   "documented": "24",
   "name": "Current AC max setpoint",
   "description": "Upper setpoint limit reported by the unit. SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 25,
   "documented": "25",
   "name": "Current AC min setpoint",
   "description": "Lower setpoint limit reported by the unit. SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 31,
   "documented": "31",
   "name": "Window contact status (feedback)",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active (window open)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 37,
   "documented": "37",
   "name": "Auto mode",
   "description": "Mode reported for Auto operation; same value list as register 1.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Auto",
    "1": "Heat",
    "2": "Dry",
    "3": "Fan",
    "4": "Cool"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 40,
   "documented": "40",
   "name": "Window contact On/Off disablement",
   "description": "Whether the open window is currently blocking On/Off.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Window contact not disabling On/Off",
    "1": "Window contact disabling On/Off"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 43,
   "documented": "43",
   "name": "Filter reset",
   "description": "Write 1 to reset the filter sign.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": {
    "1": "Reset"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 44,
   "documented": "44",
   "name": "Filter status",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Off",
    "1": "Lit"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 48,
   "documented": "48",
   "name": "Switch value",
   "description": "Current DIP switch settings.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 49,
   "documented": "49",
   "name": "Device ID",
   "description": "Reads 0x1500.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50,
   "documented": "50",
   "name": "Software version",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 65,
   "documented": "65",
   "name": "Input reference temperature (feedback)",
   "description": "Reference temperature in use. SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 66,
   "documented": "66",
   "name": "Return path temperature",
   "description": "Indoor unit return-air sensor. SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 67,
   "documented": "67",
   "name": "Number of indoor units connected",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 81,
   "documented": "81",
   "name": "Error address",
   "description": "Indoor unit number reporting the error.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 82,
   "documented": "82",
   "name": "Outdoor demand rate",
   "description": "Outdoor demand limit; 40..150 is the operating range in amps.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "A",
   "access": "RW",
   "values": {
    "0": "Thermo Off",
    "255": "No limit (normal operation)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 97,
   "documented": "97",
   "name": "Block periodic sendings",
   "description": "1 = only forward Modbus writes that change the value (FW 2.3+).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Non-blocked",
    "1": "Blocked"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 99,
   "documented": "99",
   "name": "Reset",
   "description": "Write 1 to restart the gateway.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": {
    "1": "Reset"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1150,
   "documented": "1150",
   "name": "Machine mode",
   "description": "Selects auto-changeover or limited-setpoint behaviour.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Normal",
    "1": "Autochangeover",
    "2": "Limited setpoint"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4000,
   "documented": "4000",
   "name": "Indoor unit master address",
   "description": "Back-up/rotation pair: master indoor unit address.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4001,
   "documented": "4001",
   "name": "Indoor unit master force thermo off",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit",
    "1": "Thermo forced off"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4002,
   "documented": "4002",
   "name": "Indoor unit master error code",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No error active",
    "65535": "Communication error"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4003,
   "documented": "4003",
   "name": "Indoor unit master setpoint",
   "description": "SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4004,
   "documented": "4004",
   "name": "Indoor unit master room temperature",
   "description": "SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4010,
   "documented": "4010",
   "name": "Indoor unit slave address",
   "description": "Back-up/rotation pair: slave indoor unit address.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4011,
   "documented": "4011",
   "name": "Indoor unit slave force thermo off",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit",
    "1": "Thermo forced off"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4012,
   "documented": "4012",
   "name": "Indoor unit slave error code",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No error active",
    "65535": "Communication error"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4013,
   "documented": "4013",
   "name": "Indoor unit slave setpoint",
   "description": "SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4014,
   "documented": "4014",
   "name": "Indoor unit slave room temperature",
   "description": "SW4 x1 °C assumed (x10: 0.1, or °F).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": {
    "32768": "Initialisation value / no value (0x8000; manual writes -32768)"
   },
   "bits": null,
   "offset": 0
  }
 ],
 "integration": {
  "summary": "Wire the gateway to R1R2, check SW3/SW4 for address 1 and 9600 baud, power-cycle, then poll holding registers 0-11 with function 03 and write commands one register at a time with function 06.",
  "minimum_registers": [
   {
    "table": "holding_register",
    "address": 0,
    "why": "On/off"
   },
   {
    "table": "holding_register",
    "address": 1,
    "why": "Mode"
   },
   {
    "table": "holding_register",
    "address": 2,
    "why": "Fan speed"
   },
   {
    "table": "holding_register",
    "address": 4,
    "why": "Setpoint"
   },
   {
    "table": "holding_register",
    "address": 5,
    "why": "Room / control temperature"
   },
   {
    "table": "holding_register",
    "address": 10,
    "why": "Alarm flag"
   },
   {
    "table": "holding_register",
    "address": 11,
    "why": "Error code"
   }
  ],
  "enable": "No enable step; register 7 (gateway disablement) must be 0 for commands to reach the unit. The outdoor demand rate feature is switched on with DIP SW1.",
  "watchdog": null,
  "quirks": [
   "Temperature scale depends on DIP SW4 and the manual is inconsistent about the factory default.",
   "8-N-2 by default; 8-N-1 is auto-detected.",
   "Function 16 is accepted only with a quantity of one register; functions 3 and 4 both read the same holding registers.",
   "Master/slave registers 4000-4014 only mean something when two indoor units are paired for Panasonic back-up / rotation."
  ],
  "setup": [
   "SW3: slave address; SW3/SW4: baud (9600 default).",
   "SW4: x1/x10, °C/°F and 120 Ω termination.",
   "DIP changes need a power cycle. R1R2 bus max 500 m, not polarity sensitive; EIA-485 max 1,200 m.",
   "Fail-safe biasing must come from the Modbus master."
  ],
  "gotchas": [
   "The gateway only answers once it is connected to a powered indoor unit.",
   "The manual warns that a Panasonic wired remote on the same R1R2 bus can make communication drop; avoid more than one remote on the bus."
  ]
 },
 "page": "https://easymodbus.com/modbus-register-maps/intesis/inmbspan001r000",
 "address_note": "address = 0-based Modbus wire (PDU) address; documented = as printed in the source.",
 "note": "Re-typed from the manufacturer's public documentation (see source) and verified against it. Registers vary by firmware and options; verify against the live device before writing."
}
