Skip to main content

Channel Management

The platform goes a step further beyond data delivery, allowing for the creation of Channels which can be used to read data values and graphically plot over time. These channels are linked to a Thing, whereby multiple channels can be created for a single Thing.

There are a series of endpoints for managing Channels.

Note: Thing Channels are automatically created and reconfigured when a Thing sends a message for a channel that does not exist or is misconfigured. A user doesn't have to pre-create channels if the device is configured to start sending data for channels it doesn't already have.


Get Thing Channel

Retrieve a Thing Channel

  • channel - Cloudloop Thing Identifier (e.g. dYrLZzemNQwPagBmmxByOqXbvMVjAoDG)
Insight/GetThingChannel?channel=XXX
{
"channel": {
"unit": "units",
"precision": 0,
"name": "Channel 1",
"icon": "🔌",
"description": "Automatically created channel for channel number 1",
"handle": null,
"id": "dYrLZzemNQwPagBmmxByOqXbvMVjAoDG",
"type": "ANALOG_INPUT",
"account": "ejoGRxQrXpzkPJngbjBydwYZbqmDagNA"
}
}

Endpoint: Insight/GetThingChannel


Get Thing Channels (By Account)

Retrieve Thing Channels across all Things in the Account

Insight/GetThingChannels
{
"channels": [
{
"unit": null,
"precision": 0,
"name": "Channel 1",
"icon": "🔌",
"description": "Automatically created channel for channel number 1",
"handle": null,
"id": "RoDmGzOePxrJZKWAONBagyQXlpAkvMwj",
"type": "DIGITAL_OUTPUT",
"account": "ejoGRxQrXpzkPJngbjBydwYZbqmDagNA"
},
{
"unit": null,
"precision": 0,
"name": "Channel 2",
"icon": "🔌",
"description": "Manually created channel for channel number 2",
"handle": null,
"id": "pjvzwyOMVbPZgeBPVqWaYqQDAJGxkKLr",
"type": "ANALOG_INPUT",
"account": "ejoGRxQrXpzkPJngbjBydwYZbqmDagNA"
}
]
}

Endpoint: Insight/GetThingChannels


Get Thing Channels (By Thing)

Retrieve Thing Channels for a given Thing

  • thing - Cloudloop Thing Identifier (e.g. dYrLZzemNQwPagBmmxByOqXbvMVjAoDG)
Insight/GetThingChannelsForThing?thing=XXX
{
"channels": [
{
"unit": null,
"precision": 0,
"name": "Channel 1",
"icon": "🔌",
"description": "Automatically created channel for channel number 1",
"handle": null,
"id": "RoDmGzOePxrJZKWAONBagyQXlpAkvMwj",
"type": "DIGITAL_OUTPUT",
"account": "ejoGRxQrXpzkPJngbjBydwYZbqmDagNA"
},
{
"unit": null,
"precision": 0,
"name": "Channel 2",
"icon": "🔌",
"description": "Manually created channel for channel number 2",
"handle": null,
"id": "pjvzwyOMVbPZgeBPVqWaYqQDAJGxkKLr",
"type": "ANALOG_INPUT",
"account": "ejoGRxQrXpzkPJngbjBydwYZbqmDagNA"
}
]
}

Endpoint: Insight/GetThingChannelsForThing


Update Thing Channel

Update a Thing Channel

  • channel - Cloudloop Thing Identifier (e.g. dYrLZzemNQwPagBmmxByOqXbvMVjAoDG)
  • name - String name for the channel
  • description - String description for the channel
  • icon - String unicode emoji icon for the channel
  • unit - String unit of measurement for the channel (e.g. degrees Celsius, litres)
  • type - String channel type (e.g. ANALOG_INPUT, DIGITAL_OUTPUT)
  • precision - Decimal number of decimal places to round values to

Channel Types:

  • ANALOG_INPUT
  • ANALOG_OUTPUT
  • DIGITAL_INPUT
  • DIGITAL_OUTPUT
Insight/UpdateThingChannel?channel=XXX&name=XXX&description=XXX&icon=XXX&unit=XXX&type=XXX&precision=XXX
{
"channel": {
"unit": "units",
"precision": 0,
"name": "Channel 1",
"icon": "🔌",
"description": "My new description for channel 1",
"handle": null,
"id": "dYrLZzemNQwPagBmmxByOqXbvMVjAoDG",
"type": "ANALOG_INPUT",
"account": "ejoGRxQrXpzkPJngbjBydwYZbqmDagNA"
}
}

Endpoint: Insight/UpdateThingChannel


Set Digital Channel Output

Set Digital Channel Output Value

Note - this endpoint is only available for Digital Output Channels.

  • channel - Cloudloop Thing Identifier (e.g. dYrLZzemNQwPagBmmxByOqXbvMVjAoDG)
  • value - boolean value to set the channel to
Insight/DoSetDigitalChannel?channel=XXX&value=XXX

Endpoint: Insight/DoSetDigitalChannel


Set Digital Channel Output (Advanced)

Set Digital Channel Output Value (Advanced)

Note - this endpoint is only available for Digital Output Channels.

  • channel - Cloudloop Thing Identifier (e.g. dYrLZzemNQwPagBmmxByOqXbvMVjAoDG)
  • value - boolean value to set the channel to
  • timePeriod - integer time value
  • oneShot - boolean
  • mark - double mark value
Insight/DoSetDigitalChannelAdvanced?channel=XXX&value=XXX&timePeriod=XXX&oneShot=XXX&mark=XXX

