TGU + Netris3

Description of the device
The model TGU73.100 thermometer in combination with the model NETRIS®3 radio unit is used wherever web-based remote monitoring of the process temperature is desired in addition to on-site indication. For the operation of TGU73.100 the use of a thermowell is necessary. The model TGU73.100 combines a mechanical measuring system with electronic signal processing and is intended forthe connection to the WIKA radio unit model NETRIS®3.In this way, cloud-based process and plant monitoring can be realised in industrial applications. This allows a condition-based and preventive maintenance through centralised big data analysis.Due to the wide variety of possible versions, the model TGU73.100 gas-actuated thermometer can be perfectly adapted to any process connection or location. With the adjustable stem and dial version, the case can be adjusted precisely to the desired viewing angle. With the contact bulb version (without direct contact with the medium), the temperature can be measured and monitored even when the pipe diameter is extremely small. The WIKA measuring instrument TGU73.100 is part of the WIKA IIoT solution. With this, WIKA offers a holistic solution for your digitalisation strategy
For more information see product site.
TGU + Netris3 Parser Quick Start
Parser API
All functions are pure (no global mutation) except adjustMeasuringRange which updates internal range configuration for subsequent decodes.
Types:
Input types:
interface UplinkInput {
fPort: number // LoRaWAN FPort
bytes: number[] // Raw payload as array of unsigned bytes (0-255)
recvTime?: string // Optional ISO timestamp (if your LNS provides it)
}
interface HexUplinkInput {
fPort: number // LoRaWAN FPort
bytes: string // Raw payload as hex-encoded string (case-insensitive, even length)
recvTime?: string // Optional ISO timestamp (if your LNS provides it)
}Return type (shared by all decode helpers):
type Result = {
data: Record<string, any> // Parsed key/value pairs
warnings?: string[] // Non-fatal anomalies
} | {
errors: string[] // Fatal or structural issues only
}To understand the data field, take a look at the examples and the schema definition.
Supported channels to identify different sensors by:
// Is used in the returned data
type ChannelName = 'temperature' | 'device temperature'Channels that support adjusting the measurement range:
type AdjustableChannelName = 'temperature' | 'device temperature'Channel Configuration
| Channel Name | Min Value | Max Value | Unit | Configurable |
|---|---|---|---|---|
| temperature | 0 | 100 | °C / °F | ✓ |
| device temperature | -40 | 60 | °C / °F | ✓ |
decodeUplink(input)
function decodeUplink(input: UplinkInput): ResultdecodeHexUplink(input)
function decodeHexUplink(input: HexUplinkInput): Resultbytes must have even length; case-insensitive.
adjustMeasuringRange(channel, range)
// Will throw on invalid channel name or if the channel disallows range updates
function adjustMeasuringRange(
channelName: AdjustableChannelName,
range: {
start: number
end: number
}
): voidApplies to future decodes only.
adjustRoundingDecimals(decimals)
// Smartly adjust number of decimals for rounded values
// Impacts all numeric values in all outputs
// Default is 4
function adjustRoundingDecimals(decimals: number): voidApplies to future decodes only.
Verifying Ranges
Both channels on the TGU are configurable. You must verify the actual measurement ranges from your device specifications or identification frames. The parser defaults shown in the table above may not match your device configuration.
Using Identification Frames
This device supports both TULIP2 and TULIP3 protocols. Each sends identification frames containing channel configuration:
TULIP3 (Message Type 20):
{
"data": {
"messageType": 20,
"channelId": 0,
"channelName": "temperature",
"measurementRangeStart": 0,
"measurementRangeEnd": 100
}
}TULIP2 (Message Type 6):
{
"data": {
"messageType": 6,
"channelId": 0,
"channelName": "temperature",
"measurementRangeStart": 0,
"measurementRangeEnd": 100
}
}Use measurementRangeStart and measurementRangeEnd to configure the parser before decoding data messages.
Quick Start
- Check your device's actual measurement ranges from purchase configuration, device specifications, or identification frames (see above)
- Add configuration code below at the bottom of your parser file
- Add wrapper function if your network server is non-compliant:
function decode(input) { return decodeUplink(input) }
Configuration code (add at bottom of parser file):
// Replace values with your device's actual measurement ranges from specifications or identification frames
adjustMeasuringRange('temperature', { start: 0, end: 100 })NPM Module Inclusion
| Device | Included | Factory function |
|---|---|---|
| TGU+NETRIS3 | ❌ | ❌ |
