-
-
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
[haywardomnilogic] Hayward Omnilogic Pool Automation Binding #8338
Conversation
Travis tests were successfulHey @matchews, |
1 similar comment
Travis tests were successfulHey @matchews, |
Forum discussion... |
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.
Thanks for your contribution! I reviewed your code and here is my feedback.
To add your binding to the official distribution, you need to add your binding to bundles/pom.xml
and bom/openhab-addons/pom.xml
.
There are some checkstyle warnings left. You could take a look at target/code-analysis/report.html
.
There are some formatting issues. You can view them with mvn spotless:check -Dspotless.check.skip=false
and fix them with mvn spotless:apply
.
bundles/org.openhab.binding.haywardomnilogic/src/main/resources/ESH-INF/thing/bridge.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.haywardomnilogic/src/main/resources/ESH-INF/thing/bridge.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.haywardomnilogic/src/main/resources/ESH-INF/thing/chlorinator.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.haywardomnilogic/src/main/resources/ESH-INF/thing/csad.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.haywardomnilogic/src/main/resources/ESH-INF/thing/virtualHeater.xml
Outdated
Show resolved
Hide resolved
Travis tests were successfulHey @matchews, |
2 similar comments
Travis tests were successfulHey @matchews, |
Travis tests were successfulHey @matchews, |
This was a general Jenkins issue, which has been fixed some hours ago. |
Travis tests were successfulHey @matchews, |
3 similar comments
Travis tests were successfulHey @matchews, |
Travis tests were successfulHey @matchews, |
Travis tests were successfulHey @matchews, |
This is really strange as you haven't configured a pattern of |
Travis tests have failedHey @matchews, |
I can't explain why, but this is now working as intended. |
Signed-off-by: matchews <[email protected]> Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
…h thing.xml options. Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Do you request another review, when you are finished making the changes? |
Not yet. I need to clean up the polling and also need to figure out the Jenkins failure. I'm also getting dates again in my thing.xml items with options on my rasPi working OpenHab instance, but not in the Eclipse IDE.
|
Sounds like some kind of caching problem on your raspi. The Jenkins build seems to fail due to a general issue. |
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.
Thanks for your contribution. I've reviewed the code and you'll get some homework 😉 My general comment is that all logic is in the bridge. You've created all handler subclasses, but these don't add anything. It would make it much more readable and easier to extend or follow the control flow if the device specific logic is done in the handlers. Also the bridge does the discovery, but this should be done by the discovery service, not the bridge. I've made some specific comments were things can be improved. But if you still have questions feel free to ask.
...in/java/org/openhab/binding/haywardomnilogic/internal/discovery/HaywardDiscoveryHandler.java
Outdated
Show resolved
Hide resolved
...in/java/org/openhab/binding/haywardomnilogic/internal/discovery/HaywardDiscoveryHandler.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/openhab/binding/haywardomnilogic/internal/handler/HaywardBridgeHandler.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/openhab/binding/haywardomnilogic/internal/handler/HaywardBridgeHandler.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/openhab/binding/haywardomnilogic/internal/handler/HaywardFilterHandler.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/openhab/binding/haywardomnilogic/internal/handler/HaywardBridgeHandler.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/openhab/binding/haywardomnilogic/internal/handler/HaywardBridgeHandler.java
Show resolved
Hide resolved
...ilogic/src/main/java/org/openhab/binding/haywardomnilogic/internal/config/HaywardConfig.java
Outdated
Show resolved
Hide resolved
...ilogic/src/main/java/org/openhab/binding/haywardomnilogic/internal/config/HaywardConfig.java
Show resolved
Hide resolved
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Automatic code migration to openHAB 3 succeeded. The resulting code can be found at https://ci.openhab.org/job/openHAB-Addons-Migration/29/artifact/bundles/. You can download the migrated code from there and create a new PR against the master branch of the openhab-addons repo to contribute it for being included in openHAB 3.x. Please see this issue about the details on how to proceed with your existing PR. |
Thanks for your time reviewing. The general comments are very logical, but I'm having a hard time determining how to implement. I'm trying to breakup the getTelemetry routine first. I was planning to pass the xml file to each thinghandler (if at least one of these thing types exist) to scan for any things of that type that exist and update them. It seems that you cannot call the thinghandler without creating an instance that is specific to a single thing. That would force me to scan through the XML in the bridgehandler and call the thinghandler once each thing is found. Not much of a gain in segregating the code out to the individual handers. Hopefully I'm missing the trivial solution here. I tried a static routine but that snowballed quickly. Any guidance you can offer would be greatly appreciated. Thanks! |
I'm not sure what you mean by this? Why do you need to create an instance? |
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers <[email protected]>
Signed-off-by: Matt Myers [email protected]
Hayward Omnilogic binding initial contribution
The Hayward Omnilogic binding integrates the Omnilogic pool controller using the Hayward API.