{
 "manufacturer": "Thermal Solutions",
 "manufacturer_slug": "thermal-solutions",
 "model": "EVA / EVO boiler - RM7800 flame safeguard (ProtoNode)",
 "model_slug": "eva-evo-rm7800",
 "aliases": [
  "RM7800",
  "Honeywell RM7800",
  "7800 Series",
  "EVA",
  "EVAW",
  "EVO",
  "EVOW",
  "FPC-N34-0643",
  "ProtoNode FPC-N34"
 ],
 "equipment_type": "Boiler flame safeguard (RM7800) via ProtoNode gateway",
 "applies_to": "Thermal Solutions EVA, EVAW, EVO and EVOW boilers with an RM7800 series burner control, connected through a ProtoNode FPC-N34.",
 "summary": "The RM7800 burner control on Thermal Solutions EVA/EVAW/EVO/EVOW boilers is read through a ProtoNode FPC-N34 gateway that polls it over Modbus RTU and serves it on BACnet IP or BACnet MS/TP. All 37 objects are read-only: flame signal, cycle and hour counters, fault and first-out codes, one flag per burner sequence state, and the limit and interlock inputs.",
 "bacnet_transport": [
  "BACnet IP",
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": "50000 + the controller's Modbus Node-ID (Node_Offset default 50,000, changeable in the Web Configurator)",
 "access_inferred": true,
 "notes": [
  "Each connected controller shows up as its own BACnet device on the ProtoNode FPC-N34 gateway.",
  "Monitoring only: the RM7800 profile has no writable objects.",
  "The sequence-state points (Initiate to Lockout) are analog inputs that carry a 0/1 on/off value.",
  "The guide gives no fault-code or first-out-code tables; see the RM7800 documentation."
 ],
 "integration": {
  "summary": "Wire the RM7800 display module Modbus terminals to the ProtoNode, set it to 19200 8N1 with a unique Node-ID, add the RM7800 profile in the Web Configurator, and discover it at 50000 + Node-ID. It is a monitoring profile: read the run, alarm and lockout flags, the fault and first-out codes and the flame signal.",
  "minimum_points": [
   {
    "ref": "AI 58",
    "name": "Run",
    "why": "Burner in run (1 = on)"
   },
   {
    "ref": "AI 1",
    "name": "Flame Signal",
    "why": "Flame signal strength"
   },
   {
    "ref": "AI 4",
    "name": "Burner Fault Code",
    "why": "Current burner fault code"
   },
   {
    "ref": "AI 62",
    "name": "Alarm",
    "why": "Flame safeguard alarm (1 = on)"
   },
   {
    "ref": "AI 64",
    "name": "Lockout",
    "why": "Burner locked out (1 = on)"
   },
   {
    "ref": "BI 1",
    "name": "Com Status",
    "why": "Modbus link between ProtoNode and the RM7800"
   }
  ],
  "enable": "None: the RM7800 profile is read-only, so start/stop is not available over BACnet.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Device instance = Node_Offset (default 50,000) + the controller's Modbus Node-ID, so Node-ID 1 gives 50001.",
   "ProtoNode default IP is 192.168.1.24 (255.255.255.0); change it in the FS-GUI under Setup > Network Settings.",
   "FPC-N34 S-bank DIP switches pick the protocol: all Off = BACnet IP, S0 On = BACnet MS/TP, S2 On = BACnet MS/TP single node.",
   "BACnet MS/TP: one MAC address (1-127) for the whole ProtoNode on A-bank DIP switches; baud on B-bank switches, factory default 38400.",
   "Modbus side: every RWF40, RWF55 and RM7800 must run Modbus RTU at 19200, 8N1 with a unique Node-ID (1-255); add each one as a profile in the Web Configurator.",
   "With more than one controller on a ProtoNode set BACnet Virtual Server Nodes to Yes; give each ProtoNode on a subnet its own BACnet Network Number (default 50)."
  ],
  "gotchas": [
   "Sequence states are AI objects holding 0/1, not binary objects.",
   "RM7800 wiring: A to ProtoNode Tx+, B to Rx-, C to GND; a factory terminal strip (AO/BO/SO) may already combine it with the RWF controller."
  ]
 },
 "source": {
  "title": "ProtoNode FPC-N34 and ProtoNode FPC-N35 Start-up Guide for Interfacing Thermal Solutions Product Models EVA/EVAW/EVO/EVOW with RWF40, RWF55 and RM7800 Controls",
  "doc_number": "Document Revision 7.A (Web Configurator Template Revision 70)",
  "revision_date": "2018-08",
  "url": "https://boilers-water-heaters.thermalsolutions.com/Asset/Thermal%20Solutions%20EVA,%20EVAW,%20EVO%20&%20EVOW%20ProtoNode%20N34%20&%20N35%20Start-up%20Guide%202018-08.pdf"
 },
 "points": [
  {
   "type": "BI",
   "instance": 1,
   "name": "Com Status",
   "description": "ProtoNode-to-RM7800 Modbus link status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Flame Signal",
   "description": "Flame signal strength",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Burner Cycles",
   "description": "Burner cycle count",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Burner Hours",
   "description": "Burner run hours",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Burner Fault Code",
   "description": "Current burner fault code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 53,
   "name": "Initiate",
   "description": "Sequence state: initiate",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 54,
   "name": "Standby",
   "description": "Sequence state: standby",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 55,
   "name": "Purge",
   "description": "Sequence state: purge",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 56,
   "name": "Pilot Ignition",
   "description": "Sequence state: pilot ignition",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 57,
   "name": "Main Ignition",
   "description": "Sequence state: main ignition",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 58,
   "name": "Run",
   "description": "Sequence state: run",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 59,
   "name": "Postpurge",
   "description": "Sequence state: postpurge",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 60,
   "name": "Pre-Ignition",
   "description": "Sequence state: pre-ignition",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 61,
   "name": "Valve Proving",
   "description": "Sequence state: valve proving",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 62,
   "name": "Alarm",
   "description": "Flame safeguard alarm active",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 63,
   "name": "Hold",
   "description": "Sequence on hold",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 64,
   "name": "Lockout",
   "description": "Flame safeguard in lockout",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AI",
   "instance": 65,
   "name": "First Out Code",
   "description": "First-out annunciation code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 66,
   "name": "Main Valve Proof of Closure",
   "description": "Main valve proof-of-closure input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 67,
   "name": "Burner Switch",
   "description": "Burner switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 68,
   "name": "Operating Control",
   "description": "Operating control input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 69,
   "name": "Auxiliary Limit 1",
   "description": "Auxiliary limit 1 input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 70,
   "name": "Auxiliary Limit 2",
   "description": "Auxiliary limit 2 input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 71,
   "name": "Low Water Cutoff",
   "description": "Low water cutoff input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 72,
   "name": "High Limit",
   "description": "High limit input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 73,
   "name": "Auxiliary Limit 3",
   "description": "Auxiliary limit 3 input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 74,
   "name": "Oil Select Switch",
   "description": "Oil select switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 75,
   "name": "High Oil Pressure",
   "description": "High oil pressure switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 76,
   "name": "Low Oil Pressure",
   "description": "Low oil pressure switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 77,
   "name": "High Oil Temperature",
   "description": "High oil temperature switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 78,
   "name": "Low Oil Temperature",
   "description": "Low oil temperature switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 79,
   "name": "Gas Select Switch",
   "description": "Gas select switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 80,
   "name": "High Gas Pressure",
   "description": "High gas pressure switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 81,
   "name": "Low Gas Pressure",
   "description": "Low gas pressure switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 82,
   "name": "Air Flow Switch",
   "description": "Combustion air flow switch input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 83,
   "name": "Auxiliary Interlock 4",
   "description": "Auxiliary interlock 4 input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 84,
   "name": "Auxiliary Interlock 5",
   "description": "Auxiliary interlock 5 input",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/thermal-solutions/eva-evo-rm7800",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
