Skip to content

Conversation

adr001db
Copy link

@adr001db adr001db commented May 9, 2024

New Binding for Daikin using Onecta.

With the newer Daikin units it is no longer possible to control them directly (as is done in the other Daikin binding). The units can only be connected to the Daikin cloud called Onecta.
The units can then ‘only’ be controlled with the Onecta app on a phone or tablet.
This binding makes it possible to still control the units with OpenHAB. It’s now done by connecting the binding to Daikin’s Onecta.
The unit information is then received from the Daikin cloud just like the app. Commands to the units also run via the Daikin Cloud.
Older units can also be controlled with this binding as long as they are registered in Onecta.

Description

Please give a few sentences describing the overall goals of the pull request.
Give enough details to make the improvement and changes of the PR understandable
to both developers and tech-savy users.

Please keep the following in mind:

Testing

Your pull request will automatically be built and available under the following folder:
https://openhab.jfrog.io/ui/native/libs-pullrequest-local/org/openhab/addons/bundles/

The Jar can be found at:
https://community.openhab.org/t/daikin-onecta-cloud-binding-4-0-0-0-5-0-0-0

Don't forget to submit a thread about your Add-on in the openHAB community:
https://community.openhab.org/c/add-ons
-->

@adr001db adr001db requested a review from a team as a code owner May 9, 2024 09:47
@adr001db adr001db requested a review from mhilbush as a code owner May 9, 2024 10:42
@lsiepel lsiepel added the new binding If someone has started to work on a binding. For a new binding PR. label May 9, 2024
@lsiepel lsiepel changed the title Onecta [onecta] Initial contribution May 9, 2024
@lsiepel
Copy link
Contributor

lsiepel commented May 9, 2024

Thanks for your contribution. As there are many PR's currently being reviewed, it might take some time, evantually it will be picked up by one of the maintainers.

Can you remove the ecobee files? Add yourself to the codewoner file and perform some kind of self-review with this checklist in mind it will speed up the review process if easy spotted issues can be fixed upfront.

Edit: Also the build fails and you might want to check SAT warnings.

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.

Some initial comments after half way review. Ping me when you are ready for resuming

@adr001db
Copy link
Author

Hi @lsiepel,
Thanks for the first comments on my pullrequest.

But can you please help me. I'am struggeling with the First commit. This commit is not mine. I tried to delete it, but I don't think it went well.

What should I do with this ?

Greetings Alexander

afbeelding

@lsiepel lsiepel removed the request for review from mhilbush May 10, 2024 10:13
@lsiepel
Copy link
Contributor

lsiepel commented May 10, 2024

If you refer to DCO, some guidance is here:
https://github.com/openhab/openhab-addons/pull/16730/checks?check_run_id=24814490170

The builds fail to spotless:
https://github.com/openhab/openhab-addons/actions/runs/9030368073/job/24814490996?pr=16730

That commit that you refer to does not seem to be a problem.

@adr001db
Copy link
Author

Thanks than i will ignore it.

Copilot

This comment was marked as resolved.

adr001db added 3 commits July 27, 2025 11:57
Signed-off-by: Alexander Drent <Alex@Drent-ict.nl>
Signed-off-by: Alexander Drent <Alex@Drent-ict.nl>
Signed-off-by: Alexander Drent <Alex@Drent-ict.nl>
@lsiepel
Copy link
Contributor

lsiepel commented Jul 27, 2025

Thanks for continuing on this. The PR is getting in a good shape. I think I have todo a final review round when I’m back in about two weeks.

@adr001db
Copy link
Author

Thanks, I'm very happy that things are going well. Have a nice holiday. At least, that's what I assume you'll be doing. :o)

Signed-off-by: Alexander Drent <Alex@Drent-ict.nl>
@lsiepel lsiepel requested review from Copilot and removed request for blafois, jlaur and wborn August 23, 2025 08:37
Copilot

This comment was marked as outdated.

@jlaur
Copy link
Contributor

jlaur commented Aug 23, 2025

Please add yourself to the CODEOWNERS file.

- Add project to CODEOWNERS

Signed-off-by: Alexander Drent <Alex@Drent-ict.nl>
Signed-off-by: Alexander Drent <Alex@Drent-ict.nl>
@lsiepel lsiepel requested a review from Copilot August 23, 2025 16:21
Copilot

This comment was marked as outdated.

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

adr001db and others added 2 commits October 7, 2025 12:36
@adr001db
Copy link
Author

@lsiepel hello, Did you have a chance to look at the pullrequest ?

@lsiepel
Copy link
Contributor

lsiepel commented Oct 11, 2025

I made a start, and paused. I have too many other PR's at the moment to look at. I can handle multiple smaller, but not a large one like this at the moment. It might take some time, so don't wait for me.

@adr001db
Copy link
Author

@Isiepel

I don't quite understand what you mean. "So don't wait for me."
I'am trying to get a final approvment, but i also do'nt know how the proces for this works and who can give a final approval.

@lsiepel
Copy link
Contributor

lsiepel commented Oct 20, 2025

