{
 "manufacturer": "FlowCon",
 "manufacturer_slug": "flowcon",
 "model": "FH-BUS / FN.0.2-BUS PICV actuator",
 "model_slug": "fh-bus-fn-0-2-bus-actuator",
 "aliases": [
  "FH-BUS",
  "FN.0.2-BUS",
  "FN02-BUS",
  "FlowCon FH actuator",
  "FlowCon FN actuator",
  "FlowCon Green.3 actuator",
  "FlowCon GreEQ actuator"
 ],
 "equipment_type": "Valve actuator (PICV)",
 "applies_to": "FlowCon FH-BUS actuator (FlowCon Green.3 PICV) and FN.0.2-BUS actuator (FlowCon Green and GreEQ PICVs) with BACnet MS/TP.",
 "summary": "Modulating bus actuators for FlowCon pressure-independent control valves, talking BACnet MS/TP or Modbus. The BMS can drive the valve directly (AV 1 flow set point) or let the actuator run room temperature, thermal power or return temperature control from its own PI loop, with two configurable sensor ports. It also reports flow, delta T, thermal power, energy and several fault flags.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "Software 2.11, protocol revision 1.22",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "The FH-BUS and FN.0.2-BUS PICS print the same 72 objects; they differ only in MV 8 valve choices, the PT100/PT1000 option in MV 2 and the AV 18 range.",
  "Network Port 1 (MS/TP) is listed as Other 1.",
  "AV 4, AV 5 and AV 17 are writable only when MV 5 / MV 10 selects BUS as the source.",
  "Thermal power and energy values (AI 16-18) are only valid on PICVs.",
  "Instance numbers skip AI 14, AV 9, AV 21 and AV 24-27, AV 33-34 as printed."
 ],
 "source": {
  "title": "BACnet PICS for FlowCon FH-BUS",
  "doc_number": null,
  "revision_date": "2026-03-02",
  "url": "https://flowcon.com/fileadmin/user_upload/Pdf/Certificates/BACnet_PICS/FlowCon-BACnet-PICS-Statement-FlowCon-FH-BUS.pdf"
 },
 "integration": {
  "summary": "Set MV 4 to 1 (external control signal) and write the flow demand to AV 1, or pick a local control mode and write its set point. Set MV 6 to choose what the actuator does if the bus goes quiet, and watch BI 3-7 for faults.",
  "minimum_points": [
   {
    "ref": "MV 4",
    "name": "Operating mode",
    "why": "Control mode; 1 = follow AV 1"
   },
   {
    "ref": "AV 1",
    "name": "External control signal",
    "why": "Flow set point, 0-100 %"
   },
   {
    "ref": "MV 9",
    "name": "Choose HVAC mode (Changeover)",
    "why": "Changeover: shut-off, heating, cooling, auto"
   },
   {
    "ref": "AI 6",
    "name": "Actual value control signal",
    "why": "Actual flow, % of max."
   },
   {
    "ref": "AI 7",
    "name": "Actual volume flow rate",
    "why": "Actual flow, l/h"
   },
   {
    "ref": "AI 8",
    "name": "Differential temperature",
    "why": "Water delta T"
   },
   {
    "ref": "BI 3",
    "name": "Actuator is busy",
    "why": "Not following the control signal"
   },
   {
    "ref": "BI 4",
    "name": "Actuator in malfunction",
    "why": "Hardware fault"
   },
   {
    "ref": "BI 6",
    "name": "Error: valve blocking",
    "why": "Valve blocked"
   }
  ],
  "enable": "MV 4 = 1 makes the actuator follow AV 1; other MV 4 values hand control to the built-in room temperature, thermal power or return temperature loop.",
  "heartbeat": "MV 6 sets the action on communication loss: fail in place, or after 120 s close, open or go to the AV 8 position (default 30 %).",
  "remote_sensors": "Supply/return temperatures (AV 4/AV 5) and room temperature (AV 17) can be written by the BMS when MV 5 / MV 10 select BUS as the source.",
  "setup": [
   "MS/TP MAC is AV 28 (1-127), writable only with the DIP switches set to 63.",
   "Baud rate is MV 7 (default 38400); a change needs an actuator restart."
  ],
  "gotchas": [
   "MV 1 service commands include reset to factory settings; write it only on purpose.",
   "AV 2/AV 3 limit the control signal range; AV 22/AV 23 limits can override AV 1 (BI 8 shows when)."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Serial number, software version",
   "description": "Serial number and software version (xxxxxx.xx / x.xx)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Analog input P(ort) 1",
   "description": "Measured value at port 1",
   "units": "°C, K or % (per sensor type)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Analog input P(ort)2",
   "description": "Measured value at port 2",
   "units": "°C, K or % (per sensor type)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Target position",
   "description": "Target position for the actuator piston",
   "units": "mm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Actual position",
   "description": "Actual position of the actuator piston",
   "units": "mm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Actual value control signal",
   "description": "Actual flow in percent of max. flow setting",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Actual volume flow rate",
   "description": "Calculated flow rate from valve parameters",
   "units": "l/h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Differential temperature",
   "description": "Water delta T from supply and return temperatures",
   "units": "K",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Flush timer actual value",
   "description": "Time left to next flush (hours, last hour in minutes)",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Valve blocking protection timer actual value",
   "description": "Time left to next valve blocking protection run",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Operating hours",
   "description": "Total actuator operating time",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "Distance counter",
   "description": "Total actuator travel distance",
   "units": "mm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "Overall stroke",
   "description": "Distance between upper and lower end position",
   "units": "mm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "Actual volume flow rate limitation",
   "description": "Max. flow for the selected valve (from MV 8)",
   "units": "l/h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 16,
   "name": "Actual value of thermal power",
   "description": "Thermal power through the valve (PICV only)",
   "units": "kW",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "Energy since 0:00 o’clock",
   "description": "Energy used since midnight (PICV only)",
   "units": "kWh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "Energy in the last 24h",
   "description": "Energy used over the last 24 h (PICV only)",
   "units": "kWh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "Analog output P(ort) 2",
   "description": "Port 2 0-10 V output value (when MV 3 = 9)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "External control signal",
   "description": "Flow set point / actuating signal, 0-100 % (-10 to 110)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Minimum control signal",
   "description": "Set minimum control signal limit",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Maximum control signal",
   "description": "Set maximum control signal limit",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Supply temperature",
   "description": "Supply water temperature; write-protected if from a port",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Return temperature",
   "description": "Return water temperature; write-protected if from a port",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Correction value P(ort) 1",
   "description": "Correction for port 1, -10 to +10",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Correction value P(ort) 2",
   "description": "Correction for port 2, -10 to +10",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Emergency position",
   "description": "Fail-safe position on bus loss (default 30 %)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Valve blocking protection timer",
   "description": "Time between valve blocking protection runs; 0 = off",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Hydraulic balancing value for heating",
   "description": "Balancing flow for heating mode",
   "units": "l/h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Hydraulic balancing value for cooling",
   "description": "Balancing flow for cooling mode",
   "units": "l/h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Valve lift",
   "description": "Valve stroke 0.5-9 mm; 0 = automatic detection",
   "units": "mm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Medium energy constant",
   "description": "Medium energy constant (4183 = water)",
   "units": "J/(kg·K)",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Xp",
   "description": "PI controller proportional gain, 2-6000",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Tn",
   "description": "PI controller time constant",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Room temperature actual value",
   "description": "Room temperature; write-protected if from a port",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Room temperature setpoint",
   "description": "Room temperature set point (0-50 °C; 0-100 °C on FN.0.2)",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Thermal power setpoint",
   "description": "Thermal power setpoint",
   "units": "kW",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Return temperature setpoint",
   "description": "Return water temperature setpoint",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Maximum thermal power limiting value",
   "description": "Thermal power limit; 0 = not active",
   "units": "kW",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Return temperature limiting value",
   "description": "Return water temperature limit; 0 = not active",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "MAC address",
   "description": "MS/TP MAC 1-127; writable when DIP switches set to 63",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Close when adjusting range",
   "description": "End-position range where actuator stays at the end, 0-5 %",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "Kvs value of the selected valve",
   "description": "No function; value set by valve selection in MV 8",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "Sensitivity constant thermal power limitation",
   "description": "Gain for thermal power limitation, 2-6000",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "Sensitivity constant return temperature limitation",
   "description": "Gain for return temperature limitation, 2-6000",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "Flush timer",
   "description": "Time between flushing runs; 0 = off",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "Binary input P(ort) 1",
   "description": "Input in port 1",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Binary input P(ort) 2",
   "description": "Input in port 2",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "Actuator is busy",
   "description": "Actuator busy, not following the control signal",
   "units": "",
   "access": "R",
   "states": "0=Normal operation, 1=Actuator is not available for control signal"
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Actuator in malfunction",
   "description": "Hardware fault (e.g. port range exceeded)",
   "units": "",
   "access": "R",
   "states": "0=Normal operation, 1=Hardware fault"
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Error during valve adaption",
   "description": "Valve calibration error",
   "units": "",
   "access": "R",
   "states": "0=Normal operation, 1=Error during valve adaption"
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Error: valve blocking",
   "description": "Valve blocked error",
   "units": "",
   "access": "R",
   "states": "0=Normal operation, 1=Error, valve is blocked"
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "Warning: leak detected",
   "description": "Leak warning: dT above 8 K with valve closed 6 h+",
   "units": "",
   "access": "R",
   "states": "0=No warning, 1=Leak detected"
  },
  {
   "type": "BI",
   "instance": 8,
   "name": "Limit function active",
   "description": "Control signal overridden by a limit function",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "P(ort) 1 inversion (binary input)",
   "description": "Port 1 binary input direct/inverse (MV 2 = 2)",
   "units": "",
   "access": "W",
   "states": "0=Direct, 1=Inverted"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "P(ort) 2 inversion (binary input)",
   "description": "Port 2 binary input direct/inverse (MV 3 = 2)",
   "units": "",
   "access": "W",
   "states": "0=Direct, 1=Inverted"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "P(ort) 2 inversion (analog output)",
   "description": "Port 2 analog output direct/inverse (MV 3 = 9)",
   "units": "",
   "access": "W",
   "states": "0=Direct, 1=Inverted"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Inversion of the valve actuating direction",
   "description": "Actuator direction",
   "units": "",
   "access": "W",
   "states": "0=Normally closed, 1=Normally open"
  },
  {
   "type": "MI",
   "instance": 1,
   "name": "Status of HVAC mode (Changeover)",
   "description": "Current changeover mode",
   "units": "",
   "access": "R",
   "states": "1=Shut-off, 2=Heating, 3=Cooling"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "Service command",
   "description": "Service command",
   "units": "",
   "access": "W",
   "states": "1=Normal operation mode, 2=Calibration mode, 3=Flush mode, 4=Synchronize valve, 5=Reset error messages, 6=Reset BUS, 7=Reset to factory settings"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "Sensor type P(ort) 1",
   "description": "Port 1 sensor type",
   "units": "",
   "access": "W",
   "states": "1=OFF, 2=Binary input, 3=0-10V input, 4=KP10, 5=Ni1000-DIN, 6=Ni1000-LG, 7=PT100 (PT1000 on FN.0.2), 8=Potentiometer 10kΩ, 9=Potentiometer 10kΩ +/-3kΩ, 10=Potentiometer 10kΩ +/-5kΩ"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "Sensor/Output type P(ort) 2",
   "description": "Port 2 sensor type / output",
   "units": "",
   "access": "W",
   "states": "1=OFF, 2=Binary input, 3=0-10V input, 4=KP10, 5=Ni1000-DIN, 6=Ni1000-LG, 7=PT1000, 8=Potentiometer 10kΩ, 9=0-10V output (AO 1), 10=0-10V Y position feedback (AI 6), 11=Changeover signal for 6-way valve (MV 9)"
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "Operating mode",
   "description": "Control mode and where its set points come from",
   "units": "",
   "access": "W",
   "states": "1=External control signal (AV 1), 2=Open ~100%, 3=Closed ~0%, 4=Minimum position (AV 2), 5=NOT ACTIVE, 6=Maximum position (AV 3), 7=Room temperature (AV 17, AV 18), 8=Control by thermal power (AI 16, AV 19), 9=Return water temperature (AV 5, AV 20)"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "Source of supply and return temperature",
   "description": "Water temperature source, supply and return",
   "units": "",
   "access": "W",
   "states": "1=BUS (AV 4 and AV 5), 2=Port 1 supply, Port 2 return, 3=Port 2 supply, Port 1 return, 4=Port 1 supply, BUS return, 5=Port 2 supply, BUS return, 6=BUS supply, Port 1 return, 7=BUS supply, Port 2 return"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "Communication failure mode",
   "description": "Action in case of communication failure",
   "units": "",
   "access": "W",
   "states": "1=fail in place, 2=close (after 120 s), 3=open (after 120 s), 4=fail position AV 8 (after 120 s)"
  },
  {
   "type": "MV",
   "instance": 7,
   "name": "Select RS485 baud rate",
   "description": "RS-485 baud rate; takes effect after restart",
   "units": "",
   "access": "W",
   "states": "1=Default (38400), 2=9600, 3=19200, 4=38400, 5=57600, 6=76800, 7=115200"
  },
  {
   "type": "MV",
   "instance": 8,
   "name": "Select valve type",
   "description": "Valve type and characteristic",
   "units": "",
   "access": "W",
   "states": "FH-BUS: 1=Linear (generic), 2=Green.3, 3=EQ% (generic), 4=User-Valve; FN.0.2-BUS: 1=Linear (generic), 2=Green.0, 3=Green.1, 4=Green.2, 5=Green.1HF, 6=GreEQ.0, 7=GreEQ.1, 8=GreEQ.2, 9=EQ% (generic), 10=User-Valve"
  },
  {
   "type": "MV",
   "instance": 9,
   "name": "Choose HVAC mode (Changeover)",
   "description": "Changeover mode command",
   "units": "",
   "access": "W",
   "states": "1=Shut-off, 2=Heating, 3=Cooling, 4=Automatic based on supply temperature (MV 3 not 11)"
  },
  {
   "type": "MV",
   "instance": 10,
   "name": "Select source for room temperature",
   "description": "Room temperature source",
   "units": "",
   "access": "W",
   "states": "1=BUS (set AV.17), 2=Port 1, 3=Port 2"
  },
  {
   "type": "MV",
   "instance": 11,
   "name": "LED mode",
   "description": "LED indication",
   "units": "",
   "access": "W",
   "states": "1=OFF, 2=ON without BUS, 3=ON with BUS"
  },
  {
   "type": "MV",
   "instance": 12,
   "name": "Actuating speed",
   "description": "Actuator speed",
   "units": "",
   "access": "W",
   "states": "1=22 s/mm, 2=28 s/mm, 3=16 s/mm"
  },
  {
   "type": "MV",
   "instance": 13,
   "name": "Actuator Control Curve",
   "description": "Actuator control curve (input and feedback)",
   "units": "",
   "access": "W",
   "states": "1=Linear, 2=Equal%, 3=Equal% inverse"
  },
  {
   "type": "Other",
   "instance": 1,
   "name": "Network port MS/TP",
   "description": "Network Port object (MS/TP)",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/flowcon/fh-bus-fn-0-2-bus-actuator",
 "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"
}
