Skip to main content
Data sources is a building-level module. Select a building from the sites list to access its data sources.
Data sources are the connection points between Cloud BMS and external building systems. Each data source represents a configured integration with a building automation system (BAS), meter, IoT platform, access control system, or other external service. Data sources collect device and point data from these systems into Cloud BMS for monitoring, control, and analytics.
1

Select your site

Click Sites in the left navigation bar and select the building you want to manage.
2

Open data sources

From the left sidebar menu, click Data Sources. The data sources list displays all configured connections for the selected site.
Data sources list with columns for name, discovery support, URL, data source type, area, and room

The data sources list shows each connection's name, discovery support, data source type, area, and room

Add a new data source

You add data sources by selecting from the API catalog, which organizes available integrations by system type. Cloud BMS supports 200+ integrations across BACnet, Modbus, REST API, MQTT, and other protocols.
1

Open the API catalog

On the Data Sources page, click API Catalog in the left panel. The catalog displays available integrations organized by category (Access Control, Asset, BAS, Meter, and others). Use the search bar to find a specific integration.
API catalog page showing integrations grouped by category with a search bar

The API catalog organizes integrations by system type

2

Select an integration

Click the integration you want to configure. The integration detail page displays supported entities, data collection schedules, and available fields.
3

Enter authentication details

Click +Add Data Source in the upper right corner. A three-step wizard opens starting with the Authentication step.Fill in the connection fields specific to the selected integration type.
Add Data Source dialog at step 1 showing fields for name, area, room, URL, username, and password

Step 1 of the wizard collects authentication details for the external system

For Niagara integrations, install the Cloud BMS Niagara driver on the station before you add the connector. Optional scope fields can then narrow discovery:Use these fields when a station has a large device tree or when multiple buildings share one Supervisor. Narrowing the scope reduces discovery time and makes results easier to review.Click Test Connection to verify your credentials before proceeding. If authentication succeeds, click Next.
For APIs that support dynamic ID discovery, Cloud BMS retrieves available Site IDs and Building IDs directly from the API after you verify your credentials. Instead of manually requesting these identifiers from the vendor or client, you can select them from a dynamically loaded list. This capability depends on the external API. Not all integrations support it.
4

Configure data streams

In the Configuration step, select which data streams to collect. Toggle individual streams on or off, and set the collection frequency for each.
Configuration step showing Timeseries and Alarm data streams with collection frequency settings

Step 2 lets you enable data streams and set collection intervals

Each data stream displays an allowed frequency range. Set the Value and Interval (seconds or minutes) within that range. Click Next when finished.
5

Review and submit

The Review step displays a summary of your selected data streams and their collection frequencies. Verify the configuration and click Submit to create the data source.
Review step showing Timeseries enabled at every 30 seconds and Alarm enabled at every 5 minutes

Step 3 shows a summary of enabled data streams and collection frequencies

Subsystem alarm ingestion

Connectors can ingest native alarms from external building systems into the KODE alarm engine. Ingested alarms appear on the FDD Events page alongside routine-generated faults. Use this when operators need a single console for BMS alarms instead of switching between KODE and the subsystem interface. Niagara is the first supported integration. Additional subsystems will follow the same normalized alarm framework.

Enable alarm collection

When you add or edit a data source, enable the Alarm data stream in the Configuration step. Set the collection Value and Interval within the allowed range, then complete the wizard.
1

Open the connector configuration

Add a new data source from the API catalog, or open an existing connector and select Edit from the three-dot menu.
2

Enable the Alarm stream

In the Configuration step, toggle Alarm on and set the collection frequency.
Configuration step showing Timeseries and Alarm data streams with collection frequency settings

Step 2 lets you enable data streams and set collection intervals

3

Submit and verify

Complete the wizard, then open the connector Analytics tab to confirm alarm collection activity. Alarms enabled in the source system should appear on FDD Events.
Each building requires its own connector configuration. Alarm enablement and disablement remain in the source system. KODE ingests alarms that are active in the source.

Bi-directional acknowledgment

