[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector#14979
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector#14979crnjan wants to merge 24 commits intoesphome:devfrom
Conversation
|
To use the changes from this PR as an external component, add the following to your ESPHome configuration YAML file: external_components:
- source: github://pr#14979
components: [mitsubishi_cn105]
refresh: 1h(Added by the PR bot) |
There was a problem hiding this comment.
📦 Pull Request Size
This PR is too large with 1202 line changes (excluding tests). Please consider breaking it down into smaller, focused PRs to make review easier and reduce the risk of conflicts.
For guidance on breaking down large PRs, see: https://developers.esphome.io/contributing/submitting-your-work/#how-to-approach-large-submissions
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #14979 +/- ##
=======================================
Coverage 75.44% 75.44%
=======================================
Files 55 55
Lines 12166 12166
Branches 1683 1683
=======================================
Hits 9179 9179
Misses 2568 2568
Partials 419 419 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
📦 Pull Request Size
This PR is too large with 1058 line changes (excluding tests). Please consider breaking it down into smaller, focused PRs to make review easier and reduce the risk of conflicts.
For guidance on breaking down large PRs, see: https://developers.esphome.io/contributing/submitting-your-work/#how-to-approach-large-submissions
Review dismissed: All requirements have been met
|
I’m splitting the PR into smaller chunks to simplify review — leaving this here for completeness. Also marked as draft so it’s not reviewed twice. |
|
Splitting it sounds like a good idea. I can imagine the first patch would just connect to the device and perform some basic enumeration of its capabilities, for example. And later patched can layer on the control functions. |
|
Place a link here to the new PR for the ones arriving here to know where to go |
|
The split PRs do not yet provide meaningful functionality, so for anyone who wants to test, please use this PR. I’ll share updates here as well. |
There was a problem hiding this comment.
📦 Pull Request Size
This PR is too large with 1006 line changes (excluding tests). Please consider breaking it down into smaller, focused PRs to make review easier and reduce the risk of conflicts.
For guidance on breaking down large PRs, see: https://developers.esphome.io/contributing/submitting-your-work/#how-to-approach-large-submissions
|
@mdegat01 — I’ve added a As always, testing bleeding-edge changes can occasionally lead to issues (e.g. I recently hit an infinite boot loop with VERY_VERBOSE logging), so a manual reflash might be needed in the worst case — which can be a bit annoying when the device is mounted inside the AC. |
|
With Part3 merged, is it all in? Or any more to submit? |
Part 3 includes reading of temp (room & current), part 4 will add mode and fan (read only) and part 5 set operations. If anybody can confirm if |
|
Aside from |
|
Since this PR will soon be locked to comments as it was closed, here's a discussions topic as follow up: https://github.com/orgs/esphome/discussions/3609 |
Description
Adds support for Mitsubishi A/C units using the CN105 connector.
It is an independent implementation of the protocol used in i.e. the SwiCago HeatPump project, developed from scratch, while supporting the same devices. The driver is designed to be non-blocking, with a focus on performance and reliability.
The initial version was originally developed for ESPEasy (PR) and has since been adapted and refactored for ESPHome.
Supported features (initial version)
Notes
mediumandmiddle, which represent distinct speeds.Testing
Tested on:
Types of changes
Pull request in esphome-docs with documentation:
Test Environment
Example entry for
config.yaml:Checklist:
tests/folder).If user exposed functionality or configuration variables are added/changed: