geoffdavis / esphome-mitsubishiheatpump

ESPHome Climate Component for Mitsubishi Heatpumps using direct serial connection
BSD 2-Clause "Simplified" License
560 stars 153 forks source link

ESP32 online but can't connect after mitsubishiheatpump config install #66

Closed Iddref closed 2 years ago

Iddref commented 2 years ago

Hi,

A few months ago I used the "esphome-mitsubishiheatpump" example configuration shown in the wiki page to set up a controller for my mitsubishi AC. Everything worked perfectly and still does. Since I was so happy with the result I had another Mitsubishi heatpump installed and wanted to reproduce the setup and make a second ESP32 controller. I have copied the exact same configuration (with the climat component) from the working ESP32 to a new ESP32, but after upload the ESP32 can't connect (Error 111 :WARNING Can't connect to ESPHome API for living-room-ac.local). The strange thing is that the ESP32 is still online and I can still do OTA updates. To rule out that it is an issue with my ESP32 I installed a config with the Midea Climat component for testing and this worked fine, i.e. after upload the ESP32 connects and I can see the midea climat entity in Home Assistant.

Does anyone have ideas of what the issue could be and how to resolve it? I have updated esphome from 2022.4.2 to 2022.6.2 since I installed the first ESP32 which is still working (with the mitsubishi_heatpump component), however since I have encountered this issue, I have reverted back to 2022.4.2 but same issue persist. Again the first ESP32 set up under 2022.4.2 is still working.

Config and install log below:

esphome:
  name: "living-room-ac"

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "xxxxxxx"
    password: "xxxxxxxx"

captive_portal:

external_components:
  - source: github://geoffdavis/esphome-mitsubishiheatpump

climate:
  - platform: mitsubishi_heatpump
    name: "${friendly_name}"

    # ESP32 only - change UART0 to UART1 or UART2 and remove the
    # logging:baud_rate above to allow the built-in UART0 to function for
    # logging.
    hardware_uart: UART2

INFO Reading configuration /config/esphome/living-room-ac.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing living-room-ac (board: esp32dev; framework: arduino; platform: platformio/espressif32 @ 3.5.0)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Library Manager: Installing git+https://github.com/SwiCago/HeatPump
git version 2.30.2
Cloning into '/data/cache/platformio/cache/tmp/pkg-installing-6fhs1nak'...
Library Manager: HeatPump @ 1.0.0+sha.ca4b8f9 has been installed!
Dependency Graph
|-- <AsyncTCP-esphome> 1.2.2
|-- <WiFi> 1.0
|-- <FS> 1.0
|-- <Update> 1.0
|-- <ESPAsyncWebServer-esphome> 2.1.0
|   |-- <AsyncTCP-esphome> 1.2.2
|-- <DNSServer> 1.1.0
|-- <ESPmDNS> 1.0
|-- <HeatPump> 1.0.0+sha.ca4b8f9
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/api_connection.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/api_frame_helper.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/api_pb2.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/api_pb2_service.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/api_server.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/list_entities.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/proto.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/subscribe_state.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/api/user_services.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/captive_portal/captive_portal.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/climate/climate.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/climate/climate_mode.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/climate/climate_traits.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/esp32/core.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/esp32/gpio_arduino.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/esp32/gpio_idf.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/esp32/preferences.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/logger/logger.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/md5/md5.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/mdns/mdns_component.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/mdns/mdns_esp_idf.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/mitsubishi_heatpump/espmhp.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/network/util.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/ota/ota_component.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
In file included from src/esphome/components/climate/climate.h:7:0,
                 from src/esphome/core/application.h:31,
                 from src/esphome/components/api/api_connection.h:4,
                 from src/esphome.h:3,
                 from src/esphome/components/mitsubishi_heatpump/espmhp.h:20,
                 from src/esphome/components/mitsubishi_heatpump/espmhp.cpp:20:
