{"action":"created","issue":{"url":"https://api.github.com/repos/contiki-os/contiki/issues/1409","labels_url":"https://api.github.com/repos/contiki-os/contiki/issues/1409/labels{/name}","comments_url":"https://api.github.com/repos/contiki-os/contiki/issues/1409/comments","events_url":"https://api.github.com/repos/contiki-os/contiki/issues/1409/events","html_url":"https://github.com/contiki-os/contiki/pull/1409","id":119959294,"number":1409,"title":"Implementation of OMA LWM2M Engine / IPSO Objects","user":{"login":"nfi","id":605024,"avatar_url":"https://avatars.githubusercontent.com/u/605024?v=3","gravatar_id":"","url":"https://api.github.com/users/nfi","html_url":"https://github.com/nfi","followers_url":"https://api.github.com/users/nfi/followers","following_url":"https://api.github.com/users/nfi/following{/other_user}","gists_url":"https://api.github.com/users/nfi/gists{/gist_id}","starred_url":"https://api.github.com/users/nfi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nfi/subscriptions","organizations_url":"https://api.github.com/users/nfi/orgs","repos_url":"https://api.github.com/users/nfi/repos","events_url":"https://api.github.com/users/nfi/events{/privacy}","received_events_url":"https://api.github.com/users/nfi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-12-02T14:57:23Z","updated_at":"2015-12-21T13:13:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/contiki-os/contiki/pulls/1409","html_url":"https://github.com/contiki-os/contiki/pull/1409","diff_url":"https://github.com/contiki-os/contiki/pull/1409.diff","patch_url":"https://github.com/contiki-os/contiki/pull/1409.patch"},"body":"This is an implementation of Open Mobile Alliance Lightweight M2M (OMA LWM2M) and IPSO Objects for Contiki.\r\n\r\nIt is based on the Erbium CoAP implementation and consists of two apps: `lwm2m-engine` and `ipso-objects`. The `lwm2m-engine` handle the specifics of LWM2M including bootstrapping and how read/writes of objects and resources are handled. The `ipso-objects` contains implementations of some of the IPSO Smart Objects.\r\n\r\nThis implementation was used during the IPSO Interop in May 2015, Kista, Sweden, and was successfully tested with other implementations. We have Github wiki documentation that will be uploaded if/when the PR is accepted.\r\n\r\nThere are some examples for controlling LEDs and reading out temperature. See `examples/ipso-objects` and `apps/ipso-objects`.\r\n\r\nSupports:\r\n* OMA TLV and plain text format\r\n* Bootstrapping and registration on LWM2M server\r\n* LWM2M read/write/execute operations\r\n\r\nLimitations:\r\n* no support for DTLS (yet)\r\n* partial support for JSON and different formats\r\n\r\nFuture work:\r\n* update Erbium CoAP to allow more dynamic setup of LWM2M objects\r\n* add templates for a variety of objects to make it easier to implement IPSO objects and LWM2M management objects\r\n* add implementation of more IPSO Smart Objects\r\n* add DTLS support\r\n* better error handling\r\n* add support for full firmware upgrade over LWM2M\r\n\r\nThis work has been performed as a part of an open source IoT edge project and is contributed by Yanzi Networks AB and SICS Swedish ICT. Intel Corporation is a sponsor of the open source IoT edge."},"comment":{"url":"https://api.github.com/repos/contiki-os/contiki/issues/comments/166302796","html_url":"https://github.com/contiki-os/contiki/pull/1409#issuecomment-166302796","issue_url":"https://api.github.com/repos/contiki-os/contiki/issues/1409","id":166302796,"user":{"login":"joakimeriksson","id":599447,"avatar_url":"https://avatars.githubusercontent.com/u/599447?v=3","gravatar_id":"","url":"https://api.github.com/users/joakimeriksson","html_url":"https://github.com/joakimeriksson","followers_url":"https://api.github.com/users/joakimeriksson/followers","following_url":"https://api.github.com/users/joakimeriksson/following{/other_user}","gists_url":"https://api.github.com/users/joakimeriksson/gists{/gist_id}","starred_url":"https://api.github.com/users/joakimeriksson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joakimeriksson/subscriptions","organizations_url":"https://api.github.com/users/joakimeriksson/orgs","repos_url":"https://api.github.com/users/joakimeriksson/repos","events_url":"https://api.github.com/users/joakimeriksson/events{/privacy}","received_events_url":"https://api.github.com/users/joakimeriksson/received_events","type":"User","site_admin":false},"created_at":"2015-12-21T13:13:19Z","updated_at":"2015-12-21T13:13:19Z","body":"This is an initial implementation and it is from our IPSO Interop test in May. It is not yet complete and in some cases might be not 100% compliant. I do think that ok to respond with TLV for single-valued resources but I agree that there is a misfeature that it currently responds with TLV when you request in LWM2M_TEXT_PLAIN. We do have support for TLV and plain-text in our readers/writers so it should not be too hard to improve on this."}}