> ## 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.

# FDD configuration

> Set up and manage fault detection rules, device monitoring parameters, notification policies, and multi-config folders for your building equipment.

FDD configuration is where you activate and customize monitoring rules (routines) for your building equipment. You define which devices to monitor, what thresholds trigger alerts, and how notifications are delivered.

All routines you create on the [Routines](/products/fdd/routines) page automatically become available for configuration here. KODE also provides a set of pre-built library routines that are available by default to every client. Library routines cover common fault conditions across airside, chilled water, and hot water systems.

<Info>
  Navigate to `FDD` from the left sidebar, open the secondary sidebar, and select `Configs`.
</Info>

## Key capabilities

* Configure events for real-time alarms
* Apply routines from the KODE Library or custom rules
* Set device-specific parameters and thresholds
* Manage notification policies and priority levels
* Use <Tooltip tip="Separate folders under one routine so different device groups can use different parameters, priorities, and policies.">Multi-Config</Tooltip> folders for granular control
* Batch configure multiple routines simultaneously

## The Configs list

The Configs list displays all available routines and their current state. Each row provides a summary of the routine's configuration. Use the search bar and filter dropdowns (`Status`, `Priority`, `Policy`, `Source`, `Recommended Type`) to find specific routines. Select `Clear All` to reset filters.

<Frame caption="The Batch Configuration page lists all routines available for configuration, including both library and locally created routines">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/fdd/kode-os-fdd-batch-configuration.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=9c48c5f10c54487939fce156b04cd25b" alt="Batch Configuration page with search bar, filter dropdowns for Status, Priority, Policy, Source, and Recommended Type, and a table listing routines with columns for Name, Event Status, Fault Status, Number of Folders, Number of Devices, Priority, and Source showing Library and Local sources" width="1024" height="461" data-path="images/kode-os/fdd/kode-os-fdd-batch-configuration.png" />
</Frame>

Expand a routine row to view its Multi-Config folders with individual device counts, statuses, and priorities.

<Frame caption="Expanded routine showing Multi-Config folders with device counts and priorities">
  <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-configs-list.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=b083f86751256517c188916f9d392799" alt="Configs list with an expanded routine showing Folder 1 and Folder 2 with device counts and Alert priority levels" width="1024" height="604" data-path="images/kode-os/fdd/kode-os-fdd-configs-list.png" />
</Frame>

| Column              | Description                                                |
| ------------------- | ---------------------------------------------------------- |
| `Name`              | Routine name. Select to open detailed configuration.       |
| `Event Status`      | Current state: Not Configured, Disabled, Enabled, or Mixed |
| `Fault Status`      | Indicates whether fault tracking is active                 |
| `Number of Folders` | Count of Multi-Config folders                              |
| `Number of Devices` | Count of devices assigned to the routine                   |
| `Policy`            | Assigned notification policy                               |
| `Priority`          | Priority level for generated events                        |
| `Source`            | Origin of the routine: Local or Library                    |
| `Recommended Type`  | Suggested equipment type for the routine                   |
| `Description`       | Summary of what the routine monitors                       |

### Status definitions

| Status             | Meaning                                                        |
| ------------------ | -------------------------------------------------------------- |
| **Not Configured** | No devices or parameters assigned yet                          |
| **Disabled**       | Configured but not actively generating events                  |
| **Enabled**        | Actively monitoring devices and generating events              |
| **Mixed**          | Multi-Config folders have different enabled or disabled states |

## Configure routines

Choose quick configuration for default settings across many routines, or detailed configuration to tune one routine at a time.

