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

[Worxlandroid] Initial contribution #16893

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

clinique
Copy link
Contributor

@clinique clinique commented Jun 19, 2024

This binding is used since a while as a standalone - let's get it merged.

@clinique clinique requested a review from a team as a code owner June 19, 2024 13:00
@openhab-bot
Copy link
Collaborator

This pull request has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/worx-landroid-binding/95246/570

@jlaur jlaur added the new binding If someone has started to work on a binding. For a new binding PR. label Jun 19, 2024
@openhab-bot
Copy link
Collaborator

This pull request has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/worx-landroid-binding/95246/609

@openhab-bot
Copy link
Collaborator

This pull request has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/worx-landroid-binding/95246/619

Copy link
Contributor

@lsiepel lsiepel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for contributing this binding. This is a partly review, i only looked at the documentation, thing structure and some metadata files. I'll continue my review when i find some more time.
I noticed an images folder, i guess that can be removed as they do not seem to be used anywhere.

bundles/org.openhab.binding.worxlandroid/README.md Outdated Show resolved Hide resolved
bundles/org.openhab.binding.worxlandroid/README.md Outdated Show resolved Hide resolved
bundles/org.openhab.binding.worxlandroid/README.md Outdated Show resolved Hide resolved
bundles/org.openhab.binding.worxlandroid/README.md Outdated Show resolved Hide resolved
bundles/org.openhab.binding.worxlandroid/README.md Outdated Show resolved Hide resolved
bundles/org.openhab.binding.worxlandroid/README.md Outdated Show resolved Hide resolved
bundles/org.openhab.binding.worxlandroid/doc/products.json Outdated Show resolved Hide resolved
bundles/org.openhab.binding.worxlandroid/README.md Outdated Show resolved Hide resolved
@clinique clinique requested a review from lolodomo as a code owner September 7, 2024 12:51
@clinique clinique self-assigned this Sep 7, 2024
Comment on lines +19 to +28
<groupId>software.amazon.awssdk.iotdevicesdk</groupId>
<artifactId>aws-iot-device-sdk</artifactId>
<version>1.15.0</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk.crt</groupId>
<artifactId>aws-crt</artifactId>
<version>0.25.1</version>
</dependency>
</dependencies>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This binding performs some similar requests/response, so it should be possible to create them without these SDK's.
Could you remove these dependencies?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you be more explicit ? I'm afraid I did not get the meaning of your comment.
IIRW I tried to upgrade dependencies but it had major impact on code structure, so prefered to leave as it was.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant to say that the SDK should not be used. Instead the httpclient can be used to perform the same api request/responses.

You could look at the salus binding that also holds a very light weight base class doing much of the SDK work without needing the actual SDK.

Due to problems of the past with size, upgrades and other issues we try to keep these SDK’s out of the codebase.

Copy link
Contributor Author

@clinique clinique Sep 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lsiepel : This is for Mqtt client of AWS IoT, I remember I failed to switch to another MQTT client (because of the need of a websocket for the authentication IIRW that was not available with available one). I'll have another look at it to be sure.

Copy link
Contributor

@lsiepel lsiepel Sep 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have not looked in depth on how the MQTT client and websocket / authentication work together. I just know that we tent not to accept these SDK's. For the salus binding we had a similar issue with the software.amazon.awssdk.crt package. A fix was found by some lightweight classes that implemented the authentication.
Hope you figure out how to get rid of the SDK with these suggestions, otherwise please post the specific problems you encounter and maybe we can find a fix together. If ultimately it seems not feasable, we can always merge it as is, but yeah really prefer not to..

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not as far as I know. I Can give you m'y credentials by PM if you agree

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lsiepel : gentle ping.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't really help here with a solution, but just for your information, see also openhab/openhab-distro#1643. So probably 17 MB will not be acceptable.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See also #14669 (comment).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have no0t forgotten this, but have not yet had the dedicated time to look at it. Would be nice if we can either build our own or use a lite mqtt over websockets client.

Copy link
Contributor

@lsiepel lsiepel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last bits are reviewed now, covered all files. Mainly documentation and a bigger one regarding the dependencies. It also looks like a netatmo file accidently became part of this PR.

The OP has no contents, could you link a community thread and or somewhere this binding has been tests or discusssed before? I noticed many file are signed by you, and some by 'Nils' did you proceed on someone else's PR?

@lsiepel lsiepel changed the title [Worxlandroid] new binding [Worxlandroid] Initial contribution Sep 7, 2024
@clinique
Copy link
Contributor Author

clinique commented Sep 7, 2024

Last bits are reviewed now, covered all files. Mainly documentation and a bigger one regarding the dependencies. It also looks like a netatmo file accidently became part of this PR.

The OP has no contents, could you link a community thread and or somewhere this binding has been tests or discusssed before? I noticed many file are signed by you, and some by 'Nils' did you proceed on someone else's PR?

Updated OP to the community thread. I took over this binding for the 3.x => 4 migration, despite many requests the original creator ( Nibi79 in the community) never had time to push to common repo, so I decided to proceed. We had a discussion (him and myself) on this. He can take ownership of the PR as soon as he wants.

Copy link
Contributor

@jlaur jlaur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found a few old pending comments, please find them below.

<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>4.3.0-SNAPSHOT</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<version>4.3.0-SNAPSHOT</version>
<version>5.0.0-SNAPSHOT</version>

Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Correcting pom.xml

Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: Gaël L'hopital <[email protected]>
Updated to 4.3 and two SAT corrections
Correcting pom.xml

Signed-off-by: Gaël L'hopital <[email protected]>
Signed-off-by: clinique <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new binding If someone has started to work on a binding. For a new binding PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants