Skip to main content
Helper nodes

Utility

The Utility section bundles helper nodes that do not connect a data source but complement existing flows: translating addresses and coordinates, assigning data points to areas, turning IoT payloads into Device entities and recording MQTT messages for testing. All nodes come from the package @htag/node-red-contrib-hypertegrity-utility.

Package
@htag/node-red-contrib-hypertegrity-utility
Version
0.3.1
Nodes
4
Licence
EUPL-1.2

Included nodes​

geocoder

Geocoder

Resolves coordinates to addresses and addresses to coordinates via Nominatim, with rate limiting and caching.

Open node
location-group

Location Group

Tests points against area polygons from OpenStreetMap and enriches messages with the group name or filters them.

Open node
device-info

Device Info

Converts TTN/TTI or arbitrary IoT payloads into NGSI-LD entities of type Device.

Open node
mqtt-debug-in

MQTT Debug

MQTT input with history buffer, manual and timed replay and proxy support.

Open node

Installation​

npm install @htag/node-red-contrib-hypertegrity-utility

Alternatively install the package in the Node-RED editor via Menu → Manage palette → Install and search for hypertegrity-utility. Node-RED 4.0.5 or later and Node.js 20.18 or later are required. Geocoder, Location Group and Device Info appear in the palette under Helper Nodes, MQTT Debug under Data Connectors.

Shared notes​

  • Dependencies: The package installs axios (HTTP requests to Nominatim), mqtt, is-utf8 and https-proxy-agent (MQTT Debug) as well as @turf/boolean-point-in-polygon (Location Group).
  • Nominatim usage: Geocoder and Location Group use the public Nominatim service of OpenStreetMap. Its usage policy allows at most one request per second and requires an application-specific user agent. The Geocoder honours this at runtime; for the Location Group node Nominatim is involved only in the area search in the editor. For larger volumes a self-hosted Nominatim instance is recommended, which can be entered as the endpoint in the Geocoder.
  • Proxy: Only MQTT Debug evaluates proxy environment variables (all_proxy, mqtt_proxy, mqtts_proxy, and with NR_PROXY_MODE=legacy also http_proxy). The Nominatim requests of the other nodes have no proxy setting of their own.
  • Admin endpoints: The nodes provide helper endpoints for the editor (test lookups, detected DeviceIDs, cache clearing, replay). Run the Node-RED editor only with login enabled (adminAuth in settings.js) and not publicly reachable.
  • Context store: Device Info (detected DeviceIDs) and MQTT Debug (history buffer) store data in the node or global context. For this data to survive a restart, a persistent context store must be configured in settings.js.
  • Personal data: Addresses, precise coordinates, device identifiers, contact data and recorded MQTT messages can be personal data under the GDPR. Geocoding through the public Nominatim service transmits locations to a third party. Check for every node which data is processed, stored or forwarded to a context broker, and follow the data protection notes on the individual node pages.
  • Units: All nodes work with decimal degrees (WGS 84) and the GeoJSON order [longitude, latitude]; signal values in dBm and dB.