{
 "manufacturer": "Regin",
 "manufacturer_slug": "regin",
 "model": "Regio Midi room controllers (RC-CDFO, RC-CDTO, RC-C3DOC, RC-C3DFOC, RCC-C3DOCS)",
 "model_slug": "regio-midi-rc-c",
 "short_model": "Regio Midi RC-C",
 "aliases": [
  "Regio Midi",
  "RC-CDFO",
  "RC-CDTO",
  "RC-C3DOC",
  "RC-C3DFOC",
  "RCC-C3DOCS",
  "RC-C"
 ],
 "equipment_type": "Room controller (fan coil, radiator, VAV)",
 "applies_to": "Regin Regio Midi pre-programmed room controllers with display, which are the Midi models that can talk BACnet MS/TP.",
 "summary": "Regio Midi is a wall-mounted room controller for heating, cooling, change-over, fan coil and VAV applications. The RS485 port runs EXOline, Modbus or BACnet MS/TP; BACnet is only offered on the display models and is switched on from the parameter menu or Application tool. All Midi models share one fixed object list, so objects for hardware a model lacks (CO2, fan, VAV, extra zone) simply stay unused.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "1.7 or later (AV 35, AV 36 and AV 42 need 1.7-1-04 or newer)",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Object list from Appendix C of the Regio Midi manual (rev F), pages 107-111. Older firmware (1.6 and earlier) uses a different list; Regin points to the 1.6 variable list for those.",
  "The manual prints 16 placeholder objects named AV02, AV18-AV21, AV24, AV25, AV32-AV34, BI06, BV03-BV06 and MSV6 as 'Not used'; they are left out here.",
  "Value objects are not commandable (no priority array); a write simply sets the value.",
  "AV 38 (CO2 high alarm limit) is printed with unit °C in the manual; it is a CO2 level, shown here as ppm.",
  "The 0/1/2 state numbering on MV 7-9 is as printed; the other multistate objects start at 1."
 ],
 "source": {
  "title": "Regio Midi manual",
  "doc_number": "MA30008",
  "revision_date": "Rev. F, 2026-06-29",
  "url": "https://www.regincontrols.com/globalassets/pimmediafiles/documents/regio_midi_ma30008_en.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "RC_Actual_R.RegioRoomTemp",
   "description": "Room temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "RC_Actual_R.RegioAIChangeOver",
   "description": "Change over temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "RC_Actual_R.RegioAnaIn1",
   "description": "Value of analogue input 1",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "RC_Actual_R.RegioUAnaIn1",
   "description": "Value of universal analogue input 1",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "RC_Actual_R.RegioRoomCO2",
   "description": "CO2 input value",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "RC_Actual_R.RegioSupplyAirTemp",
   "description": "Supply air temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "RC_Actual_R.RegioRoomFlow",
   "description": "Air flow",
   "units": "l/s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "RC_Actual_R.RegioVoltInput",
   "description": "Value on analogue input 2",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "RC_Actual_R.Regio2ndZoneTemperature",
   "description": "Zone 2 Temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "RC_Actual_R.RegioUAnaOut1",
   "description": "Value of universal analogue output 1",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "RC_Actual_R.RegioUAnaOut2",
   "description": "Value of universal analogue output 2",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "RC_Actual_R.RegioPIDSetP",
   "description": "Controller setpoint",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "RC_Actual_R.RegioPIDOutput",
   "description": "Controller output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "RC_Actual_R.RegioHeatOutput",
   "description": "Heat output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "RC_Actual_R.RegioCoolOutput",
   "description": "Cool output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "RC_Setp_R.RegioOccSetPHeat",
   "description": "Room base setpoint heating",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "RC_Setp_R.RegioOccSetPCool",
   "description": "Room base setpoint cooling",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "RC_Setp_R.RegioUnOccSetPHeat",
   "description": "Room heat setpoint in unoccupied mode",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "RC_Setp_R.RegioUnOccSetPCool",
   "description": "Room cool setpoint in unoccupied mode",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "RC_Setp_R.RegioFrostSetP",
   "description": "Frost protection setpoint",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "RC_Setp_R.RegioSetPOffset",
   "description": "Setpoint adjustment",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "RC_Setp_R.RegioHeatOutputManual",
   "description": "Manual value heating output",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "RC_Setp_R.RegioCoolOutputManual",
   "description": "Manual value cooling output",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "RC_Setp_R.RegioRoomTempRemote",
   "description": "Remote control of room temperature",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "RC_Setp_R.RegioStandbySetPDeadBand",
   "description": "Deadband in Standby mode",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "RC_Setp_R.RegioCVDeadband",
   "description": "Deadband control valve",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "RC_Setp_R.RegioFlow_0V",
   "description": "Flow at 0 V input signal at AI2",
   "units": "l/s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "RC_Setp_R.RegioFlow_10V",
   "description": "Flow at 10 V input signal at AI2",
   "units": "l/s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "RC_Setp_R.RegioMinHeat",
   "description": "Minimum heat output at Heat control",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "RC_Setp_R.RegioMinECFanSpeed",
   "description": "Minimum speed for the EC fan",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "RC_Setp_R.RegioMaxECFanSpeed",
   "description": "Maximum speed for the EC fan",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "RC_Actual_R.RegioUAnaOut3",
   "description": "Value on universal analogue output 3",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "RC_Actual_R.RegioUO3Output",
   "description": "UO3 output, 0-100 %",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "RC_Actual_R.RegioPID2Setp",
   "description": "Calculated supply air setpoint",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "CO2LimitLow",
   "description": "CO2 level where the damper starts to open (fw 1.7-1-04+)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "CO2LimitHigh",
   "description": "CO2 level where the damper is fully open (fw 1.7-1-04+)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "RC_Setp_R.Regio2ndZoneSetpoint",
   "description": "Room setpoint for Extra zone",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "RC_Setp_R.RegioRoomCO2HighLimit",
   "description": "CO2 high alarm limit",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "RC_Setp_R.RegioHeat2OutputManual",
   "description": "Manual value heat output 2",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "RC_Setp_R.RegioCool2OutputManual",
   "description": "Manual value cool output 2",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "RC_Setp_R.RegioVAV2OutputManual",
   "description": "Manual value vav output 2",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "RC_Setp_R.RegioUo3OutputManual",
   "description": "Manual value for the VAV output (fw 1.7-1-04+)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 0,
   "name": "RC_Actual_L.RegioDIOpenWindow",
   "description": "Indicate open window",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "RC_Actual_L.RegioDICondenseAlarm",
   "description": "Indicate condense alarm from digital input",
   "units": "",
   "access": "R",
   "states": "YES/NO"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "RC_Actual_L.RegioDIPresences",
   "description": "Indicate presence from digital input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "RC_Actual_L.RegioDIChangeOver",
   "description": "Indicate change over from digital input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "RC_Actual_L.RegioRoomTempHighTempAlarm",
   "description": "Room high temperature alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "RC_Actual_L.RegioRoomTempLowTempAlarm",
   "description": "Room low temperature alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "RC_Actual_L.RegioDIindacation",
   "description": "Run indication when DI2 is configured for it",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 8,
   "name": "RC_Actual_L.RegioRoomCO2HighAlarm",
   "description": "High CO2 alarm (clears when CO2 drops below the limit)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 0,
   "name": "RC_Actual_L.RegioForcedVentilation",
   "description": "Indicate forced ventilation",
   "units": "",
   "access": "R",
   "states": "ON/OFF"
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "RC_Actual_L.RegioCVHeatPulsProp",
   "description": "Indicate pulse prop heating",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "RC_Actual_L.RegioCVCoolPulsProp",
   "description": "Indicate pulse prop cooling",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "RC_Actual_L.RegioChangeOverState",
   "description": "Change-over state from digital or analogue input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "RC_Actual_L.RegioRoomTempSensorAlarm",
   "description": "Indicate sensor alarm on room sensor",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "RC_Setp_L.RegioBypass",
   "description": "Force Bypass mode; returns after the Bypass time (default 120 min)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "RC_Setp_L.RegioShutDown",
   "description": "Force the unit in ShutDown state",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "RC_Setp_L.RegioComFactoryDefaults",
   "description": "Resets communication settings to default values",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "RC_Setp_L.RegioBlockConfig",
   "description": "Block the configuration menu on the controller buttons",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "RC_Setp_L.RegioChangeOverAdvanced",
   "description": "Use advanced analog change-over function",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "LO",
   "instance": 0,
   "name": "Regulator",
   "description": "Room temperature control loop",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 0,
   "name": "RC_Actual_X.RegioFanSwitch",
   "description": "Fan switch state",
   "units": "",
   "access": "R",
   "states": "1=OFF, 2=LOW, 3=MEDIUM, 4=HIGH, 5=AUTO"
  },
  {
   "type": "MI",
   "instance": 1,
   "name": "RC_Actual_X.RegioUnitState",
   "description": "Current unit state",
   "units": "",
   "access": "R",
   "states": "1=Off, 2=Unoccupied, 3=Stand-by, 4=Occupied, 5=Bypass"
  },
  {
   "type": "MI",
   "instance": 2,
   "name": "RC_Actual_X.RegioControllerState",
   "description": "Current controller state",
   "units": "",
   "access": "R",
   "states": "1=Off, 2=Heating, 3=Cooling"
  },
  {
   "type": "MI",
   "instance": 3,
   "name": "RC_Actual_X.RegioFanSpeed",
   "description": "Current fan speed",
   "units": "",
   "access": "R",
   "states": "1=Off, 2=Fan speed 1, 3=Fan speed 2, 4=Fan speed 3"
  },
  {
   "type": "MV",
   "instance": 0,
   "name": "RC_Setp_X.RegioHeatOutputSelect",
   "description": "Manual/Auto heat output",
   "units": "",
   "access": "W",
   "states": "1=Off, 2=Manual output, 3=Automatic output"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "RC_Setp_X.RegioCoolOutputSelect",
   "description": "Manual/Auto cool output",
   "units": "",
   "access": "W",
   "states": "1=Off, 2=Manual output, 3=Automatic output"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "RC_Setp_X.RegioFanSelect",
   "description": "Fan mode select",
   "units": "",
   "access": "W",
   "states": "1=Off, 2=Manual speed 1, 3=Manual speed 2, 4=Manual speed 3, 5=Auto, 6=Auto 2, 7=Auto 1"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "RC_Setp_X.RegioForcedVentSelect",
   "description": "Manual/Auto forced ventilation and VAV output",
   "units": "",
   "access": "W",
   "states": "1=Off, 2=Manual On, 3=Auto"
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "RC_Setp_X.RegioChangeOverSelect",
   "description": "Manual/Auto change-over",
   "units": "",
   "access": "W",
   "states": "1=Heating, 2=Cooling, 3=Auto"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "RC_Setp_X.RegioRemoteState",
   "description": "Remote control unit state",
   "units": "",
   "access": "W",
   "states": "1=Off, 2=Unoccupied, 3=Stand-by, 4=Occupied, 6=No remote control"
  },
  {
   "type": "MV",
   "instance": 7,
   "name": "RC_Setp_X.RegioHeatOutput2Select",
   "description": "Manual/Auto for heat output 2",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Manual, 2=Auto"
  },
  {
   "type": "MV",
   "instance": 8,
   "name": "RC_Setp_X.RegioCoolOutput2Select",
   "description": "Manual/Auto for cool output 2",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Manual, 2=Auto"
  },
  {
   "type": "MV",
   "instance": 9,
   "name": "RC_Setp_X.RegioVAVOuput2Select",
   "description": "Manual/Auto for VAV output 2",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Manual, 2=Auto"
  }
 ],
 "integration": {
  "summary": "Switch the controller's protocol to BACnet MS/TP in the parameter menu (or Application tool), then set the MAC address and device ID. Command occupancy with RegioRemoteState (MV 5), adjust the comfort setpoints and offset, and read room temperature, unit state, controller state and the alarm objects.",
  "minimum_points": [
   {
    "ref": "MV 5",
    "name": "RC_Setp_X.RegioRemoteState",
    "why": "Occupancy command: off, unoccupied, standby, occupied"
   },
   {
    "ref": "BV 10",
    "name": "RC_Setp_L.RegioShutDown",
    "why": "Force the unit into shutdown"
   },
   {
    "ref": "AV 7",
    "name": "RC_Setp_R.RegioOccSetPHeat",
    "why": "Occupied heating setpoint"
   },
   {
    "ref": "AV 8",
    "name": "RC_Setp_R.RegioOccSetPCool",
    "why": "Occupied cooling setpoint"
   },
   {
    "ref": "MV 2",
    "name": "RC_Setp_X.RegioFanSelect",
    "why": "Fan mode: off, manual speed 1-3 or auto"
   },
   {
    "ref": "MI 1",
    "name": "RC_Actual_X.RegioUnitState",
    "why": "Current unit state"
   },
   {
    "ref": "MI 2",
    "name": "RC_Actual_X.RegioControllerState",
    "why": "Off, heating or cooling"
   },
   {
    "ref": "AI 0",
    "name": "RC_Actual_R.RegioRoomTemp",
    "why": "Room temperature"
   },
   {
    "ref": "AV 3",
    "name": "RC_Actual_R.RegioPIDSetP",
    "why": "Active controller setpoint"
   },
   {
    "ref": "BV 8",
    "name": "RC_Actual_L.RegioRoomTempSensorAlarm",
    "why": "Room sensor fault"
   }
  ],
  "enable": "RegioRemoteState (MV 5) lets the BMS force the unit state (off, unoccupied, standby, occupied); 6 = no remote control hands control back to the local logic. RegioShutDown (BV 10) forces the shutdown state and RegioBypass (BV 9) starts a timed bypass.",
  "heartbeat": null,
  "remote_sensors": "RegioRoomTempRemote (AV 15) lets the BMS supply the room temperature when the controller is configured for an external room sensor; the manual gives -255 as the 'disabled' value.",
  "setup": [
   "BACnet is only on the display models (RC-CDFO, RC-CDTO, RC-C3DOC, RC-C3DFOC, RCC-C3DOCS); set parameter 114 to 1 = BACnet MS/TP.",
   "MAC address (parameter 115): 0-127 runs as MS/TP master, 128-254 as slave.",
   "Device ID is set as low 4 digits (parameter 116) and high 3 digits (parameter 117); the address sticker gives a ready-made default.",
   "Speeds 9600, 19200, 38400 or 76800 bit/s (76800 only for BACnet).",
   "Once switched to BACnet, the protocol can only be switched back to EXOline/Modbus from the display."
  ],
  "gotchas": [
   "Value objects have no priority array; the last write wins and the local display can change the same values.",
   "Setpoints and limits are stored settings; avoid writing them cyclically.",
   "Objects for CO2, VAV, EC fan and the extra zone only do something on models and configurations that have those functions."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/regin/regio-midi-rc-c",
 "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"
}
