Overview
System Integrators, dealers and advanced end customers can use the Xyte infrastructure to monitor hardware devices and services that are not covered by existing Xyte integrations by creating custom modules.
Using this method, application code can be created by the SI/Customer ("User") to run 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, KNX, DALI, IP, etc.) and send the information to the Xyte server. Two-way communication can also be defined, whereby users can send commands from the cloud to the application to be executed on the devices (assuming this is supported by the communication protocols and APIs).
Main Application Loop
The application code should perform a number of key steps:
- Obtain a list of monitored devices via one or more of the following:
- Network scan of the local network
- Pre-defined list of configured devices
- Register any newly found devices with Xyte (See Registration)
- For each monitored device:
How To Start
Building an application is very similar to writing firmware for a hardware device. The main difference is that the application code should 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, in particular the following sections:
Suggested Architecture
The application model maps well to Xyte's Parent <-> Child relationship supported within Device Models.
The recommended setup is to create a single Parent Device by creating a Single Model and then have the application itself Register 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 as a Child Device. Every ~5 minutes a scan should be done for each device to retrieve its data, and the collected telemetries are sent to Xyte via the Send Child Telemetries API.
Next Steps
After reading the guides, it is recommended to contact Xyte's customer success team to set up an introductory call with your developers to review setting up tenants and using the required APIs (Register Device, Register Child Device, Send Telemetry and Send Child Telemetries)
Contact us at [email protected]