{
 "manufacturer": "Bosch",
 "manufacturer_slug": "bosch",
 "model": "FHP / Bosch ES 2-stage single-compressor water-to-air DDC (software 3.10)",
 "model_slug": "fhp-es-two-stage-water-to-air-v3-10",
 "aliases": [
  "FHP ES",
  "Florida Heat Pump ES BACnet",
  "Bosch ES water source heat pump",
  "FHP BACview 3.10",
  "Integration Points List v3.10"
 ],
 "equipment_type": "Water source heat pump controller",
 "applies_to": "Discontinued FHP / Bosch ES-series two-stage, single-compressor water-to-air heat pumps with the factory DDC controller running software 3.10.",
 "summary": "Legacy FHP / Bosch factory DDC controller for ES-series water-to-air heat pumps. One list maps each point to BACnet, Modbus, N2 and LonWorks; on BACnet it is 38 AV/BV objects covering occupancy and setpoints, effective setpoints and temperatures, compressor, fan, reversing valve and aux heat outputs, UPM safety alarms and run-time resets.",
 "bacnet_transport": [],
 "firmware": "Software version 3.10",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "This is an archived document for a discontinued product. Newer Bosch Control Air 5600 controllers (WAZ software) use a different object list.",
  "Access comes from the Read Only column; unmarked points are writable network parameters.",
  "BV 2, 3, 6 and 7 are not in the list.",
  "aux_htg_cmd_1 and nsb_status_1 give their states as 1/2 in the list text; kept as printed.",
  "The list does not say which BACnet transport the controller uses; check the controller's own manual (BACview IOM for software 3.10)."
 ],
 "source": {
  "title": "FHP Bosch - Water to Air ES 2 Stage - Single Compressor - Network Integration Points List",
  "doc_number": "Version 3.10",
  "revision_date": "REV 05-10",
  "url": "https://www.bosch-homecomfort.com/us/media/country_pool/documents/legacy-products/disc.-ac-prod.-archived-literature/options/fhp-controls-310-integration_us_us.pdf"
 },
 "integration": {
  "summary": "Pick the occupancy source with ctrl_source_1 (2 = BAS occupancy command), then command occupancy with enable_bas_1 and write the four occupied/unoccupied setpoints. loop_enabled_1 must be On to allow heating and cooling. Read sys_status_1, the effective setpoints and temperatures, and alm_status_1 / current_alarm_1 for faults.",
  "minimum_points": [
   {
    "ref": "BV 1",
    "name": "enable_bas_1",
    "why": "Occupancy command from the BAS"
   },
   {
    "ref": "AV 15",
    "name": "ctrl_source_1",
    "why": "Occupancy source; 2 = BAS occupancy command"
   },
   {
    "ref": "AV 4",
    "name": "occ_clg_stpt_1",
    "why": "Occupied cooling setpoint"
   },
   {
    "ref": "AV 2",
    "name": "occ_htg_stpt_1",
    "why": "Occupied heating setpoint"
   },
   {
    "ref": "AV 16",
    "name": "sys_status_1",
    "why": "Unoccupied / occupied / fan only / heating / cooling state"
   },
   {
    "ref": "AV 7",
    "name": "eff_zone_temp_1",
    "why": "Zone temperature in use"
   },
   {
    "ref": "AV 17",
    "name": "current_alarm_1",
    "why": "Active alarm code"
   },
   {
    "ref": "BV 24",
    "name": "alm_status_1",
    "why": "Alarm present flag"
   }
  ],
  "enable": "ctrl_source_1 (AV 15) selects where occupancy comes from: 0 = digital input 1, 1 = keypad schedule, 2 = BAS occupancy command, 4 = manual on. With 2, enable_bas_1 (BV 1) sets occupancy. loop_enabled_1 (BV 23) Off blocks heating and cooling.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [],
  "gotchas": [
   "The run-time reset and UPM reset points need a momentary On then Off.",
   "The list suggests toggling occupancy or setpoints to clear a UPM fault and using upm_rst_1 only when needed."
  ]
 },
 "points": [
  {
   "type": "BV",
   "instance": 1,
   "name": "enable_bas_1",
   "description": "Occupancy / unit enable from the BAS",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "unocc_htg_stpt_1",
   "description": "Unoccupied heating setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "occ_htg_stpt_1",
   "description": "Occupied heating setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "unocc_clg_stpt_1",
   "description": "Unoccupied cooling setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "occ_clg_stpt_1",
   "description": "Occupied cooling setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "eff_clg_stpt_1",
   "description": "Cooling setpoint in use after adjustment",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "eff_htg_stpt_1",
   "description": "Heating setpoint in use after adjustment",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "eff_zone_temp_1",
   "description": "Zone temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "stpt_adj_1",
   "description": "Setpoint adjustment from the space sensor",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "ovr_time_1",
   "description": "Override time left from the space sensor",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "eff_dat_1",
   "description": "Discharge air temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "eff_lwt_1",
   "description": "Leaving water temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "htg_pct_1",
   "description": "Heating capacity in percent",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "clg_pct_1",
   "description": "Cooling capacity in percent",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "lp1_2st_1",
   "description": "UPM low pressure alarm, compressor 1",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "hp1_2st_1",
   "description": "UPM high pressure alarm, compressor 1",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "frz_2st_1",
   "description": "UPM freeze alarm",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "con_2st_1",
   "description": "UPM condensate alarm",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "brn_2st_1",
   "description": "UPM brownout alarm",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "cmp_stg1_cmd_1",
   "description": "Compressor stage 1 output command",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "cmp_stg2_cmd_1",
   "description": "Compressor stage 2 output command",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "cmp_stgs_1",
   "description": "Number of compressor stages in the unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "cmp_stg1_rntm_rst_1",
   "description": "Reset compressor stage 1 run time (momentary)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "cmp_stg2_rntm_rst_1",
   "description": "Reset compressor stage 2 run time (momentary)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 15,
   "name": "rev_vlv_cmd_1",
   "description": "Reversing valve output command",
   "units": "",
   "access": "R",
   "states": "0=De-energized, 1=Energized"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "rev_vlv_act_1",
   "description": "Reversing valve action (cooling or heating active)",
   "units": "",
   "access": "W",
   "states": "0=Heating active, 1=Cooling active"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "fan_cmd_1",
   "description": "Fan output command",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "cont_fan_1",
   "description": "Run fan continuously when occupied",
   "units": "",
   "access": "W",
   "states": "On=Runs when occupied, Off=Cycles"
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "fan_rntm_rst_1",
   "description": "Reset fan run time (momentary)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 20,
   "name": "aux_htg_cmd_1",
   "description": "Auxiliary heat output command",
   "units": "",
   "access": "R",
   "states": "1=On, 2=Off (as printed)"
  },
  {
   "type": "BV",
   "instance": 21,
   "name": "occ_status_1",
   "description": "Occupancy status",
   "units": "",
   "access": "R",
   "states": "0=Unoccupied, 1=Occupied"
  },
  {
   "type": "BV",
   "instance": 22,
   "name": "nsb_status_1",
   "description": "Night setback status",
   "units": "",
   "access": "R",
   "states": "1=Enabled, 2=Disabled (as printed)"
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "ctrl_source_1",
   "description": "Occupancy control source",
   "units": "",
   "access": "W",
   "states": "0=Digital Input 1, 1=Keypad Schedule, 2=BAS Occupancy Command, 3=Factory Use, 4=Manual On-Continuous"
  },
  {
   "type": "BV",
   "instance": 23,
   "name": "loop_enabled_1",
   "description": "Allow or block heating/cooling",
   "units": "",
   "access": "W",
   "states": "On=Allow heat/cool, Off=Disable heat/cool"
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "sys_status_1",
   "description": "General system status",
   "units": "",
   "access": "R",
   "states": "0=Unoccupied, 1=Occupied, 2=Fan Only, 3=Heating, 4=Cooling, 5=Transition to Cool, 6=Transition to Heat, 7=Manual Cool, 8=Manual Heat"
  },
  {
   "type": "BV",
   "instance": 24,
   "name": "alm_status_1",
   "description": "Unit alarm present",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "current_alarm_1",
   "description": "Current alarm code",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1-7=UPM Fault Code, 20=Output Overridden via Keypad, 30=Sensor Failure, 40=Zone Temp Alarm, 50=Discharge Air Temp Alarm, 60=Filter / Comp Run Time Alarm, 70=Leaving Water Temp Alarm"
  },
  {
   "type": "BV",
   "instance": 25,
   "name": "upm_rst_1",
   "description": "UPM fault reset (momentary)",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/bosch/fhp-es-two-stage-water-to-air-v3-10",
 "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"
}
