Skip to content

WIKA-Group/javascript_parsers

Repository files navigation

WIKA LPWAN Parser Monorepo

npm version npm downloads bundle License

TypeScript/JavaScript payload codecs for WIKA IIoT devices.

⚠️ DO NOT DOWNLOAD THE SOURCE CODE

If you need the prebuilt JavaScript parsers for your gateway or network server, DO NOT download the source code from this repository.

Instead, get the prebuilt parsers from the Downloads section.

Overview

This monorepo hosts the build tooling, raw codecs, and TypeScript helpers that turn WIKA LPWAN device payloads into structured data. The same stack powers both uplink decoding and the optional downlink encoders. Detailed guides and API docs can be found here.

Quick start

Install dependencies

npm install @w2a-iiot/parsers

Use a parser in your project

import { NETRIS2Parser } from '@w2a-iiot/parsers'

const parser = NETRIS2Parser()
const result = parser.decodeUplink({ bytes: [0x01, 0x00], fPort: 1 })

console.log(result)

Documentation

📚 Full guides, device references, and contributor docs: wika-group.github.io/javascript_parsers

Packages at a glance

  • packages/parsers/ – Raw, build-ready codecs for direct use in gateways, network servers, or ZIP releases.
  • packages/library/ – TypeScript convenience layer published as @w2a-iiot/parsers.
  • examples/ – Sample integrations and scripts that demonstrate real-world usage.
  • docs/ – VitePress source for the hosted documentation.

Helpful scripts

  • pnpm build – Build all packages and regenerate release assets.
  • pnpm test – Run the Vitest suite.
  • pnpm docs:dev – Start the documentation site locally.

Contributing & support

Review the contributor section of the docs for setup. Need help or spotted an issue? Please open a GitHub issue in this repository so we can follow up with you.

License

Distributed under the MIT License.

Release Notes

4.3.1

  • Clarified download instructions and added a prominent warning about using the prebuilt ZIP (docs).

4.3.0

  • Migrated remaining devices (NETRIS2, NETRIS3 family, GD20W, A2G, PGW, F98W6) to the new codec structure
  • NETRIS3 family: added TULIP3 codec support
  • TULIP3: implemented granular register and alarm configuration
  • Fix: slope value calculation
  • GD20W!: adjusted channel names
  • Schemas are now more accurate to the device
  • Channel range adjustment restrictions for specific channels

4.2.1

  • Added project documentation site

4.2.0

  • TRW: migrate to typescript and TULIP2 codec
  • TRW: add support for TULIP3
  • NETRIS1: specify measurands in schema

4.1.0

  • NETRIS1: migrate to typescript and TULIP2 codec
  • NETRIS1: add support for TULIP3
  • Fix: default and PEW alarm flags in TULIP3 codec

4.0.0

  • Major refactor: modular codec architecture and unified device parser interface enabling multiple codecs (TULIP2/TULIP3).
  • PEW: integrated TULIP3 codec and migrated parser/codec structure to TypeScript.
  • Added TULIP3 codec and tests for tulip codecs; moved devices into nested devices directories.
  • Build: migrated to tsdown.
  • Chores & housekeeping: rename TULIP1 → TULIP2, dependency cleanup and other refactors.

3.2.1

  • parsers: correctly validate hex string in decodeHexUplink

3.2.0

  • library: updated NETRIS2 encodeDownlink to use configurationId instead of transactionId
  • library: updated NETRIS2 decodeUplink to return structured output instead of raw frames

3.1.1

  • use configurationId in favor of transactionId in downlink

3.1.0

  • Added functionality to decode hex strings to new parsers
  • Bumped valibot dependency to 1.1.0

3.0.1

  • Correctly release built packages and simplify build process

3.0.0

  • Enhanced repository structure
  • Added the parser for NETRIS2

2.5.0

  • Added parsing for the A2G alarm messages
  • Fixed an issue A2G with low power messages
  • Fixed an issue GD20W with schema and examples

2.4.1

  • Fix GD20W image

2.4.0

  • Added the parser for GD20W
  • Added support for A2G low power messages.

2.3.0

  • Added the parser for PEU+NETRIS3.

2.2.0

  • Added the parser for NETRIS2.

2.1.0

  • Fixed an issue where the use of the function padStart affected the ES5 compatibility.
  • Added the parser for A2G.
  • Added the parser for TRW.

2.0.0

  • First Release

About

This repository contains the JavaScript parser for WIKA LPWAN devices.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published