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

# Device referencing

> Create a digital twin of your building by linking devices according to their physical and functional relationships.

Device Referencing in Cloud BMS enables the creation of a digital twin for a building's systems by linking devices according to their physical and functional relationships. This interconnected digital model mirrors real-world interactions, such as how one device supplies air, water, or power to another, or how meters monitor specific equipment.

<Frame caption="Device referencing maps physical and functional relationships between building systems and equipment">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-diagram.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=15f3a5eeeeafbd7be47babe6238a3330" alt="Diagram showing device relationships including coolingTower, chiller, loopSystem, boiler, generator, ahu, fcu, vav, cav, and various meters connected by feeds, isFedBy, hasPart, isPartOf, measures, and isMeasuredBy references" width="1024" height="807" data-path="images/kode-os/devices/kode-os-devices-referencing-diagram.png" />
</Frame>

## Why device referencing matters

Device referencing transforms raw device data into a structured, relational framework that enhances building management:

* **Diagnostics and troubleshooting** — By mapping device connections, operators can swiftly trace issues. For instance, if a VAV unit malfunctions, its relationship to an AHU via a `feeds` reference can pinpoint the source of the problem.
* **Fault Detection and Diagnosis (FDD)** — The system leverages these references to generate contextual alarms, considering not just individual devices but their interconnected dependencies, offering a holistic view of system health.
* **Energy analysis** — Linking meters to the devices they measure enables detailed energy consumption insights, empowering operators to optimize efficiency and reduce costs.

## Reference types

Reference types define the specific nature of relationships between devices. Each reference type has a corresponding reverse reference, automatically establishing a two-way connection. For example, if you connect an AHU to a VAV using the `feeds` reference, the VAV will automatically show an `isFedBy` reference back to the AHU.

### HVAC references

<Tabs>
  <Tab title="feeds / isFedBy">
    **feeds** indicates that a device supplies an output (air, water, power) to another device or system.

    **Reverse reference:** `isFedBy`

    **isFedBy** indicates that a device receives an input from another device or system.

    **Reverse reference:** `feeds`

    **Examples:**

    * An AHU `feeds` a VAV — the AHU provides air to the VAV
    * A VAV `isFedBy` an AHU — the AHU supplies air to the VAV
    * An AHU `isFedBy` a Chilled Water System — the chilled water system supplies water to the AHU for cooling
  </Tab>

  <Tab title="hasPart / isPartOf">
    **hasPart** denotes that a device or system includes another device as a component or subsystem.

    **Reverse reference:** `isPartOf`

    **isPartOf** indicates that a device is a component or subsystem within a larger device or system.

    **Reverse reference:** `hasPart`

    **Examples:**

    * A chilledWaterSystem `hasPart` a chiller — the chiller is a component of the system
    * A chiller `isPartOf` a chilledWaterSystem — the chiller belongs to that system
  </Tab>
</Tabs>

### Metering references

<Tabs>
  <Tab title="measures / isMeasuredBy">
    **measures** indicates that a meter monitors the performance or consumption of a device or system.

    **Reverse reference:** `isMeasuredBy`

    **isMeasuredBy** specifies that a device's performance or consumption is monitored by a meter.

    **Reverse reference:** `measures`

    **Examples:**

    * An electricMeter `measures` an AHU — it tracks the AHU's electrical consumption
    * An AHU `isMeasuredBy` an electricMeter — the meter tracks the AHU's electrical usage
  </Tab>

  <Tab title="hasSubmeter / isSubmeterOf">
    **hasSubmeter** indicates that a meter has another meter as its submeter.

    **Reverse reference:** `isSubmeterOf`

    **isSubmeterOf** specifies that a meter is a submeter of another meter, often in hierarchical metering setups.

    **Reverse reference:** `hasSubmeter`

    **Examples:**

    * A main electricMeter `hasSubmeter` a submeter — it oversees the submeter
    * A submeter `isSubmeterOf` a main electricMeter — it reports to the main meter
  </Tab>
</Tabs>

### API references

<Tabs>
  <Tab title="mirrors / isMirrorOf">
    **mirrors** indicates that a device mirrors another device via an API connection.

    **Reverse reference:** `isMirrorOf`

    **isMirrorOf** indicates that a device is a mirrored or API-referenced version of another device, typically for integration with external systems.

    **Reverse reference:** `mirrors`

    **Examples:**

    * A device `mirrors` an external device — it reflects its data in Cloud BMS
    * A device `isMirrorOf` another device in an external system — it replicates its data
  </Tab>
