What is new in HiveMQ Edge 2024.3

What is new in HiveMQ Edge 2024.3

author HiveMQ Team

Written by HiveMQ Team

Category: HiveMQ Edge

Published: March 19, 2024

What’s new in HiveMQ Edge 2024.3

With this release, HiveMQ Edge includes new commercial features: HiveMQ Data Hub, Offline Buffering (a.k.a store-and-forward), and Enterprise Support. These features are in addition to the already existing features like MQTT and MQTT-SN support, TLS/SSL security, Protocol Adapters for Industrial and Automation protocols, and UNS Prefixes.

HiveMQ Data Hub

HiveMQ Data Hub validates, enforces, and transforms data in motion to ensure its integrity and quality across your MQTT deployment. It evaluates data early in the supply chain, preventing resource-consuming validation by subscribing clients.

How it works

With Data Hub available on HiveMQ Edge, data policies can now be defined for topic filters that can be directly associated with MQTT clients and protocol adapters.

Policies can be created hassle-free through REST API or a user-friendly UI. The Data Hub UI on Edge is designed to offer a completely revamped user experience. With the help of a visual policy designer, users can effortlessly build policies, schemas, and scripts all from a single view. Users can easily open the designer via the menu, as depicted in the screenshot below.

HiveMQ Edge Policy Designer

Consider the following example, which utilizes JavaScript to convert data from an OPC-UA server. The OPC UA protocol adapter is configured to subscribe to a temperature value such as ns=1;s=temperature.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function determineTemperatureStatus(min, max, temperature) {
   const TemperatureTooHigh = "hot";
   const TemperatureTargetStatus = "target";
   const TemperatureTooLow = "low";

   if (temperature > min && temperature < max) {
      return TemperatureTargetStatus;
   } else if (temperature <= min) {
      return TemperatureTooLow;
   } else {
      return TemperatureTooHigh;
   }
}

function transform(publish, context) {
   const minValue = +context.arguments.minValue;
   const maxValue = +context.arguments.maxValue;

   const status = determineTemperatureStatus(minValue, maxValue, publish.payload.value);

   publish.payload.status = status;
   publish.topic = publish.topic + "/" + status;

   return publish;

}

The transformation script above checks whether a temperature is too high, too low, or within a range and adds this as a field status. The status is also appended to the MQTT topic. Connecting HiveMQ Edge to HiveMQ Cloud via an edge bridge with a few clicks, the transformed data can be subscribed from HiveMQ Cloud:

HiveMQ Cloud Screenshot transformed data

For more information about this example, please see our GitHub repository.

How it helps

The HiveMQ Data Hub ensures that the data transmitted by edge devices is published in the intended format by validating it against a predefined data policy. Any data that fails to conform to the data policy is automatically filtered out at the edge. Additionally, you can transform data at the edge. For instance, you can modify data collected from an OPC-UA server before sending it to your plant or cloud broker.

HiveMQ Data Hub can also be used to transform data at the edge or set behavioural triggers. As a simple use case, consider a situation where you need to convert data units before publishing them to subscribing clients. For example, a machine manufactured in Europe may only publish temperature data in Celsius (°C). However, if you need to use this data in the U.S., you might require this data in Fahrenheit (°F). With Data Hub, you can define a policy that can convert Celsius to Fahrenheit at the edge.

Offline Buffering (store-and-forward)

The new Offline Buffering feature in HiveMQ Edge queues messages on a local disk. In the event of a network outage or an MQTT bridge connection failure, HiveMQ Edge can hold messages and publish them once the network resumes or the bridge connection is re-established.

How it works

Each bridge can be set up to persist MQTT traffic that is forwarded to a remote broker using the offline buffering feature. This allows users to prioritize and choose which data is more important than others. In the bridge configuration, the “Persistence” tab enables users to set up offline buffering with a single click.

HiveMQ Edge Bridge Offline Buffering

Offline buffering comes in two modes: in-memory and file-native. Please configure the file-native mode to persist data even after HiveMQ Edge restarts. Here is an example:

1
2
3
4
5
<hivemq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <persistence>
        <mode>file-native</mode>
    </persistence>
</hivemq>

How it helps

Offline Buffering is a feature that helps to prevent message loss in the event of a connection failure between HiveMQ Edge and the central MQTT broker it is connected to. This feature allows HiveMQ Edge to queue messages on a local disk and publish them in the same order when the connection re-establishes.

Enterprise Support

HiveMQ Edge provides Enterprise Support, with the HiveMQ customer support team available to assist with setup and troubleshooting any issues that may arise in your IoT deployment involving HiveMQ Edge. To learn more about enterprise support, please contact us.

Protocol Adapters

The HiveMQ team continues to add new protocol adapters. Our last release included a protocol adapter for Allen-Bradley Ethernet/IP. You can find the details of this protocol adapter here.

Update on HiveMQ Edge Open Source

The HiveMQ Edge Open-Source project is publicly hosted and maintained on GitHub. We will continue to work with the community to improve HiveMQ Edge and update the Open-Source code with new features and protocol adapters.

You can download HiveMQ Edge below or find us on GitHub and Docker.

Get Started Today

Get started by running

docker run --name hivemq-edge -d -p 1883:1883 -p 8080:8080 hivemq/hivemq-edge

author HiveMQ Team

About HiveMQ Team

We love writing about MQTT, IoT protocols and architecture in general. Our experts are here to help, so reach out to us if we can help!

mail icon Contact HiveMQ
newer posts HiveMQ Platform Operator for Kubernetes 1.2.1 Maintenance Release
HiveMQ Platform Operator for Kubernetes 1.2.0 Release older posts