Provides a generic decoding interface into which multiple decoding profiles
may be hooked. Implemented profiles are
lora-serialization,
sensebox/home,
debug
- License:
- MIT
- Source:
Methods
(private, inner) bufferToMeasurements(buffer, bufferTransformer) → {Array}
Decodes a Buffer to an array of measurements according to a bufferTransformer
Parameters:
Name | Type | Description |
---|---|---|
buffer |
Buffer | the data to decode |
bufferTransformer |
Array | defines how the data is transformed. Each element specifies a transformation for one measurement. |
- Source:
Returns:
decoded measurements
- Type
- Array
Example
{
bytes: Number, // amount of bytes to consume for this measurement
sensorId: String, // corresponding sensor_id for this measurement
transformer: Function // function that accepts an Array of bytes and
// returns the measurement value
onResult: Function // hook that recieves the all decoded measurements
// once decoding has finished. may modify the
// measurement array.
}
(inner) decodeBase64(base64String, box, timestampopt) → {Promise}
proxy for decodeBuffer, which converts the input data from base64 to a buffer first
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
base64String |
String | |||
box |
Box | |||
timestamp |
String |
<optional> |
new Date() |
- Source:
- See:
Returns:
Once fulfilled returns a validated array of measurements
(no actual async ops are happening)
- Type
- Promise
(inner) decodeBuffer(buffer, box, timestampopt) → {Promise}
Transforms a buffer to a validated set of measurements according to a boxes
TTN configuration.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
buffer |
Buffer | The data to be decoded | ||
box |
Box | A box from the DB for lookup of TTN config & sensors | ||
timestamp |
String |
<optional> |
new Date() | Timestamp to attach to the measurements. |
- Source:
Returns:
Once fulfilled returns a validated array of measurements
(no actual async ops are happening)
- Type
- Promise