<Tabs>
  <Tab title="Quick configuration" icon="zap">
    Use quick configuration to apply default settings to multiple routines at once.

    <Frame caption="Select routines using checkboxes to access bulk actions in the bottom toolbar">
      <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-configs-select.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=36944f6b681fd58ecab022229e6ec272" alt="Batch Configuration list with one routine selected and bottom toolbar showing Delete, Disable, Enable, and Configure buttons" width="1024" height="494" data-path="images/kode-os/fdd/kode-os-fdd-configs-select.png" />
    </Frame>

    <Steps>
      <Step title="Select routines">
        Select the checkboxes next to one or more routines in the Configs list.
      </Step>

      <Step title="Choose a notification policy">
        Select the `Configure` button in the toolbar. Choose a notification policy from the dropdown.
      </Step>

      <Step title="Apply the configuration">
        Select `Configure` to find compatible devices, create the configuration, and apply default parameters without enabling monitoring yet.

        Select `Configure and Enable` when you want the same batch action to start monitoring immediately after configuration.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Detailed configuration" icon="sliders-horizontal">
    Select a routine name in the Configs list to open its Config Details page. Use detailed configuration to fine-tune parameters, select specific devices, and set notification preferences for individual routines. Each folder maintains its own independent configuration -- you can set different parameters, status setup, notification settings, base settings, and possible solutions per folder.

    <Steps>
      <Step title="Open the config details">
        Select the routine name link from the Configs list. The Config Details page has three areas:

        * **Top tabs**: Navigate between `Overview` and individual Multi-Config folders (for example, `VAVs`, `FCUs`) with a `+` button to add folders
        * **Main panel**: View and select devices with search and filters
        * **Right panel**: Adjust `Routine Params`, `Status Setup`, `Notification Settings`, `External Data Source`, `Base Settings`, and `Possible Solutions`

        <Frame caption="The Config Details page with device list, routine parameters, and folder tabs">
          <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-config-devices.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=d68d447beeae50cf48790d94f16b9b97" alt="Config Details page for Temperature Less than Setpoint while Occupied showing Overview and Folder 1 tabs, a device table listing FCU208, VAV_406, VAV_204, VAV_407, VAV_401, VAV_209, VAV_104, VAV_103, and FCU_207 with area and point count columns, and Routine Params panel showing parameter values" width="1024" height="490" data-path="images/kode-os/fdd/kode-os-fdd-config-devices.png" />
        </Frame>
      </Step>

      <Step title="Select devices to monitor">
        The main panel lists all compatible devices automatically. Select individual device checkboxes, use `Select All`, or search by name. Expand a device row to view its main point and other points.

        For devices with multiple point options, choose the correct combination from the dropdown next to each device.
      </Step>

      <Step title="Configure parameters">
        The `Routine Params` panel on the right displays adjustable parameters with default values and info tooltips. Adjust values based on your equipment and environment.

        | Parameter                    | Purpose                                                            |
        | ---------------------------- | ------------------------------------------------------------------ |
        | `Arbitrary Heating Setpoint` | Temperature threshold for heating faults                           |
        | `Alarm On Delay`             | Duration a fault condition must persist before generating an event |
        | `Arbitrary Cooling Setpoint` | Temperature threshold for cooling faults                           |
        | `Start Delay`                | Wait time after system startup before monitoring begins            |
        | `Heating Setpoint Deadband`  | Acceptable deviation from the heating setpoint                     |
        | `Cooling Setpoint Deadband`  | Acceptable deviation from the cooling setpoint                     |
        | `Single Setpoint Deadband`   | Acceptable deviation when a single setpoint is used                |
        | `Return to Normal Delay`     | Duration a condition must be normal before closing the event       |

        <Tip>
          Use tighter tolerances for critical spaces like server rooms. Apply longer delays for equipment with startup fluctuations. Set wider dead band values for older equipment to reduce false positives.
        </Tip>
      </Step>

      <Step title="Configure status setup">
        The `Status Setup` section controls whether the routine generates events, faults, and actively monitors devices.

        <Frame caption="Status Setup with Event Config, Fault Config, and Routine Config toggles">
          <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-config-status-setup.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=4b2f62ff563ef69f986f2fea685e38fd" alt="Status Setup section showing Event Config toggle enabled with description about real-time monitoring, Fault Config toggle disabled with description about daily non-critical analysis, and Routine Config toggle enabled with description about monitoring devices in this folder" width="301" height="354" data-path="images/kode-os/fdd/kode-os-fdd-config-status-setup.png" />
        </Frame>

        * **Event Config**: Events are real time and used to monitor critical assets and send high priority notifications.
        * **Fault Config**: Faults are generated daily and used to analyze non-critical comfort, energy, and mechanical issues.
        * **Routine Config**: Enable to start monitoring devices in this folder.
      </Step>

      <Step title="Set notification settings">
        The `Notification Settings` section defines how events from this routine are grouped and delivered.

        <Frame caption="Notification Settings with grouping policy, priority, and notification policy">
          <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-config-notification-settings.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=9f15652bd51aa9781384d7a3cd7f959f" alt="Notification Settings panel showing Grouping Policy set to None, Priority set to Alert, and Notification Policy set to Alert Notification" width="305" height="726" data-path="images/kode-os/fdd/kode-os-fdd-config-notification-settings.png" />
        </Frame>

        **Grouping Policy**

        * **None**: Sends individual notifications for each event. Use for critical alarms that need individual attention.
        * **<Tooltip tip="Groups related events by ontology relationships to form incidents and reduce notification volume.">Reference-based</Tooltip>**: Groups related events by ontology relationships to reduce notification volume and form incidents.
        * **<Tooltip tip="Groups events by the connected data source. Use for Datasource Down or Device Down routines.">Data Source</Tooltip>**: Groups events by data source. Use for connectivity routines such as Datasource Down or Device Down.

        **Priority**: Select the priority level for events generated by this routine (Life Safety, Critical, Warning, Alert, or Info).

        **Notification Policy**: Select the policy that defines which contacts receive notifications and through which channels.
      </Step>

      <Step title="Add external data source">
        The `External Data Source` section lets you connect an external system for work order delivery from this config. Select `+ Add External Source` to configure a connection. This section is optional.

        If you configure an external data source here, it applies only to this configuration and overrides any external data source set on the [notification policy](/products/fdd/notification-policies).
      </Step>

      <Step title="Configure base settings">
        The `Base Settings` section defines the content included in event notifications. Default values use dynamic tokens that pull from the routine definition.

        <Frame caption="Base Settings with event naming, descriptions, notes, and possible solutions">
          <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-config-base-settings.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=e352605fd4be8905dde5398239da6fda" alt="Base Settings panel showing Event Name with routines.name token, On Create Description and On End Description with routines.description token, On Create Notes and On End Notes fields, and Possible Solutions with Add Solution button" width="297" height="712" data-path="images/kode-os/fdd/kode-os-fdd-config-base-settings.png" />
        </Frame>

        * **Event Name**: The name displayed for generated events. Defaults to `{{routines.name}}`.
        * **On Create Description**: Text included when an event is created. Defaults to `{{routines.description}}`.
        * **On Create Notes**: Additional notes attached to the event at creation.
        * **On End Description**: Text included when an event closes. Defaults to `{{routines.description}}`.
        * **On End Notes**: Additional notes attached when the event closes.
        * **Possible Solutions**: Add possible solutions that appear in event reports to guide troubleshooting. Select `+ Add/Sort Solution` to add entries.
      </Step>

      <Step title="Save the folder">
        Select `Save Folder` to apply your configuration. Repeat for each folder as needed.

        <Warning>
          When you save a folder, the config appears as `Disabled` in the Configs list. You must enable it separately from the list.
        </Warning>
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Enable or disable configs

