The rpc interface specification in Protocol Buffer (ver 3) along with the efficient implementation via gRPC is leading me to choose this over CoAP/ LWM2M (Leshan Java and Wakaama C++ implementation). Having used both gRPC is developer friendly and development , interface definition is fast,compared to OMA LWM2M process; Of course there is no Observer-Notify in gRPC, but for that MQTT should suffice. LWM2M is not just the inteface but defines behaviour in lot of IoT cases like BootStrap, Registration, KeepAlive , SW Upgrade etc and its universal HTTP like GET, PUT on an URL type addressable resource makes it very complete. However most of these behaviours can be custom defined with some effort. Some of the IoT things which we plan to orchestrate are far from little brained devices like bulbs, and more like robots. Any thoughts or comments could help.