When ack writeback is supported for the connector, acknowledging an alarm in KODE updates the source system. Acknowledgments made in the source also sync to KODE. Ack writeback prevents unacknowledged alarms from accumulating in the BMS queue, which can exhaust subsystem resources. Operators can acknowledge from KODE without opening the Niagara or BMS console.

V1 scope

Alarm filtering and notification routing for subsystem alarms are planned for future releases.
Subsystem alarm ingestion does not replace FDD routines. Both can run in parallel while operators transition to KODE as the primary alarm console.

Connector view

After you add a data source, the connector view provides real-time visibility and control over the integration. Select any data source from the list to open its connector view.
Connector view showing overview cards for devices, points, and schedules with a data stream collection chart

The connector view displays collection metrics, discovered entities, and data stream activity

The upper-right corner of the connector view provides these controls:
  • Live Updates enables real-time monitoring of API requests
  • Test Connection verifies the data source is reachable and credentials are valid
  • Details displays the connection configuration
  • Activity opens a panel showing a log of recent actions and credential changes
The status badge in the upper-left of the connector view reflects successful data collection. It is not the same as connectivity. A connector can pass Test Connection and still show collection problems.
Activity panel showing a connector update entry with credential and URL changes

The Activity panel shows a timestamped log of connector updates

The three-dot menu in the connector view provides additional options:
Connector three-dot menu with options for Import from Sheet, Refresh Cache, Edit, Disable, and Delete
  • Import from Sheet imports devices and points from a spreadsheet before or after connectivity is established (see Import devices and points from a sheet)
  • Refresh Cache reloads cached data from the external system
  • Edit opens the data source configuration for modification
  • Disable temporarily pauses data collection without deleting the data source
  • Delete permanently removes the data source

Analytics tab

The Analytics tab displays data collection metrics and discovery statistics. Use the Overview section to see:
  • Devices discovered, with a health status badge and modeled-versus-total count
  • Points discovered, with modeled-versus-total breakdown
  • Schedules discovered from the external system
Use the Data Stream section to monitor collection activity:
  • Collection Activity shows total items collected in the filtered period and all time, with timestamps for the next collection, last collection, and collecting-since date
  • Data Stream Graph displays collection activity over time with green bars for successful collections and red bars for failures
The data stream chart supports two views. Use the Records and Collects tabs to switch between them.
  • Records shows how many data records were gathered from the API during each time period. Use this to verify that the external system is sending data as expected.
  • Collects shows how many times Cloud BMS attempted to collect data. Use this to verify that collection is running on schedule.
Data Stream section showing the Collects tab with a bar chart of collection activity over the last seven days

The Collects tab shows collection frequency over time

If the Collects chart shows consistent activity but Records shows zero, the collection is running correctly but the external system has no new data to send. If Collects drops below the expected count (for example, fewer than 12 per hour for a five-minute collection frequency), investigate whether the connection or the collection process is experiencing issues.
For Niagara timeseries streams, Cloud BMS polls point values every 30 seconds and stores a new record when the value changes. If the value stays unchanged, Cloud BMS records it again after one hour to confirm continuity. Use Pause Collection on an individual data stream to stop collection without disabling the full connector. Resume collection from the same controls when you are ready. Use the Export button to download collection data, and the date range selector to filter the chart to specific time periods.
Click Live Updates to enable real-time monitoring of API requests. Every time Cloud BMS makes a request to the external system, the screen refreshes with the latest data. This is useful for debugging or real-time monitoring of a specific data source.

Modify data collection frequency

1

Open the edit dialog

On the Analytics tab, go to the Data Stream section and click Edit Configurations. The Edit Data Source dialog opens with data stream settings.
2

Set the new frequency

Toggle individual data streams on or off using the Select All toggle or individual stream toggles. For each enabled stream, set the Value and Interval within the allowed range.
Edit Data Source dialog showing Timeseries and Alarm data streams with collection frequency fields and allowed ranges

The Edit Data Source dialog lets you adjust collection frequency for each data stream

3

Review and apply

Click Next to review your changes, then click Submit to apply the updated configuration.

Health tab

The Health tab provides a real-time overview of the connector’s operational status.
If a data source is offline, open the connector Health tab and note the error category. Follow the suggested actions in the error category reference.
Health tab showing 4 failures, 90.38 percent uptime with an uptime graph and error logs table

