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

[WIP] [dirigera] Initial contribution #17719

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

Conversation

weymann
Copy link
Contributor

@weymann weymann commented Nov 7, 2024

Binding for IKEA DIRIGERA hub for smart products.

The work ist still in progress but I would like to start the review to find breaking changes right now and not at the end, e.g. thing and channel names.

The binding is published on Marketplace and Community Discussion is active.

@weymann weymann requested a review from a team as a code owner November 7, 2024 21:42
@lsiepel lsiepel added the new binding If someone has started to work on a binding. For a new binding PR. label Nov 8, 2024
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.

Only looked at the thing-structure.xml files as you wanted early feedback.

I did not repeat the same comments for multiple Things. As this seems a well strucutered binding, i think it would be easy for you to project my comments on the other Things.

Extra note, please user system state channels where possible:
https://www.openhab.org/docs/developer/bindings/thing-xml.html#system-state-channel-types

<label>OTA Progress</label>
<description>Over-the-air update progress</description>
</channel>
<channel id="json" typeId="json">
Copy link
Contributor

Choose a reason for hiding this comment

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

Please remove raw data channels. The binding should model the remote domain to the openHAB domain and therefore use the specific channel types.
Applies to multiple Things

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently these channels are used for me to analyze and debug and not pollute traces.
I agree to remove them in release version.

<label>Custom Name</label>
<description>Name given from IKEA home smart</description>
</channel>
<channel id="ota-status" typeId="ota-status">
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the difference between state and status in this case?
Applies to multiple Things

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I also needed to Google this :)

otaStatus and otaState derived from working repository

<description>Window or door blind</description>

<channels>
<channel id="blind-state" typeId="blind-state">
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this state id future proof? Currently it only seems to accept up/down/stopped, but would it also be usable for top-down / bottom-up or other variants? Not sure if this makes sense.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's why it's designed as a number with mappings which can be extended.

Also here these values are not coming out of the blue.

@weymann
Copy link
Contributor Author

weymann commented Nov 13, 2024

@lsiepel
Thanks for the fast reply - I'll start now working on this.

Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[email protected]>
Signed-off-by: Bernd Weymann <[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.

2 participants