Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add updated IPSO objects specifications (version 1.1) to the Leshan Demo Server #972

Closed
rlubos opened this issue Feb 11, 2021 · 11 comments
Closed
Labels
demo Impact our demo (not libraries) new feature New feature from LWM2M specification

Comments

@rlubos
Copy link

rlubos commented Feb 11, 2021

Multiple IPSO objects (in 3xxx range) had their specifications updated to version 1.1. The update added Timestamp/Measurement Quality resources to the objects in most cases. The updated specifications can be found in the lwm2m-registry GH repository.

The new object specifications are not supported in the Leshan Demo Server yet. It would be good to add the 1.1 specifications to the Demo Server so that clients using the new object versions can view their objects properly (currently the server will show Object 3xxx (model unknown)).

I've added the new IPSO objects specifications to the Leshan Demo Server locally, so I can create a PR if we agree it's a desired change. I also wonder whether Leshan Demo Client should be updated, i. e. switch to IPSO objects in version 1.1 or rather stick to version 1.0?

@sbernard31
Copy link
Contributor

Thx for reporting this. I did an update some time ago but maybe a new one is needed again.

I've added the new IPSO objects specifications to the Leshan Demo Server locally, so I can create a PR

Generally contributions are welcome but I have some code to update this more or less automatically, so I think this will be simple if I do it myself. I will look at this and let you know as soon as I have a PR ready for this.

I also wonder whether Leshan Demo Client should be updated, i. e. switch to IPSO objects in version 1.1 or rather stick to version 1.0?

Good question, I guess as master branch target LWM2M 1.1, it should be updated at client side too 🤔

@sbernard31 sbernard31 added demo Impact our demo (not libraries) new feature New feature from LWM2M specification labels Feb 11, 2021
@rlubos
Copy link
Author

rlubos commented Feb 11, 2021

Ok, understood, thank you. Just FYI, the only problem I faced was the Location object specification in version 1.1, it has a duplicated Timestamp resource which caused Leshan build error. I've reported the issue in the lwm2m-registry repo. Beside that I had no issues with the new objects.

@sbernard31
Copy link
Contributor

I faced was the Location object specification in version 1.1, it has a duplicated Timestamp resource which caused Leshan build error.

I just faced it too :) Thx for reporting this to OMA 🙏

@sbernard31
Copy link
Contributor

I started to work on this but this raises some questions : see OpenMobileAlliance/lwm2m-registry#585

Do you have any opinion about that ?

@rlubos
Copy link
Author

rlubos commented Feb 11, 2021

Hard to tell , perhaps 1) is indeed more intuitive as you suggest. On the other hand 2) gives a bit more flexibility, I don't have strong opinion here, let's see what spec gurus say.

As for the bonus question, it seems to be covered pretty well in section 7.2.2 of the LwM2M specification (1.1.1):

The Object Version of an Object is composed of 2 digits separated by a dot '.':
* the first digit represents the Major Version of the Object: this digit marks the non-backward compatible evolution
of such an Object (Object evolution of type I: Section 7.2.1. General Policy)
* the second digit represents the Minor Version of the Object: this digit marks the backward compatible evolution of
such an Object (Object evolution of type II: Section 7.2.1. General Policy)

Section 7.2.1 explains what is considered a backward and non-backward compatible change.

@sbernard31
Copy link
Contributor

See #973. Do not hesitate to tell me if it works for you and/or if it sounds good for you :)

@sbernard31
Copy link
Contributor

About model version, another idea would be :
"implement 1) and put all the missing core model version in demo."

I can not see any issue for server-demo as the most it supports the better it is.
For client-demo, this could be an issue to use too recent version as some server could not support it. 🤔

I guess for now I will stay on 1) and we will rethink about this if more recent version is asked by users.

@rlubos
Copy link
Author

rlubos commented Feb 12, 2021

See #973. Do not hesitate to tell me if it works for you and/or if it sounds good for you :)

Thank you @sbernard31 for such a prompt PR! I've tested it with a Zephyr client with updated IPSO object models and it worked fine. Thanks again!

@sbernard31
Copy link
Contributor

I integrated #973 in master. Thx for your help. 🙏

(Do not hesitate to share with us your usage of Leshan if you think it makes sense : #830)

@rlubos
Copy link
Author

rlubos commented Feb 12, 2021

(Do not hesitate to share with us your usage of Leshan if you think it makes sense : #830)

I personally work on improvements for the Zephyr LwM2M client implementation, where I typically use Leshan for testing (because it's a great project :)). But I'm not involved in any end-product utilizing Leshan.

@sbernard31
Copy link
Contributor

I typically use Leshan for testing (because it's a great project :))

Great to know that Leshan is useful :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
demo Impact our demo (not libraries) new feature New feature from LWM2M specification
Projects
None yet
Development

No branches or pull requests

2 participants