src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::hpSettingsChanged()':
src/esphome/core/log.h:105:99: warning: format '%i' expects argument of type 'int', but argument 5 has type 'esphome::optional<esphome::climate::ClimateFanMode>' [-Wformat=]
   esp_log_printf_(ESPHOME_LOG_LEVEL_INFO, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
                                                                                                   ^
src/esphome/core/log.h:150:28: note: in expansion of macro 'esph_log_i'
 #define ESP_LOGI(tag, ...) esph_log_i(tag, __VA_ARGS__)
                            ^
src/esphome/components/mitsubishi_heatpump/espmhp.cpp:331:5: note: in expansion of macro 'ESP_LOGI'
     ESP_LOGI(TAG, "Fan mode is: %i", this->fan_mode);
     ^
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/socket/socket.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/web_server_base/web_server_base.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/wifi/wifi_component.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/application.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/color.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/component.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/component_iterator.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/controller.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/entity_base.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/helpers.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/log.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/scheduler.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/esphome/core/util.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/src/main.cpp.o
Generating partitions /data/living-room-ac/.pioenvs/living-room-ac/partitions.bin
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib528/AsyncTCP-esphome/AsyncTCP.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/ETH.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFi.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiAP.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiClient.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/lib528/libAsyncTCP-esphome.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiGeneric.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiMulti.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiSTA.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiScan.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiServer.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib64d/WiFi/WiFiUdp.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib01c/FS/FS.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib01c/FS/vfs_api.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libbc6/Update/HttpsOTAUpdate.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/lib64d/libWiFi.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libbc6/Update/Updater.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libc74/ESPAsyncWebServer-esphome/AsyncEventSource.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libc74/ESPAsyncWebServer-esphome/AsyncWebSocket.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/lib01c/libFS.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libc74/ESPAsyncWebServer-esphome/WebAuthentication.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/libbc6/libUpdate.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libc74/ESPAsyncWebServer-esphome/WebHandlers.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libc74/ESPAsyncWebServer-esphome/WebRequest.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libc74/ESPAsyncWebServer-esphome/WebResponses.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libc74/ESPAsyncWebServer-esphome/WebServer.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib333/DNSServer/DNSServer.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/lib333/libDNSServer.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/lib915/ESPmDNS/ESPmDNS.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/libdd4/HeatPump/HeatPump.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/libFrameworkArduinoVariant.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/Esp.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/libc74/libESPAsyncWebServer-esphome.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/FunctionalInterrupt.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/lib915/libESPmDNS.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/HardwareSerial.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/IPAddress.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/IPv6Address.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/MD5Builder.cpp.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/libdd4/libHeatPump.a
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/Print.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/Stream.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/StreamString.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/WMath.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/WString.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/base64.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/cbuf.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-adc.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-bt.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-cpu.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-dac.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-gpio.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-i2c.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-ledc.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-log.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-matrix.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-misc.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-psram.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-rmt.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-spi.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-time.c.o
/data/cache/platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c: In function 'spiTransferBytesNL':
/data/cache/platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:922:39: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_out8 = &result[c_longs-1];
                                       ^
/data/cache/platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:923:40: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_data8 = &last_data;
                                        ^
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-timer.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-touch.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/esp32-hal-uart.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/libb64/cdecode.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/libb64/cencode.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/main.cpp.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/stdlib_noniso.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/wiring_pulse.c.o
Compiling /data/living-room-ac/.pioenvs/living-room-ac/FrameworkArduino/wiring_shift.c.o
Archiving /data/living-room-ac/.pioenvs/living-room-ac/libFrameworkArduino.a
Linking /data/living-room-ac/.pioenvs/living-room-ac/firmware.elf
RAM:   [=         ]  12.6% (used 41212 bytes from 327680 bytes)
Flash: [=====     ]  50.2% (used 920430 bytes from 1835008 bytes)
Building /data/living-room-ac/.pioenvs/living-room-ac/firmware.bin
esp32_create_combined_bin(["/data/living-room-ac/.pioenvs/living-room-ac/firmware.bin"], ["/data/living-room-ac/.pioenvs/living-room-ac/firmware.elf"])
Wrote 0xf0be0 bytes to file /data/living-room-ac/.pioenvs/living-room-ac/firmware-factory.bin, ready to flash to offset 0x0
======================== [SUCCESS] Took 117.14 seconds ========================
INFO Successfully compiled program.
INFO Resolving IP address of living-room-ac.local
INFO  -> 192.168.8.118
INFO Uploading /data/living-room-ac/.pioenvs/living-room-ac/firmware.bin (920544 bytes)
Uploading: [============================================================] 100% Done...

INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from living-room-ac.local using esphome API
WARNING Can't connect to ESPHome API for living-room-ac.local: Timeout while connecting to ('192.168.8.118', 6053)
INFO Trying to reconnect to living-room-ac.local in the background
geoffdavis commented 2 years ago

I'd try to do the flash of the controller with the ESP32 hooked up to a serial port for debugging. Otherwise, it's anyone's guess as to why the device is offline.

Note that ESPhome will go into a recovery mode after some number of failed boot attempts, which is likely why you are able to reflash over the air.

geoffdavis commented 2 years ago

I'd also recommend looking at #56, as this seems like it's most likely a duplicate.