Fujitsu AC (heat pump) integration via ESPHome [ESP32]

I presume GitHub - dgrnbrg/fuji-debug-protocol is your code? How has it been working for you?

Unfortunately, I have not. I also haven’t really had much time to work on it either, hopefully will have some time next week.

Yes it does.

Thanks. I am trying to keep 100% local.

Finally my integration works. In my case it was necessary to switch off the switch number 1 at the master wall unit.

I’m using the MCP2025-330E/P chip and the
AZDelivery ESP32 ESP-WROOM-32 NodeMCU.

The code I’ve uploaded into the ESP32 is the normal one, not the single core version.

Hello. My air conditioner is ARXG24KMLA. I have a UTY-RLRY wall remote. This remote has only 2 wires. Has anyone managed to connect it to HA using ESP32 and MCP2025? I found a diagram of the main board of the unit where you can see that the remote is connected to connector Y1 and Y2. It seems to me that the missing third wire, i.e. GND, can be connected to connector Y3 on the board. Do you think this could work?

Hiya. I have one of the Fujitsu mini splits ASTG09KUCA which does not have a wired controller but an IR remote and no wifi capability. I would like to get control of it in home assistant via ESPhome. Will the above work for me too?

I thought about doing what I did with my Daikin air con where I soldered the 5v, gnd, Rx and Tx to the appropriate pins with an ESP-01M allowing me to control it fully using Climate IR supported for Daikin(hail mary attempt which worked). The ESP-01M essentially replaced/works with the built in IR receiver.

ESPhome Climate IR also seems to support Fujitsu but I don’t have a video to follow like I did for Daikin. I do have a ESP-01M prepped for the ASTG09KUCA but wasn’t game to go ahead unless I know it would work etc.

Trying to work out my options really. Any help would be much appreciated. I have very little, next to none coding skills.

It is difference protocol it is Homebus, you can check this project GitHub - Arnold-n/P1P2MQTT: Monitor and control Daikin/Rotex (hybrid/Altherma) heat pumps via the 2-wire P1/P2 thermostat interface with an ATmega328P, ESP8266, and electronics. The P1P2Serial library and P1P2Monitor program perform low-level bus operation, the P1P2-bridge-esp8266 program interprets data from/to MQTT supporting Home Assistant MQTT discovery. P1P2Serial may also be used for other Japanese Home Bus System based standards: DIII-NET (F1/F2) bus, Mitsubishi M-Net bus, Toshiba TCC-Link, Hitachi H-link, Panasonic/Sanyo SIII-Net, Haier, York, and others.

Hi guys, I’m going crazy. I’m trying to make the circuit but I’ve already burned 2 esp32… I really don’t have much knowledge of electronics but I think I’m doing everything as in the diagram that some of you have shared. It could be a rookie mistake for sure. Does the MCP2025-330E/P chip connect directly to 12v? I think I’m burning the boards due to the voltage that comes from the Rx and Tx of the chip to the esp. Please someone who can help me. Thank you.

Everything is already working. It was a rookie mistake as I assumed… I thought that with the reducer it was only enough to configure the output voltage with the buttons and not turn the screw…XD. Luckily I measured the output and I already realized. Since so many things could go wrong, I didn’t pay attention to the most basic things. Thank you very much to everyone who has contributed to this thread, having done it the first time but that is what happens the first time. I repeat, thank you all very much, it works great.

Hello.
I need your help. My board is ESP32-WROOM 32 ESP32-WROOM_32 (CH340C). After uploading the code to my ESP32, the new device does not appear in HA. When I want to add the device manually, I get the message :
"Can't connect to ESP. Please make sure your YAML file contains an 'api:' line.".

Additionally, I cannot download the log via WiFi. I get the error

INFO ESPHome 2024.10.2 INFO Reading configuration /config/esphome/f.yaml... INFO Starting log output from fujitsu.local using esphome API WARNING Can't connect to ESPHome API for fujitsu.local: Error resolving IP address: [Errno -5] No address associated with hostname (AP IConnectionError) INFO Trying to connect to fujitsu.local in the background.

