A2G

Description of the device
The model A2G-520 measures the pressure difference on components such as ventilators or pitot tubes, e.g. model A2G-FM, and calculates the air flow using the calibration factor (K factor). By selecting the respective component manufacturer in the menu, the correct calculation formula is automatically taken into account.
To further optimise the air flow measurement under extreme ambient conditions such as altitude and high medium temperature, suitable sensors can be directly integrated.
The piezoresistive measuring element is temperature-compensated and particularly stable over the long term. It records even the smallest pressure differences and thus ensures high reliability and the highest measurement accuracy. The measured values are available as analogue voltage and current signals, digitally via the RS-485 interface using Modbus® RTU or via LoRaWAN® (LPWAN).
Integration into any control system or directly into cloud solutions is therefore easily possible.
The A2G-520 has freely adjustable measuring ranges. The instrument can be set using the WIKA app and NFC and, depending on the version, using buttons and a display. Efficient project documentation is possible using instrument parameter file readout via NFC and smartphone. The indication of up to four measured values and two relay states can be read from all viewing angles thanks to 2" TFT colour display with traffic light function and individualised measurement parameter lettering.
The construction of the A2G-520 is robust and weather-proof (IP65). The case can be opened without tools thanks to the snap-on cover.
For more information see product site.
A2G 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 from your LNS
}
interface HexUplinkInput {
fPort: number // LoRaWAN FPort
bytes: string // Hex-encoded payload (case-insensitive, even length)
recvTime?: string // Optional ISO timestamp from your LNS
}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, review the examples and the schema definition.
Supported channels to identify different sensors by:
// Is used in the returned data
type ChannelName = 'pressure' | 'flow' | 'input_1' | 'input_2' | 'input_3' | 'input_4' | 'relay_status_1' | 'relay_status_2'Channel Configuration:
| Channel Name | Default Min | Default Max | Unit | Configurable |
|---|---|---|---|---|
pressure | 0 | 100 | % | No |
flow | 0 | 100 | % | No |
input_1 | 0 | 100 | % | No |
input_2 | 0 | 100 | % | No |
input_3 | 0 | 100 | % | No |
input_4 | 0 | 1 | - | No |
relay_status_1 | 0 | 1 | - | No |
relay_status_2 | 0 | 1 | - | No |
*All channels have fixed ranges that cannot be adjusted.
decodeUplink(input)
function decodeUplink(input: UplinkInput): ResultdecodeHexString(hexInput)
function decodeHexString(hexInput: HexUplinkInput): DecodeResultbytes must have even length; case-insensitive.
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.
About A2G Channels
Note: A2G has fixed measurement ranges for all channels that cannot be adjusted. The device reads 8 different inputs with predefined ranges. No measurement range configuration is required.
Quick Start
- No measurement range configuration needed (all channels have fixed ranges)
- Add wrapper function if your network server is non-compliant:
function decode(input) { return decodeUplink(input) }
NPM Module Inclusion
| Device | Included | Factory function |
|---|---|---|
| A2G | ❌ | ❌ |
