senml v0.0.2 SenML

Lightweight implementation of RFC 8428 Sensor Measurement Lists (SenML)

SenML Labels +---------------+-------+------------+------------+------------+ | Name | Label | CBOR Label | JSON Type | XML Type | +---------------+-------+------------+------------+------------+ | Base Name | bn | -2 | String | string | | Base Time | bt | -3 | Number | double | | Base Unit | bu | -4 | String | string | | Base Value | bv | -5 | Number | double | | Base Sum | bs | -6 | Number | double | | Base Version | bver | -1 | Number | int | | Name | n | 0 | String | string | | Unit | u | 1 | String | string | | Value | v | 2 | Number | double | | String Value | vs | 3 | String | string | | Boolean Value | vb | 4 | Boolean | boolean | | Data Value | vd | 8 | String () | string () | | Sum | s | 5 | Number | double | | Time | t | 6 | Number | double | | Update Time | ut | 7 | Number | double | +---------------+-------+------------+------------+------------+

Link to this section Summary

Link to this section Functions

Link to this function

decode(data)

decode(binary()) :: [
  %SenML{
    base_name: term(),
    base_sum: term(),
    base_time: term(),
    base_unit: term(),
    base_value: term(),
    base_version: term(),
    boolean_value: term(),
    data_value: term(),
    name: term(),
    string_value: term(),
    sum: term(),
    time: term(),
    unit: term(),
    update_time: term(),
    value: term()
  }
]
Link to this function

encode(list)

encode([
  %SenML{
    base_name: term(),
    base_sum: term(),
    base_time: term(),
    base_unit: term(),
    base_value: term(),
    base_version: term(),
    boolean_value: term(),
    data_value: term(),
    name: term(),
    string_value: term(),
    sum: term(),
    time: term(),
    unit: term(),
    update_time: term(),
    value: term()
  }
]) :: binary()
Link to this function

normalize(list)

normalize([
  %SenML{
    base_name: term(),
    base_sum: term(),
    base_time: term(),
    base_unit: term(),
    base_value: term(),
    base_version: term(),
    boolean_value: term(),
    data_value: term(),
    name: term(),
    string_value: term(),
    sum: term(),
    time: term(),
    unit: term(),
    update_time: term(),
    value: term()
  }
]) :: [
  %SenML{
    base_name: term(),
    base_sum: term(),
    base_time: term(),
    base_unit: term(),
    base_value: term(),
    base_version: term(),
    boolean_value: term(),
    data_value: term(),
    name: term(),
    string_value: term(),
    sum: term(),
    time: term(),
    unit: term(),
    update_time: term(),
    value: term()
  }
]