Automatically detecting and reacting to exceptional occurrences is a critical part of an IoT solution. Capturing, tracking, and resolving these occurrences, or what we call Events, is an important feature you look for in an IoT platform. The cornerstone of today's release is a major enhancement to our existing Events functionality that adds many new features you've been asking for.
We've also expanded our Modbus: Read Node and Modbus: Write Node to add Serial RTU connections in order to support a larger variety of existing equipment. On the analytics side, this update adds the native execution of TensorFlow models with Edge Workflows using the new TensorFlow: Predict Node.
The Events feature was launched with the very first version of our platform. We've collected a ton of feedback since then and we felt now was the time to do a major overhaul to Events to add the capability you've been asking for.
One of the most common requests was to associate a Device with an Event. Since most Events are generated as a result of Device State data, this made a lot of sense. This release adds a new Associated Device Event Property to store the Device that's associated with the Event. With this association, you can now query Events based on these devices on Dashboards and in Workflows.
Along with an associated Device, there was a need to tag Events with other arbitrary key/value data based on your specific application requirements. This release adds Event Tags, which allow you to add metadata to your Events. You can also query Events based on these tags on Dashboards and in Workflows.
To help make use of the new Device association and Event Tags, we've also released a major revamp to the existing Event List Dashboard Block. You now have much more power over how you query Events for this list, including querying by Device and tags. You can now also customize which columns show up in the resulting table. This is useful for adding columns for your custom tags or removing built-in columns that you may not need.
Besides associating a Device to an Event, the other most commonly requested feature was to allow your users to update Events from a Dashboard. By default, members of your Losant Organization with Viewer permissions or higher can now click the Event subject, which displays a modal with additional details. If the user has Collaborator permissions or higher, that user can also make changes to the Event. If you'd like to allow users that are not members of your Losant Organization (e.g. Experience Users) to access the same modal, we've added the Allow Updates checkbox to enable this.
With all the new properties and capabilities added to Events, we've also made some pretty big changes to the Workflow Nodes that interface with Events. There are now a total of four Workflow Nodes for Events:
With this update, we've deprecated the existing Record Event Node and Modify Event Node. If you're using these, they will continue to work, however they have been removed from the Node Palette in favor of the new ones. Deprecating these was a hard choice, however, there was so much new capability that it would have been much more difficult to try to expand the current Nodes rather than create new ones.
When we originally launched Losant Edge Compute, it came with Modbus TCP support. Today's release expands the Modbus: Read Node and Modbus: Write Node to also support Serial RTU Connections. This opens up our southbound connection support to an entirely new family of Modbus devices that may not support TCP.
Moving compute at or near the device greatly increases the types of complex analytics that can be performed. There are times when the amount of data being analyzed requires too much bandwidth to send to the cloud. The round-trip to the cloud and back can also take too much time for certain applications that require real-time results. To address these scenarios, today's release adds the TensorFlow: Predict Node for Edge Workflows.
With the TensorFlow: Predict Node, you can now build Edge Workflows that stream data directly into a TensorFlow.js model in real time.
The above example demonstrates how to do complex vibration analysis using this functionality. We have a piece of equipment in our lab that allows us to alter the vibration characteristics through axle misalignment. We collected thousands of samples while the machine was running well and when the machine was running with a misaligned axle. We then trained a machine learning model using TensorFlow and put that model on a gateway near the equipment. Using this model and the above Workflow, we can classify the vibration data in real time to detect any future axle misalignment.
Training models is still a complex process and requires a lot of data. If this is something you'd like to pursue and want to learn more about how to approach it, feel free to contact us and we'd be happy to chat about your use case.
With every new release, we really listen to your feedback. By combining your suggestions with our roadmap, we can continue to make the platform easy for you. Let us know what you think in the Losant Forums.