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

<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:** [August 16, 2023, 7:17pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/1 "2023-08-16T19:17:36Z")

</div>

**This app is now out of support, if any developper is interrested to take it over, let me know!**

**/!\ This app is not compatible with ESPHome 2025.10 and newest version** because of an useless breaking change. Refer to [ESPHome 2025.10+ incompatibility · Issue #105 · Baldhor/Homey-ESPhome-Enhanced · GitHub](https://github.com/Baldhor/Homey-ESPhome-Enhanced/issues/105)

=\> Until someone propose a fix, fallback your devices to prior versions of ESPHome is you encounter the issue

Hello,  
Just add a topic to share about the ESPhome app for Homey.

> **[ESPhome | Homey](https://homey.app/fr-fr/app/nl.inversion.esphome/ESPhome/)**
>
> Control your ESP8266/ESP32 by simple configuration files.

It can handle many things: cover, sensor, switch, button, …  
But not all ESPhome entity types are supported yet, it all depends if there are any need for them.

**Currently supported ESPhome components**

- BinarySensor
- Button
- Climate
- Cover
- Light: onoff and brightness only
- Number
- Select
- Sensor
- Switch
- TextSensor

_I need logs or money to implement the others 🙂_  
[![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/5/15853ced9781cebddf81a396019cba1997092f6a.png)](https://www.paypal.com/paypalme/baldhors)

**I wrote a wiki to explain all the concepts, and it includes a user guide:**

> **[Home](https://github.com/Baldhor/Homey-ESPhome-Enhanced/wiki)**
>
> 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...

**Just to show off how the Wizard looks like:**

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

---

<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:** [August 20, 2023, 9:38am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/2 "2023-08-20T09:38:26Z")

</div>

Hi,  
I have tried to add a ESP8266 device but I get a message  
‘Could not connect to the device, or something went wrong’  
does it something to do with the code I use or with the board I use?

```auto
esphome:
  name: bed_sensor
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: "Wi-Fi-netwerk"
  password: "password"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Bed Sensor Fallback Hotspot"
    password: "gr5Bodv9My"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "MmnLzW2bDYDSLTtaO36eevqciNrIqeZnR50ZrsGLCf8="

ota:
  password: "password"

binary_sensor:
  - platform: gpio
    pin:
      number: D2
      mode: INPUT_PULLUP
      inverted: True
    filters:
      delayed_on_off: 60s
    name: "bed-links"
    device_class: occupancy
  - platform: gpio
    pin:
      number: D3
      mode: INPUT_PULLUP
      inverted: True
    filters:
      delayed_on_off: 60s
    name: "bed-rechts"
    device_class: occupancy

```

---

<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:** [August 20, 2023, 11:08am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/3 "2023-08-20T11:08:20Z")

</div>

> [@JeroenD](#):
>
> ```auto
> # Enable Home Assistant API
> api:
> encryption:
> key: "MmnLzW2bDYDSLTtaO36eevqciNrIqeZnR50ZrsGLCf8="
> 
> ```

Hello, yes probably because of the encryption key.  
Can you try without it?  
You can use a password:

```auto
api:
  password: !secret ota_password

```

I will check if I can add support for encryption key

NB: You published your encryption key on the web, you are good to change them lol

---

<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:** [August 20, 2023, 1:29pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/4 "2023-08-20T13:29:34Z")

</div>

Will try tonight, I’m at the beach right now  
It’s not the whole key you see there 😀

---

<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:** [August 20, 2023, 2:11pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/5 "2023-08-20T14:11:48Z")

</div>

@JeroenD encryption key are now supported : [ESPhome Appli pour Homey | Homey](https://homey.app/fr-fr/app/nl.inversion.esphome/ESPhome/test/)

---

<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:** [August 20, 2023, 5:17pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/6 "2023-08-20T17:17:22Z")

</div>

Hi @Baldhor, it works now. I have removed the encryption. I can’t [create](https://esphome.io/components/api.html?highlight=randomly%20generated) a encryption key without =.  
And it is not posable to paste the key with ‘=’ in the app.

Only think is I have now 2 devices with one sensor. Is it also possible to create one device with two sensors? The window to add the sensors is really small.

---

<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:** [August 20, 2023, 5:55pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/7 "2023-08-20T17:55:42Z")

</div>

> > I have removed the encryption. I can’t [create](https://esphome.io/components/api.html?highlight=randomly%20generated) a encryption key without =.

It was a small bug on my part, the input field was limited to 20 characters instead of 44 =\> new test version correct it!

> > Only think is I have now 2 devices with one sensor. Is it also possible to create one device with two sensors? The window to add the sensors is really small.

With the Wizard driver, you can create 2 “homey” devices linked to one physical device.  
But you cannot merge 2 physical devices into one “homey” device.

And yes, the wizard need to show lot of informations but the size available is small on a smartphone 🙂  
You can use your computer, and use a console command to double the driver window:

```auto
while (window.parent.document.querySelector("[data-is-small-view=true]") !== null) {document.querySelector("[data-is-small-view=true]").attributes["data-is-small-view"].nodeValue = "false";}

```

---

<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:** [August 20, 2023, 7:00pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/8 "2023-08-20T19:00:59Z")

</div>

> [@Baldhor](#):
>
> With the Wizard driver, you can create 2 “homey” devices linked to one physical device.  
> But you cannot merge 2 physical devices into one “homey” device.

And one physical device with two sensors in one “homey” device is that possible?  
Or only not two general alarm sensors.

---

<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:** [August 20, 2023, 7:13pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/9 "2023-08-20T19:13:16Z")

</div>

That’s 100% possible, I have a test device with over 20 differents entities (sensors, switch, cover, buttons, …), all matched in a single Homey device or not (depend which test I try to do).

---

<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:** [August 22, 2023, 4:35pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/10 "2023-08-22T16:35:43Z")

</div>

Indeed it works! Thank you

---

<div class="post-metadata">

**Author:** ![Robin\_van\_Kekem](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_van_kekem/32/8187_2.png) [@Robin\_van\_Kekem](https://community.homey.app/u/Robin_van_Kekem)\
**Post date:** [August 30, 2023, 1:52pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/11 "2023-08-30T13:52:01Z")

</div>

My ‘slimmelezer’ seems to be offline fairly quick after app restart.  
bf3603db-4508-457c-a787-ea89a88d770c

Console.re does not seem to work for me.

---

<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:** [August 30, 2023, 5:10pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/12 "2023-08-30T17:10:22Z")

</div>

I will take a look tonight

---

<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:** [August 30, 2023, 9:06pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/13 "2023-08-30T21:06:06Z")

</div>

Slimmelzer use DSMR component to connect to dutch whatever and obtain data.

In you rlog I can see:

```auto
2023-08-30T13:45:59.109Z [log] [ManagerDrivers] [Driver:esphome-device] [Device:c5b9067c-c545-40d6-8ff8-477bf824aa21] e[0;36m[D][text_sensor:064]: 'DSMR Identification': Sending state 'Ene5\T211 ESMR 5.0'e[0m
2023-08-30T13:45:59.116Z [log] [ManagerDrivers] [Driver:esphome-device] [Device:c5b9067c-c545-40d6-8ff8-477bf824aa21] e[0;36m[D][text_sensor:064]: 'DSMR Version': Sending state '50'e[0m
2023-08-30T13:45:59.121Z [log] [ManagerDrivers] [Driver:esphome-device] [Device:c5b9067c-c545-40d6-8ff8-477bf824aa21] e[0;33m[W][component:204]: Component dsmr took a long time for an operation (0.06 s).e[0m
2023-08-30T13:45:59.158Z [log] [ManagerDrivers] [Driver:esphome-device] [Device:c5b9067c-c545-40d6-8ff8-477bf824aa21] Device slimmelezer disconnected
...
30 seconds later (which match the reconnection delay!)
...
2023-08-30T13:46:29.217Z [log] [ManagerDrivers] [Driver:esphome-device] [Device:c5b9067c-c545-40d6-8ff8-477bf824aa21] e[0;33m[W][component:205]2	slimmelezer (esphome v2023.8.2)"slimmele
2023-08-30T13:46:29.219Z [log] [ManagerDrivers] [Driver:esphome-device] [Device:c5b9067c-c545-40d6-8ff8-477bf824aa21] Error on device slimmelezer: Error: Bad format. Expected 0 at the begin
    at PlaintextFrameHelper.deserialize (/node_modules/@2colors/esphome-native-api/lib/utils/plaintextFrameHelper.js:33:19)
    at PlaintextFrameHelper.onData (/node_modules/@2colors/esphome-native-api/lib/utils/plaintextFrameHelper.js:55:36)
    at Socket.<anonymous> (/node_modules/@2colors/esphome-native-api/lib/utils/plaintextFrameHelper.js:7:47)
    at Socket.emit (node:events:526:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23)

---- stderr ----

```

In my current understanding, the connection between your device and the dutch whatever gone wrong, and your device crash/reboot.  
At reconnection, it sent a ‘strange’ message to homey which resulted in a bad handling …

kind of a bug chain: bug → worst bug → even worst

You are currently using the old (deprecated driver) for your device, possible to migrate to the wizard driver?  
You need to remove your device and redo it using the wizard …  
I’m sorry I know it will break some of your flows if any …  
But the wizard offer more possibilities and much much more logs …

Remark: I don’t think migration to the wizard will solve the problem, but more logs should help understand and fix it!

As about console.re, there are no reason for it not to work as expected.  
Can you try to open the app settings, disable it, save, enable it again, save!  
(It will force renew the connection)

---

<div class="post-metadata">

**Author:** ![Robin\_van\_Kekem](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_van_kekem/32/8187_2.png) [@Robin\_van\_Kekem](https://community.homey.app/u/Robin_van_Kekem)\
**Post date:** [September 6, 2023, 6:16pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/14 "2023-09-06T18:16:10Z")

</div>

I did not see your message here, I’m sorry for the delay.

Here the crash with the new device  
caa999c9-66fa-495a-a3e4-f2ac212c0a3d

---

<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:** [September 7, 2023, 11:50am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/15 "2023-09-07T11:50:36Z")

</div>

@Robin_van_Kekem I’m a little naked on this one.

Please open an issue in the github and include your yml configuration!

At start everythings looks fine, then your device seems to “crash”, and when reconnecting, it sends “bad format” message.  
I do not have a slimmezer, so I can’t do a lot here.

1/ Can you check your device configuration: [DSMR Component — ESPHome](https://esphome.io/components/sensor/dsmr.html)  
 → Which version you have, …

2/ I noticed you don’t use encryptionKey, maybe it could change the behaviour ?  
=\> Can you enable encryption and try ?

```auto
api:
  encryption:
    key: !secret api_encryption_key

```

---

<div class="post-metadata">

**Author:** ![Robin\_van\_Kekem](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robin_van_kekem/32/8187_2.png) [@Robin\_van\_Kekem](https://community.homey.app/u/Robin_van_Kekem)\
**Post date:** [September 7, 2023, 2:48pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/16 "2023-09-07T14:48:24Z")

</div>

Offcourse: [Slimmelezer ESP device keeps crashing periodically · Issue #35 · Baldhor/Homey-ESPhome-Enhanced · GitHub](https://github.com/Baldhor/Homey-ESPhome-Enhanced/issues/35)

Thanks for lookin into this. 👌

---

<div class="post-metadata">

**Author:** ![Nettopp](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nettopp/32/80323_2.png) [@Nettopp](https://community.homey.app/u/Nettopp)\
**Post date:** [September 14, 2023, 7:47pm UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/17 "2023-09-14T19:47:45Z")

</div>

I have recently set up an ESPhome connected to my Panasonic heat pump, and originally planned to control it with MQTT, based on this project: [GitHub - DomiStyle/esphome-panasonic-ac: Open source alternative for Panasonic air condition wifi adapters that works locally without the Comfort Cloud](https://github.com/DomiStyle/esphome-panasonic-ac)

When i access the ESPhome web UI i can see the different controls for the heat pump:

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

However, when i connect to the ESPhome from the Homey App, only the temperature is available in the list of native capabilities.

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

Is this because the climate component is not added to the app, or is there anything i can do to correct this myself?

My yaml file:

```auto
esphome:
  name: panasonic-ac
  platform: ESP32
  board: nodemcu-32s

wifi:
  ssid: "xx"
  password: "xx"

logger:
  level: DEBUG
# baud_rate: 0 # ESP8266 only

api:

ota:

# mqtt:
# broker: 192.168.1.102

web_server:
  port: 80

# Requires ESPHome 1.15.0+ for the even parity option
uart:
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 9600
  parity: EVEN

external_components:
  source: github://DomiStyle/esphome-panasonic-ac
  components: [panasonic_ac]

climate:
  - platform: panasonic_ac
    # For CZ-TACG1
    type: cnt

    # For DNSK-P11
    # type: wlan

    name: Panasonic AC
    horizontal_swing_select:
      name: Panasonic AC Horizontal Swing Mode
    vertical_swing_select:
      name: Panasonic AC Vertical Swing Mode
    outside_temperature:
      name: Panasonic AC Outside Temperature

    # Enable as needed
    # eco_switch:
    # name: Panasonic AC Eco Switch
    econavi_switch:
      name: Panasonic AC Econavi Switch
    # nanoex_switch:
    # name: Panasonic AC NanoeX Switch
    # mild_dry_switch:
    # name: Panasonic AC Mild Dry Switch
    current_power_consumption:
      name: Panasonic AC Power Consumption

    # Useful when the ac does not report a current temperature (CZ-TACG1 only)
    # current_temperature_sensor: temperature_sensor_id

```

---

<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:** [September 15, 2023, 7:33am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/18 "2023-09-15T07:33:42Z")

</div>

@Nettopp Hello, Climate component are handled at low level client, but not in the app, I need logs to add support for it.

You need to enable console.re in app setting, and collect the “Received a newentity:,Object{7}”  
Once I have the logs, it should take about 1h to implement it.

Please open an enhancement request in github: [Issues · Baldhor/Homey-ESPhome-Enhanced · GitHub](https://github.com/Baldhor/Homey-ESPhome-Enhanced/issues)

It looks like this:

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

Remark: I am surprised you do not have at least the swiotch and the power consumption in the list …

---

<div class="post-metadata">

**Author:** ![Nettopp](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/nettopp/32/80323_2.png) [@Nettopp](https://community.homey.app/u/Nettopp)\
**Post date:** [September 15, 2023, 10:48am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/19 "2023-09-15T10:48:20Z")

</div>

> [@Baldhor](#):
>
> newentity

Thank you for the detailed description, I have opened a request at github.  
You are right, the power consumption and the econavi switch is in the list now, I might have forgotten to uncomment those earlier.

---

<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:** [September 26, 2023, 12:50am UTC](https://community.homey.app/t/app-pro-esphome-control-your-esp8266-esp32-by-simple-configuration-files/87271/20 "2023-09-26T00:50:32Z")

</div>

> [@Baldhor](#):
>
> ```auto
> while (window.parent.document.querySelector("[data-is-small-view=true]") !== null) {document.querySelector("[data-is-small-view=true]").attributes["data-is-small-view"].nodeValue = "false";}
> 
> ```

Great find! 🥳

Nice app! I managed to add my ESPhome devices to Homey and wrote [a little how-to](https://community.homey.app/t/how-to-pro-using-esphome-devices-no-additional-hardware/90258).

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