{
 "manufacturer": "Intesis",
 "manufacturer_slug": "intesis",
 "model": "INBACMID001I100 (Midea VRF gateway)",
 "model_slug": "inbacmid001i100",
 "aliases": [
  "Midea BACnet gateway",
  "Midea VRF BACnet",
  "Midea BACnet points list",
  "Midea BACnet MS/TP",
  "Intesis Midea"
 ],
 "equipment_type": "Air conditioner BACnet gateway (1 indoor unit)",
 "applies_to": "Midea commercial and VRF indoor units (V4, V6 on XYE; V8 on D1D2).",
 "summary": "A one-unit Intesis BACnet MS/TP interface wired to the XYE (or D1D2 on V8) terminals of a Midea indoor unit, where it acts as a central controller. It exposes 30 fixed objects for on/off, mode, setpoint, fan, swing, room temperature, errors, occupancy logic and remote-controller lock, plus diagnostic objects for its DIP switches and the Midea protocol version.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": 246000,
 "access_inferred": false,
 "notes": [
  "The gateway needs an external 12 V DC/AC supply (min. 200 mA).",
  "Because it acts as the Midea central controller, a second central controller needs an XYE extension kit.",
  "AC_IU_address (MV 1) selects the indoor unit address: Present_Value 1-64 = address 0-63.",
  "Units shown as °C follow the °C/°F DIP switch.",
  "The cover date is printed as 3/2027 (v2.8)."
 ],
 "source": {
  "title": "Intesis BACnet MS/TP - Midea AC User Manual (INBACMID001I100)",
  "doc_number": null,
  "revision_date": "3/2027 v2.8 (as printed)",
  "url": "https://www.hms-networks.com/docs/default-source/products/intesis/manuals-and-guides---manuals/inbacmid001i100-user-manual-en-r1-0.pdf"
 },
 "integration": {
  "summary": "Connect the gateway to the indoor unit (XYE terminals on V4/V6, D1D2 on V8; 12 V external power), set the BACnet network on its DIP switches, then write the _command objects (on/off, mode, setpoint, fan) and read back the matching _status objects. One gateway serves one indoor unit (or one remote-controller group), so give each gateway its own MAC address and device instance.",
  "minimum_points": [
   {
    "ref": "BO 0",
    "name": "OnOff_command",
    "why": "Start/stop the indoor unit"
   },
   {
    "ref": "MO 0",
    "name": "Mode_command",
    "why": "Heat/cool/fan/dry/auto selection"
   },
   {
    "ref": "AO 0",
    "name": "SetPoint_command",
    "why": "Temperature setpoint from the BMS"
   },
   {
    "ref": "MO 1",
    "name": "FanSpeed_command",
    "why": "Fan speed selection"
   },
   {
    "ref": "BI 0",
    "name": "OnOff_status",
    "why": "Confirm the unit is running"
   },
   {
    "ref": "AI 0",
    "name": "SetPoint_status",
    "why": "Setpoint the unit is really using"
   },
   {
    "ref": "AI 1",
    "name": "RoomTemperature_status",
    "why": "Room/return temperature for trending"
   },
   {
    "ref": "BI 1",
    "name": "ErrorActive",
    "why": "Unit alarm"
   },
   {
    "ref": "AI 2",
    "name": "ErrorCode",
    "why": "Which fault is active"
   }
  ],
  "enable": "No enable point or BMS/local switch is documented; the gateway accepts BACnet commands as soon as it is communicating with the unit. A wired remote controller can still be used in parallel; MO 5 RemoteControllerProhibit_command locks it.",
  "heartbeat": null,
  "remote_sensors": "Write the BMS room temperature to AO 1 RoomTemperature_command and keep using AO 0 SetPoint_command for the user setpoint. The gateway then runs its Virtual Temperature function: it offsets the setpoint it sends to the unit by the difference between the BMS temperature and the unit's own return temperature, so AI 0 SetPoint_status can differ from what you wrote. Until a first value is written, AO 1 shows Reliability = UNRELIABLE_OTHER and the function stays off.",
  "setup": [
   "BACnet MS/TP only; the EIA-485 port has DIP switches for the 120-ohm terminator and bus biasing.",
   "MS/TP MAC address 0-127 is set on DIP switches; baud rate is DIP-selectable (9600-115200) with autobaud as the default, which matches the baud rate of another MS/TP device running a fixed rate.",
   "Default device instance 246000. In automatic mode the instance is 246000 + the MAC address; writing Object_Identifier from BACnet switches to manual mode until a factory reset.",
   "SW1 forces Midea V4 or V6 protocol (default auto-detect) and a low-power mode; MI 11 shows the detected setting."
  ],
  "gotchas": [
   "Every function has a separate _command (AO/BO/MO, commandable) and _status (AI/BI/MI) object; write the command, read the status.",
   "Temperatures follow the Celsius/Fahrenheit DIP switch; the BACnet Units property changes with it.",
   "The Occupancy MV and its four AVs drive built-in logic that sets mode, setpoint and on/off; leave Occupancy at 3 (Disabled) unless you use it, and any manual on/off, mode or setpoint change cancels it.",
   "A wired remote on X1X2 can stay connected as header or follower; use MO 5 RemoteControllerProhibit_command to lock it."
  ]
 },
 "points": [
  {
   "type": "BI",
   "instance": 0,
   "name": "OnOff_status",
   "description": "Unit on/off status",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BO",
   "instance": 0,
   "name": "OnOff_command",
   "description": "Start/stop command for the indoor unit",
   "units": "",
   "access": "C",
   "states": "0=Off, 1=On"
  },
  {
   "type": "MI",
   "instance": 0,
   "name": "Mode_status",
   "description": "Operating mode currently active",
   "units": "",
   "access": "R",
   "states": "1=Heat, 2=Cool, 3=Fan, 4=Dry, 5=Auto"
  },
  {
   "type": "MO",
   "instance": 0,
   "name": "Mode_command",
   "description": "Operating mode command",
   "units": "",
   "access": "C",
   "states": "1=Heat, 2=Cool, 3=Fan, 4=Dry, 5=Auto"
  },
  {
   "type": "AI",
   "instance": 0,
   "name": "SetPoint_status",
   "description": "Setpoint the indoor unit is actually using",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 0,
   "name": "SetPoint_command",
   "description": "Temperature setpoint command from the BMS",
   "units": "°C",
   "access": "C",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 1,
   "name": "FanSpeed_status",
   "description": "Current fan speed",
   "units": "",
   "access": "R",
   "states": "1=Auto, 2=Fan Speed 1, 3=Fan Speed 2, 4=Fan Speed 3"
  },
  {
   "type": "MO",
   "instance": 1,
   "name": "FanSpeed_command",
   "description": "Fan speed command",
   "units": "",
   "access": "C",
   "states": "1=Auto, 2=Fan Speed 1, 3=Fan Speed 2, 4=Fan Speed 3"
  },
  {
   "type": "MI",
   "instance": 2,
   "name": "AirDirectionUD_status",
   "description": "Vertical (up/down) vane position",
   "units": "",
   "access": "R",
   "states": "1=Stop, 2=Swing"
  },
  {
   "type": "MO",
   "instance": 2,
   "name": "AirDirectionUD_command",
   "description": "Vertical (up/down) vane command",
   "units": "",
   "access": "C",
   "states": "1=Stop, 2=Swing"
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "RoomTemperature_status",
   "description": "Room temperature used by the indoor unit",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "RoomTemperature_command",
   "description": "Room temperature written by the BMS (external sensor)",
   "units": "°C",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "ErrorCode",
   "description": "Active error code as a number",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 4,
   "name": "ErrorCodeM",
   "description": "Active error code as a multistate value",
   "units": "",
   "access": "R",
   "states": "1=-, 2=CommError, 3=E0, 4=E1, 5=E2, 6=E3, 7=E4, 8=E5, 9=E6, 10=E7, 11=E8, 12=E9, 13=EA, 14=EB, 15=EC, 16=ED, 17=EE, 18=EF, 19=P1, 20=P2, 21=P3, 22=P4, 23=P5, 24=P6, 25=P7, 26=P8, 27=P9, 28=PA, 29=PB, 30=PC, 31=PD, 32=PE, 33=PF"
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "ErrorActive",
   "description": "An error is active on the indoor unit",
   "units": "",
   "access": "R",
   "states": "0=No, 1=Error"
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "OnTimeCounter",
   "description": "Accumulated run time of the unit",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 0,
   "name": "Occupancy",
   "description": "Occupancy input for the built-in occupancy logic",
   "units": "",
   "access": "W",
   "states": "1=Occupied, 2=Unoccupied, 3=Disabled"
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "OccupiedCoolSetPoint",
   "description": "Cooling setpoint used while occupied",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "OccupiedHeatSetPoint",
   "description": "Heating setpoint used while occupied",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "UnoccupiedCoolSetPoint",
   "description": "Cooling setpoint used while unoccupied",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "UnoccupiedHeatSetPoint",
   "description": "Heating setpoint used while unoccupied",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 0,
   "name": "OccupancyContinuousCheck",
   "description": "Re-run occupancy logic on every temperature change",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "UnoccupiedDeadbandAction",
   "description": "Off or stay on when unoccupied inside the deadband",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=CurrentMode"
  },
  {
   "type": "MI",
   "instance": 6,
   "name": "RemoteControllerProhibit_status",
   "description": "Remote controller lock status",
   "units": "",
   "access": "R",
   "states": "1=Unlocked, 2=Locked"
  },
  {
   "type": "MO",
   "instance": 5,
   "name": "RemoteControllerProhibit_command",
   "description": "Remote controller lock command",
   "units": "",
   "access": "C",
   "states": "1=Unlocked, 2=Locked"
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "DIP_SW_S1_status",
   "description": "DIP switch SW1 position (decimal), read at boot",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "DIP_SW_S2_status",
   "description": "DIP switch SW2 position (decimal), read at boot",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "SerialNumber",
   "description": "Gateway serial number",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "AC_IU_address",
   "description": "The address of the indoor unit in the Midea system",
   "units": "",
   "access": "W",
   "states": "1=0, 2=1, 3=2, ..., 64=63"
  },
  {
   "type": "MI",
   "instance": 11,
   "name": "Midea_setting",
   "description": "Midea V4/V6 protocol detection setting",
   "units": "",
   "access": "R",
   "states": "1=Auto (detecting), 2=Auto V4, 3=Auto V6, 4=V4, 5=V6"
  }
 ],
 "covers_brands": [
  "Midea"
 ],
 "short_model": "Midea Gateway INBACMID001I100",
 "page": "https://easybacnet.com/bacnet-points-lists/intesis/inbacmid001i100",
 "note": "Provided as-is. Point availability varies by firmware and options; verify against the live device.",
 "disclaimer": "DISCLAIMER: reference only, provided AS IS with no warranty. May contain errors or be out of date. You must verify every point against the manufacturer's current documentation and the live device before use. easybacnet.com accepts no liability for its use and is not affiliated with the manufacturer. Terms: https://easybacnet.com/terms#content"
}