</Tabs>

## Example reference flows

The following diagrams illustrate common device referencing patterns in building systems.

### Chilled and condenser water systems

A condenser water system feeds a chilled water system, which in turn feeds downstream equipment like AHUs, FCUs, and water systems. Components like cooling towers, heat exchangers, and pumps are parts of each system.

<Frame caption="Condenser and chilled water systems connected by feeds references, with components linked by isPartOf">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-chilled-water.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=b763c8f19bcfa423f1373dddec5b5032" alt="Flow diagram showing Condenser Water System with Cooling Tower, Heat Exchanger, and Pump as parts, feeding into Chilled Water System with Chiller, Heat Exchanger, and Pump as parts, which feeds Water System, AHU, and FCU downstream" width="1459" height="881" data-path="images/kode-os/devices/kode-os-devices-referencing-chilled-water.png" />
</Frame>

### Hot water system

A hot water system contains boilers, heat exchangers, and pumps as components, and feeds AHUs and FCUs, which in turn feed VAVs.

<Frame caption="Hot water system feeding AHUs and FCUs, with boiler, heat exchanger, and pump as components">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-hot-water.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=e16f153e260967204d84b60f26e21389" alt="Flow diagram showing Hot Water System with Boiler, Heat Exchanger, and Pump as parts via isPartOf, feeding AHU and FCU, with AHU feeding VAV" width="1380" height="880" data-path="images/kode-os/devices/kode-os-devices-referencing-hot-water.png" />
</Frame>

### Metering hierarchy

Meters follow a hierarchical structure where site meters have submeters, and each submeter measures specific devices.

<Frame caption="Metering hierarchy showing a site meter with a submeter that measures individual devices">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-metering.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=d491af80d851eb7dadde06619b8c244d" alt="Metering diagram showing Site Meter at top, connected to Sub Meter via isSubmeterOf, with Sub Meter using measures references to connect to Chiller and all other device types" width="1353" height="486" data-path="images/kode-os/devices/kode-os-devices-referencing-metering.png" />
</Frame>

## Manage device references

Navigate to **Devices** > **Device Referencing** from the building left sidebar. The page lists devices so you can add **device references** (device-to-device) and **space references** (device-to-space).

<Frame caption="Device Referencing page with filters and reference status">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-page.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=1ac53b4d130ddc8f7dd880e294d18de1" alt="Device Referencing page with search and filters for Ontology Type Level Located In Data Sources Origin Type, status counts for devices without references and without space references, device table with Show References links, and Add Space References and Add Device References buttons" width="1024" height="596" data-path="images/kode-os/devices/kode-os-devices-referencing-page.png" />
</Frame>

Use **search for devices by name** and the filter dropdowns to narrow the list:

| Filter            | Purpose                             |
| ----------------- | ----------------------------------- |
| **Ontology type** | Limit to a canonical device type    |
| **Level**         | Filter by floor or level            |
| **Located in**    | Filter by physical space assignment |
| **Data sources**  | Filter by connector or source       |
| **Origin type**   | Filter by discovery origin          |

Status indicators at the top summarize reference health, including devices **without references** and **partially referenced**. Apply tags such as **with points** when you only want devices that have point data.

The table shows **name**, **ontology type**, and **device reference** count. Click **show references** on a row to open that device's reference detail view.

### Add device references to multiple devices

