The Internet Protocol for Smart Objects (IPSO) defines an object model, based on the Open Mobile Alliance (OMA) standard for the Internet of Things (IoT), to achieve interoperability for data transmitted between devices and application software. A common set of object definitions enables software to interact with any device.

Use these sections as an overview of IPSO objects.

What are IPSO Objects?

Simply put, IPSO objects based on the OMA standard represent anything that can be measured.

IoT devices contain one or more of these components from which measurements can be collected:

Smart Object Standards

The smart object model has the following characteristics:

The URI (Uniform Resource Identifier) for an object follows this format: 

Object_ID/Instance_ID/Resource_ID

Example of an Actuation Object

An IPSO object for remote actuation, such as turning a device on/off or dimming a light, can have a variety of resources.

The JSON schema for an Actuation object: 

{ "timestamp": 0, "values": [ { "objectId": 3306, "instanceId": 0, "resourceId": 5850, "datatype": "Boolean", "value": 1 } ] }

Example of a Temperature Sensor Object

JSON schema for a Temperature Sensor object: 

{ "timestamp": 0, "values": [ { "objectId": 3303, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 12.12 } ] }

Objects Defined by the OMA Standard

Additional information can be found on the Open Mobile Alliance website.

LWM2M Objects

Object Object IDMinimum JSON (Resource for LWM2M Object Definitions: OMA LWM2M Objects)
LWM2M Security0


