This is a Lightweight M2M library meant to be used for embedded/constrained devices with a convenient C++ API and bindings for C. Get Started.
Lightweight M2M is a protocol from the Open Mobile Alliance for M2M or IoT device management and communication. It is a convention on top of CoAP/UDP which itself is a light and compact protocol with an efficient resource data model. It follows a server/client architecture with Request/Response semantics (GET, POST, PUT, DELETE), as well as observable resources. Optional DTLS (Datagram TLS) ensures secure communication between LwM2M Servers and LwM2M Clients.
The CoAP/lwM2M data model is explained in the documentation.
A lot of common and not so common object and resource identifiers are standardised via the OMA Object & Resource Registry. For example object 3311 is for light controls, 3312 for power sources such as smart plugs.
Have a look at the documentation: https://openhab-nodes.github.io/wakaamaNode/