<Steps>
  <Step title="Select devices">
    Check the boxes next to the devices you want to add references to. Click **Add Device References** at the bottom of the page.

    <Frame caption="Select devices and click Add Device References to begin adding references in bulk">
      <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-select-devices.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=65dae00096a29cc69c62273fcef66718" alt="Device Referencing page with two FCU devices selected and an Add Device References button at the bottom showing the count of selected devices" width="1024" height="710" data-path="images/kode-os/devices/kode-os-devices-referencing-select-devices.png" />
    </Frame>
  </Step>

  <Step title="Choose the reference type">
    In the **Add References to Multiple Devices** dialog, select a reference type from the dropdown. References are grouped into **Inputs** (isMeasuredBy, isFedBy, isMirrorOf, isMonitoredBy) and **Outputs** (mirrors).

    <Frame caption="The reference type dropdown groups available references into Inputs and Outputs">
      <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-type-dropdown.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=e4db46c9f3053b82ca513e313c69f439" alt="Add References to Multiple Devices dialog with Reference Type dropdown showing Inputs (isMeasuredBy, isFedBy, isMirrorOf, isMonitoredBy) and Outputs (mirrors)" width="1024" height="542" data-path="images/kode-os/devices/kode-os-devices-referencing-type-dropdown.png" />
    </Frame>
  </Step>

  <Step title="Select the target device">
    After choosing a reference type, the dialog shows a list of compatible devices. Filter by name, ontology type, or area to find the target device, then select it and click **Add**.

    <Frame caption="Select a target device from the filtered list of compatible devices">
      <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-select-target.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=446b699ba541452ec7805ac1f875ad03" alt="Add References dialog with isFedBy selected, showing a list of AHU and loopSystem devices with columns for Name, Ontology Type, Area, and References, with AHU_3 selected" width="1024" height="553" data-path="images/kode-os/devices/kode-os-devices-referencing-select-target.png" />
    </Frame>
  </Step>
</Steps>

### View and drill into references

Click **Show References** on any device to see its current references. The detail view shows each reference grouped by type (for example, `isFedBy`) with the referenced device's name, ontology type, and reference counts.

<Frame caption="The reference detail view for a device shows its references grouped by type">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-device-detail.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=537cae9719f216a2078caacc24848d57" alt="References for FCU208 showing an isFedBy reference to AHU_3 with ontology type ahu, 10 device references, 2 missing references, and 69 points" width="1024" height="613" data-path="images/kode-os/devices/kode-os-devices-referencing-device-detail.png" />
</Frame>

<Note>
  A **Missing references** count can still appear after you add expected relationships. Cloud BMS compares against the full expected reference set for the device type. The count does not always mean your referencing work is incomplete.
</Note>

Click **Show References** on a referenced device to drill deeper into the reference chain. For example, clicking into AHU\_3 shows all the devices it feeds.

<Frame caption="Drilling into AHU_3 shows all devices it feeds, including FCUs and VAVs">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-drill-down.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=cd41cf6a04be6149319132a39ec0b0ba" alt="References for AHU_3 showing feeds references to FCU208, FCU_2_GS_TEST8, and multiple VAV devices across Floor 2 and Floor 3, with Remove references and Add references buttons at the bottom" width="1024" height="621" data-path="images/kode-os/devices/kode-os-devices-referencing-drill-down.png" />
</Frame>

From the reference detail view you can:

* Click **Add references** to add more references to the device
* Click **Remove references** to delete existing references
* Click the external link icon next to the device name to navigate directly to that device

### View references from device details

References are also available on a device's **Device Details** tab. The **Referenced Devices** section lists all references with their name, reference type, and device type. From here you can add new references with the **+ Add** button or delete existing ones with the delete icon.

<Frame caption="The Device Details tab shows referenced devices with options to add or delete references">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-device-details-references.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=7b4582af86530ec6c2ea57ba020b4401" alt="FCU208 Device Details tab showing the Referenced Devices section with AHU_3 listed as isFedBy reference with device type ahu, and Add and delete buttons" width="1024" height="509" data-path="images/kode-os/devices/kode-os-devices-device-details-references.png" />
</Frame>

### View referenced points on trends

You can overlay referenced device points directly on a device's **Trends** tab. Click **Referenced Devices** in the device header to open the referenced devices panel on the right. The panel lists all references grouped by type (for example, `isFedBy`), along with the referenced device's points.

Select a referenced device's points to overlay them on the trend charts. Referenced point data appears as **dashed lines** on the chart, making it easy to distinguish from the device's own point data.

<Frame caption="Referenced device points appear as dashed lines on the trend chart, with the Referenced Devices panel on the right">
  <img src="https://mintcdn.com/kodelabs/njejy12QoNdTJ3U4/images/kode-os/devices/kode-os-devices-referencing-trends-view.png?fit=max&auto=format&n=njejy12QoNdTJ3U4&q=85&s=3e985e9898562bb68c2f408118767d71" alt="FCU208 Trends tab showing Temperature, Mode, and Status charts with AHU_3 Supply Air Temp Setpt displayed as a dashed line, and the Referenced Devices panel on the right showing isFedBy AHU_3 with its temperature, mode, device, and other points" width="1024" height="500" data-path="images/kode-os/devices/kode-os-devices-referencing-trends-view.png" />
