Answers to common questions


What is a Free Account?

The Free Account is designed to allow individuals and small businesses to use the CloudPlugs platform to manage their Things, as well as to allow larger organizations to have a free trial platform.

A user can register for a Free Account and prototype deploy and manage up to 10 devices with an aggregate amount of free storage of 100MB per month and up to 100MB of bandwidth per month.

Free Accounts are valid for a period of 12 months.  They may be extended for another 12 months if you refer 5 additional qualified users.  Qualified users are users that use the service actively.

Individuals and businesses may use the free service for their own internal use, but not to offer commercial services to other individuals or businesses.

For more details please consult our Terms of Service or contact us.

If you need more devices, storage or bandwidth you can register for a Business Account.

How can I have more free services?

You can have additional free devices and additional free storage and bandwidth by inviting friends or colleagues to use the platform.  For example, you get additional 100MB of storage and 100MB of bandwidth for every qualified person you invite.  A qualified person is someone who has a valid account that is in use.

You can extend the 1 year free services by inviting 5 qualified guests minimum during the year.  Extensions are for additional 12 months.

Is there a limit of the number of devices that I can manage?

You can manage as many devices as you want in the thousands or 100’s of thousands.  The CloudPlugs platform is fully elastic and is built for scalability and performance on enterprise grade infrastructure that guarantees 99.95% monthly uptime.

What is the service SLA?

The CloudPlugs monthly SLA uptime is 99.95% for paid accounts

How will I be charged and billed for the CloudPlugs Service on a Business Account?

There are no set-up fees or long term commitments to begin using the service under a Business Account. At the end of the month, your credit card will automatically be charged for that month’s usage. You can view your charges for the current billing period at any time on the CloudPlugs Services web site, by logging into your CloudPlugs Web Services account, and clicking “Current Month” under “My Account”.

With CloudPlugs, you can have either a Free account or a Business account.

The Free Account allows 10 devices total (Prototypes, controllers and production things  are considered devices) that can store up to 100MB per month and use up to 100MB of bandwidth per month.

The Business Account allows you to use as many devices as and as much bandwidth and storage as needed.  You will be billed only for what you consume on a given month.  We calculate the average number of devices, the average amount of storage and the quantity of bandwidth used during the billing period so you are charged only for what you use.  Business Accounts have a monthly minimum charge for 20 devices.

Each device includes 10MB of bandwidth and 10MB of storage per month. Additional storage and bandwidth is billed in 1MB increments.

Let’s look at an example in which usage is as follows:

Devices: 10 devices for 5 days, 20 devices for 15 days, 30 devices for 10 days.

Storage: 100MB for 10 days, 300MB for 10 days, 400MB for 10 days

Bandwidth: 500MB for the month

We first calculate your average number of devices for the month.  Let’s assume this month has 30 days.

avg_devices= (10*5 + 20*15 + 30*10) / 30 = 21.67 rounded to 22.  You will be billed for 22 devices.

Now we calculate the allowed storage and bandwidth for all devices

allowed_storage = avg_devices * 10 = 220MB

allowed_bw = avg_devices * 10 = 220MB

We now calculate the average total storage used

avg_storage = (100*10 + 300*10 + 400*10) / 30 = 266.67 rounded to 267MB

We do not average bandwidth use since we always measure  actual consumption

We figure out how much extra storage and bandwidth were used this month

extra_storage = avg_storage – allowed_storage = 267 – 220 = 47 MB

extra_bw = bw_used – allowed-bw = 500 – 220 = 180 MB

Your bill will show charges for 22 devices, 47 MB of extra storage and 180 MB of extra bandwidth.

For more information, please contact us.

Can CloudPlugs white label the service with my company name?

Yes, CloudPlugs allows you to white label the service as if it was yours.  Your users will believe it is your own IoT service.  For more details on this service, please contact us.

Can I really manage any Thing?

Yes, you can manage any type of device or sensor as long as you can connect it to the Internet either directly or through a gateway.

Managing a device requires:

  1. Connecting the device to the CloudPlugs service
  2. Publishing data on a specific channel
  3. Developing a controller application to receive data and issue commands to the device

What do I need to connect my Things?

To connect your things you need the following:

  1. A CloudPlugs account to access the service platform.
  2. A controller board for your Thing.  A list of supported boards can be found here.
  3. A software library that you will download and integrate with your controller firmware.  Supported libraries can be found here.

Our libraries include examples and have all the necessary functions to connect your Things to CloudPlugs.

