Better Functions

This Functions update brings two new ways to simplify your development workflow. First, you can now directly upload files from your computer. This addition makes it easy to include any assets you rely on for your business logic. For example, this enables scenarios like adding a Machine Learning model in a binary file (.ipk, for example), which was previously not possible.

Second, you can rearrange files and folders by simply dragging and dropping them within the Files pane. This new feature keeps everything organized and accessible, reducing clutter and helping you locate resources faster.

Both enhancements boost productivity and make Functions more flexible for a wide range of use cases. Spend less time wrestling with file management and more time building impactful solutions.

Learn more.

Pages: Fully Customized Frontend Development

We’re thrilled to announce the new Pages module, where you’ll be able to create custom visualizations to be showcased in your dashboards, using HTML, CSS, and JavaScript. Create stunning pages without leaving Ubidots.

This feature also brings a small but important addition to the platform’s interface: there is now a drop-down menu called Dev Center in the navbar, gathering all development tools under one convenient location. This menu gives quick access to Functions, Pages, and Plugins.

Learn more.

Introducing Dashboard and Device Layers

We’re thrilled to announce Layers, a game-changing feature that adds depth and flexibility to your dashboards and device pages. With Layers, you can organize your content into tabs that act as doorways to other Ubidots pages or external third-party resources.

Here’s why you’ll love Layers:

  • Simplified Navigation: Seamlessly switch between key operational areas without leaving your dashboard or device page.
  • Centralized Insights: Keep all the information you need within reach, saving time and improving efficiency.
  • Customization Ready: Layers in device pages support custom and third-party pages, giving you even greater control over your workspace. This will also be possible for dashboard layers in the future.

Whether you're monitoring performance, analyzing trends, or linking to external tools, Layers make it easier than ever to streamline your workflow.

Learn more.

Introducing Session Management

We’re also happy to announce our session management security feature. It allows you to implement rules to ensure that users are automatically logged out after a period of inactivity or when a predefined timeout is reached. This feature has several benefits, including:

  • Minimizing risk of unauthorized access.
  • Helping comply with data protection regulations.
  • Protecting user data.
  • Reducing the chances of session hijacking.

Learn more.

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:

  1. 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.
  2. Perform CRUD (create, read, update, delete) operations over the following entities in Ubidots:

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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”.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

  1. Code your widget
  2. Upload it as a plugin
  3. Let your end users enjoy a custom, native widget experience!

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more.

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.

Learn more here.

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.

Try it out!

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.

Learn more here.

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.

Learn more here.