{
 "manufacturer": "Strato Automation",
 "manufacturer_slug": "strato-automation",
 "model": "OPENSTAT OS214 / OS214x thermostat, RTU firmware",
 "model_slug": "os214x-rtu",
 "aliases": [
  "OS214",
  "OS214W",
  "OS214x",
  "OpenStat OS214",
  "OS214-RTU",
  "Strato OS214"
 ],
 "equipment_type": "Thermostat (BACnet MS/TP)",
 "applies_to": "Strato OS214 / OS214W (Wi-Fi) room thermostats running the rooftop-unit / heat-pump application of the universal firmware.",
 "summary": "The OS214 is a BACnet MS/TP room thermostat with 2 inputs, 1 analog output and 4 binary outputs. In its rooftop unit (RTU) application it runs single-stage RTU, heat pump, economizer and ECM fan presets selected with MSV-127. Setpoints, modes and occupancy are writable; demands, effective setpoints, supply and outdoor temperatures and the PID loops are readable.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "Universal firmware 1.0.4 and later",
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "The guide has no read/write column. Access here follows its tags: Cfg, User and Cmd objects are shown writable, Status objects read-only, and BO/AO objects commandable (the guide lists them for output overrides). BV-5 (Occ_Sch) is tagged Status but shown writable because the guide says it can be written for occupancy.",
  "BO and AO descriptions are generated from the MSV-127 preset when BV-4 (Autogenerate I/O descriptions) is On.",
  "Changing any of MSV-7, 8, 16, 17, 23, 27, 28, 30, 44, 45 or 65 switches MSV-127 to Custom.",
  "Multistate state numbers follow the order the states are printed, starting at 1.",
  "The same guide has a separate FCU object list (see the OS214x FCU entry)."
 ],
 "source": {
  "title": "OS214x (Universal Firmware) User Guide, Rooftop Unit (RTU) - BACnet Objects",
  "doc_number": null,
  "revision_date": "Sept 2025 rev 5",
  "url": "https://stratoautomation.com/wp-content/uploads/2026/01/OS214x-Universal-Firmware-User-Guide-Sept-2025-rev-5.pdf"
 },
 "integration": {
  "summary": "Pick the application with MSV-127, then run the unit from the BMS with the system mode (MSV-3), fan mode (MSV-4), occupancy (BV-5 or MSV-6) and the room setpoint (AV-1). Monitor room temperature, heating and cooling demand and the help message (MSV-100) for alarms.",
  "minimum_points": [
   {
    "ref": "MV 3",
    "name": "MODE",
    "why": "System mode: Off, Auto, Cool, Heat"
   },
   {
    "ref": "MV 4",
    "name": "FAN",
    "why": "Fan mode: On / Auto"
   },
   {
    "ref": "BV 5",
    "name": "Occ_Sch",
    "why": "Occupancy schedule; BMS can write On/Off"
   },
   {
    "ref": "AV 1",
    "name": "RoomTSP",
    "why": "Room temperature setpoint"
   },
   {
    "ref": "AI 6",
    "name": "RoomT",
    "why": "Room temperature"
   },
   {
    "ref": "AV 9",
    "name": "Eff_T",
    "why": "Effective temperature used for control"
   },
   {
    "ref": "AV 6",
    "name": "HTG_Dem",
    "why": "Heating demand, %"
   },
   {
    "ref": "AV 7",
    "name": "CLG_Dem",
    "why": "Cooling demand, %"
   },
   {
    "ref": "AV 16",
    "name": "SATemp",
    "why": "Supply air temperature"
   },
   {
    "ref": "MV 100",
    "name": "HELP_mess",
    "why": "Alarm message (Normal / SupplyFrozen)"
   }
  ],
  "enable": "Occupancy can be written to BV-5 (system occupancy schedule); MSV-45 selects where the schedule comes from and MSV-6 forces local, occupied or unoccupied.",
  "heartbeat": null,
  "remote_sensors": "MSV-2 and MSV-27/28 select room, outdoor and supply sensor locations; 'External' lets a value come from the network.",
  "setup": [
   "MS/TP address and baud are set in the thermostat's MSTP Config menu (setup menu: hold the two left buttons, then the PIN sequence).",
   "Strato recommends writing MSVs and AVs at the default priority (16) and everything else at priority 8 down to 3."
  ],
  "gotchas": [
   "Most MSVs are commissioning settings; avoid cyclic writes.",
   "Changing a custom output MSV switches MSV-127 to Custom."
  ]
 },
 "points": [
  {
   "type": "BO",
   "instance": 1,
   "name": "BO_1",
   "description": "Output; function set by the MSV-127 preset",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 2,
   "name": "BO_2",
   "description": "Output; function set by the MSV-127 preset",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 3,
   "name": "BO_3",
   "description": "Output; function set by the MSV-127 preset",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 4,
   "name": "BO_4",
   "description": "Output; function set by the MSV-127 preset",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "AO_1",
   "description": "Output; function set by the MSV-127 preset",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "AI_1",
   "description": "Input; function set by the configuration MSVs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "AI_2",
   "description": "Input; function set by the configuration MSVs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "RoomT",
   "description": "Room temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "RoomTSP",
   "description": "Room Temperature setpoint (range 54-90°F (12-32°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "HTG_Dem",
   "description": "Heating demand (range 0-100%)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "CLG_Dem",
   "description": "Cooling demand (range 0-100%)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Eff_T",
   "description": "Effective temperature used for control (range -40-122°F (-40-50°C))",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "SATemp",
   "description": "Supply temperature (range -40-122°F (-40-50°C))",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "SATFRSP_Set",
   "description": "Set supply freezing temperature (range -40-122°F (-40-50°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "ECM_min_Set",
   "description": "Fan analog min. output (range 0-100%)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Fan_MinOn_Time",
   "description": "Fan minimum ON time (range 0-60 min)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "OvrTime_Set",
   "description": "Set occupancy override time (range 0-480 min)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "MotionOvrTime_Set",
   "description": "Motion Set occupancy override time (range 0-120 min)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "OATemp",
   "description": "Outside air temperature (range -40-122°F (-40-50°C))",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "Min_SP",
   "description": "Set minimum setpoint (range 54-100°F (12-37.5°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "Max_SP",
   "description": "Set maximum setpoint (range 40-90°F (4.5-32°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "OccCLSP",
   "description": "Set occupied cooling setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "OccHTSP",
   "description": "Set occupied heating setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "SP_DB_Set",
   "description": "Set deadband (range 2 to 5°)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "Unoc_CL_Set",
   "description": "Set unoccupied cooling setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "Unoc_HT_Set",
   "description": "Set unoccupied heating setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "STBCoolOffset",
   "description": "Set standby cooling offset (+) (range 2 to 10°F (1 to 6°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "STBHeatOffset",
   "description": "Set standby heating offset (-) (range -2 to -10°F (-1 to -6°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "EffCLSP",
   "description": "Effective cooling setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "EffHTSP",
   "description": "Effective heating setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 50,
   "name": "RT_Cal",
   "description": "Room temperature calib (range ±9.0°F (±5.0°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "SAT_HL_Set",
   "description": "Set supply air high limit setpoint (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 57,
   "name": "SAT_CTR_Set",
   "description": "Set supply air neutral setpoint (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "SAT_LL_Set",
   "description": "Set supply air low limit setpoint (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "Eff_SAT",
   "description": "Effective supply air calc. setpoint (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "ComprLockout",
   "description": "Compressor Lockout (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 65,
   "name": "EconoMin_Pos",
   "description": "Eco min position (range 0-100%)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 67,
   "name": "OATheatOutAuth",
   "description": "Heating authorization (from OAT) (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 68,
   "name": "OATeconOutAuth",
   "description": "Econo authorization (from OAT) (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 72,
   "name": "OAT_AUX_Auth",
   "description": "OAT AUX authorization (range 0-140°F (-17-60°C))",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "OVRSTAT",
   "description": "Occupancy override status",
   "units": "",
   "access": "R",
   "states": "Inactive = Normal, Active = Override"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "AutogenDesc",
   "description": "Autogenerate I/O descriptions",
   "units": "",
   "access": "W",
   "states": "Inactive = Off, Active = On"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Occ_Sch",
   "description": "System occupancy schedule",
   "units": "",
   "access": "W",
   "states": "Inactive = Off, Active = On"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Freeze_Status",
   "description": "Freeze condition status",
   "units": "",
   "access": "R",
   "states": "Inactive = Normal, Active = Active"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Free_CL_Status",
   "description": "Free cooling authorization status",
   "units": "",
   "access": "R",
   "states": "Inactive = No, Active = Yes"
  },
  {
   "type": "BV",
   "instance": 200,
   "name": "LockStPointBtn",
   "description": "Lock Setpoint button",
   "units": "",
   "access": "W",
   "states": "Inactive = Unlock, Active = Lock"
  },
  {
   "type": "BV",
   "instance": 201,
   "name": "LockModeBtn",
   "description": "Lock Mode button",
   "units": "",
   "access": "W",
   "states": "Inactive = Unlock, Active = Lock"
  },
  {
   "type": "BV",
   "instance": 202,
   "name": "LockFanBtn",
   "description": "Lock Fan button",
   "units": "",
   "access": "W",
   "states": "Inactive = Unlock, Active = Lock"
  },
  {
   "type": "BV",
   "instance": 203,
   "name": "WifiStatus",
   "description": "Wifi Status",
   "units": "",
   "access": "R",
   "states": "Inactive = On, Active = Off"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "CFGSens",
   "description": "Remote thermistor 10K",
   "units": "",
   "access": "W",
   "states": "1 = Type 3, 2 = Type 2"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "AI_RS",
   "description": "Select room temperature input",
   "units": "",
   "access": "W",
   "states": "1 = Intern, 2 = AI-1, 3 = AI-2"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "MODE",
   "description": "System mode",
   "units": "",
   "access": "W",
   "states": "1 = Off, 2 = Auto, 3 = Cool, 4 = Heat"
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "FAN",
   "description": "Set fan mode",
   "units": "",
   "access": "W",
   "states": "1 = On, 2 = Auto"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "Eff_Occ",
   "description": "Effective occupancy mode",
   "units": "",
   "access": "R",
   "states": "1 = Occupied, 2 = Unoccup, 3 = TempOcc"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "Loc-Occ",
   "description": "Occupancy command",
   "units": "",
   "access": "W",
   "states": "1 = Loc-Occ, 2 = Occupied, 3 = Unoccup"
  },
  {
   "type": "MV",
   "instance": 7,
   "name": "CFG_Y1",
   "description": "Set cooling output 1 operation",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = Off-On, 3 = 0-10V DA (direct), 4 = 0-10V RA (reversed), 5 = 2-10V DA (direct), 6 = 2-10V RA (reversed), 7 = Pulsed DA (direct), 8 = Pulsed RA (reversed)"
  },
  {
   "type": "MV",
   "instance": 8,
   "name": "CFG_Y2",
   "description": "Set cooling output 2 operation",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = Off-On"
  },
  {
   "type": "MV",
   "instance": 16,
   "name": "CFG_W1",
   "description": "Set heating output 1 operation",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = Off-On, 3 = 0-10V DA (direct), 4 = 0-10V RA (reversed), 5 = 2-10V DA (direct), 6 = 2-10V RA (reversed), 7 = Pulsed DA (direct), 8 = Pulsed RA (reversed), 9 = O (O/B), 10 = B (O/B)"
  },
  {
   "type": "MV",
   "instance": 17,
   "name": "CFG_W2",
   "description": "Set heating output 2 operation",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = Off-On, 3 = 0-10V DA (direct), 4 = 0-10V RA (reversed), 5 = 2-10V DA (direct), 6 = 2-10V RA (reversed), 7 = Pulsed DA (direct), 8 = Pulsed RA (reversed), 9 = O (O/B), 10 = B (O/B)"
  },
  {
   "type": "MV",
   "instance": 23,
   "name": "CFG_FAN",
   "description": "Select fan output",
   "units": "",
   "access": "W",
   "states": "1 = BO-1, 2 = BO-1 & AO-1"
  },
  {
   "type": "MV",
   "instance": 27,
   "name": "AI_OAT",
   "description": "Select outside air temp. input",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = AI-1, 3 = AI-2, 4 = External"
  },
  {
   "type": "MV",
   "instance": 28,
   "name": "AI_SAT",
   "description": "Select supply air temp. input",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = AI-1, 3 = AI-2, 4 = External"
  },
  {
   "type": "MV",
   "instance": 30,
   "name": "AO_ECO",
   "description": "Select economizer output",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = AO-1"
  },
  {
   "type": "MV",
   "instance": 44,
   "name": "BI_PIR",
   "description": "Select PIR Motion sensor input",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = NO, AI1 (BI), 3 = NC, AI1 (BI), 4 = NO, AI2 (BI), 5 = NC, AI2 (BI), 6 = External"
  },
  {
   "type": "MV",
   "instance": 45,
   "name": "BI_SCH_Input",
   "description": "Select schedule input",
   "units": "",
   "access": "W",
   "states": "1 = None (Off), 2 = None (On), 3 = Scheduler, 4 = AI-1, 5 = AI-2, 6 = External"
  },
  {
   "type": "MV",
   "instance": 62,
   "name": "CFGSetp",
   "description": "Room setpoint displayed",
   "units": "",
   "access": "W",
   "states": "1 = Heat SP, 2 = Center, 3 = Cool SP"
  },
  {
   "type": "MV",
   "instance": 65,
   "name": "BO_OCC",
   "description": "Select occupied output",
   "units": "",
   "access": "W",
   "states": "1 = None, 2 = BO-2, 3 = BO-3, 4 = BO-4, 5 = AO-1"
  },
  {
   "type": "MV",
   "instance": 70,
   "name": "PB",
   "description": "CFG Heating/cooling proportional band",
   "units": "",
   "access": "W",
   "states": "1 = 3F 1.2C, 2 = 4F 1.7C, 3 = 5F 2.2C, 4 = 6F 2.8C, 5 = 7F 3.3C, 6 = 8F 3.5C, 7 = 9F 5.0C, 8 = 10F 5.6C"
  },
  {
   "type": "MV",
   "instance": 100,
   "name": "HELP_mess",
   "description": "Help message",
   "units": "",
   "access": "R",
   "states": "1 = Normal, 2 = SupplyFrozen"
  },
  {
   "type": "MV",
   "instance": 127,
   "name": "Preset",
   "description": "Select application",
   "units": "",
   "access": "W",
   "states": "1 = RT 1C1H, 2 = RT 2C1H, 3 = RT ECON, 4 = HP1C2H, 5 = RT MOD, 6 = RT ECM, 7 = HP ECM, 8 = Custom"
  },
  {
   "type": "MV",
   "instance": 200,
   "name": "Brightness",
   "description": "Brightness control",
   "units": "",
   "access": "W",
   "states": "1 = Low, 2 = Med-Low, 3 = Med"
  },
  {
   "type": "MV",
   "instance": 201,
   "name": "BgColor",
   "description": "Background color",
   "units": "",
   "access": "W",
   "states": "1 = White, 2 = Orange, 3 = Blue, 4 = Green, 5 = Red"
  },
  {
   "type": "MV",
   "instance": 202,
   "name": "Display_Main",
   "description": "Main displayed value",
   "units": "",
   "access": "W",
   "states": "1 = Temp, 2 = Setpoint, 3 = Nothing"
  },
  {
   "type": "MV",
   "instance": 203,
   "name": "Language",
   "description": "Language selection",
   "units": "",
   "access": "W",
   "states": "1 = English"
  },
  {
   "type": "MV",
   "instance": 204,
   "name": "Display_Units",
   "description": "Temperature displayed units",
   "units": "",
   "access": "W",
   "states": "1 = C, 2 = F"
  },
  {
   "type": "LO",
   "instance": 1,
   "name": "RoomT_Cool",
   "description": "Room temp cooling control loop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "LO",
   "instance": 2,
   "name": "RoomT_heat",
   "description": "Room temp heating control loop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "LO",
   "instance": 6,
   "name": "SupplyTemp",
   "description": "Supply temp control loop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "LO",
   "instance": 7,
   "name": "SupplyTempHL",
   "description": "Supply temp high limit control loop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "LO",
   "instance": 8,
   "name": "SupplyTempLL",
   "description": "Supply temp low limit control loop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "SCH",
   "instance": 1,
   "name": "OccSchedule",
   "description": "Occupancy schedule",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/strato-automation/os214x-rtu",
 "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"
}