The Health tab shows uptime metrics and error logs for the data source

Use the Uptime Activity section to monitor:
  • Failures count in the selected date range
  • Uptime percentage over the selected period
  • Uptime Graph with color-coded bars showing periods of uptime (green) and downtime (red)
Use the Filter by category dropdown and the date range selector to narrow results to specific error types or time periods. Use the Error Logs section to diagnose issues:
  • Each error entry displays the error type, start time, last occurred timestamp, and occurrence count
  • Click an error entry to open the Error Details dialog with the error meaning, suggested actions, start and end times, duration, and individual error log messages with their timestamps
  • If a data source goes up and down repeatedly, all distinct error occurrences appear in the log
  • Use the Export button to download the raw error list for further assessment or to share with external parties
Error Details dialog for an Authentication error showing meaning, three suggested actions, timestamps, and error log messages

The Error Details dialog provides the error meaning, suggested actions, and individual log entries

Error category reference

Each error in the Health tab falls into one of the following categories. Click a category to see its meaning and suggested actions.
The connector tried to reach the external system but did not get a response in time.Suggested actions:
  1. Make sure the external system or software is running normally.
  2. Ask your IT team if there were any internet or firewall issues.
  3. If the system is fine but the error continues, let your IT team or system vendor know.
The external system took too long to answer.Suggested actions:
  1. Wait a few minutes. The system may be busy or syncing data.
  2. Check if others using the same system are noticing slowness.
  3. If it happens often, let your IT team or vendor know that the system is responding slowly.
The link to the external system was cut off during communication.Suggested actions:
  1. Check that your internet connection is stable.
  2. Ask IT if there were any brief network drops or server restarts.
  3. If it happens frequently, ask IT to review the connection settings for stability.
A secure connection could not be established between systems.Suggested actions:
  1. Ask your IT or security team to check if the system’s security certificate is still valid.
  2. Make sure the system’s website or address uses https:// and loads normally.
  3. If it is a vendor-managed system, inform their support team about the security link issue.
Cloud BMS cannot reach the system at all.Suggested actions:
  1. Check if the system can be opened or accessed from your computer.
  2. If it only works when you are on VPN, make sure your VPN is active.
  3. If it is still not reachable, ask your IT team to check the network or firewall.
A service that helps connect systems is currently offline.Suggested actions:
  1. Wait a few minutes. It may come back automatically.
  2. Ask your IT team if any network services or proxies were restarted.
  3. If this happens often, let IT know so they can review the network setup.
The secure tunnel between Cloud BMS and your site is disconnected.Suggested actions:
  1. Check that your VPN is active and connected.
  2. If managed by your IT team, ask if there were any VPN restarts or outages.
  3. If the VPN is managed by KODE, it should reconnect automatically. Monitor if it stays down for an extended period.
The connected system (such as your BAS, CMMS, or CCTV server) is offline.Suggested actions:
  1. Check if you can log in to that system directly.
  2. Ask the system owner or vendor if they are performing maintenance.
  3. If it is supposed to be running, ask your IT or the vendor to restart it.
The username, password, or API key used to connect is no longer valid.Suggested actions:
  1. Log in to the source system to make sure the credentials still work.
  2. If the password or API key was changed, update it in Cloud BMS.
  3. If you do not manage credentials, ask your IT or vendor contact to refresh the integration access.
The local device or gateway that connects your system to Cloud BMS is not responding.Suggested actions:
  1. Make sure the gateway or device is powered on and connected to the network.
  2. Ask your on-site IT to confirm it is online and using the correct network cable or Wi-Fi.
  3. If it keeps disconnecting, the site’s IT or vendor should inspect the device.

Monitor data source health

The data sources list shows the status of each connection at a glance. Key health indicators include:
  • Online/Offline status reflects whether the data source is actively communicating
  • Communication score indicates the reliability of the connection over time
  • Device count shows how many devices are discovered through this data source
  • Last collection timestamp shows when data was most recently gathered

Manage data sources

Bulk actions

