Start Here

Overview

System Integrators and Advanced End Customers can use the Xyte infrastructure to monitor hardware devices and services, that are not covered by existing Xyte integrations, by doing custom "Collector Development".

Using this method, application code can be created by the SI/Customer ("User" from now on) that runs on controller systems (e.g. Crestron's, Extron's, etc) or standard Windows/Linux/etc machines. The application will connect to various hardware devices via the local protocols supported by those devices, pull information and push it to Xyte to allow easy remote monitoring.

The application code can use various protocols to collect data (BACnet, KNC, DALI, IP, etc) and send the information the Xyte server. Potentially a two way communication can be defined, where users can send commands from the cloud to the application to be executed on the devices (if the communication protocols and APIs support it).

Main Application Loop

The application code needs to perform a number of key steps:

  1. Obtain a list of monitored devices, via one or more of the following:
    1. Network scan of the local network
    2. Pre-defined list of configured devices
  2. Register any newly found devices with Xyte (See Registration)
  3. For each monitored device:
    1. Collect data for the device via the available protocol
    2. Send collected data as telemetries to Xyte (See Telemetry)
    3. Optionally respond to commands sent from Xyte by sending it to the device (See Commands)

How To Start

Building an application is very similar to writing firmware for a hardware devices. The main difference is that the application code needs to be able to build a list of monitored devices (via network scans or user configured device list) and continuously collect information from each device sending it to Xyte.

Reading the Quickstart Guide is strongly recommended, especially:

Suggested Architecture

The application model maps well to Xyte's Parent <-> Child relationship supported between Device Models.

The recommended setup is to create a single Parent Device, by creating a Single Model and having the application itself Register and behave as a regular device by continuously sending Telemetry (e.g. "I am alive, I monitor X devices, I have Y memory, etc).

For each type of monitored device, another Model should be created, and the application should use the Register Child Device API to register the device under itself. Every ~5 minutes a scan should be done for each device to retrieve its data and the collected telemetries sent to Xyte via the Send Child Telemetries API.

Next Steps

After reading the guides, it is recommended contacting Xyte's customer support team to setup a development introduction call on how to setup your tenant and use the minimal required APIs (Register Device, Register Child Device, Send Telemetry and Send Child Telemetries)

Contact us at [email protected]