After saving your configuration, return to the Configs list to enable event generation.

<Steps>
  <Step title="Find the config">
    Search for the routine name in the Configs list. The newly configured routine displays as `Disabled`.

    <Frame caption="After saving, the config appears as Disabled in the Configs list with its folder and device counts">
      <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-configs-disabled.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=86671d844ef9980c53005114446027b2" alt="Batch Configuration list showing Temperature Less than Setpoint while Occupied with Disabled status, 2 folders, 4 devices, Critical priority, and Library source" width="1024" height="454" data-path="images/kode-os/fdd/kode-os-fdd-configs-disabled.png" />
    </Frame>
  </Step>

  <Step title="Enable the config">
    Select the checkbox next to the routine and select `Enable` from the bottom toolbar.

    <Frame caption="Select the routine and click Enable to start generating events">
      <img src="https://mintcdn.com/kodelabs/SxbaONoYYoMWCQfA/images/kode-os/fdd/kode-os-fdd-configs-enabled.png?fit=max&auto=format&n=SxbaONoYYoMWCQfA&q=85&s=4fe7c81af79ca00257a69dbe473982da" alt="Batch Configuration list with Temperature Less than Setpoint while Occupied now showing Enabled status after selecting Enable from the toolbar" width="1024" height="464" data-path="images/kode-os/fdd/kode-os-fdd-configs-enabled.png" />
    </Frame>
  </Step>