Click the three-dot menu at the top of the data sources list to access bulk operations.
Bulk actions menu with options for Test Connections, Discover, and Refresh Cache
  • Test Connections tests connectivity for all data sources at once
  • Discover triggers device discovery across all data sources
  • Refresh Cache clears and reloads cached data from all connected systems

Individual data source actions

Click the three-dot menu on any data source row to access actions for that connection.
Row actions menu with options for Discover Devices, Discover Schedules, Edit, Duplicate, and Delete
  • Discover Devices triggers device discovery for this data source
  • Discover Schedules discovers schedules from the external system
  • Edit opens the data source configuration for modification
  • Duplicate creates a copy of the data source with the same settings
  • Delete removes the data source and its associated data
Deleting a data source removes its associated devices and points from Cloud BMS. Verify that no active dashboards, schedules, or analytics depend on this data source before deleting.

Import devices and points from a sheet

You can import devices and points into Cloud BMS using a structured spreadsheet, even before the data source connection is established. This unblocks deployment work such as templating, ontology mapping, and graphics while site connectivity (VPN, firewall, routing) is still in progress. Once the data source is connected and discovery runs, previously imported devices and points are treated as existing records and begin collecting data automatically.
Until the data source is connected and discovery completes, imported devices and points have no live values or history. The spreadsheet import uses the same identifiers that discovery produces, so merging happens automatically.

Import workflow

1

Open the import dialog

Navigate to the data source connector view, click the three-dot menu, and select Import from Sheet.
Import From Sheet dialog showing Download Template link, instructions, and a file upload area

The Import From Sheet dialog with a link to download the template and a drag-and-drop upload area

2

Download the template

Click Download Template in the import dialog. The template includes columns for device identifiers, point identifiers, metadata, and ontology fields.
3

Fill out the template

Populate the template with device and point data exported from the external system (commonly Niagara). The following columns are required:You can also include optional columns for device metadata (Area, Location, Zone, Device Type) and point ontology fields (Ontology Field, Display Name, Precision, COV Tolerance, Default Graph, Ontology Unit).
You can complete templating and metadata assignment directly in the spreadsheet instead of using the UI. This is faster for large sites with many devices.
4

Upload and import

Upload the completed .xlsx file and click Import. The import runs as a background job with validation before any data is written.
Only one import job can run per data source at a time. Different data sources on the same building can run imports concurrently.

Re-upload to update existing records

Re-uploading a sheet is fully supported. The system uses a smart upsert approach to decide whether to create or update records.
  • New device external IDs are created as new devices
  • Existing devices can only have Area, Location, and Zone updated through re-upload
  • All other device fields remain unchanged

Start collection after connectivity

Once site connectivity is established:
  1. Run Discover Devices on the data source.
  2. Imported devices appear as existing records during discovery.
  3. After discovery completes, points begin collecting data normally.

Troubleshoot connection failures

When a data source goes offline, use the following approach to identify the issue.
A connector can show Online while site VPN, gateway, or point data still fails. Treat list status, Health errors, and on-site VPN state as separate checks. Recent IP or modem changes often explain both tunnel and device issues.
1

Check the health tab

Open the connector view and navigate to the Health tab. Review the uptime graph and error logs for recent failures.
2

Review error categories

Click individual error entries to see the category and recommended actions. See the error category reference for a full list of categories, meanings, and suggested actions.
3

Test the connection

Click Test Connection to verify that Cloud BMS can reach the external system. A failed test confirms the issue is at the connection level.
4

Verify external system status

Confirm that the external controller, gateway, or server is powered on and connected to the network. Check for IP address changes, credential rotations, or firewall modifications.
Brief connectivity alerts sometimes clear within a few minutes with no data loss. If the Health tab shows a short outage that already recovered, confirm devices and points stayed online before escalating.Cloud BMS maintains the VPN tunnel and platform uptime on its end. Connectivity failures at the device, controller, or BMS server level are typically resolved by checking the on-site infrastructure. Contact KODE Labs support at support@kodelabs.com if you need assistance with troubleshooting.

Next steps

FDD events

View, acknowledge, and investigate subsystem alarms alongside routine events.

Device discovery

Scan data sources to register devices and points in Cloud BMS.

Devices

View and manage the equipment discovered through your data sources.
Last modified on August 18, 2026