Skip to content

Inconsistency between SenML RFC and LWM2M specification. #577

Open
@sbernard31

Description

Reading the Sensor Measurement Lists (SenML) -RFC8428§4.5.1. Names, I see that :

"The Name value is concatenated to the Base Name value to yield the
name of the sensor. The resulting concatenated name needs to
uniquely identify and differentiate the sensor from all others. The
concatenated name MUST consist only of characters out of the set "A"
to "Z", "a" to "z", and "0" to "9", as well as "-", ":", ".", "/",
and "_"; furthermore, it MUST start with a character out of the set
"A" to "Z", "a" to "z", or "0" to "9".
"

AFAIK, all SenML examples in LWM2M specification have names which start by / which doesn't follow that requirement ☝️

e.g :

[{"bn":"/4/0/", "n":"0"}, // name is /4/0/0 
 {"n":"1"},               // name is /4/0/1 
 {"n":"2"},               // name is /4/0/2 
 {"bn":"/6/", "n":"0"}]   // name is /6/0 
// all name are invalid as they start by '/' instead of [A-Z | a-z | 0-9]

And the specifications says :

The Name value is prepended by the Base Name value to form the name of the resource instance. The resulting name uniquely identifies the Resource Instance from all others. Example:
• if Base Name is "/" , the Array entry Name of the Resource is {Object}/{Object Instance}/{Resource}/{Resource Instance}
• When Base Name is not present, the Array entry Name is the full URI of the requested Resource Instance

See LWM2M-v1.2.1@core§7.5.6. SenML JSON for more details.

So unless I missed something there is a conflict between both specification ?

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions