Sensor Measurement Lists (SenML)

Created

  • 2018-06-01

Last Updated

  • 2026-02-02

Note

In SDF RFC 9880, a URI unit name is distinguished from a registered unit name by the presence of a colon; any registered unit name that contains a colon can therefore not be directly used in SDF.

Available Formats


SenML Units

Registration Procedure(s)

  • Expert Review

Expert(s)

  • Ari Keränen

Reference

  • RFC 8428: Sensor Measurement Lists (SenML)

Note

Units marked with an asterisk are NOT RECOMMENDED to be produced by new implementations but are in active use and SHOULD be implemented by consumers that can use the corresponding SenML units that are closer to the unscaled SI units.

Available Formats

Symbol Description Type Reference
m meter float RFC 8428
kg kilogram float RFC 8428
g gram* float RFC 8428
s second float RFC 8428
A ampere float RFC 8428
K kelvin float RFC 8428
cd candela float RFC 8428
mol mole float RFC 8428
Hz hertz float RFC 8428
rad radian float RFC 8428
sr steradian float RFC 8428
N newton float RFC 8428
Pa pascal float RFC 8428
J joule float RFC 8428
W watt float RFC 8428
C coulomb float RFC 8428
V volt float RFC 8428
F farad float RFC 8428
Ohm ohm float RFC 8428
S siemens float RFC 8428
Wb weber float RFC 8428
T tesla float RFC 8428
H henry float RFC 8428
Cel degrees Celsius float RFC 8428
lm lumen float RFC 8428
lx lux float RFC 8428
Bq becquerel float RFC 8428
Gy gray float RFC 8428
Sv sievert float RFC 8428
kat katal float RFC 8428
m2 square meter (area) float RFC 8428
m3 cubic meter (volume) float RFC 8428
l liter (volume)* float RFC 8428
m/s meter per second (velocity) float RFC 8428
m/s2 meter per square second (acceleration) float RFC 8428
m3/s cubic meter per second (flow rate) float RFC 8428
l/s liter per second (flow rate)* float RFC 8428
W/m2 watt per square meter (irradiance) float RFC 8428
cd/m2 candela per square meter (luminance) float RFC 8428
bit bit (information content) float RFC 8428
bit/s bit per second (data rate) float RFC 8428
lat degrees latitude[1] float RFC 8428
lon degrees longitude[1] float RFC 8428
pH pH value (acidity; logarithmic quantity) float RFC 8428
dB decibel (logarithmic quantity) float RFC 8428
dBW decibel relative to 1 W (power level) float RFC 8428
Bspl bel (sound pressure level; logarithmic quantity)* float RFC 8428
count 1 (counter value) float RFC 8428
/ 1 (ratio e.g., value of a switch; [2]) float RFC 8428
% 1 (ratio e.g., value of a switch; [2])* float RFC 8428
%RH Percentage (Relative Humidity) float RFC 8428
%EL Percentage (remaining battery energy level) float RFC 8428
EL seconds (remaining battery energy level) float RFC 8428
1/s 1 per second (event rate) float RFC 8428
1/min 1 per minute (event rate, "rpm")* float RFC 8428
beat/min 1 per minute (heart rate in beats per minute)* float RFC 8428
beats 1 (Cumulative number of heart beats)* float RFC 8428
S/m Siemens per meter (conductivity) float RFC 8428
B Byte (information content) float RFC 8798
VA volt-ampere (Apparent Power) float RFC 8798
VAs volt-ampere second (Apparent Energy) float RFC 8798
var volt-ampere reactive (Reactive Power) float RFC 8798
vars volt-ampere-reactive second (Reactive Energy) float RFC 8798
J/m joule per meter (Energy per distance) float RFC 8798
kg/m3 kilogram per cubic meter (mass density, mass concentration) float RFC 8798
deg degree (angle)* float RFC 8798
NTU Nephelometric Turbidity Unit float ISO 7027-1:2016

SenML Labels

Registration Procedure(s)

  • Expert Review

Expert(s)

  • Ari Keränen

Reference

  • RFC 8428: Sensor Measurement Lists (SenML)

Available Formats