Copied 4 files to the esphome folder from here https://github.com/FujiHeatPump/esphome-fujitsu
Below is my configuration which I am uploading to ESP32:

esphome:
  name: fujitsu
  friendly_name: Fujitsu
  includes:
    - FujitsuClimate.h
    - FujitsuClimate.cpp
    - FujiHeatPump.h
    - FujiHeatPump.cpp

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "Jb4R411is3ZnbgCm5lW6rFL2Hb8z2/lwRSOvYMETf+k="

ota:
  - platform: esphome
    password: "04ccb4ae3fa9e06b47a4dbb2348ca125"

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

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

captive_portal:

climate:
- platform: custom
  lambda: |-
    auto fujitsuClimate = new fujitsu::FujitsuClimate();
    App.register_component(fujitsuClimate);
    return {fujitsuClimate};

  climates:
    - name: "Fujitsu"

When I uploaded the standard configuration as below, the device appeared automatically in HA and I could connect wirelessly to check the log:

esphome:
  name: fujitsu
  friendly_name: Fujitsu

esp32:
  board: esp32dev

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "04ccb4ae3fa9e06b47a4dbb2348ca125"

ota:
  - platform: esphome
    password: "04ccb4ae3fa9e06b47a4dbb2348ca125"

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

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

captive_portal:
    

Copied 4 files to the esphome folder from here https://github.com/FujiHeatPump/esphome-fujitsu

I am attaching the log from ESP32:

