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

# Lambent Spaces

> Connect Lambent Spaces to KODE OS for Wi-Fi-derived occupancy, utilization, and capacity data

> Connect Lambent Spaces to KODE OS for floor and zone occupancy analytics

## Overview

Use this integration to collect Wi-Fi-derived occupancy and utilization metrics from Lambent Spaces. The connector creates devices for building levels and zones without requiring additional occupancy sensors.

| Property            | Value      |
| ------------------- | ---------- |
| **System Type**     | Occupancy  |
| **Communication**   | REST       |
| **Collection**      | Pull       |
| **Collection Mode** | HISTORICAL |

## Supported capabilities

* Discover levels and zones from occupancy data
* Collect occupancy, utilization, and capacity
* Collect historical point data

## Prerequisites

* Lambent Spaces Analyze API access
* An OAuth client ID and client secret
* The API and Auth0 authorization URLs
* The `Tenant ID` when your credentials require one
* KODE OS access to `Data Sources`

## Configure the connector in KODE OS

1. Open `Data Sources` for your building.
2. Select `API Catalog`, then search for `Lambent`.
3. Select `+ Add Datasource`.
4. Complete the connector fields.

| Field             | Required | Type     | Description                                     |
| ----------------- | -------- | -------- | ----------------------------------------------- |
| **Name**          | Yes      | text     | Name that identifies this connection in KODE OS |
| **Area**          | No       | object   | Area associated with the connection             |
| **URL**           | Yes      | text     | Lambent Analyze API base URL                    |
| **Auth URL**      | Yes      | text     | Auth0 token URL                                 |
| **Client ID**     | Yes      | text     | OAuth client identifier                         |
| **Client Secret** | Yes      | password | OAuth client secret                             |
| **Tenant ID**     | No       | text     | Tenant identifier sent with occupancy requests  |
| **Notes**         | No       | text     | Additional connection details                   |

The authorization URL may use the former Armored Things name. KODE OS exchanges the client credentials for a Bearer token.

## Discover devices and points

Lambent does not provide a separate directory endpoint. KODE OS discovers levels and zones from occupancy rows reported during the previous 24 hours.

After you save the connector, select `Discover`. Review the returned levels, zones, and points, then save the records you want.

<Note>
  A space without occupancy data during the discovery window does not appear. Run discovery again after the space reports data.
</Note>

## Devices and points

KODE OS creates `LEVEL` devices for building floors and `ZONE` devices for areas within each floor.

| Point              | Description                                       | Unit   | Writable |
| ------------------ | ------------------------------------------------- | ------ | -------- |
| `mean_occupancy`   | Average estimated headcount during the interval   | people | No       |
| `peak_occupancy`   | Maximum estimated headcount during the interval   | people | No       |
| `mean_utilization` | Average occupancy relative to configured capacity | %      | No       |
| `peak_utilization` | Peak occupancy relative to configured capacity    | %      | No       |
| `capacity`         | Capacity configured in Lambent                    | people | No       |

Utilization arrives as a ratio and is stored as a percentage from zero through 100. KODE OS does not store a value when Lambent returns `null`.

## What data you get

### Point history

Lambent reports 15-minute occupancy intervals. KODE OS polls every 30 minutes and uses overlapping windows to account for the vendor's 30-to-60-minute data delay.

Historical retention depends on the space type:

* **Levels** — Up to eight months at 15-minute resolution
* **Zones** — Up to two weeks at 15-minute resolution

### Rate limits

Each occupancy endpoint allows 60 requests per minute. KODE OS bounds historical batches to preserve capacity for scheduled collection and discovery.

## Use cases

Once connected, you can:

* Compare mean and peak occupancy by floor or zone
* Identify underused spaces using utilization percentages
* Build portfolio occupancy reports without deploying additional sensors

## Troubleshooting

<AccordionGroup>
  <Accordion title="Authentication or connection error">
    Verify the API URL, Auth0 URL, client ID, and client secret. For a workspace-scoped credential, confirm the `Tenant ID`.
  </Accordion>

  <Accordion title="Discovery misses a level or zone">
    The space must report occupancy during the 24-hour discovery window. Run discovery again after the space produces data.
  </Accordion>

  <Accordion title="The newest interval is missing">
    Lambent data normally trails real time by 30 to 60 minutes. Wait for the next polling cycle before treating the interval as missing.
  </Accordion>

  <Accordion title="Utilization or capacity is blank">
    Confirm the space has a capacity in Lambent. The API returns `null` for utilization and capacity when no capacity is configured.
  </Accordion>
</AccordionGroup>
