Helios-P Drucksensor Dataconverter .js
Sie suchen den Dataconverter (Payload Decoder) für den Drucksensor Helios-P?
Helios-P Drucksensor Payload Decoder LoRaWAN®
function decodeUplink(input) {
function uncomplement(val, bitwidth) {
var isnegative = val & (1 << (bitwidth - 1));
var boundary = (1 << bitwidth);
var minval = -boundary;
var mask = boundary - 1;
return isnegative ? minval + (val & mask) : val;
}
var decoded = {};
var bytes = input.bytes;
if (input.fPort == 1) { // TELEMETRY
// decode header
decoded.base_id = bytes[0] >> 4;
decoded.major_version = bytes[0] & 0x0F;
decoded.minor_version = bytes[1] >> 4;
decoded.product_version = bytes[1] & 0x0F;
decoded.up_cnt = bytes[2];
decoded.battery_voltage = ((bytes[3] << 8) | bytes[4]) / 1000.0;
decoded.internal_temperature = bytes[5] - 128;
// Reason of this uplink
// reasonRaw & 0x01 -> Regular send period
// reasonRaw & 0x02 -> Measured delta exceeds threshold
// reasonRaw & 0x04 -> Critical Alarm
decoded.reasonRaw = bytes[6];
// Alarm flags
// alarmRaw & 0x01 -> Pressure low
// alarmRaw & 0x02 -> Pressure high
// alarmRaw & 0x04 -> Pressure critical
// alarmRaw & 0x10 -> Temperature low
// alarmRaw & 0x20 -> Temperature high
// alarmRaw & 0x40 -> Temperature critical
decoded.alarmRaw = bytes[7];
// Pressure reading status
// OK = 0
// ERROR_PROBE = 1
// ERROR_ADC = 2
// ERROR_VALUE = 3
decoded.status = bytes[8];
// Pressure in mBar
decoded.pressure = (bytes[9] << 8) | bytes[10];
}
return {
data: decoded,
warnings: [],
errors: []
};
}
© Sentinum GmbH – Alle Rechte vorbehalten.
Alle Inhalte dieses Dokuments, einschließlich Text, Tabellen und Bildern, sind urheberrechtlich geschützt und Eigentum der Sentinum GmbH.
Alle Bilder unterliegen dem Urheberrecht der Sentinum GmbH, sofern nicht anders angegeben.
Vervielfältigung, Verbreitung oder Nutzung — auch auszugsweise — ist ohne ausdrückliche schriftliche Genehmigung nicht gestattet.
Änderungen der Spezifikationen vorbehalten. Alle Angaben erfolgen ohne Gewähr.