Difference between revisions of "Sending data to Senfi"
From Senfi Docs
								
												
				| Line 5: | Line 5: | ||
| # Write a program to read from your system and send it to Senfi's MQTT endpoint | # Write a program to read from your system and send it to Senfi's MQTT endpoint | ||
| − | == Create integration key == | + | === Create integration key === | 
| − | + | # Login to the [https://ems.senfi.io/cms CMS] | |
| + | # Go to the Integration tab | ||
| + | # Click the '''+''' button to add a new integration key/secret pair | ||
| + | # Note down the values of the '''Key''' (your integration key) and '''Secret''' (your integration secret) | ||
| − | ==  | + | === Design/create measurement === | 
| − | === MQTT Endpoint === | + | The key to a successful integration is to have a well-designed measurement. So if you are not familiar with the concept of measurement/metric/tag, please read [[Concepts#Measurement.2C_Metric.2C_Tag|this section]] first. | 
| + | |||
| + | # When you are designing a measurement to represent your system, note down the metrics you want to capture.  | ||
| + | # Decide on a set of tags to use. Make sure that there is a combination of tags that will uniquely identify the unit/device/equipment that outputs those metrics. | ||
| + | # Login to the [https://ems.senfi.io/cms CMS] | ||
| + | # Go to the Measurement tab | ||
| + | # Click the '''+''' button to add a new measurement | ||
| + | # Give the measurement a descriptive name. This will be shown to users of the dashboard. | ||
| + | # Specify a measurement code. A measurement code is a unique identifier of this measurement. You can use a combination of lowercase alphanumeric characters and underscore.  | ||
| + | #* The naming convention of a measurement code is as follows: <tt><vendor>_<system>_<version></tt> | ||
| + | #* For example: <tt>nest_thermostat_v1</tt>. If you make changes to the measurement (eg. adding or removing metrics), you should increment the version, eg. <tt>nest_thermostat_v2</tt>. | ||
| + | # Add tags | ||
| + | # Add metrics and specify the type of each metric | ||
| + | # Save when done | ||
| + | |||
| + | === Publish to MQTT === | ||
| + | |||
| + | ==== MQTT Endpoint ==== | ||
| ; Host: mqtt.senfi.io | ; Host: mqtt.senfi.io | ||
| ; Port: 1883 | ; Port: 1883 | ||
| Line 17: | Line 37: | ||
| ; Password: ''<Your integration secret>'' | ; Password: ''<Your integration secret>'' | ||
| ; MQTT topic: ingestor/1/0/live/text/array/ems/''<your integration key>/<your measurement code>'' | ; MQTT topic: ingestor/1/0/live/text/array/ems/''<your integration key>/<your measurement code>'' | ||
| + | |||
| + | You can take a look at [https://github.com/gelement-com/mqtt-ingestor-sample this GitHub repository] for a sample application to send data to Senfi's MQTT endpoint. | ||
| + | |||
| + | Publishing strategy: regular, upon change, | ||
Revision as of 16:24, 11 September 2019
Senfi monitors and stores time series data from your existing systems. At the moment, Senfi provides a MQTT interface for receiving data from your systems. To start sending data to Senfi, you need to do the following:
- Create an integration key in the CMS
- Design and create a measurement in the CMS
- Write a program to read from your system and send it to Senfi's MQTT endpoint
Create integration key
- Login to the CMS
- Go to the Integration tab
- Click the + button to add a new integration key/secret pair
- Note down the values of the Key (your integration key) and Secret (your integration secret)
Design/create measurement
The key to a successful integration is to have a well-designed measurement. So if you are not familiar with the concept of measurement/metric/tag, please read this section first.
- When you are designing a measurement to represent your system, note down the metrics you want to capture.
- Decide on a set of tags to use. Make sure that there is a combination of tags that will uniquely identify the unit/device/equipment that outputs those metrics.
- Login to the CMS
- Go to the Measurement tab
- Click the + button to add a new measurement
- Give the measurement a descriptive name. This will be shown to users of the dashboard.
- Specify a measurement code. A measurement code is a unique identifier of this measurement. You can use a combination of lowercase alphanumeric characters and underscore.
- The naming convention of a measurement code is as follows: <vendor>_<system>_<version>
- For example: nest_thermostat_v1. If you make changes to the measurement (eg. adding or removing metrics), you should increment the version, eg. nest_thermostat_v2.
 
- Add tags
- Add metrics and specify the type of each metric
- Save when done
Publish to MQTT
MQTT Endpoint
- Host
- mqtt.senfi.io
- Port
- 1883
- Username
- <Your integration key>
- Password
- <Your integration secret>
- MQTT topic
- ingestor/1/0/live/text/array/ems/<your integration key>/<your measurement code>
You can take a look at this GitHub repository for a sample application to send data to Senfi's MQTT endpoint.
Publishing strategy: regular, upon change,
