Integrations
Connexa gives you the ability to easily integrate device data into your own applications and cloud services. Currently these features are in Beta availability and available to all users, though they should not be relied upon for mission critical business logic.
Cloud Platforms
AWS
The AWS integration publishes device data into an SNS topic. This can be used to trigger other AWS services such as Lambda functions, allowing you to easily store your data or perform actions based on alerts. Learn more about SNS here.
Prerequisits
-
Create an SNS topic
- Login to your account and navigate to the SNS resource.

- Click
Create Topicand name it
- Login to your account and navigate to the SNS resource.
-
Define the access policy
- Select the
Basicaccess policy and give publish access toOnly the specified AWS accounts - Insert the account
940497413619into the text entry box
- Select the
-
Click
Create Topic.
Enabling the Integration
-
Open the AWS integration tab and select the edit icon.

-
Once the edit form is opened, you will need the following information to complete enabling the integration:
-
Objects- A comma seperated list of objects that you would like to trigger the integration.
- See one of the following for a list on available objects and their log intervals:
Topic Arn- The full arn string for your SNS topic, for example:
arn:aws:sns:us-east-2:393221637266:MainSolarData
- The full arn string for your SNS topic, for example:
Region- The region of your AWS account, for example:
us-east-2
- The region of your AWS account, for example:
Enter the information in the corresponding fields on the form.

- Press 'Submit' and you're done! Your integration is now active and each time yoload the dashboard page we will display the most recent triggers and any associated success/error codes.
GCP
The GCP integration publishes device data into a Pub/Sub topic. This can be used to trigger Cloud Functions or be processed using App Engine. Learn more about Pub/Sub here.
Prerequisits
-
Create a Pub/Sub topic
- Login to your account, select the project you are working with, and navigate to the Pub/Sub resource.

- Login to your account, select the project you are working with, and navigate to the Pub/Sub resource.
-
Create a new topic

-
Add
pubsub-publisher@cesp-ui-staging.iam.gserviceaccount.comas a member with thePub/Sub Publisherrole. Click save.
Enabling the Integration
-
Open the GCP integration tab and select the edit icon.

-
Once the edit form is opened, you will need the following information to complete enabling your integration:
-
Objects- A list of objects that you would like to trigger the integration.
- See one of the following for a list on available objects and their log intervals:
Project ID- The id string for your project, not the project name.
Topic- The full PubSub topic string, for example
projects/test-project/topics/MainSolarData
- The full PubSub topic string, for example
Enter the information in the corresponding fields on the form.

- Press 'Submit' and you're done! Your integration is now active and each time yoload the dashboard page we will display the most recent triggers and any associated success/error codes.
Completed Integration
Once you have set up your integration and it begins publishing data, you will see a tab that looks like this.

The table will have data similar to the following.
| Success | Completed At | Published Data | Integration Data | Topic/Arn |
|---|---|---|---|---|
| true | 6/28/22 03:20:37 | {'published_at':'2022-06-28T08:20:29.502Z','device_id':'5300520006504b5957343920','data':12.117188,'integration_id':'FFjU28MMaL3W9B9hhhhH','sampled_at':'2022-06-28T08:20:29Z','object':'adc_vbterm','slave':'PS-PWM-30M','cc_firmware':'v01.04.06','fw_version':'PSPWM 1.0.10'} | {'device':'5300520006504b5957343920','messageId':'4985640066378276'} | projects/test-env/topics/push |
Success- boolean
- Whether or not the integration ran without an error.
Completed At- Timestamp
- The local time that the integration completed.
Published Data- Object
- The data that should have been published through the integration, with the following fields:
published_atthe UTC time the data was published from the devicedevice_idthe id of the device the data originated fromdatathe actual object data that triggered the eventintegration_idthe id of the integration the data was submitted tosampled_atthe UTC time that the data was sampled on the deviceobjectthe object name that the data is referring toslavethe slave device that the data originated fromcc_firmwarethe firmware running on the slave devicefw_versionthe firmware running on the NOI that collected the data
Integration Data- Object
- Data from the integration. On success this will contain the following:
devicethe device that triggered the integrationmessageIdthe id for the pubsub message (if using GCP)error(on failure) the error code from the integration. For example:AuthorizationError: User: arn:aws:iam::940497413619:user/CXASubCloudPush is not authorized to perform: SNS:Publish on resource: arn:aws:sns:us-east-2:393221637266:MainSolar because no resource-based policy allows the SNS:Publish action
Topic/Arn- String
- The corresponding topic/arn that the data was published to, helpful if you have recently changed it.