Ubidots
Low-code application development for the Internet of Things
New Developing Tool: Ubidots CLI
We’re excited to introduce our command line interface (CLI), a new developing tool that allows you to easily interact with Ubidots locally. With the CLI you’ll be able to:
- Set up a fully-featured local development environment for UbiFunctions, replicating runtimes and their included libraries, allowing you to seamlessly write, test, and deploy functions directly from your local machine to UbiFunctions.
- Perform CRUD (create, read, update, delete) operations over the following entities in Ubidots:
Mobile Dashboards
We’re happy to announce that the Ubidots mobile app now supports dashboards! This addition brings a new level of flexibility, allowing you to visualize your data, with the widgets and style of your web dashboards, all from the convenience of the app. No matter where you are, you have instant access to the information that matters most, empowering you to make timely decisions and keep a close eye on your operation anytime, anywhere.
IP-Based Access Management Is Here
We’re glad to introduce the ability to control who can access your apps and from where by implementing IP-based access management.
This feature allows you to whitelist specific IP addresses or ranges, ensuring that only authorized users or locations can access your app. This is particularly useful for restricting access to internal teams or specific geographic regions.
Introducing Audit Logs
Knowing that security is always among your top priorities, we’re introducing the Audit Logs module to the platform. It’s designed to empower owners and admin users by allowing them to keep track of important activity within their account and apps.
Changes to dashboards, events, devices, functions, and apps will be logged in the module, along with important context information about the change.
Audit Logs is a great tool to:
- Monitor and respond to suspicious activities.
- Detect and track changes in key entities within your apps.
- Ensure compliance with security and audit standards.
New UbiFunctions Features
Following the recent changes made to the UbiFunctions page, we’re happy to announce the introduction of two new additions to this important module: The ability to change the background color of the code editor between light and dark modes, and the ability to use multiple files when coding your functions.
These new features enhance the process of creating UbiFunctions by making the whole process more comfortable and organized. In particular and by significantly improving the readability of the functions, the ability to use multiple files greatly improves the overall process by allowing you to split the code between different types of files:
- Source files
- Configuration files
- Data files
Greater Dashboard Flexibility
We’re excited to announce the introduction of Dashboard Pages, the ability to modify your dashboards with the content of your choice. This allows you to embed external pages in your dashboards, thus increasing their versatility.
Widgets displaying all sorts of data will always be the bread and butter of any Ubidots application, but oftentimes other types of content that are critical to the operation need a place, such as a dashboard, for easy access and greater prominence. This could be anything, from a video that explains how to use the platform, all the way to a third-party application that's important for your operation.
Introducing Data Pipelines
We're happy to announce the introduction of a new module in our platform, Data Pipelines. Based on the activity of one or multiple data sources of your choice, you can create pipelines that trigger webhooks for your data to be redirected elsewhere or for logic to be executed.
For example, you can set up a pipeline using an organization as a data source so that whenever a device from any of those organizations receives data, that data will be forwarded to a pre-configured webhook.
Introducing the Customizable Sidebar
We're excited to introduce the option of changing the position of the navigation menu to either the top of the screen (its default position) or to the left side — thus turning it into a collapsible navigation bar.
This new version of the menu frees up screen space and offers more flexibility for your overall experience. The changes of position can be made separately for the app's end users on one hand, and the admin users and account owner on the other.
Furthermore, our Enterprise customers looking to deploy fully-customized end-user applications will be able to change all the menu items in the end-user apps as well. Additionally, different versions of the menu can be created and displayed only to the right users based on their assigned tags.
New Widget Plugin: Pareto Bar Chart
The Pareto Bar Chart is a typical way to categorize machine downtime reasons in manufacturing applications, such as OEE Monitoring. This new widget offers a simple yet powerful way to improve your existing and future industrial monitoring dashboards.
In a more generic sense, the Widget is capable of breaking down any variable based on any context keys, making it valuable for further IoT applications.
Introducing the Timeline Chart
We’re also happy to introduce the Timeline Chart, a Widget Plugin that aggregates and displays breakdown times in production by grouping time series data. By analyzing when breakdowns occur, you can identify crucial patterns and trends to improve productivity and minimize downtime.
The widget creates a timeline where breakdowns are represented with colored bars whose width is proportional to the aggregated breakdown time. Understanding the timing and frequency of breakdowns helps pinpoint underlying issues, schedule maintenance more effectively, and enhance overall productivity.
Faster, Easier API Interaction
Looking to simplify development in and around Ubidots (i.e., in HTML Canvas widgets), we're introducing a comprehensive JavaScript SDK designed for seamless interaction with our API. This library offers an intuitive and user-friendly interface, enabling you to easily send data to your devices and perform essential CRUD operations across various supported Ubidots entities.
With pre-defined methods for making requests to the API, as well as customizable request-building through advanced filter methods, this library empowers you to efficiently develop advanced widgets and manage devices, variables, organizations, users, and dashboards.
Functions Are Glowing Up
UbiFunctions has quickly become one of our most beloved modules, empowering our users with the flexibility and control required to tailor their IoT data to their needs.
From custom uplink decoders, to scheduled ETLs, to data analysis for predictive scoring, UbiFunctions gives you the superpowers to build sophisticated IoT solutions without the DevOps hassle.
A fresh new design
The new Functions’ UI design modernizes its appearance and prepares it for more upcoming novelties. This new design breaks down functions into three convenient tabs:
- Code editor: A wider, cleaner look gives you more room to visualize your code, while giving you access to common settings such as the function's URL and runtime.
- Settings: We migrated all settings to a dedicated view, including the new "environment variables", which can be created using the Global Properties module.
- Logs: With their own tab, now the execution logs of your functions are not only more prominent but also easier to leverage.
New feature: Custom Cron Schedules
We are thrilled to announce the ability to specify cron jobs for UbiFunctions!
In the new settings tab, you'll find the ability to set custom schedules for your functions. Whether you are looking to automate data extraction/loading from/into 3rd party systems, perform regular data analysis for predictive maintenance, or generate scheduled reports, crontab expressions are here to help.
Introducing the New Line Chart
The Line Chart widget has just been reinvigorated with a fresh look and two new features to expand its functionality and flexibility: ECharts and Hover Group.
The first new feature, ECharts, is a powerful open-source visualization library designed to create interactive and customizable charts. This new configuration option provides extensive customization options, allowing you to tailor the appearance and behavior of charts to fit specific requirements.
On the other hand, Hover Group is a configuration option that allows you to connect Line Charts in a dashboard so that their tooltips and pointers become synchronized when hovering over them.
New Bar Chart Features
The Bar Chart widget has been enhanced with two new visualization options. The first one allows you to sort the bars in an ascending or descending way according to their values. The other one gives you the option of dynamically “highlighting” the largest bars with the color of your choice.
Introducing Data Profiling
Our new Data Profiling plugin allows you to create widgets that boost your operation by deeply analyzing time-series data, offering significant correlations and detection of outliers, to include comprehensive descriptive statistics, trend analysis, and report generation.
By providing detailed insights with no coding at all, this tool ensures companies not only save on operational expenses but also enhance productivity through data-driven strategies.
New Events’ Logs Page
We’ve introduced a new logs page to our Events module that seeks to simplify debugging and the analysis of processes. The page offers an easy-to-understand view of the events’ activity and status.
With it, dissecting operational incidents to understand, for example, who acted upon an alert or who received the notification, becomes an easier task.
Introducing Global Properties
We're thrilled to introduce Global Properties, a new module to easily store global variables that can be accessed from various places in your account. Starting with UbiFunctions, you may now access Global Properties from your function's code, making them useful to store and retrieve:
- Constants
- Look-up tables, using JSON objects
- Credentials shared across functions
New plugin: Breakdown Bar Chart
We’re happy to introduce the Breakdown Bar Chart, a plugin that offers a simple, yet powerful way to break down time-series data based on context, resulting in a bar chart that's always categorized by month within the dashboard's selected time range.
This can be useful in cases such as OEE measuring: By grouping the different causes of machine downtime through the dot’s context, you can swiftly spot operational patterns and improvement opportunities by figuring out which causes affect machines the most.
Integrate end user apps with GA4
Integrate Google Analytics 4 to your Ubidots end user apps to easily monitor user activity in your operation. GA4, the free and powerful analytics service, lets you measure traffic and engagement across your websites and apps.
Additionally, in conjunction with Google Tag Manager, you can boost your operation by not only accessing more data, but even introducing features such as cookie consent managers or in-app customer support chats.
New Devices pages
We’ve finished introducing design changes in our devices pages, from the general table down to the variable page. These changes not only seek to refresh the appearance of this important section, but also to make actions and workflows smoother and clearer.
Introducing single sign-on
Swiftly elevate the security and efficiency of your whole application by implementing single sign-on for your end users with either Auth0 or Azure.
Single sign-on (SSO) is a technology that consolidates multiple application login screens into one. With SSO, users need to enter their login credentials only once to gain access to all of their applications and resources.
Introducing our hosted Helium/ChirpStack LNS
We’re happy to announce the introduction of our new “Helium - ChirpStack LNS” giving you access to Helium’s network —the largest, public LoRaWAN network in the world— in a convenient and simple way.
With support for AU915_1 and US915_1 regions, CLASS A, B, C, and key ChirpStack features, the service not only simplifies operations but also ensures robust functionality and flexibility, catering to a wide range of verticals.
Text widget, improved
Text widgets, a handy tool to display important messages on your dashboards or to even explain the data of other widgets, are now even better than before thanks to the inclusion of more native styling options.
You can now easily enhance your messages with the following options:
- Bold
- Italic
- Underline
- Or by changing the opacity of the font's color
Color logic for the metric widgets
Our family of metric widgets has been a staple group of tools that have enabled thousands of projects and operations for years and we’re now happy to announce that they have been improved based on your feedback.
Now, it’s possible to not only define a fixed background color for your metric-type widgets, but to even set up a color logic that changes their background based on your data. This facilitates data visualization and gives you greater flexibility to style and set up your dashboards according to your needs.
Introducing the Anomaly Detector
We’re excited to announce the introduction of our new Anomaly Detector plugin, a powerful data analysis tool that empowers you to quickly spot irregularities in time series data to take your operation to the next level.
In today's data-driven world, the ability to monitor and analyze time series data is paramount for businesses across various domains. However, amidst the vast and continuous stream of data, identifying anomalies can be an arduous task, often akin to finding needles in a haystack.
Our Anomaly Detector plugin facilitates this process with the use of special algorithms that quantify deviations from the expected data patterns. Additionally, the findings can be easily plotted in your dashboard.
A power-up for your operation
We're introducing the Power Diagram plugin, a tool that allows you to create four-quadrant diagrams in your dashboard to easily visualize energy consumption, thus simplifying the identification of irregularities in electrical systems.
The Power Diagram is a product of our latest generation of plugins —conveniently named Widget Plugins. They're tools that allow you to develop custom widgets that, upon use, are added to the native catalog of widgets.
New Device Types page
The Device Types page has been updated to not only comply with our new design system, but also to simplify the process of creating a device type by making it more thorough and intuitive. Device Types have long been a fundamental tool to onboard batches of devices with pre-configured variables, properties, and interactions with other tools. Now, using Device Types is even more straightforward than ever.
Take your operation everywhere
We’re excited to announce that the Ubidots app is now available to all Android and iOS users! With it, you can easily be connected to your operation from anywhere, at any time.
On the app you can:
- ? Explore your devices, segmented by online/offline.
- ? Quickly see the last values of each device's variables.
- ? Navigate historical data of each variable.
- [PLANNED] Dashboards: In the future, we plan to add a way to see your web dashboards.
- [PLANNED] Events notifications: In the future, we plan to be able to receive Ubidots' Event triggers as notifications in your phone. Events notifications: In the future, we plan to be able to receive Ubidots' Event triggers as notifications in your phone.
You can also get a white-labeled version of the app. To do so, contact us at sales@ubidots.com for pricing details and information about the white-labeled app.
Improved UbiFunctions
During 2023 we worked on a new architecture for our UbiFunctions module to improve their overall speed and stability.
When you create an UbiFunction for the first time, a lot of things happen backstage. A special container is created with your own code, so it can run every time the function is invoked. Meanwhile, a dedicated API endpoint is generated so you can call your function using HTTP or MQTT. All of this needs to happen in just a few seconds, in order to comply with your reliability and speed expectations.
Additionally, there are now more available runtimes:
- Node.js 16 Base
- Node.js 16 Lite
- Python 3.11 Base
- Python 3.11 Lite
- Python 3.9 Base
- Python 3.9 Lite
Since some of the runtimes are lighter than others, your function may therefore be faster.
Custom UI, boosted
The Custom UI widget, in which you can mix UI components at will in order to build your own interface, is now even more robust thanks to the addition of 4 new components you can use in your widget:
- Toggle button
- Dropdown menu (of single or multiple choice)
- Hour picker
- Numeric input
Once the Custom UI is configured, you can trigger a webhook to an UbiFunction or 3rd-party platform to process the input data — or just go to another Ubidots dashboard or an external link. It can be used for many solutions, such as the following:
- A truck driver who inputs data in a smartphone about incidents along the route. This data enriches the GPS data already collected in Ubidots.
- A machine expert who just finished a maintenance task and leaves the maintenance date with comments in a tablet located next to the machine.
- An IoT-fleet operator who sets configuration parameters and triggers a downlink function when hitting “send”.
Go to variable
You can now easily navigate to the page of any variable linked to a widget by using the “go to variable” button in the widget’s settings.
Ubidots Native Components for your custom HTML Widgets
Last month we announced that you can use React.js in the HTML Canvas widget, thus unlocking a front-end development powerhouse. React is a popular, open-source JavaScript library developed and maintained by Facebook. It serves as the foundation for creating modern and robust user interfaces for web and mobile applications.
Now, and thanks to the introduction of React, you can use Ubidots’ design library to use components with our look and feel, whether it's to save time in the development process or to ensure that those components blend in with the rest of the platform.
Introducing the new Incidents widget
We’re excited to announce that our Incidents widget has gone through a major revamp and is now ready to track all your events. But what is the Incidents widget and what does it do? It’s a table-type widget that allows you to keep a detailed record of each of your events, including their trigger time, trigger value, resolution status, and more.
The Incidents widget allows you to not only further centralize your operation in the dashboard, but also to add comments to the events, resulting in complete tracking from when the event activates to its resolution.
Introducing Widget plugins
We’re excited to introduce Widget Plugins, a new tool that allows you to become an Ubidots widget developer and cater to your project, company, or clients in a custom, branded, and seamless way. By using a developer console within Ubidots, where you have complete control over HTML, CSS, and JS, the widgets you develop will become available in the dashboard’s widget drawer.
- Code your widget
- Upload it as a plugin
- Let your end users enjoy a custom, native widget experience!
React for the HTML Canvas
We’ve introduced the ability to use React.js in the HTML Canvas widget, giving you access to a front-end development powerhouse. React is a popular, open-source JavaScript library developed and maintained by Facebook. It serves as the foundation for creating modern and robust user interfaces for web and mobile applications.
Enabling it is as easy as toggling a button in the widget’s configuration and the widget will function as it always has, except one of the tabs in the code editor will now be devoted to React.
New Event’s Action: Notify User
Notifying users about incidents or critical processes at the right time is at the core of an optimally functioning operation. Ubidots simplifies this process with the Notify User event action, which allows you to select users from your account and notify them via SMS, email, voice call, or Telegram using previously saved contact information.
Learn more.
Control Widgets, Improved
Our control widgets (Switch, Slider, and Manual Input) have just been improved with a new feature that allows you to identify the user that operated the widget. Given the critical role control widgets usually play, it’s equally important to monitor their correct use to better understand processes and make timely corrections according to observations.
By simply activating a button in the widget’s configuration, the information of the user who operates it will be logged into the context of the variable that’s being controlled with the widget. That information can then be easily checked directly in the variable’s page or in another widget that displays that context data such as a Values Table.
Bubble integration
Bubble is a no-code platform that empowers individuals and businesses to design stunning front-end interfaces without the need for extensive coding. By combining the flexibility of Bubble's frontend and Ubidots, you can easily build your very own robust and tailored IoT web app.
New widget: Runtime
Information such as the total active time of a machine, whether it's performing up to its potential or not, and how long it’s been running since its last maintenance, are all key to improve an operation and to get a better picture on metrics such as OEE.
With our new Runtime widget you’ll be able to effortlessly monitor how long your devices have been active within a specified timeframe, allowing you to identify trends and make data-driven decisions.
Introducing multi-device dashboards
We’ve introduced a new type of dynamic dashboard that allows you to choose multiple devices to visualize their data simultaneously. This not only increases the amount of data you can monitor, but also makes the process of aggregating multiple data sources easier.
By letting you select up to twelve devices at a time, the multi-device dashboard allows you to easily spot the trends of a whole building or process that’s being monitored by a fleet of devices. Depending on the type of widget (i.e., metric, chart, table, map, etc.) and its configuration, the way the data is represented in this dashboard will vary.
Send alerts from your own Telegram Bot
With our new Telegram plugin you’ll be able to easily set up events in Ubidots that trigger messages in a Telegram group.
Setting everything up takes just a few minutes, after which you’ll have your white-labeled Telegram bot to send alerts to multiple end users, through Telegram groups.
Filter what your end users can see, using tag-matching
Adding tags to Ubidots devices is nothing new. But being able to filter what your end users can see, based on tags, is elevating user management to a whole new level.
You can now add tags to not just devices, but also dashboards, reports, events*, and end users. If there's a tag match between the end user, and any other entity, then it will be displayed to your end user.
* Events tag is available in our new Events UI. If your account doesn't have it yet, please reach out to us.
New TCP Gateway Plugin
We’ve released a new plugin that serves as a TCP gateway that routes TCP packets into an HTTPs webhook, so they can be decoded using Python in the plugin's decoder.
It facilitates communication between systems that may use different TCP payloads, enabling compatibility and interoperability. The TCP Gateway plugin can also respond custom packets to TCP clients, which can be specified in the plugins' Python code.
A virtual assistant, powered by GPT-4
Learning anything about Ubidots is only a few keystrokes away thanks to a tool we’ve just introduced to our website, a GPT-powered bot that has been trained with all our sources of information:
- API Documentation: The instructions to interact with most of Ubidots’ entities through our API.
- Help Center: Almost 500 articles that explain the ins and outs of our platform, including hardware, gateway, and 3rd party platform integrations.
- Dev Center: Guides that delve into technical aspects of Ubidots features.
- And even external information to make the tool even more powerful.
The bot is still an experimental tool that can provide erroneous information at times. That’s why, in addition to its response, the bot also shows the sources of information it used to generate it. This allows you to dig deeper into any topic you’re interested in or verify the response.
Web Scraper Plugin
We’ve also released a Web Scraper plugin that can be used to extract publicly available, numeric data from websites and store it as an Ubidots variable. Only a few inputs are needed in order to set up the plugin and you can determine the time rate at which the plugin will retrieve the desired data.
New Plugin: IP Camera Stream
If monitoring is all about painting, with data, the best picture possible of something, then what better way to do it than with actual pictures? Video surveillance is an all-time favorite when it comes to monitoring a plethora of processes and locations because of how straightforward it is for us to interpret images. Now, thanks to our new IP Camera plugin, you can add this layer of information to your operation.
With this plugin, you can easily convert an IP camera stream into a live and embeddable web code, so it can be used in your IoT dashboards.
More Properties for Your Devices
For years, Device Properties have allowed you to add metadata to your Ubidots devices to efficiently organize, recall, and work with data coming from hundreds of different sources. Now, we’ve added two new types of properties for you to further specify your devices:
- JSON: You can use a JSON object as a device property that can then be used as payload in your events.
- Device: You can choose a device to serve as a “global device” that is linked to others through their properties, allowing you to further organize and easily navigate within related devices.
Widgets Meet Reports
We’ve changed the way our Reports module looks and, in the process, added a feature that allows you to create widgets from scratch in your report, resulting in more control and flexibility. For now, the available widgets in Reports are these:
- Image: Add images that enhance your report, either by improving its look (with your company’s logo, for example) or by contributing to its content.
- Text: The text widget will give you more control over its appearance, allowing you to add background images or colors to it.
- Clock: Display the time and date in your reports with the style that best suits your needs.
Introducing the Password Policy
You can now easily define a comprehensive password policy for your users to comply and, thus, enhance the overall security of your Apps. With it, you’ll be able to require the following aspects of your users’ passwords:
- Minimum character length
- Mandatory complexity requirements (uppercase letters, special characters, numbers)
A final option you can use as part of your password policy is an expiration period for all user accounts. By defining one, the sessions of your users will recurrently expire after the defined period elapses, prompting them to create a new password on their next login attempt.
More Value for Your Tables
Data ordered in columns and rows… The simplicity of the Values Table widget has made it a consistent favorite among Ubidots users since its launch, a fact that motivates us to keep improving it. Here are the latest novelties for the Values Table widget:
- Adding values manually: You can now introduce any number of new values into existing columns of your Values Tables.
- Alternating row colors: To expand the customization options of this widget and enhance its readability, you can now pick one or two colors for the rows of your Values Tables to alternate between.
Whether it’s to keep track of the output of a machine or to store any data that has to be logged manually, the Values Table gives you full control over your data by allowing you to add and edit values at will.