{
 "manufacturer": "Pure Humidifier",
 "manufacturer_slug": "pure-humidifier",
 "model": "Intac controller via ProtoNode FPC-N34 / FPC-N35",
 "model_slug": "intac-protonode",
 "aliases": [
  "Pure Humidifier Intac",
  "Intac controller BACnet",
  "ProtoNode FPC-N34 Pure Humidifier",
  "FPC-N35 Pure Humidifier",
  "Pure Humidifier BACnet"
 ],
 "equipment_type": "Humidifier controller gateway (ProtoNode)",
 "applies_to": "Pure Humidifier steam humidifiers with the Intac controller, connected over Modbus RTU to a ProtoNode gateway.",
 "summary": "A ProtoNode FPC-N34 (BACnet MS/TP or BACnet IP) or FPC-N35 gateway reads the Pure Humidifier Intac controller over Modbus RTU and serves 90 analog value objects per humidifier: setpoints, timers, PID and sensor-scaling settings, configuration values, measured humidity and temperatures, heater power, water level and I/O error flags.",
 "bacnet_transport": [
  "BACnet IP",
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "Every object is an analog value; the table gives no units, states or read/write column. Access here is inferred: AV 1-68 (setpoints and settings) writable, AV 69-90 (measured values and status) read-only.",
  "Each description ends with the Intac Modbus register the object maps to.",
  "Device instance = Node_Offset (default 50,000) + the A-bank DIP switch value; further humidifiers on the same ProtoNode get the next instances.",
  "Up to 1,500 registers per ProtoNode at 90 per Intac controller."
 ],
 "source": {
  "title": "ProtoNode FPC-N34 and FPC-N35 Start-up Guide - For Interfacing Pure Humidifier Products: Intac Controller",
  "doc_number": null,
  "revision_date": "Document Revision 4.B",
  "url": "https://www.purehumidifier.com/downloads/O%26M/ProtoNode_O%26M.pdf"
 },
 "integration": {
  "summary": "Set each Intac controller to Modbus RTU 38400 8-N-1 with a unique Node-ID, wire it to the ProtoNode, pick the BACnet profile on the S DIP switches and set the MAC and device instance, then read and write the AV objects.",
  "minimum_points": [
   {
    "ref": "AV 5",
    "name": "Operation Mode",
    "why": "Unit operating mode"
   },
   {
    "ref": "AV 1",
    "name": "RH Set Point",
    "why": "Relative humidity setpoint"
   },
   {
    "ref": "AV 28",
    "name": "Control Source",
    "why": "Control signal source"
   },
   {
    "ref": "AV 69",
    "name": "Actual Humidity",
    "why": "Measured relative humidity"
   },
   {
    "ref": "AV 81",
    "name": "Heater Power",
    "why": "Heater output"
   },
   {
    "ref": "AV 82",
    "name": "Water Level",
    "why": "Tank water level status"
   },
   {
    "ref": "AV 87",
    "name": "Interlock Input Open",
    "why": "Safety interlock open"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Intac serial settings: Modbus RTU, 38400 baud, no parity, 8 data bits, 1 stop bit; Node-ID 1-255, unique per controller.",
   "S0-S2 DIP switches select the ProtoNode profile (BACnet MS/TP, BACnet IP, N2...).",
   "BACnet MS/TP MAC address 1-127 on the A-bank DIP switches; baud rate on its own DIP bank.",
   "Device instance = Node_Offset (default 50,000, set in the web configurator) + A-bank value."
  ],
  "gotchas": [
   "Many AV objects are configuration settings; avoid writing them cyclically."
  ]
 },
 "points": [
  {
   "type": "AV",
   "instance": 1,
   "name": "RH Set Point",
   "description": "Relative humidity setpoint (Modbus 102)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "High Limit Set point",
   "description": "Duct high-limit RH setpoint (Modbus 103)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "RH Low Alarm",
   "description": "RH Low Alarm (Modbus 104)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "RH High Alarm",
   "description": "RH High Alarm (Modbus 105)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Operation Mode",
   "description": "Unit operating mode (Modbus 202)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Drain Duration Timer",
   "description": "Drain Duration Timer (Modbus 203)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Drain Interval timer",
   "description": "Drain Interval timer (Modbus 204)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Cool Down Delay",
   "description": "Cool Down Delay (Modbus 205)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Cool Down Temp",
   "description": "Cool Down Temp (Modbus 206)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Fill Delay Timer",
   "description": "Fill Delay Timer (Modbus 207)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Water Temp Set Point",
   "description": "Water Temp Set Point (Modbus 208)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Water Temp Hysteresis",
   "description": "Water Temp Hysteresis (Modbus 209)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "End of Use Drain Timer",
   "description": "End of Use Drain Timer (Modbus 210)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Time to Clean Timer",
   "description": "Time to Clean Timer (Modbus 211)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Clean Reset",
   "description": "Reset the clean timer (Modbus 212)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Intac Address",
   "description": "Intac Address (Modbus 213)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Intac Baud Rate",
   "description": "Intac Baud Rate (Modbus 214)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Room Prop band",
   "description": "Room Prop band (Modbus 302)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Room hysteresis",
   "description": "Room hysteresis (Modbus 303)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Room Integral",
   "description": "Room Integral (Modbus 304)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Room Derivative",
   "description": "Room Derivative (Modbus 305)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Cycle Time",
   "description": "Cycle Time (Modbus 306)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Duct Prop Band",
   "description": "Duct Prop Band (Modbus 307)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Duct Hysteresis",
   "description": "Duct Hysteresis (Modbus 308)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "Duct Integral",
   "description": "Duct Integral (Modbus 309)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "Duct Derivative",
   "description": "Duct Derivative (Modbus 310)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "RH Input filter",
   "description": "RH Input filter (Modbus 311)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "Control Source",
   "description": "Control signal source (Modbus 503)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Water Sensor",
   "description": "Water Sensor (Modbus 504)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "RH Sensor",
   "description": "RH Sensor (Modbus 505)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "RH Process Low",
   "description": "RH Process Low (Modbus 506)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "RH Process High",
   "description": "RH Process High (Modbus 507)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "High Limit Sensor",
   "description": "High Limit Sensor (Modbus 509)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "HighLimit Process Low",
   "description": "HighLimit Process Low (Modbus 510)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "HighLimit Process High",
   "description": "HighLimit Process High (Modbus 511)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "Outdoor Air Sensor",
   "description": "Outdoor Air Sensor (Modbus 512)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "OAT Process Low",
   "description": "OAT Process Low (Modbus 513)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "OAT Process High",
   "description": "OAT Process High (Modbus 514)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "OAT Range Low",
   "description": "OAT Range Low (Modbus 515)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "OAT Range High",
   "description": "OAT Range High (Modbus 516)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "OAT Offset",
   "description": "OAT Offset (Modbus 517)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "Process Output",
   "description": "Process Output (Modbus 518)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "Out Process Low",
   "description": "Out Process Low (Modbus 519)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 44,
   "name": "Out Process High",
   "description": "Out Process High (Modbus 520)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 45,
   "name": "Dedicated Input",
   "description": "Dedicated Input (Modbus 521)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "Temp units",
   "description": "Temp units (Modbus 522)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 47,
   "name": "Capacity Units",
   "description": "Capacity Units (Modbus 523)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 48,
   "name": "Unit Capacity",
   "description": "Unit Capacity (Modbus 524)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 49,
   "name": "Menu access",
   "description": "Menu access (Modbus 526)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 50,
   "name": "Control Type",
   "description": "Control Type (Modbus 702)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 51,
   "name": "Active heaters",
   "description": "Active heaters (Modbus 703)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 52,
   "name": "Water Enable",
   "description": "Water Enable (Modbus 704)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "Air Enable",
   "description": "Air Enable (Modbus 705)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 54,
   "name": "Water Level Sensor",
   "description": "Water Level Sensor (Modbus 706)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 55,
   "name": "Drain Type",
   "description": "Drain Type (Modbus 707)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "High limit enable",
   "description": "High limit enable (Modbus 708)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 57,
   "name": "Clean Time",
   "description": "Clean Time (Modbus 709)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "Gas Burners",
   "description": "Gas Burners (Modbus 710)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "Low Fire Set point",
   "description": "Low Fire Set point (Modbus 711)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "Low Fire Hysteresis",
   "description": "Low Fire Hysteresis (Modbus 712)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 61,
   "name": "Burner #2 Set point",
   "description": "Burner #2 Set point (Modbus 713)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 62,
   "name": "Burner #2 Hysteresis",
   "description": "Burner #2 Hysteresis (Modbus 714)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "Burner #3 Set Point",
   "description": "Burner #3 Set Point (Modbus 715)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 64,
   "name": "Burner #3 Hysteresis",
   "description": "Burner #3 Hysteresis (Modbus 716)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 65,
   "name": "Post purge timer",
   "description": "Post purge timer (Modbus 717)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 66,
   "name": "VFD Intensity",
   "description": "VFD Intensity (Modbus 718)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 67,
   "name": "Range Checking",
   "description": "Range Checking (Modbus 719)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 68,
   "name": "Low H2O Timer",
   "description": "Low H2O Timer (Modbus 720)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 69,
   "name": "Actual Humidity",
   "description": "Measured relative humidity (Modbus 049)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 70,
   "name": "Control RH Sensor",
   "description": "Control RH Sensor (Modbus 050)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 71,
   "name": "High Limit RH Actual",
   "description": "High Limit RH Actual (Modbus 051)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 72,
   "name": "High Limit RH Sensor",
   "description": "High Limit RH Sensor (Modbus 052)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 73,
   "name": "Water Temp Actual",
   "description": "Tank water temperature (Modbus 053)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 74,
   "name": "Water Sensor(temp)",
   "description": "Water Sensor(temp) (Modbus 054)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 75,
   "name": "Outdoor Air Temp Actual",
   "description": "Outdoor air temperature (Modbus 055)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 76,
   "name": "Outdoor Air Sensor",
   "description": "Outdoor Air Sensor (Modbus 056)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 77,
   "name": "Heater #1 %Power",
   "description": "Heater #1 %Power (Modbus 823)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 78,
   "name": "Heater #2 %Power",
   "description": "Heater #2 %Power (Modbus 824)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 79,
   "name": "Heater #3 %Power",
   "description": "Heater #3 %Power (Modbus 825)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 80,
   "name": "Heater #4 %Power",
   "description": "Heater #4 %Power (Modbus 826)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 81,
   "name": "Heater Power",
   "description": "Total heater output (Modbus 853)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 82,
   "name": "Water Level",
   "description": "Tank water level status (Modbus 831)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 83,
   "name": "Accumulated Run Time",
   "description": "Total run time (Modbus 852)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 84,
   "name": "Internal Module #1 I/O Error",
   "description": "Internal Module #1 I/O Error (Modbus 847)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 85,
   "name": "Internal Module #2 I/O Error",
   "description": "Internal Module #2 I/O Error (Modbus 848)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 86,
   "name": "Internal Module #3 I/O Error",
   "description": "Internal Module #3 I/O Error (Modbus 849)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 87,
   "name": "Interlock Input Open",
   "description": "Safety interlock input open (Modbus 857)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 88,
   "name": "Dedicated Input",
   "description": "Dedicated Input (Modbus 858)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 89,
   "name": "Actual Water Level",
   "description": "Actual Water Level (Modbus 832)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 90,
   "name": "Fill Valve Status",
   "description": "Fill valve state (Modbus 840)",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/pure-humidifier/intac-protonode",
 "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"
}