{ "timestamp": 0, "values": [{ "objectId": 0, "instanceId": 0, "resourceId": 0, "datatype": "String", "value": ID in the format of coaps://host:port   }, { "objectId": 0, "instanceId": 0, "resourceId": 1, "datatype": "Boolean", "value": 1   }, { "objectId": 0, "instanceId": 0, "resourceId": 2, "datatype": "Integer", "value": 0-3   }, { "objectId": 0, "instanceId": 0, "resourceId": 3, "datatype": "Opaque", "value": ""   }, { "objectId": 0, "instanceId": 0, "resourceId": 4, "datatype": "Opaque", "value": ""  }, { "objectId": 0, "instanceId": 0, "resourceId": 5, "datatype": "Opaque", "value": ""   }, { "objectId": 0, "instanceId": 0, "resourceId": 6, "datatype": "Integer", "value": 0-255  }, { "objectId": 0, "instanceId": 0, "resourceId": 7, "datatype": "Opaque", "value": ""   }, { "objectId": 0, "instanceId": 0, "resourceId": 8, "datatype": "Opaque", "value": ""   }, { "objectId": 0, "instanceId": 0, "resourceId": 9, "datatype": "Integer", "value": ""   }, { "objectId": 0, "instanceId": 0, "resourceId": 11, "datatype": "Integer", "value": ""   }] }


LWM2M Server1


{ "timestamp": 0, "values": [{ "objectId": 1, "instanceId": 0, "resourceId": 0, "datatype": "Integer", "value": 1   }, { "objectId": 1, "instanceId": 0, "resourceId": 1, "datatype": "Integer", "value": 1   }, { "objectId": 1, "instanceId": 0, "resourceId": 6, "datatype": "Boolean", "value": 1   }, { "objectId": 1, "instanceId": 0, "resourceId": 7, "datatype": "String", "value": possible values of Resource are listed in 5.2.1.1   }, { "objectId": 1, "instanceId": 0, "resourceId": 8, "datatype": "", "value":  },] }


Access Control2


{ "timestamp": 0, "values": [{ "objectId": 2, "instanceId": 0, "resourceId": 0, "datatype": "Integer", "value": 1-65534   }, { "objectId": 2, "instanceId": 0, "resourceId": 1, "datatype": "Integer", "value": 0-65535  }, { "objectId": 2, "instanceId": 0, "resourceId": 3, "datatype": "Integer", "value": 0-65535  }] }


Device3


{ "timestamp": 0, "values": [{ "objectId": 3, "instanceId": 0, "resourceId": 4, "datatype": "", "value": ""  }, { "objectId": 3, "instanceId": 0, "resourceId": 11, "datatype": "Integer", "value": 0  }, { "objectId": 3, "instanceId": 0, "resourceId": 16, "datatype": "String", "value": possible values of Resource are combination of \"U\" or \"UQ\" and \"S\" or \"SQ\"  }] }


Connectivity Monitoring4


{ "timestamp": 0, "values": [{ "objectId": 4, "instanceId": 0, "resourceId": 0, "datatype": "Integer", "value": network bearer used for the current LWM2M communication session }, { "objectId": 4, "instanceId": 0, "resourceId": 1, "datatype": "Integer", "value": value from the network bearer list }, { "objectId": 4, "instanceId": 0, "resourceId": 2, "datatype": "Integer", "value": average value of the received signal strength }, { "objectId": 4, "instanceId": 0, "resourceId": 4, "datatype": "String", "value": IP addresses assigned to the connectivity interface. (e.g. IPv4, IPv6) },] }


Firmware5


{ "timestamp": 0, "values": [{ "objectId": 5, "instanceId": 0, "resourceId": 0, "datatype": "Opaque", "value": ""  }, { "objectId": 5, "instanceId": 0, "resourceId": 1, "datatype": "String", "value": URI from where the device can download the firmware package by an alternative mechanism }, { "objectId": 5, "instanceId": 0, "resourceId": 2, "datatype": "", "value": ""  }, { "objectId": 5, "instanceId": 0, "resourceId": 3, "datatype": "Integer", "value": "1"  }, { "objectId": 5, "instanceId": 0, "resourceId": 5, "datatype": "Integer", "value": "0"  }] }


Location6


{ "timestamp": 0, "values": [{ "objectId": 6, "instanceId": 0, "resourceId": 0, "datatype": "String", "value": decimal notation of latitude  }, { "objectId": 6, "instanceId": 0, "resourceId": 0, "datatype": "String", "value": decimal notation of longitude}, { "objectId": 6, "instanceId": 0, "resourceId": 5, "datatype": "time", "value": timestamp of measurement}] }


Connectivity Statistics7


{ "timestamp": 0, "values": [{ "objectId": 7, "instanceId": 0, "resourceId": 6, "datatype": "", "value": ""   }] }


Lock and Wipe8


{ "timestamp": 0, "values": [{ "objectId": 8, "instanceId": 0, "resourceId": 0, "datatype": "Integer", "value": 0   }, { "objectId": 8, "instanceId": 0, "resourceId": 1, "datatype": "String", "value": specify one or several targets for the lock operation  }] }


Software Management9


{ "timestamp": 0, "values": [{ "objectId": 9, "instanceId": 0, "resourceId": 0, "datatype": "String", "value": name of the software package  }, { "objectId": 9, "instanceId": 0, "resourceId": 1, "datatype": "String", "value": version of the software package  }, { "objectId": 9, "instanceId": 0, "resourceId": 2, "datatype": "Opaque", "value": software package  }, { "objectId": 9, "instanceId": 0, "resourceId": 3, "datatype": "String", "value": URI for software package download  }, { "objectId": 9, "instanceId": 0, "resourceId": 4, "datatype": "", "value": ""  }, { "objectId": 9, "instanceId": 0, "resourceId": 6, "datatype": "", "value": ""  }, { "objectId": 9, "instanceId": 0, "resourceId": 7, "datatype": "Integer", "value": 1-5 }, { "objectId": 9, "instanceId": 0, "resourceId": 9, "datatype": "Integer", "value": 0-10  }, { "objectId": 9, "instanceId": 0, "resourceId": 10, "datatype": "", "value": "" }, { "objectId": 9, "instanceId": 0, "resourceId": 11, "datatype": "", "value": "" }, { "objectId": 9, "instanceId": 0, "resourceId": 12, "datatype": "Boolean", "value": 1 }] }


Cellular Connectivity10



APN Connection Profile

11



WLAN Connectivity12



Bearer Selection13



Software Component14



DevCapMgmt15



Portfolio16



Communications Characteristics17



Non-Access Stratum (NAS) Configuration18



LWM2M AppData19



IPSO Objects (See also, OMA Data Objects in Detail)

ObjectObject IDMInimum JSON

Digital Input

3200


{ "timestamp": 0, "values": [{ "objectId": 3200, "instanceId": 0, "resourceId": 5500, "datatype": "Boolean", "value": 1   }] }


Digital Output

3201


{ "timestamp": 0, "values": [ { "objectId": 3201, "instanceId": 0, "resourceId": 5550, "datatype": "Boolean", "value": 1 } ] }


Analogue Input

3202


{ "timestamp": 0, "values": [ { "objectId": 3202, "instanceId": 0, "resourceId": 5600, "datatype": "Float", "value": 10.2 } ] }


Analogue Output

3203


{ "timestamp": 0, "values": [ { "objectId": 3203, "instanceId": 0, "resourceId": 5650, "datatype": "Float", "value": 10.2 } ] }


Generic Sensor

3300


{ "timestamp": 0, "values": [ { "objectId": 3300, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 10.2 } ] }


Illuminance Sensor

3301


{ "timestamp": 0, "values": [ { "objectId": 3301, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 10.2 } ] }


Presence Sensor

3302


{ "timestamp": 0, "values": [ { "objectId": 3302, "instanceId": 0, "resourceId": 5500, "datatype": "Boolean", "value": 0 } ] }


Temperature Sensor

3303


{ "timestamp": 0, "values": [ { "objectId": 3303, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 12.12 } ] }


Humidity Sensor

3304


{ "timestamp": 0, "values": [ { "objectId": 3304, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 12.12 } ] }


Power Measurement

3305


{ "timestamp": 0, "values": [ { "objectId": 3305, "instanceId": 0, "resourceId": 5800, "datatype": "Float", "value": 12.12 } ] }


Actuation

3306


{ "timestamp": 0, "values": [ { "objectId": 3306, "instanceId": 0, "resourceId": 5850, "datatype": "Boolean", "value": 1 } ] }


Set Point

3308


{ "timestamp": 0, "values": [ { "objectId": 3308, "instanceId": 0, "resourceId": 5900, "datatype": "float", "value": 11.3 } ] }


Load Control

3310


{ "timestamp": 0, "values": [ { "objectId": 3310, "instanceId": 0, "resourceId": 5823, "datatype": "String", "value": "Event identifier" }, { "objectId": 3310, "instanceId": 0, "resourceId": 5824, "datatype": "String", "value": "Start Time" }, { "objectId": 3310, "instanceId": 0, "resourceId": 5825, "datatype": "String", "value": "Duration in minimum" } ] }


Light Control

3311


{ "timestamp": 0, "values": [ { "objectId": 3311, "instanceId": 0, "resourceId": 5850, "datatype": "Boolean", "value": 1 } ] }


Power Control

3312


{ "timestamp": 0, "values": [ { "objectId": 3312, "instanceId": 0, "resourceId": 5850, "datatype": "Boolean", "value": 1 } ] }


Accelerometer

3313


{ "timestamp": 0, "values": [ { "objectId": 3313, "instanceId": 0, "resourceId": 5702, "datatype": "Float", "value": 11.2 }, { "objectId": 3313, "instanceId": 0, "resourceId": 5703, "datatype": "Float", "value": 11.2 }, { "objectId": 3313, "instanceId": 0, "resourceId": 5704, "datatype": "Float", "value": 11.2 } ] }


Magnetometer

3314


{ "timestamp": 0, "values": [ { "objectId": 3314, "instanceId": 0, "resourceId": 5702, "datatype": "Float", "value": 11.2 } ] }


Barometer

3315


{ "timestamp": 0, "values": [ { "objectId": 3315, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Voltage

3316


{ "timestamp": 0, "values": [ { "objectId": 3316, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Current

3317


{ "timestamp": 0, "values": [ { "objectId": 3317, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Frequency

3318


{ "timestamp": 0, "values": [ { "objectId": 3318, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Depth

3319


{ "timestamp": 0, "values": [ { "objectId": 3319, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Percentage

3320


{ "timestamp": 0, "values": [ { "objectId": 3320, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Altitude

3321


{ "timestamp": 0, "values": [ { "objectId": 3321, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Load

3322


{ "timestamp": 0, "values": [ { "objectId": 3322, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Pressure

3323


{ "timestamp": 0, "values": [ { "objectId": 3323, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Loudness

3324


{ "timestamp": 0, "values": [ { "objectId": 3324, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Concentration

3325


{ "timestamp": 0, "values": [ { "objectId": 3325, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Acidity

3326


{ "timestamp": 0, "values": [ { "objectId": 3326, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Conductivity

3327


{ "timestamp": 0, "values": [ { "objectId": 3327, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Power

3328


{ "timestamp": 0, "values": [ { "objectId": 3328, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Power Factor

3329


{ "timestamp": 0, "values": [ { "objectId": 3329, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Distance

3330


{ "timestamp": 0, "values": [ { "objectId": 3330, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 11.2 } ] }


Energy3331


{ "timestamp": 0, "values": [ { "objectId": 3331, "instanceId": 0, "resourceId": 5805, "datatype": "Float", "value": 11.2 } ] }


Direction3332


{ "timestamp": 0, "values": [ { "objectId": 3332, "instanceId": 0, "resourceId": 5705, "datatype": "Float", "value": 11.2 } ] }


Time3333


{ "timestamp": 0, "values": [ { "objectId": 3333, "instanceId": 0, "resourceId": 5506, "datatype": "Float", "value": 11.2 } ] }


Gyrometer3334


{ "timestamp": 0, "values": [ { "objectId": 3334, "instanceId": 0, "resourceId": 5702, "datatype": "Float", "value": 12.3 }, { "objectId": 3334, "instanceId": 0, "resourceId": 5703, "datatype": "Float", "value": 123.4 }, { "objectId": 3334, "instanceId": 0, "resourceId": 5704, "datatype": "Float", "value": 45.2 } ] }


Color3335


{ "timestamp": 0, "values": [ { "objectId": 3335, "instanceId": 0, "resourceId": 5706, "datatype": "String", "value": "RED" } ] }


GPS Lodation3336


{ "timestamp": 0, "values": [ { "objectId": 3336, "instanceId": 0, "resourceId": 5514, "datatype": "String", "value": "Latitude" }, { "objectId": 3336, "instanceId": 0, "resourceId": 5515, "datatype": "String", "value": "Longitude" } ] }


Positioner3337


{ "timestamp": 0, "values": [ { "objectId": 3337, "instanceId": 0, "resourceId": 5536, "datatype": "Float", "value": 12.3 }, { "objectId": 3336, "instanceId": 0, "resourceId": 5537, "datatype": "Float", "value": 2.234 } ] }


Buzzer3338


{ "timestamp": 0, "values": [ { "objectId": 3338, "instanceId": 0, "resourceId": 5850, "datatype": "Boolean", "value": 1 } ] }


Audio Clip3339


{ "timestamp": 0, "values": [ { "objectId": 3339, "instanceId": 0, "resourceId": 5522, "datatype": "Opaque", "value": "clip" } ] }


Timer3340


{ "timestamp": 0, "values": [ { "objectId": 3340, "instanceId": 0, "resourceId": 5521, "datatype": "Float", "value": 10.23 } ] }


Addressable Text Display3341


{ "timestamp": 0, "values": [ { "objectId": 3341, "instanceId": 0, "resourceId": 5527, "datatype": "String", "value": "Text" } ] }


On/Off Switch3342


{ "timestamp": 0, "values": [ { "objectId": 3342, "instanceId": 0, "resourceId": 5500, "datatype": "Boolean", "value": 0 } ] }


Lever Control3343


{ "timestamp": 0, "values": [ { "objectId": 3343, "instanceId": 0, "resourceId": 5851, "datatype": "Float", "value": 0.23 } ] }


Up/Down Control3344


{ "timestamp": 0, "values": [ { "objectId": 3344, "instanceId": 0, "resourceId": 5532, "datatype": "Boolean", "value": 0 } ] }


Multiple Axis Joystick3345


{ "timestamp": 0, "values": [ { "objectId": 3345, "instanceId": 0, "resourceId": 5500, "datatype": "Boolean", "value": 0 } ] }


Rate3346


{ "timestamp": 0, "values": [ { "objectId": 3346, "instanceId": 0, "resourceId": 5700, "datatype": "Float", "value": 0.12 } ] }


Push Button3347


{ "timestamp": 0, "values": [ { "objectId": 3347, "instanceId": 0, "resourceId": 5500, "datatype": "Boolean", "value": 0 } ] }


Multistate Selector3348


{ "timestamp": 0, "values": [ { "objectId": 3348, "instanceId": 0, "resourceId": 5547, "datatype": "Integer", "value": 12 } ] }