Need help installing ESPHome on a MagicHome Controller

Using this guide I soldered wires to my magichome controller but when I got to install ESPHome I got a compiling error. I’m on windows 10 using Python 3.8.5. Any help would be appreciated. Here is the error:

C:\Users\david>esphome esphome.txt run
e[32mINFO Reading configuration esphome.txt...e[0m
e[32mINFO Generating C++ source...e[0m
e[32mINFO Compiling app...e[0m
e[32mINFO Running:  platformio run -d magichome_led_stripe[0m
Processing magichome_led_strip (board: esp01_1m; framework: arduino; platform: [email protected])
--------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp01_1m.html
PLATFORM: Espressif 8266 2.2.3 > Espressif Generic ESP8266 ESP-01 1M
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
PACKAGES:
 - framework-arduinoespressif8266 2.20502.0 (2.5.2)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.20600.0 (2.6.0)
 - toolchain-xtensa 2.100100.200706 (10.1.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Looking for Update library in registry
Warning! Library `{'name': 'Update', 'requirements': None}` has not been found in PlatformIO Registry.
You can ignore this message, if `{'name': 'Update', 'requirements': None}` is a built-in library (included in framework, SDK). E.g., SPI, Wire, etc.
Found 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESPAsyncTCP-esphome> 1.2.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
Building in release mode
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\api_connection.cpp.o
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\api_pb2.cpp.o
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\api_pb2_service.cpp.o
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\api_server.cpp.o
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\list_entities.cpp.o
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\proto.cpp.o
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\subscribe_state.cpp.o
Compiling .pioenvs\magichome_led_strip\src\esphome\components\api\user_services.cpp.o
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\proto.h:3,
                 from src\esphome\components\api\api_pb2.h:3,
                 from src\esphome\components\api\api_pb2.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\proto.h:3,
                 from src\esphome\components\api\api_pb2.h:3,
                 from src\esphome\components\api\api_pb2_service.h:3,
                 from src\esphome\components\api\api_pb2_service.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\api_connection.h:3,
                 from src\esphome\components\api\api_connection.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\api_server.h:3,
                 from src\esphome\components\api\api_server.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\list_entities.h:3,
                 from src\esphome\components\api\list_entities.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\user_services.h:3,
                 from src\esphome\components\api\user_services.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\proto.h:3,
                 from src\esphome\components\api\proto.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src\esphome\components\api\subscribe_state.h:3,
                 from src\esphome\components\api\subscribe_state.cpp:1:
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
C:\Users\david\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src\esphome\components\api\api_server.h:12,
                 from src\esphome\components\api\api_connection.h:7,
                 from src\esphome\components\api\api_connection.cpp:1:
src\esphome\components\api\homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src\esphome\components\api\homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src\esphome\components\api\api_server.h:9,
                 from src\esphome\components\api\api_connection.h:7,
                 from src\esphome\components\api\api_connection.cpp:1:
src\esphome\components\api\util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src\esphome\components\api\api_server.h:12,
                 from src\esphome\components\api\api_server.cpp:1:
src\esphome\components\api\homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src\esphome\components\api\homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src\esphome\components\api\api_server.h:9,
                 from src\esphome\components\api\api_server.cpp:1:
src\esphome\components\api\util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src\esphome\components\api\api_server.h:12,
                 from src\esphome\components\api\list_entities.h:52,
                 from src\esphome\components\api\list_entities.cpp:1:
src\esphome\components\api\homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src\esphome\components\api\homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src\esphome\components\api\list_entities.h:5,
                 from src\esphome\components\api\list_entities.cpp:1:
src\esphome\components\api\util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src\esphome\components\api\api_server.h:12,
                 from src\esphome\components\api\subscribe_state.h:47,
                 from src\esphome\components\api\subscribe_state.cpp:1:
src\esphome\components\api\homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src\esphome\components\api\homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src\esphome\components\api\subscribe_state.h:6,
                 from src\esphome\components\api\subscribe_state.cpp:1:
src\esphome\components\api\util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\api_pb2_service.cpp.o] Error 1
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\proto.cpp.o] Error 1
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\user_services.cpp.o] Error 1
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\subscribe_state.cpp.o] Error 1
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\list_entities.cpp.o] Error 1
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\api_pb2.cpp.o] Error 1
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\api_connection.cpp.o] Error 1
*** [.pioenvs\magichome_led_strip\src\esphome\components\api\api_server.cpp.o] Error 1
====================================== [FAILED] Took 8.61 seconds ======================================

TIA

I had this same problem today. My configuration is the same as yours.

Apparently esphome installs a very old version of the esp8266 platform.

I solved installing VS Code / Platform.io and updating the ESP8266 Platform on Platformio.

This helped me. Run in the python command line:

[code]platformio platform update[\code]

1 Like

Thanks that got me a bit closer. Now I’m getting an error when it tries to send it to the device:

Found multiple options, please choose one:
  [1] COM5 (USB-SERIAL CH340 (COM5))
  [2] Over The Air (magichome_led_strip.local)
(number): 1
e[32mINFO Running:  esptool.py --before default_reset --after hard_reset --baud 460800 --chip esp8266 --port COM5 write_flash 0x0 'magichome_led_strip\.pioenvs\magichome_led_strip\firmware.bin'e[0m
esptool.py v2.8
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
e[32mINFO Upload with baud rate 460800 failed. Trying again with baud rate 115200.e[0m
e[32mINFO Running:  esptool.py --before default_reset --after hard_reset --baud 115200 --chip esp8266 --port COM5 write_flash 0x0 'magichome_led_strip\.pioenvs\magichome_led_strip\firmware.bin'e[0m
esptool.py v2.8
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP8266: Timed out waiting for packet header

Does this mean my solders are bad or is there something else to try?

Just want to bump that I’m also having this very weird issue, however the command from lukie80 didn’t help as esphome decides that it wants to downgrade the related libraries anyway.

Ok so here’s my fix. It’s clear that the issue right now is that, for some reason, the esphome library is trying to use Espressif8266 v2.2.3, and that’s breaking something for some reason. Here’s how I fixed that:

  • I greped for all occurrences of 2.2.3 (you have to remember to escape the period, so my grep command was grep -r "2\.2\.3" * in case the situation changesp) This gave me a few occurrances:
    • findphone/platformio.ini and findphone/src/main.cpp - Pretty sure these are re-created by esphome every run, so I ignored these
    • venv/lib/python3.6/site-packages/esphome/const.py:ARDUINO_VERSION_ESP8266_2_5_2 = '[email protected]' - This is probably referenced in other places, so I just went in and changed '[email protected]' to '[email protected]' (pretty sure 2.6.1 is latest, but it defo worked, so it’s good enough™)
    • venv/lib/python3.6/site-packages/esphome/core_config.py - Has 2 occurrences in a dictionary pretty close to the start of the file. Look for '2.5.2': '[email protected]' and 'RECOMMENDED': '[email protected]', and change the value (the [email protected] part) to [email protected].
    • venv/lib/python3.6/site-packages/esphome/__pythoncache__/* - Had a few occurrances, just delete the whole pycache folder to be safe. It won’t have any negative side effects, other than a few more ms the next time you run it
  • I then ran esphome <file>.yaml run and it worked!!!

If I had to bet, it was probably the RECOMMENDED key, although I really don’t know for sure. What a weird bug!

ps: here’s my whole error in case it helps someone else find this on google:

INFO Generating C++ source...
INFO Compiling app...
INFO Running:  platformio run -d findphone
Processing findphone (board: esp12e; framework: arduino; platform: [email protected])
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
 - framework-arduinoespressif8266 2.20502.0 (2.5.2)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.20600.0 (2.6.0)
 - toolchain-xtensa 2.100100.200706 (10.1.0)
Dependency Graph
|-- <ESPAsyncTCP-esphome> 1.2.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESPAsyncWebServer-esphome> 1.2.6
|   |-- <ESPAsyncTCP-esphome> 1.2.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <Hash> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <DNSServer> 1.1.1
|   |-- <ESP8266WiFi> 1.0
Compiling .pioenvs/findphone/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/api/util.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/captive_portal/captive_portal.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/findphone/src/esphome/components/ota/ota_component.cpp.o
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/proto.h:3,
                 from src/esphome/components/api/api_pb2.h:3,
                 from src/esphome/components/api/api_pb2.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/proto.h:3,
                 from src/esphome/components/api/api_pb2.h:3,
                 from src/esphome/components/api/api_pb2_service.h:3,
                 from src/esphome/components/api/api_pb2_service.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/proto.h:3,
                 from src/esphome/components/api/proto.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/user_services.h:3,
                 from src/esphome/components/api/user_services.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/api_connection.h:3,
                 from src/esphome/components/api/api_connection.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/api_server.h:3,
                 from src/esphome/components/api/api_server.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/list_entities.h:3,
                 from src/esphome/components/api/list_entities.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from /home/cobular/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/stdlib.h:18,
                 from /home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/WString.h:26,
                 from /home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Print.h:26,
                 from /home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Stream.h:26,
                 from /home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Udp.h:38,
                 from /home/cobular/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi/src/WiFiUdp.h:25,
                 from /home/cobular/.platformio/packages/framework-arduinoespressif8266/libraries/DNSServer/src/DNSServer.h:3,
                 from src/esphome/components/captive_portal/captive_portal.h:3,
                 from src/esphome/components/captive_portal/captive_portal.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/reent.h:405:11: warning: unnecessary parentheses in declaration of '_sig_func' [-Wparentheses]
  405 |   void (**(_sig_func))(int);
      |           ^
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/api/subscribe_state.h:3,
                 from src/esphome/components/api/subscribe_state.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
*** [.pioenvs/findphone/src/esphome/components/api/proto.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/api/api_pb2_service.cpp.o] Error 1
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/logger/logger.h:3,
                 from src/esphome/components/logger/logger.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
In file included from src/esphome/components/api/api_server.h:12,
                 from src/esphome/components/api/api_connection.h:7,
                 from src/esphome/components/api/api_connection.cpp:1:
src/esphome/components/api/homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src/esphome/components/api/homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src/esphome/components/api/api_server.h:9,
                 from src/esphome/components/api/api_connection.h:7,
                 from src/esphome/components/api/api_connection.cpp:1:
src/esphome/components/api/util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src/esphome/components/api/api_server.h:12,
                 from src/esphome/components/api/api_server.cpp:1:
src/esphome/components/api/homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src/esphome/components/api/homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src/esphome/components/api/api_server.h:9,
                 from src/esphome/components/api/api_server.cpp:1:
src/esphome/components/api/util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src/esphome/components/api/api_server.h:12,
                 from src/esphome/components/api/list_entities.h:52,
                 from src/esphome/components/api/list_entities.cpp:1:
src/esphome/components/api/homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src/esphome/components/api/homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src/esphome/components/api/list_entities.h:5,
                 from src/esphome/components/api/list_entities.cpp:1:
src/esphome/components/api/util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src/esphome/components/api/api_server.h:12,
                 from src/esphome/components/api/subscribe_state.h:47,
                 from src/esphome/components/api/subscribe_state.cpp:1:
src/esphome/components/api/homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src/esphome/components/api/homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src/esphome/components/api/subscribe_state.h:6,
                 from src/esphome/components/api/subscribe_state.cpp:1:
src/esphome/components/api/util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src/esphome/core/esphal.h:3,
                 from src/esphome/core/helpers.h:10,
                 from src/esphome/components/api/util.h:3,
                 from src/esphome/components/api/util.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
*** [.pioenvs/findphone/src/esphome/components/api/user_services.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/api/api_pb2.cpp.o] Error 1
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/ota/ota_component.h:3,
                 from src/esphome/components/ota/ota_component.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
*** [.pioenvs/findphone/src/esphome/components/logger/logger.cpp.o] Error 1
In file included from src/esphome/components/api/api_server.h:12,
                 from src/esphome/components/api/util.cpp:2:
src/esphome/components/api/homeassistant_service.h: In member function 'void esphome::api::HomeAssistantServiceCallAction<Ts>::play(Ts ...)':
src/esphome/components/api/homeassistant_service.h:54:18: warning: invalid use of incomplete type 'class esphome::api::APIServer'
   54 |     this->parent_->send_homeassistant_service_call(resp);
      |                  ^~
In file included from src/esphome/components/api/util.cpp:1:
src/esphome/components/api/util.h:13:7: note: forward declaration of 'class esphome::api::APIServer'
   13 | class APIServer;
      |       ^~~~~~~~~
In file included from src/esphome/core/component.h:5,
                 from src/esphome/components/captive_portal/captive_portal.h:4,
                 from src/esphome/components/captive_portal/captive_portal.cpp:1:
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:270:12: error: 'isinf' has not been declared in 'std'
  270 | using std::isinf;
      |            ^~~~~
/home/cobular/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:271:12: error: 'isnan' has not been declared in 'std'
  271 | using std::isnan;
      |            ^~~~~
*** [.pioenvs/findphone/src/esphome/components/api/list_entities.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/api/api_connection.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/api/subscribe_state.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/api/api_server.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/api/util.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/ota/ota_component.cpp.o] Error 1
*** [.pioenvs/findphone/src/esphome/components/captive_portal/captive_portal.cpp.o] Error 1

pps: here’s my pip freeze in case you want to compare versions:

certifi==2020.6.20
chardet==3.0.4
click==7.1.2
colorama==0.4.3
colorlog==4.1.0
ecdsa==0.15
esphome==1.14.5
esptool==2.8
idna==2.10
ifaddr==0.1.6
marshmallow==3.7.1
paho-mqtt==1.5.0
pkg-resources==0.0.0
platformio==4.3.4
protobuf==3.11.3
pyaes==1.6.1
pyelftools==0.26
pyserial==3.4
pytz==2020.1
PyYAML==5.3.1
requests==2.24.0
semantic-version==2.8.5
six==1.15.0
tabulate==0.8.7
tornado==5.1.1
tzlocal==2.0.0
urllib3==1.25.10
voluptuous==0.11.7```

Never mind I swapped the rx and tx and that fixed the problem