How do I connect my Things?

  1. Create a CloudPlugs account and login.
  2. Under My Things open the platform console and then the Get Started wizard
  3. Select My HW to create your Thing prototype
    • Follow the instructions in the Quick View window
      • Download your preferred library from CloudPlugs or a supported third party MQTT library.
      • Open the library file, enter the Plug-ID and either your login or prototype password, write the functions to capture data from your Thing
      • Write the message to publish the data
      • Connect and run your sensor and hardware controller
    • Verify that the right data is being published
      • Open the Prototype Full View window
      • Confirm that data is being published in the Published data window
    • Finish your Prototype
      • Give your Prototype a name
      • Optionally define additional properties, permissions, triggers and location
  4. Create a production template
    • Give your template a name
    • Enter an optional Secret Key that will be used to activate your production Things
    • Enter the serial numbers for the Things you will produce or upload a CSV file with serial numbers
    • Set any specific Triggers or Additional properties for the Things under this template
  5. Provision your Things.
  6. As production Things are connected, they will automatically activate in the platform

How do I use MQTT?

If you have already developed “Things” that connect with MQTT you can connect them directly to the CloudPlugs platform by modifying the MQTT logic to communicate to the CloudPlugs backend service.  Things that use MQTT can connect and exchange data with Things that use HTTP or Websockets protocols.

Unlike other solutions in the market, MQTT devices are enrolled into the platform just like any other device that uses HTTP or Websockets allowing you to deploy production devices that only communicate through MQTT.  An example would be a device that has a very low powered board with very little memory that is not capable of running both an HTTP and an MQTT library, and that you would like to integrate to CloudPlugs using MQTT.

Why do I need channels?

Channels are used by Things and applications to publish and subscribe data.  The CloudPlugs architecture has a unique and powerful dynamic channel infrastructure.  Channels can be created manually through the platform, or dynamically by Things as they publish data.  They have a nested structure like a file system.  A channel could be “temperature,” or it could be “sensor/temperature,” or even “sensor/temperature/fridge.” The character slash “/” is used as a channel level separator.

You have total flexibility on how to structure your channels.

To create a nested channel structure, it is not necessary to create each level of channel manually.  For example if your first channel name is sensor/temperature/fridge, the three channel levels (sensor, sensor/temperature, sensor/temperature/fridge) will be automatically created.

You can use also use multi-level or single level wildcards to publish or subscribe to multiple channels at once.

It is important to understand that channels do not really exist as entities, and therefore, they also resemble tags which exist only if they have published data.  Therefore, channels are not deleted, they will automatically disappear if all the data published in the channel is erased.

How many Things can I connect to a single account?

There is no limit on the number of type of Things that can be managed from a single account.

How many prototypes can I create?

There is no limit on the the number of prototypes you can create and test.

Why do I need to create a Production template?

Production templates are the final step required to take your Things into production.  They allow you to:

  1. Create a specific class or model of Things that will be taken into production
  2. Assign a specific encrypted key for activation of your production Things
  3. Set any specific triggers or additional properties for a class production Things
  4. Assign serial numbers to the Things  belonging to a particular class of product

Once you have a desired template, you simple click on Provision Things and the platform will be ready to accept connections from Things that authenticate to activate.

How many templates can I create?

There is no limit on the number of templates you can create from your prototypes.  You can have multiple templates created from a single prototype, each with a small variation to reflect your needs.

What is a channel?

Channels are data structures that allow Things and applications to publish data and to read data. Channels are equivalent to Topics in the message bus terminology.  The CloudPlugs channels are architected as tags that automatically exist when data is published; however, unlike tags, they can have a hierarchical, file system type structure.  This channel architecture provides maximum flexibility and speed in development and deployment of Things.

Things or applications publish data into channels or subscribe to channels to read data published by other Things or applications. Things can subscribe and publish data into one or more channels.