</Steps>

<Note>
  Disabled configs retain their configuration but stop generating new events. Re-enable a config to resume monitoring without reconfiguring.
</Note>

## Multi-Config folders

<Tooltip tip="Separate folders under one routine so different device groups can use different parameters, priorities, and policies.">Multi-Config</Tooltip> folders let you apply different configurations to the same routine across different groups of devices.

### When to use folders

* Different thresholds for server rooms versus standard offices
* Separate notification policies for critical versus non-critical equipment
* Distinct priority levels based on equipment location or function
* Varying operating parameters for different equipment generations

### Create a folder

<Steps>
  <Step title="Add the folder">
    Select `+ Folder` in the top menu of the Config Details page. Enter a descriptive name and select `Create`.
  </Step>

  <Step title="Configure devices">
    Select devices for this folder and configure parameters, status setup, notification settings, base settings, and possible solutions independently from other folders.
  </Step>
</Steps>

### Manage folders

Switch between folders using the top tabs. Each folder maintains its own device selection, routine parameters, status setup, notification settings, external data source, base settings, and possible solutions. Save each folder before switching to another.

<Note>
  A routine's status displays as Mixed when its folders have different enabled or disabled states.
</Note>

## Best practices

### Deployment strategy

1. Start with critical equipment that has the highest operational impact.
2. Use recommended routine types matched to your equipment.
3. Test with a small group of devices before rolling out broadly.
4. Review event output after one week and adjust thresholds as needed.
5. Document any customizations for future reference.

### Parameter tuning

| Equipment type      | Recommendation                                                          |
| ------------------- | ----------------------------------------------------------------------- |
| **New equipment**   | Start with default parameters and refine after observing initial output |
| **Older equipment** | Increase tolerances and deadbands to account for sensor drift           |
| **Critical spaces** | Minimize delays and tighten tolerances for faster response              |

## Troubleshooting

<AccordionGroup>
  <Accordion title="No compatible devices found">
    Verify that your devices have the correct point templating applied. Routines match devices based on canonical point types defined in the ontology.
  </Accordion>

  <Accordion title="Configuration does not save">
    Check for error messages or red-highlighted fields in the configuration panel. All required fields must be completed before saving.
  </Accordion>

  <Accordion title="Too many notifications">
    Increase tolerances and delay values to filter out transient conditions. Consider using Reference-based grouping to consolidate related events.
  </Accordion>

  <Accordion title="Events not generating">
    Confirm that `Enable Event Streaming` is toggled on. Review threshold values to verify they match actual operating conditions. Check the routine status to confirm it is Enabled.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Routines" icon="workflow" href="/products/fdd/routines" arrow={true}>
    Create and test custom fault detection rules using the logic builder.
  </Card>

  <Card title="Routine logic blocks" icon="puzzle" href="/products/fdd/routine-logic-blocks" arrow={true}>
    Explore the available logic blocks for building routine workflows.
  </Card>

  <Card title="FDD introduction" icon="rocket" href="/products/fdd/overview" arrow={true}>
    Review core FDD concepts including events, incidents, and faults.
  </Card>
</CardGroup>
