ginkage / MHI-AC-Ctrl-ESPHome

ESPHome integration for MHI-AC-Ctrl project
MIT License
112 stars 39 forks source link

What is meant by "Just put all these files in your ESPHome folder"? #24

Closed nmg196 closed 2 months ago

nmg196 commented 2 years ago

This is probably a silly question but despite 20 years experience in software development , what is meant by "Just put all these files in your ESPHome folder"? Because if I check out the code of this repo, then copy in all the files from the original project, then surely the files which have the same name will get overwritten and it will simply be running the original code? Am I being stupid? :)

How should you merge the source folders so this extension still works? I feel like there's a step missing from the instructions or something?

ginkage commented 2 years ago

No need to overwrite anything, or merge, or even use the original files, everything you need is already contained in this project.

nmg196 commented 2 years ago

But there is no .ino file in this project so how to you build it? Sorry if I'm asking stupid questions but I'm totally new to Arduino. Or do I need some other compiler for C++ rather than .ino?

ginkage commented 2 years ago

Um... This isn't exactly Arduino, you know, this project is specifically created for a certain hardware (basically, for the ESP8266-based board, D1 mini), and is adapted to be used in Home Assistant by either uploading it via the add-on, or via "esphome run". In other words, you don't need an .ino file, the main module is the .yaml file — quite unlike Arduino projects.

nmg196 commented 2 years ago

Thanks and sorry for my misunderstanding :) I have a D1 mini but couldn't see how to upload raw code to a device once I'd flashed it to the D1. So, so far I have the Esphome module added to Home Assistant and ESPHome running on the D1 so I'll have another look when I have more time.

nmg196 commented 2 years ago

So am I supposed to be uploading a binary from this screen? If so, how do I build it? image

ginkage commented 2 years ago

That's the ESP's own web-interface, you don't really need it for now. First of all, you need to either have ESPHome installed on your PC, or have it as an add-on in Home Assistant (I assume that you do have Home Assistant, as otherwise you don't need this project). In case of add-on, you can use its UI to compile the code and upload it using a USB cable right from your browser. You can get the same UI with a local install by running "esphome dashboard" — alternatively, with local installs you can use "esphome run" to build and upload the code.

nmg196 commented 2 years ago

Thanks! I've now installed ESPHome locally (and in HA).

However I can't get "esphome run lr_mhi_ac_ctrl.yaml" working on my local PC. It just says "ModuleNotFoundError: No module named 'platformio.commands.run'". I don't think it's an issue with the code in this repo so I've raised a new issue here: https://github.com/esphome/issues/issues/3396

Kurisutian commented 2 years ago

Would it work to instead of using the "includes" option to use this as an "external_component" as well? I would like to keep this in a distinct folder within esphome or even point here to the repo through the external component option to ensure the latest version is always being used. Would this work?

kdejong01 commented 2 years ago

image

In which folder ?

nbeernink commented 2 years ago

Next to the airco-woonkamer.yaml should work.

My listing:

/config/esphome/mhi_ac_ctrl.h
/config/esphome/MHI-AC-CTRL-core.cpp
/config/esphome/mhi-my-ac.-config.yml
MidasLamb commented 1 year ago

Hey, I'm currently using the project what this was based on and recently got into ESPHome. Am I correct that rather than copy pasting the files I should be able to use external components for this ? It seems that currently the folder structure isn't what is required for external components, so it might be nice to change it so that it can be used? That might also make it easier to describe, as you can provide just the yaml to copy-paste, without any further instructions

nbeernink commented 1 year ago

I believe using external components is only possible if the MHI-AC-Ctrl project starts putting source files in a components dir.

MidasLamb commented 1 year ago

I believe using external components is only possible if the MHI-AC-Ctrl project starts putting source files in a components dir.

I've checked it out, and it seems a bit more complex than that, It'll also need like an __init__.py and other files to make it work properly. It seems that inspiration could be taken from other climate platforms in ESPHome in order to make one for MHI AC Ctrl

arpiecodes commented 1 year ago

I'll convert it into a custom component installable through github somewhere this weekend.

nbeernink commented 1 year ago

That's a good idea too, I was thinking about pulling the .h's from the MHI-AC-Ctrl project instead of keeping them bundled here and waiting for this project to release the same files again. Then you'd only need to version the yaml file and the mhi_ac_ctrl.h.

But in hindsight, that might bring some incompatibilities.

MidasLamb commented 1 year ago

@synegic , did you manage to get it working? Or did you hit some roadblocks? I tried to do it myself but I'm not versed enough in ESPHome/C to make anything happen

arpiecodes commented 1 year ago

@MidasLamb I haven't had time to properly look at it yet. But I am still intending to. I'll also directly address #51.

tfyoung commented 1 year ago

I have done much of why you're talking about locally (having it work as an external module with python config). But i haven't had the time to clean it up and document it and won't for at least a month. I'll try and push what I have soon though and link it here and maybe it helps a little. I just updated it to the 2.6 and it's nice to have the auto fan mode working!

tfyoung commented 1 year ago

Well it's a mess, but I've made it into a git repo https://github.com/tfyoung/esphome-MHIHeatPump It's working for me, with the new fan control stuff, but there's a lot of debug code and things missing.

Wiebrenk commented 1 year ago

I want to place a comment for the implementers of this project to HA to solve the same problem as OP;

  1. Download this project as a zip and unzip.
  2. Go to file editor in HA, search for the ESPhome folder. Upload [MHI-AC-Ctrl-core.h}, [mhi_ac_ctrl.h]and the [MHI-AC-Ctrl-core.h]. Restart HA
  3. Connect a new ESP to your computer and run the new device install in ESPhome
  4. When the ESP is online in the ESP dash, go to edit copy the code of [lr_mhi_ac_ctrl.yaml] and overwrite the current ESP yaml code.
  5. Name your ESP without underscores and capitals (rule 3,5 and 8). Update your wifi credentials
  6. Save. Install by following the wired install steps (download .bin, and upload by espHomeweb)
  7. Restart HA, it should find the new installed ESP. Do not adopt this ESP in HA before the above steps.
elrosso2 commented 10 months ago

This is probably a silly question but despite 20 years experience in software development , what is meant by "Just put all these files in your ESPHome folder"? Because if I check out the code of this repo, then copy in all the files from the original project, then surely the files which have the same name will get overwritten and it will simply be running the original code? Am I being stupid? :)

How should you merge the source folders so this extension still works? I feel like there's a step missing from the instructions or something?

Did you get it to work? If so, how?

RobertJansen1 commented 7 months ago

Does this make it easier: https://github.com/RobertJansen1/MHI-AC-Ctrl-ESPHome/blob/TerminatorNL-master/README.md#Installation