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

Enhancement #2

Open
zanni opened this issue Feb 6, 2019 · 4 comments
Open

Enhancement #2

zanni opened this issue Feb 6, 2019 · 4 comments

Comments

@zanni
Copy link

zanni commented Feb 6, 2019

Hi,
I developed an OADR VTN2.0b java implementation and I use your VEN to prototype various Iot hardware/protocol. You have a great project and I think you might consider those enhancements/modifications in order to supports broader use cases:

  • Many of your OADR requests does not validate against OADR xsd definition files. Sometimes you are missing venID property, but in most of the case it's because properties order is not respected. Maybe you should use a model generated using OADR xsd (swagger) in order to guaranty compatibility with all VTN implementations

  • Your API used to send request to VTN is too restricted for some payloads. For example, I needed to send multiple reports in one RegisterReport payload, which can't be done. For this use case, I externalized payload construction and give it to RegisterReport function using msg. I also used this technique for UpdateReport use case. This solution can provide better flexibility, and you could hide payload construction complexity behind a well designed builder.

  • You use XML signature envelope even though your PartyRegistration payload indicates xmlSignature=false. This is not a problem for me in HTTP PULL mode because I use xml envelope when VEN use it, even if it registered using xmlSignature=false, but I'm not sur this is a correct behavior. However, in HTTP PUSH mode, VTN must use xmlSignature property, and therefore PUSH payloads are sent to VEN without xml signature envelope, which is not supported by the VEN. You might also implement xmlSignature compatibility because it is a mandatory feature for a production system.

Again, you have a great project and I would gladly make a proper pull request for any if not all of this points if you feel it necessary.

bzanni

@bnystrom
Copy link
Collaborator

bnystrom commented Feb 7, 2019

Hi Zanni,

Thanks for the feedback. Lots of goods points there. I'll see if I can address some of those for the next release.

Is your Java VTN proprietary? If not, do you think it is something that might aid on our side in the development of the VEN node-red nodes?

We are open to you making pull requests on any part you feel you can help out with.

Bryan

@zanni
Copy link
Author

zanni commented Feb 12, 2019

Hi Bryan,

We open-source our OADR implementation stack: https://github.com/avob/OpenADR
You can use it to launch a minimal implementation of a VTN 2.0b and validates your OADR logic.
I successfully connected a node-red-contrib-oadr-ven to this VTN using the same certificate/venId I use VEN 2.0b test-functional-rsa.
This project is a prototype and therefore I expect some bugs/funky behaviors. Do not hesitate to raise an issue or make a pull request if you encounter some of them.

Regarding your project, I generated javascript oadr model using npm jsonix module: https://github.com/highsource/jsonix. This can help to solve the problem of payload not validating against oadr xsd schema. If it's ok for you and your release timeline, I will make a pull request including the generated model and it's integration in oadr2/oadr2-ven.js file.

Bertrand

@bnystrom
Copy link
Collaborator

Bertrand,

Thanks! Go ahead and make the pull requests when you are ready.
In the meantime, I'll investigate the jsonix and attempt to set up and utilize your Java OpenADR VTN.

Bryan

@bnystrom
Copy link
Collaborator

Bertrand,

Thanks for the pull request. I'll try to get that tested and merged in the next few days.

Bryan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants