> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Heat pump workflow library

> Reference for the heat pump functional testing workflow covering combined heating and cooling operation with fan verification.

Cloud BMS provides a pre-configured heat pump (HP) functional testing workflow that tests heating and cooling in one run. The workflow commands the unit, reads discharge and mixed temperatures, and scores each sequence against thresholds.

Use this page as a parameter and point-requirements lookup. For single-device practice runs, see [What is Functional Testing?](/products/ftt/overview). For scheduling, see [FTT projects](/products/ftt/projects).

***

## HP - Heating/cooling operation

### Testing procedure

### Pre-conditions check

*Before testing is started, it must be verified that the FCU is running.*

**Verify that device is `Occupied`.**

<Warning>
  If this condition is not met, STOP the workflow and ARCHIVE.
</Warning>

### Setup testing conditions

*In order to ensure that testing is accurate, outside sources of heating and cooling need to be eliminated or minimized. If any of these conditions are applicable and not verified, then the testing will be aborted.*

**Stop Active Heating**

* Verify that *discharge temperature* is within `10△°F` \[Heating - Delta] above *mixed temperature*

**Stop Active Cooling**

* Verify that *discharge temperature* is within `5△°F` \[Cooling - Delta] below *mixed temperature*

### Test the Fan

*It must also be verified that the fan can successfully be commanded to start and stop. If either of these conditions are not verified, then the testing will be aborted.*

**Test 1: Stop the Fan** *Weight: 1/10*

* Command the fan to `OFF`
* Pass if *Fan Speed* is reports to be less than `5%` \[Fan Max Threshold]

**Test 2: Start the Fan** *Weight: 1/10*

* Command the fan to `ON`
* Pass: *Fan Percentage* >= `10%` \[Fan Min Threshold]

### Test Heating

**Test 3: Start Heating Operation** *Weight: 4/10*

* Command Heating to `ON`
* Pass if *zone temp* raised by at least `10△°F` \[Heating - Delta] OR
* Pass if *discharge temp* is greater than `28°F` \[DAT Heating Arb Threshold]

### Test Cooling

**Test 4: Start Cooling Operation** *Weight: 4/10*

* Command Cooling to `ON`
* Pass if *zone temp* dropped by at least `5△°F` \[Cooling - Delta] OR
* Pass if *discharge temp* is less than `18°F` \[DAT Cooling Arb Threshold]

### Parameters

| Display                             | Hint                                                                                                                  |
| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `Stop Fan Weight` \[1]              | Weight on the overall test assigned to this sequence                                                                  |
| `Start Heating Weight` \[4]         | Weight on the overall test assigned to this sequence                                                                  |
| `Cooling Delta` \[5△°F]             | The threshold tolerance for cooling. Delta between ZT and DAT.                                                        |
| `Fan Max Threshold` \[5%]           | The maximum threshold (%) for a fan off status                                                                        |
| `Fan Min Threshold` \[10%]          | The minimum threshold (%) for a fan on status                                                                         |
| `Reaction Time` \[240sec]           | How long to wait for the actuators to fully do their job                                                              |
| `Stabilization Time` \[60sec]       | How long to wait for the system to come to stability after an actuator command and the conditions have been fulfilled |
| `Measure After` \[60sec]            | How long to wait in seconds to start checking the feedback readings                                                   |
| `Heating Delta` \[10△°F]            | The threshold tolerance for heating. Delta between MAT and DAT.                                                       |
| `DAT Heating Arb Threshold` \[28°F] | The DAT above which there would be indication of heating                                                              |
| `DAT Cooling Arb Threshold` \[18°F] | The DAT below which there would be indication of cooling                                                              |
| `Start Fan Weight` \[1]             | Weight on the overall test assigned to this sequence                                                                  |
| `Start Cooling Weight` \[4]         | Weight on the overall test assigned to this sequence                                                                  |

## Next steps

<CardGroup cols={2}>
  <Card title="VAV workflows" icon="fan" href="/products/ftt/vav-workflows" arrow={true}>
    Explore the VAV workflow library for damper, heating, and airflow tracking tests.
  </Card>

  <Card title="FCU workflows" icon="thermometer" href="/products/ftt/fcu-workflows" arrow={true}>
    Explore the FCU workflow library for fan, heating, and cooling tests.
  </Card>

  <Card title="AHU workflows" icon="wind" href="/products/ftt/ahu-workflows" arrow={true}>
    Explore the AHU workflow library for damper, heating, cooling, and VFD tests.
  </Card>

  <Card title="FTT projects" icon="folder-kanban" href="/products/ftt/projects" arrow={true}>
    Assign workflows to devices and schedule automated testing.
  </Card>
</CardGroup>