</Frame>

## Supported references by canonical type

The table below lists each canonical device type, its supported input references (relationships where the device is the target), and output references (relationships where the device is the source).

<Expandable title="HVAC systems">
  | Device Type              | isFedBy                                                               | feeds                                                                                  | isPartOf | hasPart                                                                                  |
  | ------------------------ | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------- |
  | **chilledWaterSystem**   | condenserWaterSystem, waterSystem                                     | ahu, fcu, heatPump, waterSystem, radiantDevice                                         | —        | chiller, primaryPump, secondaryPump, pump, heatExchanger, waterTank                      |
  | **condenserWaterSystem** | waterSystem                                                           | chilledWaterSystem, waterSystem, radiantDevice                                         | —        | coolingTower, pump, heatExchanger                                                        |
  | **hotWaterSystem**       | hotWaterSystem, waterSystem                                           | ahu, cav, fcu, vav, uh, heatPump, snowMelt, waterSystem, hotWaterSystem, radiantDevice | —        | primaryPump, secondaryPump, pump, heatExchanger, boiler, waterTank                       |
  | **waterSystem**          | chilledWaterSystem, hotWaterSystem, waterSystem, condenserWaterSystem | ahu, cav, fcu, heatPump, radiantDevice, snowMelt, uh, vav                              | —        | boiler, boosterPump, chiller, heatExchanger, pump, waterTank, primaryPump, secondaryPump |
  | **loopSystem**           | —                                                                     | secLoopSystem, ahu, cav, fcu, heatPump, radiantDevice, snowMelt, uh, vav               | —        | boiler, boosterPump, chiller, heatExchanger, pump, waterTank                             |
  | **secLoopSystem**        | —                                                                     | ahu, cav, fcu, heatPump, radiantDevice, snowMelt, uh, vav                              | —        | heatExchanger, pump, waterTank                                                           |
</Expandable>

<Expandable title="HVAC equipment">
  | Device Type    | isFedBy                                                                                                       | feeds                       | isPartOf | hasPart |
  | -------------- | ------------------------------------------------------------------------------------------------------------- | --------------------------- | -------- | ------- |
  | **ahu**        | chilledWaterSystem, hotWaterSystem, waterSystem, ahu, heatExchanger, fan, secLoopSystem                       | vav, cav, fcu, ahu, uh, fan | —        | fan     |
  | **vav**        | ahu, hotWaterSystem, waterSystem, fcu, secLoopSystem                                                          | —                           | —        | —       |
  | **cav**        | ahu, fcu, hotWaterSystem, waterSystem, secLoopSystem                                                          | —                           | —        | —       |
  | **fcu**        | chilledWaterSystem, hotWaterSystem, waterSystem, ahu, heatExchanger, fan, condenserWaterSystem, secLoopSystem | —                           | —        | —       |
  | **uh**         | ahu, fcu, hotWaterSystem, waterSystem, secLoopSystem                                                          | —                           | —        | —       |
  | **fan**        | ahu, fcu                                                                                                      | ahu                         | ahu      | —       |
  | **outdoorVRF** | —                                                                                                             | fcu, ahu, heatPump          | —        | —       |
</Expandable>