Endpoint: Insight/DoSetDigitalChannelAdvanced


Configure RockBLOCK RTU Thing Channel

Configure a RockBLOCK RTU Thing Channel over the air

Note - this endpoint is only applicable to RockBLOCK RTU devices. For RockBLOCK and RockBLOCK Pro see Configure RockBLOCK Thing Channel.

  • channel - Cloudloop Thing Identifier (e.g. dYrLZzemNQwPagBmmxByOqXbvMVjAoDG)
  • mode - String channel mode
  • upperTrip - double upper trip value
  • hysteresis - double hysteresis value
  • lowerTrip - double lower trip value
  • timeSensitivity - String time sensitivity value
  • covSensitivity - integer cov sensitivity value
  • samplingPeriod - String sampling period value
  • groupTransmissionSize - integer group transmission size
  • unit - String RTU unit value

Channel Modes:

  • CHANNEL_MODE_DIGITAL_INPUT_ALERT_DISABLED
  • CHANNEL_MODE_DIGITAL_OUTPUT
  • CHANNEL_MODE_ANALOGUE_INPUT_0_TO_10_V
  • CHANNEL_MODE_ANALOGUE_INPUT_4_TO_20_MA
  • CHANNEL_MODE_DIGITAL_INPUT_ALERT_ENABLED
  • CHANNEL_MODE_OFF
  • CHANNEL_MODE_BATTERY
  • CHANNEL_MODE_RAW

Time Sensitivities:

  • TIME_SENSITIVITY_INSTANT
  • TIME_SENSITIVITY_2X
  • TIME_SENSITIVITY_3x
  • TIME_SENSITIVITY_4x

Sampling Periods:

  • SAMPLING_PERIOD_2_SECONDS
  • SAMPLING_PERIOD_5_SECONDS
  • SAMPLING_PERIOD_10_SECONDS
  • SAMPLING_PERIOD_15_SECONDS
  • SAMPLING_PERIOD_20_SECONDS
  • SAMPLING_PERIOD_25_SECONDS
  • SAMPLING_PERIOD_30_SECONDS
  • SAMPLING_PERIOD_45_SECONDS
  • SAMPLING_PERIOD_1_MINUTE
  • SAMPLING_PERIOD_2_MINUTE
  • SAMPLING_PERIOD_3_MINUTE
  • SAMPLING_PERIOD_4_MINUTE
  • SAMPLING_PERIOD_5_MINUTE
  • SAMPLING_PERIOD_10_MINUTE
  • SAMPLING_PERIOD_15_MINUTE
  • SAMPLING_PERIOD_20_MINUTE
  • SAMPLING_PERIOD_30_MINUTE
  • SAMPLING_PERIOD_60_MINUTE
  • SAMPLING_PERIOD_90_MINUTE
  • SAMPLING_PERIOD_120_MINUTE
  • SAMPLING_PERIOD_180_MINUTE
  • SAMPLING_PERIOD_240_MINUTE
  • SAMPLING_PERIOD_360_MINUTE
  • SAMPLING_PERIOD_480_MINUTE
  • SAMPLING_PERIOD_720_MINUTE
  • SAMPLING_PERIOD_COV_TRIGGERED
  • SAMPLING_PERIOD_NEVER

RTU Units:

  • UNIT_VOLTS
  • UNIT_MILLIAMPS
  • UNIT_DIGITAL
  • UNIT_PERCENT
  • UNIT_RAW
Insight/DoConfigureP6ThingChannel?channel=XXX&value=XXX&timePeriod=XXX&oneShot=XXX&mark=XXX

Endpoint: Insight/DoConfigureP6ThingChannel


Configure RockBLOCK Pro Thing Channel

Configure a RockBLOCK Pro Thing Channel over the air

Note - this endpoint is only applicable to RockBLOCK Pro devices. For RockBLOCK and RockBLOCK Pro see Configure RockBLOCK Thing Channel.

  • channel - Cloudloop Thing Identifier (e.g. dYrLZzemNQwPagBmmxByOqXbvMVjAoDG)
  • mode - String channel mode
  • filter - String filter value
  • ioLevel - double io level value
  • hysteresis - double hysteresis value
  • reportPeriod - integer report period value

Channel Modes:

  • PEBBLE_IO_MODE_INPUT
  • PEBBLE_IO_MODE_OUTPUT
  • PEBBLE_IO_MODE_INT_RISING
  • PEBBLE_IO_MODE_INT_FALLING
  • PEBBLE_IO_MODE_INT_CHANGE
  • PEBBLE_IO_MODE_VOLTAGE_IN
  • PEBBLE_IO_MODE_CURRENT_IN
  • PEBBLE_IO_MODE_OUTPUT_CONFIRMED
  • PEBBLE_IO_MODE_OUTPUT_ONE_SHOT
  • PEBBLE_IO_MODE_OUTPUT_PWM
  • PEBBLE_IO_MODE_COUNTER_RISING
  • PEBBLE_IO_MODE_COUNTER_FALLING
  • PEBBLE_IO_MODE_COUNTER_CHANGE

Filters:

  • PEBBLE_IO_CHANNEL_FILTER_LOW
  • PEBBLE_IO_CHANNEL_FILTER_MEDIUM
  • PEBBLE_IO_CHANNEL_FILTER_HIGH
Insight/DoConfigurePebbleThingChannel?channel=XXX&value=XXX&timePeriod=XXX&oneShot=XXX&mark=XXX

Endpoint: Insight/DoConfigurePebbleThingChannel