The Cloud Relay is an open-source and cross-platform Web API which allows to access ECLYPSE Rest API available on ECY Series controllers through Azure IoT Hub.
It can also access any other custom devices connected to Azure IoT Hub with the Azure IoT Hub device SDK. For more information, see the Understand and invoke direct methods from IoT Hub documentation.
In order to use a device with the Cloud Relay, the following requirements need to be met/installed:
NOTE: For deployment purposes Distech recommends Azure CLI / Powershell on a windows desktop.
In order to deploy the Cloud Relay components, you need to have the Azure CLI installed or use the Azure Cloud Shell. Once this is done, sign in to your Azure account using the following command:
az login
NOTE: that the Azure IoT Hub Basic tier is not supported.
For more information, see IoT Hub quotas, throttling and limitations documentation.
Here's the list of custom errors that can be generated by the Cloud Relay API:
Error code | Value | HTTP Status Code | Description |
---|---|---|---|
InvalidResponseTimeout | 100 | 400 | responseTimeout specified in the request URL is invalid. |
DeviceNotFound | 1000 | 404 | deviceId specified in the request URL does not exist. |
DeviceOperationError | 1001 | 504 | The device operation timed out. |
InvalidResult | 1002 | 502 | Invalid response payload received from the device. |
CommunicationError | 5000 | 503 | An error occured while communicating with the gateway. |
GatewayError | 5001 | 503 | An error occured in the gateway which prevents communication with the device. |
Request execution on the ECLYPSE controller is handled as its default admin user.
The ECLYPSE controller has the ability to execute requests based on schedules. Execution results are sent back to the IoT Hub messages/events built-in endpoint as device-to-cloud messages. Messages and events are retained by default for 1 day, but configurable for up to 7 days, which is the time frame for reading those messages. For more information, see Read device-to-cloud messages from the built-in endpoint documentation. You can also use the Service Bus Explorer to test messages arriving in the IoT Hub.
The Cloud Relay makes use of Azure Application Insights to monitor applications for availability, performance, usage and errors.
You can configure the applications multiple categories with their logging verbosity with appsetting.json
or equivalent environment variables. For more information, see the official documentation.
All categories created by the Cloud Relay API asset are prefixed with Distech.CloudRelay.API
.
All categories created by the Cloud Relay Function App asset are prefixed with Distech.CloudRelay.Functions
.
The Cloud Relay is licensed under the MIT-License.