<Expandable title="Components">
  | Device Type       | isFedBy                                                                                             | feeds | isPartOf                                                                                                              | hasPart |
  | ----------------- | --------------------------------------------------------------------------------------------------- | ----- | --------------------------------------------------------------------------------------------------------------------- | ------- |
  | **boiler**        | —                                                                                                   | —     | hotWaterSystem, waterSystem, loopSystem                                                                               | —       |
  | **chiller**       | —                                                                                                   | —     | chilledWaterSystem, waterSystem, loopSystem                                                                           | —       |
  | **coolingTower**  | —                                                                                                   | —     | condenserWaterSystem                                                                                                  | fan     |
  | **heatExchanger** | —                                                                                                   | —     | hotWaterSystem, condenserWaterSystem, chilledWaterSystem, waterSystem, loopSystem, secLoopSystem                      | —       |
  | **heatPump**      | chilledWaterSystem, condenserWaterSystem, hotWaterSystem, waterSystem, heatExchanger, secLoopSystem | —     | —                                                                                                                     | —       |
  | **pump**          | —                                                                                                   | —     | hotWaterSystem, condenserWaterSystem, chilledWaterSystem, waterSystem, waterTank, snowMelt, loopSystem, secLoopSystem | —       |
  | **boosterPump**   | —                                                                                                   | —     | waterSystem, waterTank, loopSystem                                                                                    | —       |
  | **waterTank**     | —                                                                                                   | —     | waterSystem, chilledWaterSystem, hotWaterSystem, condenserWaterSystem, loopSystem, secLoopSystem                      | pump    |
  | **snowMelt**      | hotWaterSystem, waterSystem, secLoopSystem, loopSystem                                              | —     | —                                                                                                                     | pump    |
  | **humidifier**    | —                                                                                                   | —     | —                                                                                                                     | —       |
  | **radiantDevice** | chilledWaterSystem, hotWaterSystem, waterSystem, heatExchanger, condenserWaterSystem, secLoopSystem | —     | —                                                                                                                     | —       |
</Expandable>

<Expandable title="Meters">
  | Device Type       | measures                                                                                                                                                                             | isMeasuredBy | hasSubmeter   | isSubmeterOf  |
  | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ------------- | ------------- |
  | **electricMeter** | All canonical types except meters                                                                                                                                                    | —            | electricMeter | electricMeter |
  | **energyMeter**   | ahu, boiler, chiller, coolingTower, fcu, heatExchanger, heatPump, radiantDevice, snowMelt, uh, waterTank, loopSystem, secLoopSystem, chilledWaterSystem, hotWaterSystem, waterSystem | —            | energyMeter   | energyMeter   |
  | **waterMeter**    | boiler, chiller, coolingTower, heatExchanger, heatPump, radiantDevice, snowMelt, uh, waterTank, loopSystem, secLoopSystem, chilledWaterSystem, hotWaterSystem, waterSystem           | —            | waterMeter    | waterMeter    |
  | **gasMeter**      | boiler, generator                                                                                                                                                                    | —            | gasMeter      | gasMeter      |
  | **steamMeter**    | boiler                                                                                                                                                                               | —            | steamMeter    | steamMeter    |
</Expandable>

<Expandable title="Other device types">
  | Device Type               | isFedBy          | isMeasuredBy              |
  | ------------------------- | ---------------- | ------------------------- |
  | **airCompressor**         | —                | electricMeter             |
  | **airQuality**            | —                | electricMeter             |
  | **av**                    | —                | electricMeter             |
  | **blinds**                | —                | electricMeter             |
  | **bridge**                | —                | electricMeter             |
  | **camera**                | —                | electricMeter             |
  | **chargingStation**       | —                | electricMeter             |
  | **computerDevice**        | networkingDevice | electricMeter             |
  | **doorLock**              | —                | electricMeter             |
  | **electricityMonitoring** | —                | electricMeter             |
  | **elevator**              | —                | electricMeter             |
  | **externalWeather**       | —                | electricMeter             |
  | **fire**                  | —                | electricMeter             |
  | **generator**             | —                | electricMeter, gasMeter   |
  | **leakDetection**         | —                | electricMeter, waterMeter |
  | **lighting**              | —                | electricMeter             |
  | **networkingDevice**      | —                | electricMeter             |
  | **presenceDetection**     | —                | electricMeter             |
  | **sanitation**            | —                | electricMeter             |
  | **smartLocker**           | —                | electricMeter             |
  | **solarPanel**            | —                | electricMeter             |
  | **switchGear**            | —                | electricMeter             |
  | **thermohygrometer**      | —                | electricMeter             |
  | **trafficCounter**        | —                | electricMeter             |
  | **ups**                   | —                | electricMeter             |
  | **wasteCollector**        | —                | electricMeter             |
  | **zone**                  | —                | electricMeter             |
</Expandable>

## Next steps

<CardGroup cols={2}>
  <Card title="Copied points" icon="copy" href="/products/kode-os/devices/copied-points" arrow={true} cta="Duplicate">
    Mirror a point value into another device for independent use.
  </Card>

  <Card title="Virtual devices" icon="boxes" href="/products/kode-os/devices/virtual-devices" arrow={true} cta="Create">
    Combine points from multiple sources into one logical device.
  </Card>
</CardGroup>
