-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[huesync] Hue Play HDMI Sync Box Binding - Initial contribution #16516
base: main
Are you sure you want to change the base?
Conversation
This pull request has been mentioned on openHAB Community. There might be relevant details there: https://community.openhab.org/t/philips-hdmi-sync-api/111679/39 |
edf4eb7
to
565fc72
Compare
@pgfeller I will start to look at this tomorrow. |
565fc72
to
ba801a2
Compare
@andrewfg Thanks! Take your time - progress will be slow unfortunately; as free time is a rare commodity ... |
566ee5d
to
a42500f
Compare
.../java/org/openhab/binding/huesync/internal/api/dto/device/HueSyncDeteiledDeviceInfoWifi.java
Outdated
Show resolved
Hide resolved
...huesync/src/main/java/org/openhab/binding/huesync/internal/connection/HueSyncConnection.java
Show resolved
Hide resolved
...huesync/src/main/java/org/openhab/binding/huesync/internal/connection/HueSyncConnection.java
Outdated
Show resolved
Hide resolved
...huesync/src/main/java/org/openhab/binding/huesync/internal/connection/HueSyncConnection.java
Outdated
Show resolved
Hide resolved
186bd73
to
0549ac6
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Signed-off-by: Patrik Gfeller <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When looking at some resolved comments, i noticed some new and wanted to share them right away.
Besides these i want to point you to the coding guidelines regarding logging:
https://www.openhab.org/docs/developer/guidelines.html#f-logging
Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found these suggestions.
...sync/src/main/java/org/openhab/binding/huesync/internal/handler/tasks/HueSyncUpdateTask.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/openhab/binding/huesync/internal/handler/tasks/HueSyncRegistrationTask.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/openhab/binding/huesync/internal/discovery/HueSyncDiscoveryParticipant.java
Outdated
Show resolved
Hide resolved
...c/src/main/java/org/openhab/binding/huesync/internal/connection/HueSyncDeviceConnection.java
Outdated
Show resolved
Hide resolved
|
||
if (command instanceof QuantityType) { | ||
value = Integer.toString(((QuantityType<?>) command).intValue()); | ||
} else if (command instanceof OnOffType) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is marked as resolved, but it is not (i now notice this comment is on the wrong line, not sure what happend, but it applies to line 99-100)
My example might have missed the generic/wildcard operator, if needed you can add it.
Co-authored-by: lsiepel <[email protected]> Signed-off-by: Patrik Gfeller <[email protected]>
…binding/huesync/internal/handler/tasks/HueSyncUpdateTask.java Co-authored-by: lsiepel <[email protected]> Signed-off-by: Patrik Gfeller <[email protected]>
…binding/huesync/internal/handler/tasks/HueSyncRegistrationTask.java Co-authored-by: lsiepel <[email protected]> Signed-off-by: Patrik Gfeller <[email protected]>
…binding/huesync/internal/discovery/HueSyncDiscoveryParticipant.java Co-authored-by: lsiepel <[email protected]> Signed-off-by: Patrik Gfeller <[email protected]>
…binding/huesync/internal/connection/HueSyncDeviceConnection.java Co-authored-by: lsiepel <[email protected]> Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
Four comments are left open, otherwise LGTM. |
Signed-off-by: Patrik Gfeller <[email protected]>
Seems to be a false positive reported by the IDE - seems to build ok - let's check with CI ... Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
The last few commits fixed some comment,s but introduced some new SAT warnings regarding naming conventions. |
Unfortunately I was not yet able to configure my locale IDE to use the correct format rules ... (following up on that & once I understand it, I'll update the docu how to setup vscode). Once I've addressed all your findings I'll consult the static code analysis report of the CI (https://ci.openhab.org/job/PR-openHAB-Addons/24380/Static_20Code_20Analysis_20Report/) and solve the naming convention issues and all of the warnings that I can. I propose to ignore the violations as long as they are in the report. As those I'll address once logic and general style is ok. If all this is green I'll need a couple of days to test the binding .jar to ensure that all still works as expected. Let me know once you think I can concentrate on the static code analysis report. When you're happy, the report is green and the binding performed stable for a few days we can probably merge 🙂. If there's a milestone planed we can also skip the real life test and do that in parallel with the milestone users (to get more use cases covered). |
Two remaining points: @SuppressWarnings("null") / compiler warnings and SAT warnings |
remove @SuppressWarnings("null") Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
…java Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
Signed-off-by: Patrik Gfeller <[email protected]>
Hi @lsiepel, I hope you're doing fine! We've construction workers in the house - thus I can not test the changes myself (2+ weeks unfortunately). But the changes should not affect functionality. Unfortunetly I did not think about the testing and the device is now under a pile of things that is sealed with plasic (to protect it from the dust). I've addressed the static code analysis findings - unfortunately the last commit CI did fail (I think that's a known issue). So I'm not sure if I missed a tab/space indentation ... do you have a local configuration that can do the analysis locally in the IDE (I was not able to configure vscode to match the pipeline - as you use it as well you might have a working config). ➡️ Can you close the comments that are properly addressed and let me know if there's something left that prevents the merge? Thank you for the time and help; I'm aware of the other contributions you do - it's highly appreciated that you invest so much of your time into the project (I'm more selfish: if something is missing that I need, I try to contribute - next Jellyfin is on my plate once this thingy is completed ...) |
This binding integrates the Play HDMI Sync Box into openHAB. The integration happens directly through the Hue HDMI Sync Box API.
The binding is using mDNS to discover HDMI Sync devices in the local network. The LED on the Sync Box must be white or red. This indicates that the device is connected to the Network. If the LED is blinking blue, you need to setup the device using the official Hue Sync App.
Community discussion thread: Philips HDMI Sync API
Closes #10218
Credits
Tasks
AuthenticationStore
✅on
/off
mode
ℹ️: The 1st version will not support all possible functions - as the basic setup can be done via the official App ➡️ - I'll focus on status information and commands that are most relevant for automation in this PR.