{
 "manufacturer": "DriSteem",
 "manufacturer_slug": "dristeem",
 "model": "Vapor-logic 4",
 "model_slug": "vapor-logic-4",
 "aliases": [
  "Vapor-logic4",
  "Vapor-logic version 4",
  "VL4",
  "Vaporlogic 4",
  "DriSteem humidifier controller (legacy)"
 ],
 "equipment_type": "Humidifier controller",
 "applies_to": "DriSteem Vapor-logic version 4 humidifier controllers (older generation before Vapor-logic 6) on GTS, STS, XT, Vaporstream, HPS and similar humidifiers.",
 "summary": "Vapor-logic 4 is an older generation (before Vapor-logic 5 and 6) of the DriSteem humidifier control board. Modbus is standard; BACnet MS/TP (terminal P7) or BACnet IP (Ethernet) is an option bought with an unlock code. Its interoperability table lists 95 BACnet objects, plus 5 multi-tank objects in a separate table (100 in all), with underscore-style names: RH, dew point and demand readings, setpoints and fieldbus demand, run mode, digital I/O, and alarm and message flags.",
 "bacnet_transport": [
  "BACnet MS/TP",
  "BACnet IP"
 ],
 "firmware": null,
 "default_device_instance": 255,
 "access_inferred": false,
 "notes": [
  "From Table 71-1 \"Interoperability variable and object names\" (object names are the \"Variable name and BACnet object name\" column) and Table 81-1 \"Multi-tank fieldbus profiles\" (names from its \"BACnet description\" column).",
  "Where several names share an instance (BI 6 GTS/STS, BI 8-9 single-tank vs multi-tank), the names are joined with \" / \". BV 7 is printed with three names (RH, dew point and demand signal out of range); it is listed under the first and the others are in its description.",
  "Run_mode (MSV 1) and the AV 5-7 setpoints are printed as separate write and read rows and merged here.",
  "Units follow the I-P setting (SI: °C, kg/h, kg, bar). \"100 lbs\" is printed for the water-until objects.",
  "Multi-tank objects (AI 8-9, AV 14-15, MSV 2, and the MT names on BI 8-9) only apply in multi-tank mode.",
  "Newer controllers use Vapor-logic 6, which has a different (CamelCase) object list."
 ],
 "source": {
  "title": "Vapor-logic4 Installation and Operation Manual",
  "doc_number": "VL4-IOM-0312",
  "revision_date": "2012 (0312)",
  "url": "https://d2tsmyh31fn7w8.cloudfront.net/public-documents/docs/historical-literature/vl4_iom.pdf"
 },
 "integration": {
  "summary": "Unlock and enable BACnet on the keypad (Setup > Communications > BACnet), set the device instance and MS/TP station or IP settings and cycle power. Then either write the space RH setpoint (AV 5) and let Vapor-logic control, or send a demand from the BMS (AV 8 / AV 9), and use MSV 1 Run_mode for auto/standby/drain.",
  "minimum_points": [
   {
    "ref": "MV 1",
    "name": "Run_mode",
    "why": "Run mode: 1 auto, 2/3 standby, 4 drain"
   },
   {
    "ref": "AV 9",
    "name": "Fieldbus_demand_%",
    "why": "Demand from the BMS, % of capacity"
   },
   {
    "ref": "AV 5",
    "name": "Space_RH_set_point",
    "why": "Space RH setpoint (unit controls)"
   },
   {
    "ref": "BV 4",
    "name": "Clear_all_faults",
    "why": "Write 1 to clear faults"
   },
   {
    "ref": "AI 1",
    "name": "Space_RH",
    "why": "Space RH"
   },
   {
    "ref": "AV 2",
    "name": "Steam_output_percent",
    "why": "Estimated steam output, %"
   },
   {
    "ref": "AI 5",
    "name": "Steam_demand_percent",
    "why": "Demand the unit is acting on, %"
   },
   {
    "ref": "BV 3",
    "name": "Active_manually_cleared_alarms_exist",
    "why": "A manual-clear alarm exists"
   }
  ],
  "enable": "Run_mode (MSV 1) selects Auto, Local standby, System standby or Manual drain. The humidifier also needs its safety interlock and airflow inputs made (BI 1-3 show their state).",
  "heartbeat": null,
  "remote_sensors": "The space, dew point and duct RH values are read-only AIs from the unit's own transmitters; the BMS can send a demand (AV 8 mass or AV 9 percent, write-only) instead.",
  "setup": [
   "Device instance default 255; MS/TP station 1, max masters 127; default comm channel 19200 MS/TP; BACnet IP UDP port 47808.",
   "BACnet is an option: enter the purchased unlock code (matched to the serial number), pick the channel, then cycle power.",
   "MS/TP wiring lands on terminal P7; BACnet IP uses the Ethernet port."
  ],
  "gotchas": [
   "Fieldbus demand objects are write-only.",
   "Alarm and message BVs are listed RW but report conditions; clear faults with BV 4.",
   "Many objects only apply to one humidifier type."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Space_RH",
   "description": "",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Space_dew_point",
   "description": "",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Duct_RH",
   "description": "",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Steam_demand_mass",
   "description": "",
   "units": "lbs/hr",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Steam_demand_percent",
   "description": "",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Aux_temp",
   "description": "",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Tank_temp",
   "description": "",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "MT_steam_demand_mass",
   "description": "Multi-tank system steam output, mass/hr",
   "units": "lbs/hr",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "MT_steam_demand_percent",
   "description": "Multi-tank system steam output, % of system capacity",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Current_1 (XT systems only)",
   "description": "",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Current_2 (XT systems only)",
   "description": "",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Steam_output_mass",
   "description": "",
   "units": "lbs/hr",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Steam_output_percent",
   "description": "",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Water_until_ADS",
   "description": "",
   "units": "100 lbs",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Water_until_service",
   "description": "",
   "units": "100 lbs",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Space_RH_set_point",
   "description": "",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Space_dew_point_set_point",
   "description": "",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Duct_high_limit_set_point",
   "description": "",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Fieldbus_demand_mass",
   "description": "Write-only demand from the BMS",
   "units": "lbs/hr",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Fieldbus_demand_%",
   "description": "Write-only demand from the BMS",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "PID_band",
   "description": "",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "PID-Kp",
   "description": "",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "PID-Ki",
   "description": "",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "PID-Kd",
   "description": "",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "MT_steam_output_req_mass",
   "description": "Fieldbus steam request for the multi-tank system, mass/hr",
   "units": "lbs/hr",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "MT_steam_output_req_pcnt",
   "description": "Fieldbus steam request, % of system",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "Airflow_proving_switch",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Duct_HL_switch",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "Safety_interlock",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Combustion_air_damper_(GTS)",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Flue_pressure_switch_(GTS)",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Power_vent_switch_(GTS) / XV_header_status_(STS)",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "Low_water_sensor_(GTS)",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 8,
   "name": "Active_fault_exists / MT_active_fault_in_system",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 9,
   "name": "Active_message_exists / MT_active_message_in_system",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "High_water_sensor",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 11,
   "name": "High_water_sensor_2",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 1,
   "name": "Fill_valve",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 2,
   "name": "Drain_valve",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Active_messages_exist",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Active_auto_cleared_alarms_exist",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "Active_manually_cleared_alarms_exist",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Clear_all_faults",
   "description": "",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Alarm_tank_temp_sensor_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Alarm_tank_overtemp",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Alarm_RH_signal_out_of_range",
   "description": "Also printed as Alarm_dew_pt_sig_out_of_range / Alarm_demand_sig_out_of_range",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Alarm_duct_RH_sig_out_of_range",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Alarm_aux_temp_sens_out_of_rnge",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Alarm_water_probe_miswired",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Alarm_water_probe_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Alarm_excess_fill_time",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "Alarm_excess_refill_time",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "Alarm_tank_not_draining",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 15,
   "name": "Alarm_excess_water_no_demand",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "Alarm_no_SDU_airflow",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "Alarm_no_power_vent_airflow",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "Alarm_no_combustion_airflow",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "Alarm_blocked_flue",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 20,
   "name": "Alarm_burner_1_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 21,
   "name": "Alarm_burner_2_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 22,
   "name": "Alarm_burner_3_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 23,
   "name": "Alarm_burner_4_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 24,
   "name": "Alarm_ignition_module_1_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 25,
   "name": "Alarm_ignition_module_2_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 26,
   "name": "Alarm_ignition_module_3_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 27,
   "name": "Alarm_ignition_module_4_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 28,
   "name": "Alarm_blower_1_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 29,
   "name": "Alarm_blower_2_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 30,
   "name": "Alarm_blower_3_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 31,
   "name": "Alarm_blower_4_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 32,
   "name": "Alarm_gas_valve_1_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 33,
   "name": "Alarm_gas_valve_2_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 34,
   "name": "Alarm_gas_valve_3_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 35,
   "name": "Alarm_gas_valve_4_failed",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 36,
   "name": "Alarm_low_water",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 37,
   "name": "Alarm_foaming_fault_2",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 38,
   "name": "Message_replace_contactors",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 39,
   "name": "Message_service_unit",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 40,
   "name": "Message_drain_pending",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 41,
   "name": "Message_no_duct_airflow",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 42,
   "name": "Message_interlock_open",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 43,
   "name": "Message_freeze_prevent_draining",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 44,
   "name": "Message_end-of-season_active",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 45,
   "name": "Message_temp_comp_on",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 46,
   "name": "Message_clean_probes",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 47,
   "name": "Message_duct_HL_trip",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 48,
   "name": "Message_duct_HL_span",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 49,
   "name": "Message_insufficient_water",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 50,
   "name": "Message_boiling_temp_calibrated",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 51,
   "name": "Alarm_Current_Sense1_Out_Of_Range",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 52,
   "name": "Alarm_Current_Sense2_Out_Of_Range",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 53,
   "name": "Alarm_Overcurrent",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 54,
   "name": "Alarm_Supply_Water",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 55,
   "name": "Alarm_Foaming_Fault",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 56,
   "name": "Message_Check_Cylinder",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 57,
   "name": "Alarm_Overcurrent_2",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 58,
   "name": "Alarm_Supply_Water_2",
   "description": "Alarm flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 59,
   "name": "Message_Check_Cylinder_2",
   "description": "Message flag",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "Run_mode",
   "description": "Run mode (write 1-4; reads 1-6)",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Local standby, 3=System standby, 4=Manual drain, 5=Test outputs, 6=Test run"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "MT_Runmode",
   "description": "Multi-tank run mode",
   "units": "",
   "access": "W",
   "states": "1=System standby, 2=System auto"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/dristeem/vapor-logic-4",
 "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"
}
