# \[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:** 3

<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:** [January 17, 2024, 11:03pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/41 "2024-01-17T23:03:00Z")

</div>

If I may interfere:  
To me: ESPeasy = very complicated  
ESPhome = quite easy

---

<div class="post-metadata">

**Author:** ![Michiel\_M](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michiel_m/32/67732_2.png) [@Michiel\_M](https://community.homey.app/u/Michiel_M)\
**Post date:** [January 25, 2024, 11:18am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/42 "2024-01-25T11:18:19Z")

</div>

😀👍

---

<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:** [January 28, 2024, 1:01am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/43 "2024-01-28T01:01:41Z")

</div>

Well your question is not (I think) about the ESPhome or ESPeasy firmware, but more likely about the Homey app.  
I wrote a wiki, which describe the logic behind the app I made, a user guide and lot of screenshots 🙂

---

<div class="post-metadata">

**Author:** ![JeroenD](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jeroend/32/14297_2.png) [@JeroenD](https://community.homey.app/u/JeroenD)\
**Post date:** [February 1, 2024, 8:48am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/44 "2024-02-01T08:48:48Z")

</div>

Hi,  
I have a ESPhome device for controlling my bathroom fan.  
I have added to Homey but in the flows I can only select one switch.

Is it possible to add a button or a list to change the speed of the fan.  
Also it is not possible to use the textSensor component.  
I want to use it for the actual speed of the fan.

```auto
- platform: custom
  lambda: |-
    auto fansendstandby = new FanSendStandby();
    App.register_component(fansendstandby);
    return {fansendstandby};
  switches:
    name: "FanSendStandby"
    id: swfan_standby
    icon: mdi:fan
    
- platform: custom
  lambda: |-
    auto fansendlow = new FanSendLow();
    App.register_component(fansendlow);
    return {fansendlow};
  switches:
    name: "FanSendLow"
    id: swfan_low
    icon: mdi:fan

- platform: custom
  lambda: |-
    auto fansendmedium = new FanSendMedium();
    App.register_component(fansendmedium);
    return {fansendmedium};
  switches:
    name: "FanSendMedium"
    id: swfan_medium
    icon: mdi:fan

- platform: custom
  lambda: |-
    auto fansendhigh = new FanSendHigh();
    App.register_component(fansendhigh);
    return {fansendhigh};
  switches:
    name: "FanSendHigh"
    id: swfan_high
    icon: mdi:fan

text_sensor:
- platform: custom
  lambda: |-
    auto fanrecv = new FanRecv();
    App.register_component(fanrecv);
    return {fanrecv->fanspeed,fanrecv->fantimer,fanrecv->Lastid};
  text_sensors:
    - name: "FanSpeed"
      icon: "mdi:transfer"  
    - name: "FanTimer"
      icon: "mdi:timer"
    - name: "fanLastID"
      icon: "mdi:id-card"

```

---

<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:** [February 3, 2024, 12:05am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/45 "2024-02-03T00:05:42Z")

</div>

@JeroenD For me, you should use the select component, then mapping to the Homey app will be much easier: [Select Component — ESPHome](https://esphome.io/components/select/index.html)

---

<div class="post-metadata">

**Author:** ![JeroenD](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jeroend/32/14297_2.png) [@JeroenD](https://community.homey.app/u/JeroenD)\
**Post date:** [February 3, 2024, 7:40am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/46 "2024-02-03T07:40:27Z")

</div>

Thanks, i will look for that!

---

<div class="post-metadata">

**Author:** ![SvenRhein](https://avatars.discourse-cdn.com/v4/letter/s/e495f1/32.png) [@SvenRhein](https://community.homey.app/u/SvenRhein)\
**Post date:** [February 11, 2024, 9:52am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/47 "2024-02-11T09:52:35Z")

</div>

Can someone help me with the integration of this device, please? I can’t find a way to include the switch - only see sensors here…

> **[ESP32-C3 EU Plug For ESPHome | athom](https://www.athom.tech/blank-1/esp32-c3-eu-plug-for-esphome)**
>
> Pre Flashed ESPHome ESP32-C3 EU Plug Cosumption monitoring The measurement error of active power about 0.2%The measurement error of effective current is 0.5%The measurement error of effective voltage is 0.5% Build in ESP32-C3 chipset with 4M flash...

(great device because it can handle 16A)

---

<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:** [February 12, 2024, 9:18am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/48 "2024-02-12T09:18:55Z")

</div>

I do not see any reason it would not appear.  
Open a github ticket and provide the logs …

---

<div class="post-metadata">

**Author:** ![SvenRhein](https://avatars.discourse-cdn.com/v4/letter/s/e495f1/32.png) [@SvenRhein](https://community.homey.app/u/SvenRhein)\
**Post date:** [February 13, 2024, 10:23am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/49 "2024-02-13T10:23:13Z")

</div>

I created a device in homey via the esphome way:

1. created a physical device

2. created a virtual device

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

1. added capabilities

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

but I do not see a type “button”

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

---

<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:** [February 13, 2024, 5:14pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/50 "2024-02-13T17:14:54Z")

</div>

Probably because of this:  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/0/e015fc663b93555658fe684aa0848c99179b814e.png)

Two capabilities have the same name seems …

Can you colelct the debug info and open an issue:

> **[User Guide](https://github.com/Baldhor/Homey-ESPhome-Enhanced/wiki/User-Guide#manage-your-physical-devices-page)**
>
> 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...

> **[Build software better, together](https://github.com/Baldhor/Homey-ESPhome-Enhanced/issues/new/choose)**
>
> GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.

---

<div class="post-metadata">

**Author:** ![Patrick\_85](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/patrick_85/32/138056_2.png) [@Patrick\_85](https://community.homey.app/u/Patrick_85)\
**Post date:** [February 16, 2024, 8:29am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/51 "2024-02-16T08:29:37Z")

</div>

@Baldhor Can you send me in the right way to find out what the reason could be that the app shows me that all the devices are offline.  
When i reset the app everything works again.  
I checked if the signal is good enough and with that i cant find the error.  
If i cant find it can i implement a flow to reset the app every 24 hours or so?

---

<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:** [February 16, 2024, 10:53am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/52 "2024-02-16T10:53:49Z")

</div>

@Patrick_85  
1/ Is console.re enabled?  
It has a memory leak, so it should only be enabled when needed to collect additional logs

2/ The reconnection feature is working as far as I know  
My devices run smoothly since months now …

3/ open a ticket in the github projet

> **[Build software better, together](https://github.com/Baldhor/Homey-ESPhome-Enhanced/issues/new/choose)**
>
> GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.

and do not forget to collect the debug info from the wizard (in the manage physical devices view).

4/ I will probably ask you to enable console.re for additional logs

---

<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:** [February 16, 2024, 12:13pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/53 "2024-02-16T12:13:37Z")

</div>

@SvenRhein So actually, the problem is that the application is not informed that the native entity exist …  
I’m unsure why to be honest …

But I can propose you a work around …

You need to modify the yaml configuration of the device to add another entity  
=\> It will act as a bridge

Hopefully, you know how to modify the yaml file, compile it, and upload it inside your device …

```auto
switch:
  - platform: gpio
    name: "Power"
    pin: GPIO5
    id: relay
    restore_mode: ${relay_restore_mode}

```

should become:

```auto
switch:
  - platform: gpio
    pin: GPIO5
    id: relay
    restore_mode: ${relay_restore_mode}

  - platform: template
    name: "Power"
    id: relay_bridge
    optimistic: true
    restore_mode: ${relay_restore_mode}
    turn_on_action:
      - switch.turn_on: relay
    turn_off_action:
      - switch.turn_off: relay

```

---

<div class="post-metadata">

**Author:** ![Patrick\_85](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/patrick_85/32/138056_2.png) [@Patrick\_85](https://community.homey.app/u/Patrick_85)\
**Post date:** [February 16, 2024, 1:03pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/55 "2024-02-16T13:03:43Z")

</div>

> [@Baldhor](#):
>
> The reconnection feature

i did send you the log in pm and also the code for the debug log in PM

---

<div class="post-metadata">

**Author:** ![SvenRhein](https://avatars.discourse-cdn.com/v4/letter/s/e495f1/32.png) [@SvenRhein](https://community.homey.app/u/SvenRhein)\
**Post date:** [February 16, 2024, 1:39pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/56 "2024-02-16T13:39:20Z")

</div>

to be honest - no - I do not know

---

<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:** [February 16, 2024, 1:57pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/57 "2024-02-16T13:57:04Z")

</div>

@Peter_Kawa You think you could explain how to update yaml config of a device, compile it and upload it?  
To be honest, I’m unsure the way I do it is the best one, so I’m asking you in the purpose to also compare with your way 🙂

---

<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:** [February 16, 2024, 2:00pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/58 "2024-02-16T14:00:27Z")

</div>

For info, here is how I do it:

```auto
Install python : 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

```

edit: updated the how to, now using latest version of esphome (just a little more simple)

---

<div class="post-metadata">

**Author:** ![Patrick\_85](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/patrick_85/32/138056_2.png) [@Patrick\_85](https://community.homey.app/u/Patrick_85)\
**Post date:** [February 18, 2024, 8:12am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/59 "2024-02-18T08:12:09Z")

</div>

To bad the update don’t work for me.

 ![IMG_1481](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/f/5f53d268fc08466473c014f651d241aa06bdb6ac.jpeg)

Then when I reset the app everything is working again.

---

<div class="post-metadata">

**Author:** ![Peter\_Hendrix](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_hendrix/32/8090_2.png) [@Peter\_Hendrix](https://community.homey.app/u/Peter_Hendrix)\
**Post date:** [February 18, 2024, 12:47pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/60 "2024-02-18T12:47:02Z")

</div>

@Baldhor , great work, just donated some drinking-money. Thanks again!

---

<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:** [February 18, 2024, 2:35pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/61 "2024-02-18T14:35:17Z")

</div>

I uploaded to git the firmware for athom-smart-plug-v3 with a fix:

> <https://github.com/Baldhor/Homey-ESPhome-Enhanced/tree/main/esphome-binary/athom-smart-plug-v3>
>
> //github.com/Baldhor/Homey-ESPhome-Enhanced/tree/main/esphome-binary/athom-smart-plug-v3

You can just upload it to your device using the webserver

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

If it fix your problem, a beer is welcome 🙂

edit: I’m 100% sure it will not break your device, but I’m only 99% sure it will fix your issue 🙂

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

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