[09:09:51][W][safe_mode:091]: Safe mode enable time has elapsed -- restarting
[09:09:51][I][app:125]: Forcing a reboot...
[09:09:51][W][wifi_esp32:537][arduino_events]: Event: Disconnected ssid='UP' bssid=[redacted] reason='Association Leave'
[09:09:51]ets Jul 29 2019 12:21:46
[09:09:51]
[09:09:51]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:09:51]configsip: 0, SPIWP:0xee
[09:09:51]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:09:51]mode:DIO, clock div:2
[09:09:51]load:0x3fff0030,len:1184
[09:09:51]load:0x40078000,len:13132
[09:09:51]load:0x40080400,len:3036
[09:09:51]entry 0x400805e4
[09:09:52][I][logger:156]: Log initialized
[09:09:52][C][safe_mode:079]: There have been 0 suspected unsuccessful boot attempts
[09:09:52][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:09:52][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:09:52][I][app:029]: Running through setup()...
[09:09:52][D][fuji:028]: Fuji initialized
[09:09:52][D][fuji:035]: starting task
[09:09:52][D][fuji:010][FujiTask]: reached task
[09:09:52][D][fuji:011][FujiTask]: serialTask started on core 1
[09:09:57]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:09:57]E (10356) task_wdt:  - loopTask (CPU 1)
[09:09:57]E (10356) task_wdt: Tasks currently running:
[09:09:57]E (10356) task_wdt: CPU 0: IDLE
[09:09:57]E (10356) task_wdt: CPU 1: FujiTask
[09:09:57]E (10356) task_wdt: Aborting.
[09:09:57]
[09:09:57]abort() was called at PC 0x400f6040 on core 0
[09:09:57]
[09:09:57]
[09:09:57]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:09:57]
[09:09:57]
[09:09:57]
[09:09:57]
[09:09:57]ELF file SHA256: 0000000000000000
[09:09:57]
[09:09:57]Rebooting...
[09:09:57]ets Jul 29 2019 12:21:46
[09:09:57]
[09:09:57]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:09:57]configsip: 0, SPIWP:0xee
[09:09:57]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:09:57]mode:DIO, clock div:2
[09:09:57]load:0x3fff0030,len:1184
[09:09:57]load:0x40078000,len:13132
[09:09:57]load:0x40080400,len:3036
[09:09:57]entry 0x400805e4
[09:09:57][I][logger:156]: Log initialized
[09:09:57][C][safe_mode:079]: There have been 1 suspected unsuccessful boot attempts
[09:09:57][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:09:57][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:09:57][I][app:029]: Running through setup()...
[09:09:57][D][fuji:028]: Fuji initialized
[09:09:57][D][fuji:035]: starting task
[09:09:57][D][fuji:010][FujiTask]: reached task
[09:09:57][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:02]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:02]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:02]E (10356) task_wdt: Tasks currently running:
[09:10:02]E (10356) task_wdt: CPU 0: IDLE
[09:10:02]E (10356) task_wdt: CPU 1: FujiTask
[09:10:02]E (10356) task_wdt: Aborting.
[09:10:02]
[09:10:02]abort() was called at PC 0x400f6040 on core 0
[09:10:02]
[09:10:02]
[09:10:02]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:02]
[09:10:02]
[09:10:02]
[09:10:02]
[09:10:02]ELF file SHA256: 0000000000000000
[09:10:02]
[09:10:02]Rebooting...
[09:10:02]ets Jul 29 2019 12:21:46
[09:10:02]
[09:10:02]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:02]configsip: 0, SPIWP:0xee
[09:10:02]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:02]mode:DIO, clock div:2
[09:10:02]load:0x3fff0030,len:1184
[09:10:02]load:0x40078000,len:13132
[09:10:02]load:0x40080400,len:3036
[09:10:02]entry 0x400805e4
[09:10:03][I][logger:156]: Log initialized
[09:10:03][C][safe_mode:079]: There have been 2 suspected unsuccessful boot attempts
[09:10:03][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:03][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:03][I][app:029]: Running through setup()...
[09:10:03][D][fuji:028]: Fuji initialized
[09:10:03][D][fuji:035]: starting task
[09:10:03][D][fuji:010][FujiTask]: reached task
[09:10:03][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:08]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:08]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:08]E (10356) task_wdt: Tasks currently running:
[09:10:08]E (10356) task_wdt: CPU 0: IDLE
[09:10:08]E (10356) task_wdt: CPU 1: FujiTask
[09:10:08]E (10356) task_wdt: Aborting.
[09:10:08]
[09:10:08]abort() was called at PC 0x400f6040 on core 0
[09:10:08]
[09:10:08]
[09:10:08]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:08]
[09:10:08]
[09:10:08]
[09:10:08]
[09:10:08]ELF file SHA256: 0000000000000000
[09:10:08]
[09:10:08]Rebooting...
[09:10:08]ets Jul 29 2019 12:21:46
[09:10:08]
[09:10:08]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:08]configsip: 0, SPIWP:0xee
[09:10:08]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:08]mode:DIO, clock div:2
[09:10:08]load:0x3fff0030,len:1184
[09:10:08]load:0x40078000,len:13132
[09:10:08]load:0x40080400,len:3036
[09:10:08]entry 0x400805e4
[09:10:08][I][logger:156]: Log initialized
[09:10:08][C][safe_mode:079]: There have been 3 suspected unsuccessful boot attempts
[09:10:08][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:08][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:08][I][app:029]: Running through setup()...
[09:10:08][D][fuji:028]: Fuji initialized
[09:10:08][D][fuji:035]: starting task
[09:10:08][D][fuji:010][FujiTask]: reached task
[09:10:08][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:13]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:13]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:13]E (10356) task_wdt: Tasks currently running:
[09:10:13]E (10356) task_wdt: CPU 0: IDLE
[09:10:13]E (10356) task_wdt: CPU 1: FujiTask
[09:10:13]E (10356) task_wdt: Aborting.
[09:10:13]
[09:10:13]abort() was called at PC 0x400f6040 on core 0
[09:10:13]
[09:10:13]
[09:10:13]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:13]
[09:10:13]
[09:10:13]
[09:10:13]
[09:10:13]ELF file SHA256: 0000000000000000
[09:10:13]
[09:10:13]Rebooting...
[09:10:13]ets Jul 29 2019 12:21:46
[09:10:13]
[09:10:13]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:13]configsip: 0, SPIWP:0xee
[09:10:13]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:13]mode:DIO, clock div:2
[09:10:13]load:0x3fff0030,len:1184
[09:10:13]load:0x40078000,len:13132
[09:10:13]load:0x40080400,len:3036
[09:10:13]entry 0x400805e4
[09:10:14][I][logger:156]: Log initialized
[09:10:14][C][safe_mode:079]: There have been 4 suspected unsuccessful boot attempts
[09:10:14][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:14][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:14][I][app:029]: Running through setup()...
[09:10:14][D][fuji:028]: Fuji initialized
[09:10:14][D][fuji:035]: starting task
[09:10:14][D][fuji:010][FujiTask]: reached task
[09:10:14][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:19]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:19]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:19]E (10356) task_wdt: Tasks currently running:
[09:10:19]E (10356) task_wdt: CPU 0: IDLE
[09:10:19]E (10356) task_wdt: CPU 1: FujiTask
[09:10:19]E (10356) task_wdt: Aborting.
[09:10:19]
[09:10:19]abort() was called at PC 0x400f6040 on core 0
[09:10:19]
[09:10:19]
[09:10:19]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:19]
[09:10:19]
[09:10:19]
[09:10:19]
[09:10:19]ELF file SHA256: 0000000000000000
[09:10:19]
[09:10:19]Rebooting...
[09:10:19]ets Jul 29 2019 12:21:46
[09:10:19]
[09:10:19]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:19]configsip: 0, SPIWP:0xee
[09:10:19]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:19]mode:DIO, clock div:2
[09:10:19]load:0x3fff0030,len:1184
[09:10:19]load:0x40078000,len:13132
[09:10:19]load:0x40080400,len:3036
[09:10:19]entry 0x400805e4
[09:10:19][I][logger:156]: Log initialized
[09:10:19][C][safe_mode:079]: There have been 5 suspected unsuccessful boot attempts
[09:10:19][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:19][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:19][I][app:029]: Running through setup()...
[09:10:19][D][fuji:028]: Fuji initialized
[09:10:19][D][fuji:035]: starting task
[09:10:19][D][fuji:010][FujiTask]: reached task
[09:10:19][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:24]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:24]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:24]E (10356) task_wdt: Tasks currently running:
[09:10:24]E (10356) task_wdt: CPU 0: IDLE
[09:10:24]E (10356) task_wdt: CPU 1: FujiTask
[09:10:24]E (10356) task_wdt: Aborting.
[09:10:24]
[09:10:24]abort() was called at PC 0x400f6040 on core 0
[09:10:24]
[09:10:24]
[09:10:24]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:24]
[09:10:24]
[09:10:24]
[09:10:24]
[09:10:24]ELF file SHA256: 0000000000000000
[09:10:24]
[09:10:24]Rebooting...
[09:10:24]ets Jul 29 2019 12:21:46
[09:10:24]
[09:10:24]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:24]configsip: 0, SPIWP:0xee
[09:10:24]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:24]mode:DIO, clock div:2
[09:10:24]load:0x3fff0030,len:1184
[09:10:24]load:0x40078000,len:13132
[09:10:24]load:0x40080400,len:3036
[09:10:24]entry 0x400805e4
[09:10:25][I][logger:156]: Log initialized
[09:10:25][C][safe_mode:079]: There have been 6 suspected unsuccessful boot attempts
[09:10:25][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:25][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:25][I][app:029]: Running through setup()...
[09:10:25][D][fuji:028]: Fuji initialized
[09:10:25][D][fuji:035]: starting task
[09:10:25][D][fuji:010][FujiTask]: reached task
[09:10:25][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:30]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:30]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:30]E (10356) task_wdt: Tasks currently running:
[09:10:30]E (10356) task_wdt: CPU 0: IDLE
[09:10:30]E (10356) task_wdt: CPU 1: FujiTask
[09:10:30]E (10356) task_wdt: Aborting.
[09:10:30]
[09:10:30]abort() was called at PC 0x400f6040 on core 0
[09:10:30]
[09:10:30]
[09:10:30]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:30]
[09:10:30]
[09:10:30]
[09:10:30]
[09:10:30]ELF file SHA256: 0000000000000000
[09:10:30]
[09:10:30]Rebooting...
[09:10:30]ets Jul 29 2019 12:21:46
[09:10:30]
[09:10:30]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:30]configsip: 0, SPIWP:0xee
[09:10:30]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:30]mode:DIO, clock div:2
[09:10:30]load:0x3fff0030,len:1184
[09:10:30]load:0x40078000,len:13132
[09:10:30]load:0x40080400,len:3036
[09:10:30]entry 0x400805e4
[09:10:30][I][logger:156]: Log initialized
[09:10:30][C][safe_mode:079]: There have been 7 suspected unsuccessful boot attempts
[09:10:30][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:30][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:30][I][app:029]: Running through setup()...
[09:10:30][D][fuji:028]: Fuji initialized
[09:10:30][D][fuji:035]: starting task
[09:10:30][D][fuji:010][FujiTask]: reached task
[09:10:30][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:35]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:35]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:35]E (10356) task_wdt: Tasks currently running:
[09:10:35]E (10356) task_wdt: CPU 0: IDLE
[09:10:35]E (10356) task_wdt: CPU 1: FujiTask
[09:10:35]E (10356) task_wdt: Aborting.
[09:10:35]
[09:10:35]abort() was called at PC 0x400f6040 on core 0
[09:10:35]
[09:10:35]
[09:10:35]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:35]
[09:10:35]
[09:10:35]
[09:10:35]
[09:10:35]ELF file SHA256: 0000000000000000
[09:10:35]
[09:10:35]Rebooting...
[09:10:35]ets Jul 29 2019 12:21:46
[09:10:35]
[09:10:35]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:35]configsip: 0, SPIWP:0xee
[09:10:35]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:35]mode:DIO, clock div:2
[09:10:35]load:0x3fff0030,len:1184
[09:10:35]load:0x40078000,len:13132
[09:10:35]load:0x40080400,len:3036
[09:10:35]entry 0x400805e4
[09:10:36][I][logger:156]: Log initialized
[09:10:36][C][safe_mode:079]: There have been 8 suspected unsuccessful boot attempts
[09:10:36][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:36][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:36][I][app:029]: Running through setup()...
[09:10:36][D][fuji:028]: Fuji initialized
[09:10:36][D][fuji:035]: starting task
[09:10:36][D][fuji:010][FujiTask]: reached task
[09:10:36][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:41]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:41]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:41]E (10356) task_wdt: Tasks currently running:
[09:10:41]E (10356) task_wdt: CPU 0: IDLE
[09:10:41]E (10356) task_wdt: CPU 1: FujiTask
[09:10:41]E (10356) task_wdt: Aborting.
[09:10:41]
[09:10:41]abort() was called at PC 0x400f6040 on core 0
[09:10:41]
[09:10:41]
[09:10:41]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:41]
[09:10:41]
[09:10:41]
[09:10:41]
[09:10:41]ELF file SHA256: 0000000000000000
[09:10:41]
[09:10:41]Rebooting...
[09:10:41]ets Jul 29 2019 12:21:46
[09:10:41]
[09:10:41]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:41]configsip: 0, SPIWP:0xee
[09:10:41]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:41]mode:DIO, clock div:2
[09:10:41]load:0x3fff0030,len:1184
[09:10:41]load:0x40078000,len:13132
[09:10:41]load:0x40080400,len:3036
[09:10:41]entry 0x400805e4
[09:10:41][I][logger:156]: Log initialized
[09:10:41][C][safe_mode:079]: There have been 9 suspected unsuccessful boot attempts
[09:10:41][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:41][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:41][I][app:029]: Running through setup()...
[09:10:41][D][fuji:028]: Fuji initialized
[09:10:41][D][fuji:035]: starting task
[09:10:41][D][fuji:010][FujiTask]: reached task
[09:10:41][D][fuji:011][FujiTask]: serialTask started on core 1
[09:10:46]E (10356) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[09:10:46]E (10356) task_wdt:  - loopTask (CPU 1)
[09:10:46]E (10356) task_wdt: Tasks currently running:
[09:10:46]E (10356) task_wdt: CPU 0: IDLE
[09:10:46]E (10356) task_wdt: CPU 1: FujiTask
[09:10:46]E (10356) task_wdt: Aborting.
[09:10:46]
[09:10:46]abort() was called at PC 0x400f6040 on core 0
[09:10:46]
[09:10:46]
[09:10:46]Backtrace:0x400836dd:0x3ffbea0c |<-CORRUPTED
[09:10:46]
[09:10:46]
[09:10:46]
[09:10:46]
[09:10:46]ELF file SHA256: 0000000000000000
[09:10:46]
[09:10:46]Rebooting...
[09:10:46]ets Jul 29 2019 12:21:46
[09:10:46]
[09:10:46]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[09:10:46]configsip: 0, SPIWP:0xee
[09:10:46]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[09:10:46]mode:DIO, clock div:2
[09:10:46]load:0x3fff0030,len:1184
[09:10:46]load:0x40078000,len:13132
[09:10:46]load:0x40080400,len:3036
[09:10:46]entry 0x400805e4
[09:10:47][I][logger:156]: Log initialized
[09:10:47][C][safe_mode:079]: There have been 10 suspected unsuccessful boot attempts
[09:10:47][D][esp32.preferences:114]: Saving 1 preferences to flash...
[09:10:47][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[09:10:47][E][safe_mode:086]: Boot loop detected. Proceeding to safe mode
[09:10:47][E][component:164]: Component safe_mode set Error flag: unspecified
[09:10:47][I][app:029]: Running through setup()...
[09:10:47][C][wifi:048]: Setting up WiFi...
[09:10:47][C][wifi:061]: Starting WiFi...
[09:10:47][C][wifi:062]:   Local MAC: CC:DB:A7:3E:48:24
[09:10:47][D][wifi:482]: Starting scan...
[09:10:47][W][component:157]: Component wifi set Warning flag: scanning for networks
[09:10:53][D][wifi:497]: Found networks:
[09:10:53][I][wifi:541]: - 'UP' [redacted]▂▄▆█
[09:10:53][D][wifi:542]:     Channel: 6
[09:10:53][D][wifi:543]:     RSSI: -39 dB
[09:10:53][D][wifi:546]: - [redacted] [redacted]▂▄▆█
[09:10:53][D][wifi:546]: - [redacted] [redacted]▂▄▆█
[09:10:53][D][wifi:546]: - [redacted] [redacted]▂▄▆█
[09:10:53][I][wifi:313]: WiFi Connecting to 'UP'...
[09:10:54][I][wifi:617]: WiFi Connected!
[09:10:54][C][wifi:428]:   Local MAC: CC:DB:A7:3E:48:24
[09:10:54][C][wifi:433]:   SSID: [redacted]
[09:10:54][C][wifi:436]:   IP Address: 192.168.31.203
[09:10:54][C][wifi:440]:   BSSID: [redacted]
[09:10:54][C][wifi:441]:   Hostname: 'fujitsu'
[09:10:54][C][wifi:443]:   Signal strength: -39 dB ▂▄▆█
[09:10:54][C][wifi:447]:   Channel: 6
[09:10:54][C][wifi:448]:   Subnet: 255.255.255.0
[09:10:54][C][wifi:449]:   Gateway: 192.168.31.1
[09:10:54][C][wifi:450]:   DNS1: 192.168.31.1
[09:10:54][C][wifi:451]:   DNS2: 0.0.0.0
[09:10:54][D][wifi:626]: Disabling AP...
[09:10:54][I][app:062]: setup() finished successfully!
[09:10:54][W][safe_mode:099]: SAFE MODE IS ACTIVE
[09:10:54][W][component:170]: Component wifi cleared Warning flag
[09:10:54][I][app:100]: ESPHome version 2024.10.2 compiled on Oct 31 2024, 07:10:05
[09:10:54][C][wifi:600]: WiFi:
[09:10:54][C][wifi:428]:   Local MAC: CC:DB:A7:3E:48:24
[09:10:54][C][wifi:433]:   SSID: [redacted]
[09:10:54][C][wifi:436]:   IP Address: 192.168.31.203
[09:10:54][C][wifi:440]:   BSSID: [redacted]
[09:10:54][C][wifi:441]:   Hostname: 'fujitsu'
[09:10:54][C][wifi:443]:   Signal strength: -39 dB ▂▄▆█
[09:10:54][C][wifi:447]:   Channel: 6
[09:10:54][C][wifi:448]:   Subnet: 255.255.255.0
[09:10:54][C][wifi:449]:   Gateway: 192.168.31.1
[09:10:54][C][wifi:450]:   DNS1: 192.168.31.1
[09:10:54][C][wifi:451]:   DNS2: 0.0.0.0
[09:10:54][C][logger:185]: Logger:
[09:10:54][C][logger:186]:   Level: DEBUG
[09:10:54][C][logger:188]:   Log Baud Rate: 115200
[09:10:54][C][logger:189]:   Hardware UART: UART0
[09:10:54][C][captive_portal:089]: Captive Portal:
[09:10:54][C][mdns:116]: mDNS:
[09:10:54][C][mdns:117]:   Hostname: fujitsu
[09:10:54][C][esphome.ota:073]: Over-The-Air updates:
[09:10:54][C][esphome.ota:074]:   Address: fujitsu.local:3232
[09:10:54][C][esphome.ota:075]:   Version: 2
[09:10:54][C][esphome.ota:078]:   Password configured
[09:10:54][C][safe_mode:018]: Safe Mode:
[09:10:54][C][safe_mode:020]:   Boot considered successful after 60 seconds
[09:10:54][C][safe_mode:021]:   Invoke after 10 boot attempts
[09:10:54][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[09:10:54][W][safe_mode:031]: SAFE MODE IS ACTIVE

Make sure you clean build files before you compile. Have had a few issues.

oh isn’t this a contradiction?

esp8266:
  board: esp32dev

Think it should be

esp32:
  board: esp32dev

You’re right but that was sample code copied from another ESP8226 based board. I’ll fix my post right away.

Did you get it working? Maybe assign an IP to this ESP

I assigned IP to ESP and still the same error. What is strange to me is that when the basic code was uploaded it worked without a problem. Can someone show their code?

It’s likely the connection between the board and the indoor unit has failed to establish, when that’s the case it seems like esphome wouldn’t be able to initialise. Check your connections and dip switches. Turn off the AC, and turn on. You cannot plug in your board with AC power on.

So that a new ESP device appears in devices in ha (i.e. air conditioning), ESP must be connected with air conditioning remote control? I connected an ESP board through a USB cable to a computer.
Btw., What Dipswitch are you talking about?

EDIT:

I have now connected the ESP with the AC remote. The ESP connects to the wifi network but in ESPHome it is offline and the following log is shown:

INFO ESPHome 2024.10.2
INFO Reading configuration /config/esphome/fujitsu.yaml...
INFO Starting log output from 192.168.31.203 using esphome API
WARNING Can't connect to ESPHome API for fujitsu @ 192.168.31.203: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.31.203', port=6053))]: [Errno 111] Connect call failed ('192.168.31.203', 6053) (SocketAPIError)
INFO Trying to connect to fujitsu @ 192.168.31.203 in the background

When I want to add a device manually I get the following error:

Cannot connect to ESP. Make sure your YAML file contains the 'api:' line.

image

esphome:
  name: fujitsu
  friendly_name: fujitsu
  includes:
    - FujitsuClimate.h
    - FujitsuClimate.cpp
    - FujiHeatPump.h
    - FujiHeatPump.cpp


esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

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

ota:
  - platform: esphome
    password: "8048f0ac08a7065ce5d3a8c48f15be37"

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

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

captive_portal:

climate:
- platform: custom
  lambda: |-
    auto fujitsuClimate = new fujitsu::FujitsuClimate();
    App.register_component(fujitsuClimate);
    return {fujitsuClimate};

  climates:
    - name: "Fujitsu"
    

Below is the code that I uploaded to ESP. In the ESP directory I uploaded 4 files from this link: https://github.com/FujiHeatPump/esphome-fujitsu

Hey Jason, have you tried the Airwave with the AOTA models? Cheers