Name Label CBOR Label JSON Type XML Type EXI ID Reference Note
Base Name bn -2 String string a RFC 8428
Base Time bt -3 Number double a RFC 8428
Base Unit bu -4 String string a RFC 8428
Base Value bv -5 Number double a RFC 8428
Base Sum bs -6 Number double a RFC 8428
Base Version bver -1 Number int a RFC 8428
Name n 0 String string a RFC 8428
Unit u 1 String string a RFC 8428
Value v 2 Number double a RFC 8428
String Value vs 3 String string a RFC 8428
Boolean Value vb 4 Boolean boolean a RFC 8428
Data Value vd 8 String (*) string (*) a RFC 8428 (*) Data Value is a base64-encoded string with the URL-safe alphabet as defined in Section 5 of RFC 4648, with padding omitted. (In CBOR, the octets in the Data Value are encoded using a definite-length byte string, major type 2.)
Sum s 5 Number double a RFC 8428
Time t 6 Number double a RFC 8428
Update Time ut 7 Number double a RFC 8428
LwM2M Object Link vlo String string OMA-TS-LightweightM2M_Core-V1_1_1-20190617-A Section 7.4.5 of the OMA LwM2M 1.1 Core Technical Specification
Base Content-Format bct String string RFC 9193
Content-Format ct String string RFC 9193

Secondary Units

Registration Procedure(s)

  • Expert Review

Expert(s)

  • Ari Keränen

Reference

  • RFC 8798: Additional Units for Sensor Measurement Lists (SenML)

Available Formats

Secondary Unit Description SenML Unit Scale Offset Reference
ms millisecond s 1/1000 0 RFC 8798
min minute s 60 0 RFC 8798
h hour s 3600 0 RFC 8798
MHz megahertz Hz 1000000 0 RFC 8798
kW kilowatt W 1000 0 RFC 8798
kVA kilovolt-ampere VA 1000 0 RFC 8798
kvar kilovar var 1000 0 RFC 8798
Ah ampere-hour C 3600 0 RFC 8798
Wh watt-hour J 3600 0 RFC 8798
kWh kilowatt-hour J 3600000 0 RFC 8798
varh var-hour vars 3600 0 RFC 8798
kvarh kilovar-hour vars 3600000 0 RFC 8798
kVAh kilovolt-ampere-hour VAs 3600000 0 RFC 8798
Wh/km watt-hour per kilometer J/m 3.6 0 RFC 8798
KiB kibibyte B 1024 0 RFC 8798
GB gigabyte B 1e9 0 RFC 8798
Mbit/s megabit per second bit/s 1000000 0 RFC 8798
B/s byte per second bit/s 8 0 RFC 8798
MB/s megabyte per second bit/s 8000000 0 RFC 8798
mV millivolt V 1/1000 0 RFC 8798
mA milliampere A 1/1000 0 RFC 8798
dBm decibel (milliwatt) dBW 1 -30 RFC 8798
ug/m3 microgram per cubic meter kg/m3 1e-9 0 RFC 8798
mm/h millimeter per hour m/s 1/3600000 0 RFC 8798
m/h meter per hour m/s 1/3600 0 RFC 8798
ppm parts per million / 1e-6 0 RFC 8798
/100 percent[3] / 1/100 0 RFC 8798
/1000 permille / 1/1000 0 RFC 8798
hPa hectopascal Pa 100 0 RFC 8798
mm millimeter m 1/1000 0 RFC 8798
cm centimeter m 1/100 0 RFC 8798
km kilometer m 1000 0 RFC 8798
km/h kilometer per hour m/s 1/3.6 0 RFC 8798
ppb parts per billion / 1e-9 0 CoRE-1
ppt parts per trillion / 1e-12 0 CoRE-1
VAh volt-ampere-hour VAs 3600 0 CoRE-1
mg/l milligram per liter kg/m3 1/1000 0 CoRE-1
ug/l microgram per liter kg/m3 1e-6 0 CoRE-1
g/l gram per liter kg/m3 1 0 CoRE-1

SenML Features

Registration Procedure(s)

  • Specification Required

Expert(s)

  • Ari Keränen (primary), Carsten Bormann (secondary)

Reference

  • RFC 9100: Sensor Measurement Lists (SenML) Features and Versions

Available Formats

Feature Code Feature Name Reference
0 Reserved0 RFC 9100
1 Reserved1 RFC 9100
2 Reserved2 RFC 9100
3 Reserved3 RFC 9100
4 Secondary Units RFC 9100; RFC 8798
5-52 Unassigned

Footnotes

[1]

Assumed to be in World Geodetic System 1984 (WGS84), unless another reference frame is known for the sensor.

[2]

A value of 0.0 indicates the switch is off, 1.0 indicates on, and 0.5 indicates half on. The preferred name of this unit is "/". For historical reasons, the name "%" is also provided for the same unit, but note that while that name strongly suggests a percentage (0..100), it is NOT a percentage but the absolute ratio!

[3]

This registration does not use the obvious name "%" because this name has been taken in RFC 8428 already, where it is a NOT RECOMMENDED synonym for "/" (unity) for legacy reasons. Note that the presence of both "%" and "/100" with different meanings is likely to create confusion, so RFC 8798 adds some weight to the recommendation against using the counterintuitive unit name "%".