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
Resolves coordinates to addresses and addresses to coordinates via Nominatim, with rate limiting and caching.
Open nodeLocation Group
Tests points against area polygons from OpenStreetMap and enriches messages with the group name or filters them.
Open nodeDevice Info
Converts TTN/TTI or arbitrary IoT payloads into NGSI-LD entities of type Device.
Open nodeMQTT Debug
MQTT input with history buffer, manual and timed replay and proxy support.
Open nodeInstallation
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-utf8andhttps-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 withNR_PROXY_MODE=legacyalsohttp_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 (
adminAuthinsettings.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.