-
-
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
[argoclima] Initial contribution #15481
[argoclima] Initial contribution #15481
Conversation
a7a9dc8
to
ed0a70f
Compare
b6f8a15
to
e22b162
Compare
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.
First pass, only looked at the readme and metadata, will try to look at the other files when i have some more time.
Most looks good, mainly some textual comments and some questions.
bundles/org.openhab.binding.argoclima/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.argoclima/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
e22b162
to
7cc19e8
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
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.
Allmost half way, my time is up for now, didn't want to hold it back.
Impressed about the extensive documentation. It is a bit overwhelming, but it helps.
bundles/org.openhab.binding.argoclima/scripts/download_ota_fw_files.py
Outdated
Show resolved
Hide resolved
...clima/src/main/java/org/openhab/binding/argoclima/internal/ArgoClimaTranslationProvider.java
Outdated
Show resolved
Hide resolved
...clima/src/main/java/org/openhab/binding/argoclima/internal/ArgoClimaTranslationProvider.java
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationLocal.java
Outdated
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationLocal.java
Outdated
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationLocal.java
Show resolved
Hide resolved
.../java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationRemote.java
Outdated
Show resolved
Hide resolved
...in/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationBase.java
Outdated
Show resolved
Hide resolved
...in/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationBase.java
Outdated
Show resolved
Hide resolved
...ava/org/openhab/binding/argoclima/internal/configuration/IScheduleConfigurationProvider.java
Show resolved
Hide resolved
This comment was marked as resolved.
This comment was marked as resolved.
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.
Finished the last part. Did leave some comments, but overall this seems a very solid (but complex) contribution.
Consider my review as an extra set of eyes to speed up the merge proces. I'm no maintainer, so there might be more feedback, or corrections to mine (don;t hope so).
...in/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationBase.java
Outdated
Show resolved
Hide resolved
...in/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationBase.java
Outdated
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationLocal.java
Outdated
Show resolved
Hide resolved
...in/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationBase.java
Outdated
Show resolved
Hide resolved
...in/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationBase.java
Outdated
Show resolved
Hide resolved
...main/java/org/openhab/binding/argoclima/internal/device/api/protocol/elements/TimeParam.java
Outdated
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/device/api/protocol/elements/WeekdayParam.java
Outdated
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/device/api/protocol/elements/WeekdayParam.java
Outdated
Show resolved
Hide resolved
.../java/org/openhab/binding/argoclima/internal/device/passthrough/RemoteArgoApiServerStub.java
Outdated
Show resolved
Hide resolved
...lima/src/main/java/org/openhab/binding/argoclima/internal/handler/ArgoClimaHandlerLocal.java
Outdated
Show resolved
Hide resolved
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Give me a week max |
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.
LGTM Thank you for this binding.
It might take some time, but a maintainer will pick this up and review / merge this eventually.
Hey @jlaur - sorry for bothering you... Since you're had some fly-by interactions with this PR (and are a maintainer), would you happen to know what might be the typical ETA for a new binding review novadays? [joke] On that occasion, to lighten the mood... any chance to get it merged before christmas 😀 ? [ref: Duke Nukem] :) [/joke] |
My algorithm for calculating that is broken. 😄 You can have a look at recent merged PR's with label "new binding" to get an impression. Unfortunately our capacity is a bit low, but eventually someone will pick up your PR and start a review. A few things in general that can have an impact on the time for completing a review of a new binding:
Personally I probably won't be able to pick it up for the time being since I'm involved in some other ongoing rather large PR's, and I prefer to not have too many open at the same time because I then risk becoming the bottleneck and momentum is lost. |
Thanks for such a thorough reply! Much more info than I had hoped for, appreciate it! Since And as for:
Yeah, I know. But also... java 😉 |
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 the contribution!
This is not a full review, just a few comments.
In addition to my comments, the following things need improvement:
- javadoc is currently broken, at least the errors need to be fixed (
mvn javadoc:javadoc|grep error:
) - mainly & and < to be escaped.....
SAT is fine, warnings are fine, i18n seems ok
....argoclima/src/main/java/org/openhab/binding/argoclima/internal/ArgoClimaConfigProvider.java
Outdated
Show resolved
Hide resolved
....argoclima/src/main/java/org/openhab/binding/argoclima/internal/ArgoClimaConfigProvider.java
Outdated
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationLocal.java
Outdated
Show resolved
Hide resolved
...n/java/org/openhab/binding/argoclima/internal/configuration/ArgoClimaConfigurationLocal.java
Outdated
Show resolved
Hide resolved
...ava/org/openhab/binding/argoclima/internal/configuration/IScheduleConfigurationProvider.java
Outdated
Show resolved
Hide resolved
...main/java/org/openhab/binding/argoclima/internal/device/api/protocol/elements/TimeParam.java
Outdated
Show resolved
Hide resolved
@holgerfriedrich Thanks fot the review. Fixed the javadocs errors (sorry for the miss!). Do you need me to address all javadoc warnings as well? BTW. I had to extend |
No, warnings are ok. I have not checked, but most of the warnings should be undocumented elements. This is expected.
If I got it correctly, you branched quite a wile ago. Those tags are now defined in pom.xml on top level (since ~2 months). Before, we had it on binding level. |
8541027
to
d56a032
Compare
Yup, that did it. I did a quick check and saw it on GH main, but it didn't occur to me it might not bee there for ages, so didn't check on my local copy... Thx for the pointer! |
23700ae
to
5f02573
Compare
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, LGTM.
I prefer another @openhab/add-ons-maintainers to have a second look. Not necessarily all files, the readme and the ThingHandlers will probably be enough to get a good understanding and provide some feedback.
@jlaur if you have some spare time, would be nice if you can look at this pr for a moment |
bundles/org.openhab.binding.argoclima/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.argoclima/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.argoclima/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.argoclima/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.argoclima/src/main/resources/OH-INF/thing/thing-types.xml
Outdated
Show resolved
Hide resolved
I took at very quick look at the README which lead me straight to the thing type definition. I have posted a few comments there, as some of these things will be hard to change later without introducing breaking changes. However, if the intention with your request is to have review comments added and fixed by tomorrow, I'm afraid this is too late and too out of context. I also doubt @mbronk would have time to even react on the comments I already posted, so please feel free to ignore. Unit hint for |
Thanks! My request was more about the overall complexity by looking at the readme and the handler. I would have merged it if you didnt have significant feedback at those areas. |
The channel type id's can be changed later on using update instructions, but it's really minor anyway, and doesn't violate naming convention. However, the thing type id, although also minor, cannot be changed later. I would focus first on getting the modelling right (from the start), the implementation can always be refactored if it turns out to be too complex (for example). So I trust your review, and you can still consider merging this for 4.2. I believe strictly it doesn't have to be tomorrow even though we have feature freeze. The feature freeze s is mostly to avoid introducing regressions in existing bindings with last-minute changes. So if you and @mbronk would agree on the thing type id proposal, this is a small change, and there could still be a few days to do that (XML, constants, README). |
bundles/org.openhab.binding.argoclima/scripts/download_ota_fw_files.py
Outdated
Show resolved
Hide resolved
Signed-off-by: Mateusz Bronk <[email protected]>
Contents: [argoclima] 1st round of review remarks (editorials) [argoclima] 2nd round of review remarks (config) showCleartextPasswords --> includeDeviceSidePasswordsInProperties (default: NEVER) [argoclima] i18n: Missing localization added Adds i18n for dynamic Channels and Thing statuses (incl. exceptions) [argoclima] 3rd round of review remarks [argoclima] 4th round of review remarks Renamed localDevicePort --> hvacListenPort Used instanceof pattern matching (where applicable) Demoted device communication logs to TRACE (non-review feedback) Added missing indirect command intercept in STUB mode [argoclima] Fixed typos in docs (README, diagrams) [argoclima] Post-review corrections: javadoc, etc. [argoclima] Bump version to 4.2.0-SNAPSHOT [argoclima] README.md minutiae [argoclima] Channels rename to lower-case-hyphen [argoclima] CP header update to 2024 [argoclima] Review remarks (password hashing extracted + minutiae) Signed-off-by: Mateusz Bronk <[email protected]>
Signed-off-by: Mateusz Bronk <[email protected]>
@jlaur - I do agree with the proposed renames (less boilerplate, less typing). I had them globally-unique 'just in case', to avoid weird x-tenancy issues at development time... but as there are none... yeah, it can/should be shortened. Given short timelines... behold... The plan ™️ 😉You guessed right I won't have time to properly apply (and test) this change in full just today (only have about 1 hour free before I head off for a short weekend getaway). This would be a not-yet-tested code, but in a "frozen" state already with all the CI complete and such. |
Take your time, as it is a new binding I think we can merge it after the milestone. It should just be well tested. |
Oh, I'm not at all proposing skipping a testing phase. Given the nature of the changes (renames-only) though, early next week is an actual possibility (not cutting corners) - just can't make any guarantees today. For me it is still far better to try (best-effort) to intercept 4.2 (b/c it's incremental for me) than to do the whole nine yards on 4.3 or later... |
* Thing type ID renames: argoclima-local -> local, argoclima-remote->remote * Dropped '-channel' suffix from channel type IDs * Added % unit hint to eco-power-limit Signed-off-by: Mateusz Bronk <[email protected]>
f7b70d6
to
30dabd2
Compare
As mentioned - changes suggested by @jlaur are in. I'll separately confirm the testing status early next week.
|
## Disclaimer | ||
|
||
This project is not affiliated with, funded, or in any way associated with Argoclima S.p.A. | ||
All third-party product, company names, logos and trademarks™ or registered® trademarks remain the property of their respective holders. |
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.
@kaikreuzer - sorry for tagging you directly (well, half-sorry, since I'm still doing it 😄) - do we have some project-wise disclaimer like this? It feels a bit inconsistent to have this at binding level, since I guess most bindings do not have this. On the other hand, it must be on binding-level to mention specific companies we are not affiliated with. From a legal perspective, is this needed at all?
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.
@lsiepel, @mbronk - FTR, my comment here is generic and doesn't have to be considered for the PR at hand. Depending on response from @kaikreuzer we can adjust (if needed) even after this PR is merged.
Signed-off-by: Mateusz Bronk <[email protected]>
UpdateAll tests have passed on my end. |
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 LGTM. This will (as exception due to feuture freeze) be included in 4.2.
* Initial contribution of the ArgoClima binding Signed-off-by: Mateusz Bronk <[email protected]>
* Initial contribution of the ArgoClima binding Signed-off-by: Mateusz Bronk <[email protected]> Signed-off-by: Patrik Gfeller <[email protected]>
* Initial contribution of the ArgoClima binding Signed-off-by: Mateusz Bronk <[email protected]>
* Initial contribution of the ArgoClima binding Signed-off-by: Mateusz Bronk <[email protected]>
This PR adds a new binding for ArgoClima HVAC devices.
Please refer to the included
README.md
for details of this binding's objectives.Exemplary supported device:
Highlights (for reviewers)
README.md
RemoteArgoApiServerStub.java
|PassthroughHttpClient.java
Testing / development status
For what it's worth, I've been using this binding myself for a while now, and haven't noticed any anomalies, so as far as I subjectively perceive it, I consider it quite stable and fairly complete. No extensive multi-user large-scale testing has been performed though!
Outside of addressing any feedback stemming from review, I'm not currently planning any major functionality extensions. A.k.a. a
1.0 RC1
:)Thank you in advance for all your feedback and guidance!