Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search


Mailing ListForumsIRCmattermost
OpenHelp WantedBug Day
Browse Source


This page covers the smartM2M version of OM2M. If you are looking for documentation for the oneM2M version (v1.x) which is the one in active development click here.

OM2M provides an open source service platform for M2M interoperability based on the ETSI-M2M standard. OM2M follows a RESTful approach with open interfaces to enable developing services and applications independently of the underlying network. It proposes a modular architecture running on top of an OSGi layer, making it highly extensible via plugins. It supports multiple protocol bindings such as HTTP and CoAP. Various interworking proxies are provided to enable seamless communication with vendor-specific technologies such as Zigbee and Phidgets devices.


OM2M provides a RESTful API for creating and managing M2M resources. It includes several primitive procedures to enable machines authentication, resources discovery, applications registration, containers management, synchronous and asynchronous communications, access rights authorization, groups organisation, re-targeting, etc.

This API operates on the following primary resource types:

  • SclBase: describes the hosting SCL, and is the root for all other resources within the hosting SCL.
  • Scl: stores information related to M2M SCLs residing on other M2M machines after successful mutual authentication. It enables SCLs interractions using retargeting operations
  • Application: stores information about the application after a successful registration on the hosting SCL.
  • Container: acts as a mediator for data buffering to enable data exchange between applications and SCLs
  • AccessRight: manages permissions and permissions holders to limit and protect the access to the resource tree structure.
  • Group: enhances resources tree operations and simplifying the interactions on the API interfaces by adding the grouping feature. It enables an issuer to send one request to a set of receivers instead of sending requests one by one.
  • Subscription: stores information related to subscriptions for some resources. It allow subscribers to receive asynchronous notification when an event happens such as the reception of new sensor event or the creation, update, or delete of a resource.
  • Collection: groups commun resources togethers. It is used at different places such as scls, applications, or containers.
  • Announced resource: contains a partial representation of a resource in a remote SCL to simplify discovery request on distributed SCLs.
  • Discovery: acts as a search engine for resources. It enables to retrieve the set of resources URIs matching a specific filter criteria and constraints.

Interesting links





  • "JAVA 1.7" is required to run OM2M.
  • "Apache Maven 3" is required to build OM2M.

Getting started

API specification

The OM2M API specification includes resources data model, representations XSD schema, the requests that may be sent to M2M resources, and the responses expected:

Resource attributes description are listed here : Resources attributes

Project Roadmap

  • The OM2M roadmap is available here Roadmap

Public Documentation

  • Public documentation contains all Presentation slides, Videos, Scientific Publications, etc. related to the OM2M project.

OM2M Team

The OM2M project leads and contributors list is available here.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.