u9n / dlms-cosem

A Python library for DLMS/COSEM
Other
80 stars 41 forks source link

Is it maintained? #69

Closed isidroas closed 8 months ago

isidroas commented 10 months ago

I don't see much movement in recent months. I like this project because you see mastery in Python and a depth knowledge of the standard. Plus, the implementation is enjoyable, not only for what it does, but also for how it does it

If it is maintained, I could do the effort of creating various merge requests for the following commits in my fork and further contribute. Some of those changes are:

Krolken commented 10 months ago

Yes it is maintained 😄 But we are a bit busy with other stuff.

We aim to support all of our own use cases and our clients use cases. If there is no one requiring a feature we don't spend the time to implement it.

We also try to test of agains meters with the supported functionality. Since meters go through a test process it is the simplest way of verifying an implementation. I have some idea of making a github-action test runner that could run tests on meters we have connected in our lab, but we are not there yet.

Something we want to do soon is:

I took a quick look into your commits and it looks good. Some minor things that I don't like to write but that is just cosmetics. But we are as the newest release not longer fully open source. We use BUSL 1.1 to limit free loading of our library. Some feature we want to implement we previously started with in our closed source system as it would make it really simple for a competitor to make their own metering solution based on our code. Instead we release under BUSL and it is not allowed to use the code to make AMR systems.

So if we are going to merge in your changes I have to fix a CLA so that you agree that the license would be on your contributions too.

On the specifics sets of features I have to look more into them. You might be correct about the user_information. We almost exclusivly use encryption and the meters we send accepts the user_information anyway in an unencrypted context. I would need a meter that is not accepting it to verif and figure out how it is best integrated in the library.

Do you have a use case for set-with-blocks? On what would you like to set a lot of data? I need to test agains a meter to verify the implementation.

isidroas commented 9 months ago

it is not allowed to use the code to make AMR systems

Is it allowed for other things than AMR? like internal testing of firmware?

I have to fix a CLA so that you agree that the license would be on your contributions too

Alright

Do you have a use case for set-with-blocks?

A capture_objects attribute with a large number of elements

isidroas commented 9 months ago

I need to test agains a meter to verify the implementation

It is implemented only the parsing. For example, the FSM still needs to be modified. Expected values in the tests are extracted from raw messages examples in the standard (Green Book), so we have the peace of mind that they can be fine. However, I understand that this feature is not very necessary.

Krolken commented 8 months ago

Looked into the CLAs and it seems like it is not needed. You just have to be OK with offering your code under our license. We are now BUSL 1.1 and no longer MIT. But unless you are looking into competing with our company and our offerings it doesn't impact you.

Krolken commented 8 months ago

Closing due to inactivity