# \[APP\]\[Pro\] ESPhome - Control your ESP8266/ESP32 by simple configuration files

**URL:** <https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271>\
**Category:** Apps\
**Created:** [August 16, 2023, 7:17pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271 "2023-08-16T19:17:36Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![Michael\_von\_Barner](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michael_von_barner/32/79082_2.png) [@Michael\_von\_Barner](https://community.homey.app/u/Michael_von_Barner)\
**Post date:** [May 17, 2024, 4:56am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/82 "2024-05-17T04:56:04Z")

</div>

Hi Peter

Thanks. I will have to look at the ESPHome 👍

---

<div class="post-metadata">

**Author:** ![Baldhor](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/baldhor/32/27028_2.png) [@Baldhor](https://community.homey.app/u/Baldhor)\
**Post date:** [May 17, 2024, 7:57am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/83 "2024-05-17T07:57:53Z")

</div>

Hello, I do not know if it’s possible, but no, I’m not planning to check it out.

I’m actually planning to move to another automation solution … because I have over 30 Zigbee devices and Zigbee + Homey == Headheck

**The project is on github, anyone willing to take it over, or participate is welcome** 🙂

---

<div class="post-metadata">

**Author:** ![Baldhor](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/baldhor/32/27028_2.png) [@Baldhor](https://community.homey.app/u/Baldhor)\
**Post date:** [May 17, 2024, 8:02am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/84 "2024-05-17T08:02:07Z")

</div>

There is how I do :

Install python : [Download Python | Python.org](https://www.python.org/downloads/)  
=\> Don’t forget to check the option to add python to path

Open a terminal : cmd.exe  
Create esphome directory : mkdir esphome  
Go inside that directory : cd esphome

Install esphome:  
python -m pip install wheel  
python -m pip install esphome

Check if it works by typing python -m esphome

Prepare the confioguration file of your device :  
mkdir myconfig  
python -m esphome wizard myconfig\<device\_name\>.yml  
Edit the configuration file and add the required components :  
notepad myconfig\<device\_name\>.yml

You can then compile the configuration file :  
python -m esphome compile myconfig\<device\_name\>.yml

The binary files are created into : myconfig.esphome\build\<device\_name\>.pioenvs\<device\_name\>  
There are 3 binary files (see below) :  
esphome\_2023.7.0-dev\_cb3s\_bk7231n\_lt1.1.0.uf2  
firmware.bin  
firmware.uf2

For first time (wired), use the command : python -m esphome upload myconfig\<device\_name\>.yml  
It will choose the correct file (or should …)

For OTA, connect to the device web interface and upload the file firmware.uf2

---

<div class="post-metadata">

**Author:** ![elestedt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/elestedt/32/106092_2.png) [@elestedt](https://community.homey.app/u/elestedt)\
**Post date:** [May 17, 2024, 5:28pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/85 "2024-05-17T17:28:13Z")

</div>

That’s fine. I ended up using Frigate to connect the cameras to and then att that to Homey. Got motion detection and recording as well then.

I don’t have the time right now to imherit a project, but at some point maybe.

---

<div class="post-metadata">

**Author:** ![Michael\_von\_Barner](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michael_von_barner/32/79082_2.png) [@Michael\_von\_Barner](https://community.homey.app/u/Michael_von_Barner)\
**Post date:** [May 17, 2024, 6:51pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/86 "2024-05-17T18:51:07Z")

</div>

Hi Baldor

Thank you very much for your description.

I have now done as described and everything has gone well, and the file is now read over to my board.

Sorry for my newbie understanding. But what now? What should I do after the file has been read onto my board, what is the next step?

I tried to see if Homey could find the board via the Homeyduino app, but it couldn’t.

Sorry that I’m not on board with what the next action is, but it’s probably also because I haven’t fully understood what happened exactly in all the steps you described and that I’ve gone through 🫣

And in which program should I use to set up the board itself with sensor and outputs/inputs?

Damn, I feel stupid right now, but I’ll learn along the way.

Best regards Michael

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 17, 2024, 7:16pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/87 "2024-05-17T19:16:20Z")

</div>

What was your plan with it, Michael?  
And did you find a matching script to install?  
Did you install my example script?

---

<div class="post-metadata">

**Author:** ![Michael\_von\_Barner](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michael_von_barner/32/79082_2.png) [@Michael\_von\_Barner](https://community.homey.app/u/Michael_von_Barner)\
**Post date:** [May 17, 2024, 8:10pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/88 "2024-05-17T20:10:54Z")

</div>

Hi Peter

Thank you for writing

So far I have done as Baldor has described and this is where I am now. I have watched a few videos on Youtube and have become a bit wiser now.

Now I would like to install the ESPhome Dashboard, but I can’t quite figure it out, when I press the link here nothing further happens.

Am I to understand that I also have to install Home Assistant first?

Sorry, but I’m a bit around the floor

-Michael

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 17, 2024, 11:06pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/89 "2024-05-17T23:06:19Z")

</div>

No problem, Michael.

> [@Michael\_von\_Barner](#):
>
> and everything has gone well, and the file is now read over to my board.

The file, `myconfig<device_name>.yml`?  
When you were able to install that file to the board per USB, can you reach the board now by browsing to it’s IP address?

You can find the IP address in your router’s DHCP table, or by an app like Fing (Android)

Like Baldhor wrote, you’ll need to upload another file:

> [@Baldhor](#):
>
> For OTA, connect to the device web interface and upload the file firmware.uf2

.

> [@Michael\_von\_Barner](#):
>
> Am I to understand that I also have to install Home Assistant first?

No. Just ESPhome.  
I prefer the GUI provided by a local web server;  
To do so, on my linux laptop, I run these two commands below, after following the [install guide](https://esphome.io/guides/installing_esphome.html) I posted earlier, and then following this guide:  
[https://esphome.io/guides/getting\_started\_command\_line#bonus-esphome-dashboard](https://esphome.io/guides/getting_started_command_line#bonus-esphome-dashboard)  
_I can’t discover how to run it on a Windows system, if you’re using that_

The commands:

```auto
$ source venv/bin/activate
$ sudo docker run --rm --net=host -v "${PWD}":/config -it ghcr.io/esphome/esphome

```

Now I can open the webpage [http://0.0.0.0:6052](http://0.0.0.0:6052) and it shows my dashboard and ESP devices

> ![Screenshot from 2024-05-18 00-46-40](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/8/38447f401ccb1602058c11b052801f3667a3b152.jpeg)

My ESP’s you see here have been added to Baldhor’s Homey ESPhome app

---

<div class="post-metadata">

**Author:** ![Michael\_von\_Barner](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michael_von_barner/32/79082_2.png) [@Michael\_von\_Barner](https://community.homey.app/u/Michael_von_Barner)\
**Post date:** [May 18, 2024, 7:21am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/90 "2024-05-18T07:21:24Z")

</div>

> [@Peter\_Kawa](#):
>
> The file, `myconfig<device_name>.yml`?  
> When you were able to install that file to the board per USB, can you reach the board now by browsing to it’s IP address?

I can see the board’s IP address on an IP scanner I have on my phone. If I type the IP address into a browser, nothing happens. I don’t get on the board.

> [@Peter\_Kawa](#):
>
> Like Baldhor wrote, you’ll need to upload another file:
> 
> > [@Baldhor](#):
> >
> > For OTA, connect to the device web interface and upload the file firmware.uf2
> 
> .

Within the ESPHome folder, there are no files that end with .uf2? I only have some .bin files?

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/e/3ef57b779a5e0e824947cff36aa8a716d15ee8a6.png)

But it seems I have now broken through to the ESPHome Dashboard. Then I will take it from here.

Doesn’t it look very right?

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/1/c10e2344979f9dc01f922d95ceb7cfe0a50bdb60.png)

-Michael

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 18, 2024, 2:34pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/91 "2024-05-18T14:34:47Z")

</div>

Ah, ok.  
When you edit the .yml you can add the current IP, to make sure it can be reached.

First, at the wifi section of the .yml, start with adding the  
`use_address: ` line, **and enter the devices’ current IP**

Like:

```auto
## https://esphome.io/components/wifi.html#manual-ips
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ### when board got new IP, but doesn't
  ### connect, uncomment the line below, and enter the board's previous IP:
  #use_address: 192.168.xx.xx
  
  ### set static IP when DHCP fails,
  ### edit and uncomment the 4 lines below:
  #manual_ip: 
    #static_ip: 192.168.1.23
    #gateway: 192.168.1.1
    #subnet: 255.255.255.0

```

If that doesn’t work, use the last 4 lines to temporary add a static IP. Again, add the current device IP here.

---

<div class="post-metadata">

**Author:** ![Michael\_von\_Barner](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michael_von_barner/32/79082_2.png) [@Michael\_von\_Barner](https://community.homey.app/u/Michael_von_Barner)\
**Post date:** [May 18, 2024, 5:26pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/92 "2024-05-18T17:26:37Z")

</div>

How about to connect it to Homey, how do you do that?

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 18, 2024, 11:24pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/93 "2024-05-18T23:24:04Z")

</div>

As almost always it’s in post 1:

> [@Baldhor](#):
>
> **I wrote a wiki to explain all the concepts, and it includes a user guide:**
> 
> [Home · Baldhor/Homey-ESPhome-Enhanced Wiki · GitHub](https://github.com/Baldhor/Homey-ESPhome-Enhanced/wiki)

Here’s the direct link to the user guide, one of the most extended ones for a Homey app:

> **[User Guide](https://github.com/Baldhor/Homey-ESPhome-Enhanced/wiki/User-Guide)**
>
> This is an Homey app which adds support for ESPHome devices. ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Aut...

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 21, 2024, 10:25pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/94 "2024-05-21T22:25:55Z")

</div>

> [@Baldhor](#):
>
> **The project is on github, anyone willing to take it over, or participate is welcome** 🙂

Baldhor, I’ll tag a few developers who _might_ be interested. No clue, but you never know 🤷‍♂️

@Arie_J_Godschalk @spkesDE @RonnyW @martijnpoppen @Gruijter  
Maybe [ESPhome](https://homey.app/a/nl.inversion.esphome/) is an interesting app for you?  
Or do you know any other dev who might be interested?  
Thx,  
/Peet

---

<div class="post-metadata">

**Author:** ![Baldhor](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/baldhor/32/27028_2.png) [@Baldhor](https://community.homey.app/u/Baldhor)\
**Post date:** [May 22, 2024, 10:20am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/95 "2024-05-22T10:20:56Z")

</div>

In the github, there are several example of yml files I’m using for my own devices.  
Including some ‘very’ (?) advanced ones (relay heaters, tb cover, …):

> **[Homey-ESPhome-Enhanced/esphome-config at main · Baldhor/Homey-ESPhome-Enhanced](https://github.com/Baldhor/Homey-ESPhome-Enhanced/tree/main/esphome-config)**
>
> This is an Homey app which adds support for ESPHome devices. ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Aut...

I have no idea what functionnalities your device provide or if you found an adapted yml for your model. But if you need to write your own config, you can probably pick some ideas there.  
Worst case, you can ask on the ESPhome forum, they are often very helpful and friendly.

> **[ESPHome](https://community.home-assistant.io/c/esphome/36)**
>
> This category is for everything about ESPHome. Topics do not have to be Home Assistant related.

---

<div class="post-metadata">

**Author:** ![flowerpiece](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/flowerpiece/32/12477_2.png) [@flowerpiece](https://community.homey.app/u/flowerpiece)\
**Post date:** [July 18, 2024, 9:35am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/96 "2024-07-18T09:35:17Z")

</div>

Is there a way to show a capability as status indicator on the device tile? Like percentage, or degrees etc.

And I cannot seem to find how I add a device capability to just read data from the esphome. I would like to show the status of a button, but I can’t seem to add it because when I select a capability from the list, it goes back to make selection. Any idea 🙂 ?

---

<div class="post-metadata">

**Author:** ![Baldhor](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/baldhor/32/27028_2.png) [@Baldhor](https://community.homey.app/u/Baldhor)\
**Post date:** [July 19, 2024, 8:15pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/97 "2024-07-19T20:15:25Z")

</div>

> **[New: Custom Device Icons & Status Indicators](https://homey.app/en-us/news/new-custom-device-icons-status-indicators/)**

---

<div class="post-metadata">

**Author:** ![flowerpiece](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/flowerpiece/32/12477_2.png) [@flowerpiece](https://community.homey.app/u/flowerpiece)\
**Post date:** [July 19, 2024, 8:46pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/98 "2024-07-19T20:46:29Z")

</div>

Thanks, I know about that function 🙂 , but it says “status indicator None”, so i cannot select anything. How can i make it so there is something to choose from?

---

<div class="post-metadata">

**Author:** ![Baldhor](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/baldhor/32/27028_2.png) [@Baldhor](https://community.homey.app/u/Baldhor)\
**Post date:** [July 21, 2024, 10:26pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/99 "2024-07-21T22:26:29Z")

</div>

I’m not too sure, I tested this function with several type of indicator and it was working. Maybe you need to match the on/off switch to another type ?

---

<div class="post-metadata">

**Author:** ![flowerpiece](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/flowerpiece/32/12477_2.png) [@flowerpiece](https://community.homey.app/u/flowerpiece)\
**Post date:** [July 31, 2024, 6:38pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/100 "2024-07-31T18:38:21Z")

</div>

I followed the user guide for adding a read only value, but the app does not seem to select the “capability type”. Any idea what might be the problem?

Screen recording of the problem;

[![](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/4/a4f957233d9ecc9b4c352eb3c8488e973acf30ff.jpeg "Homey ESPHome app") ](https://www.youtube.com/watch?v=GKsbp6nA7Ns)

---

<div class="post-metadata">

**Author:** ![Jan\_Peeters](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jan_peeters/32/86660_2.png) [@Jan\_Peeters](https://community.homey.app/u/Jan_Peeters)\
**Post date:** [August 9, 2024, 11:15am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/101 "2024-08-09T11:15:39Z")

</div>

> [@Baldhor](#):
>
> move to another automation solution

Hi,  
What solution did you decide on in the end?  
I have the same situation. I use HomeAssistant for all integrations and Zigbee network.  
However, still on homey for their user interface. Really good “as is”.

[Previous page](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271.md?page=4)

[Next page](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271.md?page=6)
