Links

What is a plugin?

Plugins is a tool by which Ubidots users are able to develop and extend the platform's features and functionalities in order to meet particular needs not addressed natively by Ubidots.

Context

Ubidots is not an open source platform, in other words, is not up for its users to modify it in hopes for meeting their particular requirements. Even if it were, users ought to have a vast knowledge of the several technologies that conform the platform in order to modify it.

Motivation

We wanted to empower our users with a tool that allows them to develop features according to their needs and integrate them into their accounts.

When to use plugins?

When a certain need or requirement is not catered natively by Ubidots.

Plugin types

Plugins are categorized into Types according to their purpose, thus, allowing different platform customization levels.
In general terms, they embed specific logic according to their type:
Type
Purpose
Example
Cron
Periodically executes some logic
Retrieve data every 20 minutes from an external Weather API and have it into Ubidots.
Webhook
Executes some logic triggered by an HTTP request.
Decode a LoRaWAN payload every time an uplink is received on Ubidots coming from a LNS.
Widget
Allows developing custom Widgets that are made available as if they were Ubidots native
Create a line chart using HighchartsJS that meet specific visualization requirements beyond the customization options offered by Ubidots line chart.
Device
Allows creating custom Ubidots devices with embedded logic
Create a device with custom thumbnail and properties. Also, embedding execution logic is possible.