GHOSTSOFTWARE by Logic Foundry
Implemented in 0.1

ChirpStack uplink adapter

Map ChirpStack v4 JSON application uplinks without coupling your business logic to provider fields.

Input mapping

ChirpStack fieldGhost field
deduplicationIdeventId
deviceInfo.devEuidevice.devEui
deviceInfo.applicationIdapplicationId
time / fCnt / fPortreceivedAt / frameCounter / fPort
data / objectpayloadBase64 / decoded
import {fromChirpStack} from './uplink.mjs';
const event = fromChirpStack(body, trustedBinding);

Receiver responsibilities

Authenticate the request before parsing business fields. Bound request size, validate the integration’s application and authorize the device. Persist the normalized event before acknowledging acceptance. Your HTTP or MQTT receiver must distinguish uplinks from other event types.

Acceptance checks

Replay an actual development-device event in a private environment. Confirm frame counter and payload presence, compare normalized identity to your registry, then redeliver the same event to exercise durable deduplication. Our included fixtures are fictional, not evidence of a commissioned device.

Provider reference

ChirpStack event definitions ↗

Provider behaviour should be verified against the version you deploy.