# Thingdust

Thingdust is a company that offers a sensor-based solution to measure the occupancy of office spaces. The sensors measure temperature, humidity, and occupancy of spaces (e.g., workplaces, rooms) in real time. The BuildingPro Suites App for Thingdust Spaces allows access to this data and its display within BuildingPro Suites.

### Installation

The Thingdust app is installed via the App Store in BuildingPro Suites.

### Assets

The Thingdust app automatically creates all necessary asset templates and assets (CAC) that are accessible via the configured endpoints. The following asset templates are created:

* **Thingdust Space**: A Thingdust space.

The following attributes are defined:

|               |             |
| ------------- | ----------- |
| `occupancy`   | Occupancy   |
| `temperature` | Temperature |
| `humidity`    | Humidity    |

### Dashboards

The Thingdust app offers a dashboard with all automatically created spaces. This can be automatically created via the BuildingPro Suites frontend by selecting `Copy Dashboard > Thingdust` and then customized as desired.

### Configuration

{% hint style="info" %}
More information on configuring apps can be found [↗ here](https://doc.eliona.io/collection/dokumentation/einstellungen/apps).
{% endhint %}

The Thingdust app is configured by defining one or more API endpoints. Each endpoint requires the following data.

| Attribute Name    | Description                                                                           |
| ----------------- | ------------------------------------------------------------------------------------- |
| `apiEndpoint`     | Address of the endpoint                                                               |
| `apiKey`          | Key for the endpoint                                                                  |
| `enable`          | Flag to enable or disable the endpoint                                                |
| `refreshInterval` | Interval in seconds for data collection from the endpoint                             |
| `requestTimeout`  | Timeout in seconds for the endpoint                                                   |
| `active`          | Is set to `true` by the app when it is running and to `false` when the app is stopped |
| `projIds`         | List of tenant IDs for which assets are to be created automatically (CAC)             |

The configuration is done using a corresponding JSON structure. The following JSON structure can be used as an example to define an endpoint.

```json
{
  "configId": 12345,
  "apiEndpoint": "[https://foo.bar.thingdust.io/api/](https://foo.bar.thingdust.io/api/)",
  "apiKey": "FOOBARFOOBAR",
  "enable": true,
  "refreshInterval": 60,
  "requestTimeout": 120,
  "projIds": ["99"]
}
```

Endpoints can be created in BuildingPro Suites under `Apps > Thingdust > Setting` using this structure. To do this, select the `/configs` endpoint with the `PUT` method.