Channels can have one level or have multiple levels of sub-channels. The forward slash (/) is used as the channel level separator and is used to provide a hierarchical structure to the channel space. Multiple consecutive slashes such as (//) or (///) are invalid. The following are examples of channels:


sensor/temperature  (sensor is a channel and temperature is a sub-channel)

sensor/temperature/fridge (each level is a channel)

Channels are not created manually and they do not exist as individual elements.  Channels are created dynamically as data gets published. For example, you do not need to create sensor before creating temperature and to create temperature before fridge.  You can simply publish to sensor/temperature/fridge and the structure will be automatically created if it did not exist.

Things can subscribe to multiple channels at once using single level or multi-level wildcards.  For more information on wildcards, refer to the wildcards FAQ answers.

Channels have one or more data fields with structured and/or unstructured data.   Structured data fields are JSON objects such as

“internal”: 70,
“external”: 90

An example of unstructured data for a temperature channel is the value 70 (for 70 degrees Fahrenheit).

Channels, their sub-channels and their data can be deleted with one click.  In addition, because channels resemble tags which exist only if they have published data, channels  will automatically disappear if all the data published in the channel is erased.

For more details on channels, please consult the Knowledge Base.

What are channel data fields?

Data fields carry the data published in a channel.  The CloudPlugs data fields allow total flexibility.

Channels have one or more data fields with structured and/or unstructured data.   Structured data fields are JSON objects such as

“internal”: 70,
“external”: 90

An example of unstructured data for a temperature channel is the value 70 (for 70 degrees Fahrenheit.

What are wildcards and how are they used?

Wildcards are used with channels in the same way that wildcards are used with Topics in the MQTT messaging infrastructure.

Wildcards are powerful special characters which allow you to subscribe to multiple channels at once and perform operations across multiple channels with one command.

The channel level separator is used to introduce structure into the channel, and can therefore be specified within the channel for that purpose. The multi-level wildcard and single-level wildcard can be used for subscriptions, but they cannot be used within a channel by the publisher of a message.

Channel level separator

The forward slash (/) is used to separate each level within a channel tree and provide a hierarchical structure to the channel space. The use of the channel level separator is significant when the two wildcard characters are encountered in channels specified by subscribers.  Multiple channel separators are not allowed; therefore, a channel description such as //sensor///temperature is not valid.

Multi-level wildcard

The number sign (#) is a wildcard character that matches any number of levels within a channel. For example, if you subscribe to sensor/temperature/fridge/#, you receive messages on these channels:


sensor/temperature/fridge/meats compartment


The multi-level wildcard can represent zero or more levels. Therefore, fridge/# can also match the singular fridge, where # represents zero levels. The channel level separator is meaningless in this context, because there are no levels to separate.

The multi-level wildcard can be specified only on its own or next to the channel level separator character. Therefore, # and temperature/# are both valid, but temperature# is not valid. The multi-level wildcard must be the last character used within the channel tree. For example, temperature/# is valid but temperature/#/reading is not valid.

Single-level wildcard

The plus sign (+) is a wildcard character that matches only one channel level. For example, sensor/temperature/+ matches sensor/temperature/fridge and sensor/temperature/cooler, but not sensor/temperature/fridge/freezer. Also, because the single-level wildcard matches only a single level, sensor/+ does not match sensor.

The single-level wildcard can be used at any level in the channel tree, and in conjunction with the multilevel wildcard. It must be used next to the channel level separator, except when it is specified on its own. Therefore, + and sensor/+ are both valid, but sensor+ is not valid. The single-level wildcard can be used at the end of the channel tree or within the channel tree. For example, sensor/+ and sensor/+/fridge are both valid.

For more details about wildcards, please consult the Knowledge Base.

Can I modify the data structure of a channel?

The data field(s) within a channel can be modified on the fly.  New field(s) can be added, and field(s) may be modified or deleted.

CloudPlugs offers maximum flexibility.  You do not need to delete and re-create channels when you want to modify the behavior of your existing channels.  Simply modify the data structure and the channel will start transporting the new data published by your Things.

What are passwords and how are they used?

Passwords set with Set Password in the Permissions panel of the Prototype window are used to authenticate Prototypes only.  The default password for a Prototype is the user login password for the platform.  A new password can be set in the Permissions section of the Prototype window.

In the CloudPlugs libraries examples, in order for the hardware prototype to communicate with the platform, the variable AUTH_PASS must be set to match the Password under Permissions.  if the password under Permissions is not set, AUTH_PASS must be set to your platform login password.

The Prototype password is different than Secret Keys or passwords in the Production template in that they are used to authenticate the enrollment of Prototypes into the platform while Secret Keys are used to authenticate the activation of multiple production Things, and production passwords are used to authenticate the enrollment of individual Things.  For more details please consult the Knowledge Base Production template documentation.

What is the Secret Key and how is it used?

The Secret Key of 8 characters minimum is used to create encrypted activation and authentication keys for all the Things with serial numbers in the production template.  It provides a simple way to generate security authentication keys for a large number of Things.

The security activation and authentication keys are generated as a combination of the Secret Key and the individual Things serial numbers providing a unique key for each one of your production Things.

If you would like to see more information published in this FAQ, please let us know.  We want to offer an outstanding service and all feedback is taken into account.

Send questionclear