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 Topic
and name it
- Login to your account and navigate to the SNS resource.
-
Define the access policy
- Select the
Basic
access policy and give publish access toOnly the specified AWS accounts
- Insert the account
940497413619
into 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.com
as a member with thePub/Sub Publisher
role. 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_at
the UTC time the data was published from the devicedevice_id
the id of the device the data originated fromdata
the actual object data that triggered the eventintegration_id
the id of the integration the data was submitted tosampled_at
the UTC time that the data was sampled on the deviceobject
the object name that the data is referring toslave
the slave device that the data originated fromcc_firmware
the firmware running on the slave devicefw_version
the firmware running on the NOI that collected the data
Integration Data
- Object
- Data from the integration. On success this will contain the following:
device
the device that triggered the integrationmessageId
the 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.