a start, and paused. I have too many other PR's at the moment to look at. I can handle multiple smaller, but not a large one like this at the moment. It might take some time, so don't wait for me.

Your PR needs to be reviewed by a maintainer. Usually the maintainer that starts the review proces also finishes it to the end. As this is a larger PR, and i have enough on my plate now, i only did a quick check. So another maintainer may or may not proceed with revieweing this PR. Just give it time, it will be reviewed eventually. It just might take some time.
Obviously you can self-review and fix issues or improve parts that you learned from other reviews.

@lsiepel
Copy link
Contributor

lsiepel commented Oct 23, 2025

Sorry, i mixed up two PR's anyway. I have some time to look at it. i'll start with a co-pilot review.

@lsiepel lsiepel requested a review from Copilot October 23, 2025 08:14
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 116 out of 130 changed files in this pull request and generated 6 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

<config-description>
<parameter name="unitID" type="text" required="true">
<label>Unit ID</label>
<description>Diakin unit</description>
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

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

Corrected spelling of 'Diakin' to 'Daikin'.

Copilot uses AI. Check for mistakes.

Comment on lines +717 to +802
<channel-type id="acunit-energy-heating-current-year-1" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year January</label>
<description>The energy usage for heating this year January</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-2" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year February</label>
<description>The energy usage for heating this year February</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-3" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year March</label>
<description>The energy usage for heating this year March</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-4" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year April</label>
<description>The energy usage for heating this year April</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-5" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year May</label>
<description>The energy usage for heating this year May</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-6" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year June</label>
<description>The energy usage for heating this year June</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-7" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year July</label>
<description>The energy usage for heating this year July</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-8" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year August</label>
<description>The energy usage for heating this year August</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-9" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year September</label>
<description>The energy usage for heating this year September</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-10" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year October</label>
<description>The energy usage for heating this year October</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-11" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year November</label>
<description>The energy usage for heating this year November</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-12" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year December</label>
<description>The energy usage for heating this year December</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-1" advanced="true">
<item-type>Number:Energy</item-type>
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

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

Duplicate channel-type definition: acunit-energy-heating-current-year-1 through acunit-energy-heating-current-year-12 are defined twice (lines 717-800 and 801-883), creating redundant and potentially conflicting definitions. Remove the duplicate definitions.

Suggested change
<channel-type id="acunit-energy-heating-current-year-1" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year January</label>
<description>The energy usage for heating this year January</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-2" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year February</label>
<description>The energy usage for heating this year February</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-3" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year March</label>
<description>The energy usage for heating this year March</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-4" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year April</label>
<description>The energy usage for heating this year April</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-5" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year May</label>
<description>The energy usage for heating this year May</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-6" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year June</label>
<description>The energy usage for heating this year June</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-7" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year July</label>
<description>The energy usage for heating this year July</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-8" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year August</label>
<description>The energy usage for heating this year August</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-9" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year September</label>
<description>The energy usage for heating this year September</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-10" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year October</label>
<description>The energy usage for heating this year October</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-11" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year November</label>
<description>The energy usage for heating this year November</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-12" advanced="true">
<item-type>Number:Energy</item-type>
<label>Energy Heating Current Year December</label>
<description>The energy usage for heating this year December</description>
<category>Energy</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="acunit-energy-heating-current-year-1" advanced="true">
<item-type>Number:Energy</item-type>
<channel-type id="acunit-energy-heating-current-year-1" advanced="true">
<item-type>Number:Energy</item-type>

Copilot uses AI. Check for mistakes.

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.

Looked at 108/130 files. The core parts are left e.g. handlers, oauth, connection. Bu all documentation, dto's xml and other metadata files have been reviewed.
For the xml files i left some generic comments that need to be applied to all channel typoes and or things. Sorry, but that can be time consuming.

Comment on lines +36 to +37
It is **not** allowed to use localhost (Onecta will not accept this)
- https://localhost:8443
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
It is **not** allowed to use localhost (Onecta will not accept this)
- https://localhost:8443
**note:*** It is **not** allowed to use `localhost` (Onecta will not accept this)

|------------------|---------|----------------------------------------------------------------|---------|----------|----------|
| `refreshInterval` | integer | Interval the device is polled in sec. | 600 | yes | no |


Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change

Comment on lines +47 to +49
| Name | Type | Description | Default | Required | Advanced |
|------------------|---------|----------------------------------------------------------------|---------|----------|----------|
| `refreshInterval` | integer | Interval the device is polled in sec. | 600 | yes | no |
Copy link
Contributor

Choose a reason for hiding this comment

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

nitpick: please align the table

| `refreshDelay` | integer | Refresh Delay in sec. <br>Only available for thing 'device' and 'domestic-hot-water-tank' | 15 | yes | no |

### Explanation Refresh Delay:
If a command is sent from the binding to OnectaCloud, it needs time to be processed by Daikin.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
If a command is sent from the binding to OnectaCloud, it needs time to be processed by Daikin.
If a command is sent from the binding to OnectaCloud, it needs time to be processed by Daikin.

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.

6 participants