Skip to content

Netris1

Netris1

Description of the device

The model NETRIS®1 is a WIKA radio unit to which standard sensors can be connected in order to bring the measured data wirelessly to a cloud for big-data analysis. It uses the licence-free LoRaWAN® and Bluetooth® radio standards and is used, for example, on mobile equipment and remote measuring points. Thanks to intelligent measurement and transmission control and a replaceable battery, the radio unit can be operated over a long battery life. The radio unit receives the data via connected measuring instruments with a standard signal of 0 ... 10 V or 4 ... 20 mA or an RTD in accordance with the Pt100/Pt1000 standard in 2- or 3-wire technology. The fully encapsulated instrument with IP65 ingress protection transmits the received data continuously to a cloud via configurable data packets with LoRaWAN® or Bluetooth®. Wireless transmission via LoRaWAN® (“Long Range Wide Area Network”) is based on LPWAN technology (“Low Power Wide Area Network”) to enable high transmission ranges and long battery life. A version made of stainless steel is available or applications with harsh ambient conditions. The instrument can be easily configured via the cloud and the LoRaWAN network or via the Bluetooth® interface. Thanks to the compatibility with numerous WIKA measuring instruments and the two available radio standards, LoRaWAN® for the kilometre range, and Bluetooth® for the metre range, the radio unit can be flexibly configured. Configuration is possible both via the cloud and on-site using Bluetooth® and the “myWIKA wireless device” app. The WIKA radio unit NETRIS®1 is part of the WIKA IIoT solution. With this, WIKA offers a holistic solution for your digitalisation strategy.


For more information see product site.

NETRIS1 Parser Quick Start

Parser API

All functions are pure (no global mutation) except setMeasurementRanges which updates internal range configuration for subsequent decodes.

Types:

Input types:

ts
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):

ts
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:

ts
// Is used in the returned data
type ChannelName = 'measurement'

Channels that support adjusting the measurement range:

ts
type AdjustableChannelName = 'measurement'
ts
function decodeUplink(input: UplinkInput): Result

decodeHexString(hexInput)

ts
function decodeHexString(hexInput: HexUplinkInput): DecodeResult

bytes must have even length; case-insensitive.

setMeasurementRanges(channel, range)

ts
// Will throw on invalid channel name
function setMeasurementRanges(
  channelName: AdjustableChannelName,
  range: {
    start: number
    end: number
  }
): void

Applies to future decodes only.

adjustRoundingDecimals(decimals)

ts
// Smartly adjust number of decimals for rounded values
// Impacts all numeric values in all outputs
// Default is 4
function adjustRoundingDecimals(decimals: number): void

Applies to future decodes only.

Quick Start

Some network servers may not conform to the LoRaWAN codec specification. In this case, you need to create a small wrapper function.

Your device ranges might not be the default. Insert your desired ranges before decoding like this:

ts
// Parser code...

// Quick start guide...

setMeasurementRanges('pressure', { start: 0, end: 100 })

NPM Module Inclusion

DeviceIncludedFactory function
NETRIS1