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

At this point, since I have a working system, I think I am ready to make a few assemblies for other people. I will order enough components for about 10 assemblies and whoever wants one can let me know.

Would most people want one with or without the Atom Lite? After I order all the materials I’ll see what the total cost is per assembly but it’ll probably be around $40-$50 + shipping per assembly with the atom lite.

Again, thanks to @rabbit-aaron for the software and @FOSV for the hardware designs! Gotta love a community that works together :slight_smile:

4 Likes

Will this work on my mini split Fujitsu ASTG09KUCA?

Does anyone know what this error is when trying to upload configuration to ESP?

INFO ESPHome 2024.11.3
INFO Reading configuration /config/esphome/fujitsu.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing fujitsu (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
Compiling .pioenvs/fujitsu/src/main.cpp.o
/config/esphome/fujitsu.yaml: In lambda function:
/config/esphome/fujitsu.yaml:41:33: error: 'fujitsu' does not name a type
     auto fujitsuClimate = new fujitsu::FujitsuClimate();
                                 ^~~~~~~
/config/esphome/fujitsu.yaml:43:29: error: could not convert '{fujitsuClimate}' from '<brace-enclosed initializer list>' to 'std::vector<esphome::climate::Climate*>'
     return {fujitsuClimate};
                             ^
*** [.pioenvs/fujitsu/src/main.cpp.o] Error 1
========================= [FAILED] Took 31.19 seconds =========================

My configuration file looks like this:

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

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  level: DEBUG

# Enable Home Assistant API
api:
  encryption:
    key: "mt60hQyUIHvTEPsRa6wiSvXGY+NL4pU5FjWVAaImBu0="

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: "ijPNWUEz9FhV"

captive_portal:

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

  climates:
    - name: "Fujitsu"

I’ve recently corrected the design thanks to the observation of a GitHub user.
The resistor is undersized and would lead to out-of-spec current values for the PG pin of the transformer.

The resistor you need to use is the following: ERA-6AED122V (SMD resistor 1.2K OHM 0.5% 1/8W 0805).

I advise those who have fitted the 500 Ohm resistor to replace it with a 1.2K Ohm resistor.

1 Like

Ok. I managed to upload the configuration to my ESP32. Unfortunately, the ESP does not connect to HA. It can connect to WIFI but only after several attempts and then it goes into SafeMode. Below are the logs:

[17:35:22]h��)�II��i����Bn�	rj)ja�F�[D][wifi:481]: Starting scan...
[17:35:28][D][wifi:496]: Found networks:
[17:35:28][I][wifi:540]: - 'UP' [redacted]▂▄▆█
[17:35:28][D][wifi:541]:     Channel: 6
[17:35:28][D][wifi:542]:     RSSI: -48 dB
[17:35:28][I][wifi:312]: WiFi Connecting to 'UP'...
[17:35:28][W][wifi_esp32:530][arduino_events]: Event: Disconnected ssid='UP' bssid=[redacted] reason='Association Leave'
[17:35:28][W][wifi:673]: WiFi Unknown connection status 0
[17:35:28][D][wifi:696]: Retrying with hidden networks...
[17:35:28][I][wifi:312]: WiFi Connecting to 'UP'...
[17:35:28][W][wifi_esp32:530][arduino_events]: Event: Disconnected ssid='UP' bssid=[redacted] reason='Authentication Failed'
[17:35:28][D][wifi:696]: Retrying with hidden networks...
[17:35:33][I][wifi:312]: WiFi Connecting to 'UP'...
[17:35:33][W][wifi_esp32:530][arduino_events]: Event: Disconnected ssid='UP' bssid=[redacted] reason='Association Leave'
[17:35:33][W][wifi:673]: WiFi Unknown connection status 0
[17:35:33][W][wifi:689]: Restarting WiFi adapter...
[17:35:33][I][wifi:312]: WiFi Connecting to 'UP'...
[17:35:35][I][wifi:616]: WiFi Connected!
[17:35:35][C][wifi:427]:   Local MAC: CC:DB:A7:3E:48:24
[17:35:35][C][wifi:432]:   SSID: [redacted]
[17:35:35][C][wifi:435]:   IP Address: 192.168.31.202
[17:35:35][C][wifi:439]:   BSSID: [redacted]
[17:35:35][C][wifi:440]:   Hostname: 'fujitsu'
[17:35:35][C][wifi:442]:   Signal strength: -50 dB ▂▄▆█
[17:35:35][C][wifi:446]:   Channel: 6
[17:35:35][C][wifi:447]:   Subnet: 255.255.255.0
[17:35:35][C][wifi:448]:   Gateway: 192.168.31.1
[17:35:35][C][wifi:449]:   DNS1: 192.168.31.1
[17:35:35][C][wifi:450]:   DNS2: 0.0.0.0
[17:35:35][D][wifi:625]: Disabling AP...
[17:35:35][I][app:062]: setup() finished successfully!
[17:35:35][W][safe_mode:099]: SAFE MODE IS ACTIVE
[17:35:35][W][component:170]: Component wifi cleared Warning flag
[17:35:35][I][app:100]: ESPHome version 2024.6.1 compiled on Dec  9 2024, 16:32:44
[17:35:35][C][wifi:599]: WiFi:
[17:35:35][C][wifi:427]:   Local MAC: CC:DB:A7:3E:48:24
[17:35:35][C][wifi:432]:   SSID: [redacted]
[17:35:35][C][wifi:435]:   IP Address: 192.168.31.202
[17:35:35][C][wifi:439]:   BSSID: [redacted]
[17:35:35][C][wifi:440]:   Hostname: 'fujitsu'
[17:35:35][C][wifi:442]:   Signal strength: -50 dB ▂▄▆█
[17:35:35][C][wifi:446]:   Channel: 6
[17:35:35][C][wifi:447]:   Subnet: 255.255.255.0
[17:35:35][C][wifi:448]:   Gateway: 192.168.31.1
[17:35:35][C][wifi:449]:   DNS1: 192.168.31.1
[17:35:35][C][wifi:450]:   DNS2: 0.0.0.0
[17:35:35][C][logger:185]: Logger:
[17:35:35][C][logger:186]:   Level: DEBUG
[17:35:35][C][logger:188]:   Log Baud Rate: 115200
[17:35:35][C][logger:189]:   Hardware UART: UART0
[17:35:35][C][captive_portal:088]: Captive Portal:
[17:35:35][C][mdns:115]: mDNS:
[17:35:35][C][mdns:116]:   Hostname: fujitsu
[17:35:35][C][esphome.ota:073]: Over-The-Air updates:
[17:35:35][C][esphome.ota:074]:   Address: fujitsu.local:3232
[17:35:35][C][esphome.ota:075]:   Version: 2
[17:35:35][C][esphome.ota:078]:   Password configured
[17:35:35][C][safe_mode:018]: Safe Mode:
[17:35:35][C][safe_mode:020]:   Boot considered successful after 60 seconds
[17:35:35][C][safe_mode:021]:   Invoke after 10 boot attempts
[17:35:35][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[17:35:35][W][safe_mode:031]: SAFE MODE IS ACTIVE
[17:35:58][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[17:35:58][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:35:58][D][esp32.preferences:143]: Saving 1 preferences to flash: 1 cached, 0 written, 0 failed
[17:39:58][W][safe_mode:091]: Safe mode enable time has elapsed -- restarting
[17:39:58][I][app:125]: Forcing a reboot...
[17:39:59][W][wifi_esp32:530][arduino_events]: Event: Disconnected ssid='UP' bssid=[redacted] reason='Association Leave'
[17:39:59]ets Jul 29 2019 12:21:46
[17:39:59]
[17:39:59]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:39:59]configsip: 0, SPIWP:0xee
[17:39:59]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:39:59]mode:DIO, clock div:2
[17:39:59]load:0x3fff0030,len:1184
[17:39:59]load:0x40078000,len:13132
[17:39:59]load:0x40080400,len:3036
[17:39:59]entry 0x400805e4
[17:39:59][I][logger:156]: Log initialized
[17:39:59][C][safe_mode:079]: There have been 0 suspected unsuccessful boot attempts
[17:39:59][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:39:59][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:39:59][I][app:029]: Running through setup()...
[17:39:59][D][fuji:027]: Fuji initialized
[17:39:59][D][fuji:037]: starting task
[17:39:59][D][fuji:009][FujiTask]: reached task
[17:39:59][D][fuji:010][FujiTask]: serialTask started on core 1
[17:39:59]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:39:59]
[17:39:59]Core  1 register dump:
[17:39:59]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:39:59]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:39:59]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:39:59]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:39:59]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:39:59]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:39:59]
[17:39:59]
[17:39:59]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:39:59]
[17:39:59]
[17:39:59]
[17:39:59]
[17:39:59]ELF file SHA256: 0000000000000000
[17:39:59]
[17:39:59]Rebooting...
[17:39:59]ets Jul 29 2019 12:21:46
[17:39:59]
[17:39:59]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:39:59]configsip: 0, SPIWP:0xee
[17:39:59]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:39:59]mode:DIO, clock div:2
[17:39:59]load:0x3fff0030,len:1184
[17:39:59]load:0x40078000,len:13132
[17:39:59]load:0x40080400,len:3036
[17:39:59]entry 0x400805e4
[17:40:00][I][logger:156]: Log initialized
[17:40:00][C][safe_mode:079]: There have been 1 suspected unsuccessful boot attempts
[17:40:00][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:00][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:00][I][app:029]: Running through setup()...
[17:40:00][D][fuji:027]: Fuji initialized
[17:40:00][D][fuji:037]: starting task
[17:40:00][D][fuji:009][FujiTask]: reached task
[17:40:00][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:00]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:00]
[17:40:00]Core  1 register dump:
[17:40:00]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:00]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:00]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:00]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:00]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:00]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:00]
[17:40:00]
[17:40:00]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:00]
[17:40:00]
[17:40:00]
[17:40:00]
[17:40:00]ELF file SHA256: 0000000000000000
[17:40:00]
[17:40:00]Rebooting...
[17:40:00]ets Jul 29 2019 12:21:46
[17:40:00]
[17:40:00]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:00]configsip: 0, SPIWP:0xee
[17:40:00]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:00]mode:DIO, clock div:2
[17:40:00]load:0x3fff0030,len:1184
[17:40:00]load:0x40078000,len:13132
[17:40:00]load:0x40080400,len:3036
[17:40:00]entry 0x400805e4
[17:40:00][I][logger:156]: Log initialized
[17:40:00][C][safe_mode:079]: There have been 2 suspected unsuccessful boot attempts
[17:40:00][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:00][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:00][I][app:029]: Running through setup()...
[17:40:00][D][fuji:027]: Fuji initialized
[17:40:00][D][fuji:037]: starting task
[17:40:00][D][fuji:009][FujiTask]: reached task
[17:40:00][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:00]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:00]
[17:40:00]Core  1 register dump:
[17:40:00]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:00]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:00]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:00]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:00]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:00]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:00]
[17:40:00]
[17:40:00]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:00]
[17:40:00]
[17:40:00]
[17:40:00]
[17:40:00]ELF file SHA256: 0000000000000000
[17:40:00]
[17:40:00]Rebooting...
[17:40:00]ets Jul 29 2019 12:21:46
[17:40:00]
[17:40:00]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:00]configsip: 0, SPIWP:0xee
[17:40:00]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:00]mode:DIO, clock div:2
[17:40:00]load:0x3fff0030,len:1184
[17:40:00]load:0x40078000,len:13132
[17:40:00]load:0x40080400,len:3036
[17:40:00]entry 0x400805e4
[17:40:01][I][logger:156]: Log initialized
[17:40:01][C][safe_mode:079]: There have been 3 suspected unsuccessful boot attempts
[17:40:01][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:01][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:01][I][app:029]: Running through setup()...
[17:40:01][D][fuji:027]: Fuji initialized
[17:40:01][D][fuji:037]: starting task
[17:40:01][D][fuji:009][FujiTask]: reached task
[17:40:01][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:01]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:01]
[17:40:01]Core  1 register dump:
[17:40:01]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:01]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:01]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:01]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:01]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:01]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:01]
[17:40:01]
[17:40:01]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:01]
[17:40:01]
[17:40:01]
[17:40:01]
[17:40:01]ELF file SHA256: 0000000000000000
[17:40:01]
[17:40:01]Rebooting...
[17:40:01]ets Jul 29 2019 12:21:46
[17:40:01]
[17:40:01]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:01]configsip: 0, SPIWP:0xee
[17:40:01]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:01]mode:DIO, clock div:2
[17:40:01]load:0x3fff0030,len:1184
[17:40:01]load:0x40078000,len:13132
[17:40:01]load:0x40080400,len:3036
[17:40:01]entry 0x400805e4
[17:40:01][I][logger:156]: Log initialized
[17:40:01][C][safe_mode:079]: There have been 4 suspected unsuccessful boot attempts
[17:40:01][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:01][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:01][I][app:029]: Running through setup()...
[17:40:01][D][fuji:027]: Fuji initialized
[17:40:01][D][fuji:037]: starting task
[17:40:01][D][fuji:009][FujiTask]: reached task
[17:40:01][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:01]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:01]
[17:40:01]Core  1 register dump:
[17:40:01]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:01]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:01]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:01]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:01]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:01]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:01]
[17:40:01]
[17:40:01]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:01]
[17:40:01]
[17:40:01]
[17:40:01]
[17:40:01]ELF file SHA256: 0000000000000000
[17:40:01]
[17:40:01]Rebooting...
[17:40:01]ets Jul 29 2019 12:21:46
[17:40:01]
[17:40:01]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:01]configsip: 0, SPIWP:0xee
[17:40:01]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:01]mode:DIO, clock div:2
[17:40:01]load:0x3fff0030,len:1184
[17:40:01]load:0x40078000,len:13132
[17:40:01]load:0x40080400,len:3036
[17:40:01]entry 0x400805e4
[17:40:02][I][logger:156]: Log initialized
[17:40:02][C][safe_mode:079]: There have been 5 suspected unsuccessful boot attempts
[17:40:02][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:02][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:02][I][app:029]: Running through setup()...
[17:40:02][D][fuji:027]: Fuji initialized
[17:40:02][D][fuji:037]: starting task
[17:40:02][D][fuji:009][FujiTask]: reached task
[17:40:02][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:02]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:02]
[17:40:02]Core  1 register dump:
[17:40:02]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:02]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:02]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:02]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:02]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:02]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:02]
[17:40:02]
[17:40:02]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:02]
[17:40:02]
[17:40:02]
[17:40:02]
[17:40:02]ELF file SHA256: 0000000000000000
[17:40:02]
[17:40:02]Rebooting...
[17:40:02]ets Jul 29 2019 12:21:46
[17:40:02]
[17:40:02]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:02]configsip: 0, SPIWP:0xee
[17:40:02]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:02]mode:DIO, clock div:2
[17:40:02]load:0x3fff0030,len:1184
[17:40:02]load:0x40078000,len:13132
[17:40:02]load:0x40080400,len:3036
[17:40:02]entry 0x400805e4
[17:40:02][I][logger:156]: Log initialized
[17:40:02][C][safe_mode:079]: There have been 6 suspected unsuccessful boot attempts
[17:40:02][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:02][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:02][I][app:029]: Running through setup()...
[17:40:02][D][fuji:027]: Fuji initialized
[17:40:02][D][fuji:037]: starting task
[17:40:02][D][fuji:009][FujiTask]: reached task
[17:40:02][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:02]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:02]
[17:40:02]Core  1 register dump:
[17:40:02]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5990  
[17:40:02]A2      : 0x3ffb2b28  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:02]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb59a0  
[17:40:02]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:02]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:02]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:02]
[17:40:02]
[17:40:02]Backtrace:0x400d300a:0x3ffb59900x400d333d:0x3ffb5a30 
[17:40:02]
[17:40:02]
[17:40:02]
[17:40:02]
[17:40:02]ELF file SHA256: 0000000000000000
[17:40:02]
[17:40:02]Rebooting...
[17:40:02]ets Jul 29 2019 12:21:46
[17:40:02]
[17:40:02]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:02]configsip: 0, SPIWP:0xee
[17:40:02]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:02]mode:DIO, clock div:2
[17:40:02]load:0x3fff0030,len:1184
[17:40:02]load:0x40078000,len:13132
[17:40:02]load:0x40080400,len:3036
[17:40:02]entry 0x400805e4
[17:40:03][I][logger:156]: Log initialized
[17:40:03][C][safe_mode:079]: There have been 7 suspected unsuccessful boot attempts
[17:40:03][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:03][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:03][I][app:029]: Running through setup()...
[17:40:03][D][fuji:027]: Fuji initialized
[17:40:03][D][fuji:037]: starting task
[17:40:03][D][fuji:009][FujiTask]: reached task
[17:40:03][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:03]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:03]
[17:40:03]Core  1 register dump:
[17:40:03]PC      : 0x400d300d  PS      : 0x00060e30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:03]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:03]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:03]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:03]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:03]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:03]
[17:40:03]
[17:40:03]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:03]
[17:40:03]
[17:40:03]
[17:40:03]
[17:40:03]ELF file SHA256: 0000000000000000
[17:40:03]
[17:40:03]Rebooting...
[17:40:03]ets Jul 29 2019 12:21:46
[17:40:03]
[17:40:03]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:03]configsip: 0, SPIWP:0xee
[17:40:03]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:03]mode:DIO, clock div:2
[17:40:03]load:0x3fff0030,len:1184
[17:40:03]load:0x40078000,len:13132
[17:40:03]load:0x40080400,len:3036
[17:40:03]entry 0x400805e4
[17:40:03][I][logger:156]: Log initialized
[17:40:03][C][safe_mode:079]: There have been 8 suspected unsuccessful boot attempts
[17:40:03][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:03][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:03][I][app:029]: Running through setup()...
[17:40:03][D][fuji:027]: Fuji initialized
[17:40:03][D][fuji:037]: starting task
[17:40:03][D][fuji:009][FujiTask]: reached task
[17:40:03][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:03]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:03]
[17:40:03]Core  1 register dump:
[17:40:03]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:03]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:03]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:03]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:03]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:03]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:03]
[17:40:03]
[17:40:03]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:03]
[17:40:03]
[17:40:03]
[17:40:03]
[17:40:03]ELF file SHA256: 0000000000000000
[17:40:03]
[17:40:03]Rebooting...
[17:40:03]ets Jul 29 2019 12:21:46
[17:40:03]
[17:40:03]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:03]configsip: 0, SPIWP:0xee
[17:40:04]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:04]mode:DIO, clock div:2
[17:40:04]load:0x3fff0030,len:1184
[17:40:04]load:0x40078000,len:13132
[17:40:04]load:0x40080400,len:3036
[17:40:04]entry 0x400805e4
[17:40:04][I][logger:156]: Log initialized
[17:40:04][C][safe_mode:079]: There have been 9 suspected unsuccessful boot attempts
[17:40:04][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:40:04][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:40:04][I][app:029]: Running through setup()...
[17:40:04][D][fuji:027]: Fuji initialized
[17:40:04][D][fuji:037]: starting task
[17:40:04][D][fuji:009][FujiTask]: reached task
[17:40:04][D][fuji:010][FujiTask]: serialTask started on core 1
[17:40:04]Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
[17:40:04]
[17:40:04]Core  1 register dump:
[17:40:04]PC      : 0x400d300d  PS      : 0x00060c30  A0      : 0x800d3340  A1      : 0x3ffb5900  
[17:40:04]A2      : 0x3ffb2a98  A3      : 0x3f40013a  A4      : 0x0000000a  A5      : 0x3f4001d8  
[17:40:04]A6      : 0x00000001  A7      : 0x80000001  A8      : 0x800e217d  A9      : 0x3ffb5910  
[17:40:04]A10     : 0x00000000  A11     : 0x3f40013a  A12     : 0x0000000a  A13     : 0x3f4001d8  
[17:40:04]A14     : 0x007bf0b8  A15     : 0x003fffff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
[17:40:04]EXCVADDR: 0x00000000  LBEG    : 0x40089965  LEND    : 0x40089975  LCOUNT  : 0xffffffec  
[17:40:04]
[17:40:04]
[17:40:04]Backtrace:0x400d300a:0x3ffb59000x400d333d:0x3ffb59a0 
[17:40:04]
[17:40:04]
[17:40:04]
[17:40:04]
[17:40:04]ELF file SHA256: 0000000000000000
[17:40:04]
[17:40:04]Rebooting...
[17:40:04]ets Jul 29 2019 12:21:46
[17:40:04]
[17:40:04]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:40:04]configsip: 0, SPIWP:0xee
[17:40:04]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:40:04]mode:DIO, clock div:2
[17:40:04]load:0x3fff0030,len:1184
[17:40:04]load:0x40078000,len:13132
[17:40:04]load:0x40080400,len:3036
[17:40:04]entry 0x400805e4

EDIT: I uploaded the single-core version and it worked. Fujitsu showed up in my devices in HA! But another problem is that I can’t turn on the air conditioning. It shows 16 degrees all the time.

Here is the ESP log:

INFO ESPHome 2024.6.1
INFO Reading configuration /config/esphome/fujitsu.yaml...
INFO Starting log output from 192.168.31.202 using esphome API
INFO Successfully connected to fujitsu @ 192.168.31.202 in 0.052s
INFO Successful handshake with fujitsu @ 192.168.31.202 in 0.098s
[18:29:49][I][app:100]: ESPHome version 2024.6.1 compiled on Dec  9 2024, 17:58:03
[18:29:49][C][wifi:599]: WiFi:
[18:29:49][C][wifi:427]:   Local MAC: CC:DB:A7:3E:48:24
[18:29:49][C][wifi:432]:   SSID: [redacted]
[18:29:49][C][wifi:435]:   IP Address: 192.168.31.202
[18:29:50][C][wifi:439]:   BSSID: [redacted]
[18:29:50][C][wifi:440]:   Hostname: 'fujitsu'
[18:29:50][C][wifi:442]:   Signal strength: -57 dB ▂▄▆█
[18:29:50][C][wifi:446]:   Channel: 6
[18:29:50][C][wifi:447]:   Subnet: 255.255.255.0
[18:29:50][C][wifi:448]:   Gateway: 192.168.31.1
[18:29:50][C][wifi:449]:   DNS1: 192.168.31.1
[18:29:50][C][wifi:450]:   DNS2: 0.0.0.0
[18:29:50][C][logger:185]: Logger:
[18:29:50][C][logger:186]:   Level: DEBUG
[18:29:50][C][logger:188]:   Log Baud Rate: 115200
[18:29:50][C][logger:189]:   Hardware UART: UART0
[18:29:50][C][captive_portal:088]: Captive Portal:
[18:29:50][C][mdns:115]: mDNS:
[18:29:50][C][mdns:116]:   Hostname: fujitsu
[18:29:50][C][esphome.ota:073]: Over-The-Air updates:
[18:29:50][C][esphome.ota:074]:   Address: fujitsu.local:3232
[18:29:50][C][esphome.ota:075]:   Version: 2
[18:29:50][C][esphome.ota:078]:   Password configured
[18:29:50][C][safe_mode:018]: Safe Mode:
[18:29:50][C][safe_mode:020]:   Boot considered successful after 60 seconds
[18:29:50][C][safe_mode:021]:   Invoke after 10 boot attempts
[18:29:50][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[18:29:50][W][safe_mode:029]: Last reset occurred too quickly; safe mode will be invoked in 7 restarts
[18:29:50][C][api:139]: API Server:
[18:29:50][C][api:140]:   Address: fujitsu.local:6053
[18:29:50][C][api:142]:   Using noise encryption: YES
[18:30:10][W][api.connection:104]: ESPHome Logs 2024.6.1 (192.168.31.3): Connection closed
[18:30:32][D][climate:011]: 'Fujitsu' - Setting
[18:30:32][D][climate:015]:   Mode: HEAT
[18:30:32][D][fuji:171]: Fuji setting mode 3
[18:30:32][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[18:30:32][D][esp32.preferences:114]: Saving 1 preferences to flash...
[18:30:33][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[18:30:41][D][climate:011]: 'Fujitsu' - Setting
[18:30:41][D][climate:024]:   Fan: LOW
[18:30:41][D][fuji:208]: Fuji setting fan mode 513
[18:30:43][D][climate:011]: 'Fujitsu' - Setting
[18:30:43][D][climate:040]:   Target Temperature: 17.00
[18:30:43][D][fuji:191]: Fuji setting temperature 17.000000
[18:30:51][D][climate:011]: 'Fujitsu' - Setting
[18:30:51][D][climate:040]:   Target Temperature: 17.00
[18:30:51][D][fuji:191]: Fuji setting temperature 17.000000
[18:30:55][D][climate:011]: 'Fujitsu' - Setting
[18:30:55][D][climate:015]:   Mode: COOL
[18:30:55][D][fuji:171]: Fuji setting mode 2
[18:31:24][D][climate:011]: 'Fujitsu' - Setting
[18:31:24][D][climate:033]:   Preset: ECO
[18:31:24][D][fuji:198]: Fuji setting preset 5
[18:31:26][D][climate:011]: 'Fujitsu' - Setting
[18:31:26][D][climate:033]:   Preset: ECO
[18:31:26][D][fuji:198]: Fuji setting preset 5
[18:31:28][D][climate:011]: 'Fujitsu' - Setting
[18:31:28][D][climate:015]:   Mode: COOL
[18:31:28][D][fuji:171]: Fuji setting mode 2
[18:31:30][D][climate:011]: 'Fujitsu' - Setting
[18:31:30][D][climate:015]:   Mode: HEAT
[18:31:30][D][fuji:171]: Fuji setting mode 3
[18:31:33][D][climate:011]: 'Fujitsu' - Setting
[18:31:33][D][climate:024]:   Fan: LOW
[18:31:33][D][fuji:208]: Fuji setting fan mode 513
[18:31:35][D][climate:011]: 'Fujitsu' - Setting
[18:31:35][D][climate:015]:   Mode: FAN_ONLY
[18:31:35][D][fuji:171]: Fuji setting mode 4

I’m in for 1, with or without an Atom Lite (I can pick one up separately if that’s easier).

Hello there, thanks a lot for this great code!
I did build the setup on a breadboard, connected it and had everything up within 1h… really nice job of documentation and coding!

Side questions…

  1. I’m using a Multi-split system where I have 1 outdoor unit and 5 indoors units through branch boxes. There is one central wall remote control that can drive all of the interior units, by just first selecting the unit number. Each indoor unit also has its own wall remote control, currently I’m connected to a specific one (…needed a bit of time to figure Err 12 on the main unit was because I did not enable a slave controller but fine). Is there any plan to connect to the main controller? I guess the messaging is not much different and just includes the indoor unit number? That way I don’t have to implement an ESP32 on each individual unit… if you need my setup to sniff the bus and understand the messaging, you will be very welcome, just let me know what you need :slight_smile:

  2. I can’t seem to be able to control the horizontal and vertical swing, it does not appear at all… Not a big deal, just for the sight of it .

Thank you in advance for your help!
Pierre

Is your central controller UTY-DMM?M (AR-WDA1E)? If so, the protocol is different. I have implemented it (90%, need to fix something with ECO and Min. Heat), but I do not have any branch boxes as my indoor units connect directly to the outdoor units, so am probably missing a few addressing bits.

Thanks a lot.

As far as I can tell, it’s an UTY-RVNGM which directly connects to the main outdoor unit.
Correction, I checked the main bill and I had been quoted an UTY-DMMGM. It looks exactly alike the UTY-RVNGM and I can’t find the model on the front so I appear to be wrong.

I have few UTY-RVNGM’s inside too, directly connecting to the indoor units, as well as AR-WAE1E’s. I know for sure they can be inter-changed as I replaced one broken older AR-WAE1E by an UTY-RVNGM in one of my rooms.

When connecting the ESP32 on a specific indoor unit that has an AR-WAE1E, I could control that unit and it was working fine but the main UTY-RVNGM controlling the whole system was returning “Err 12” until I moved the dip switch #2 of the AR-WAE1E to “On”. Not sure that it helps anything…

If you want me to try your code with debugs or whatever on the main controller, just let me know and I’ll happily do it.

Thank you again,
Pierre

On top of yesterday’s observations, I did notice something… Whenever I set the temp, it overwrites the AC/HeatPump indoor unit Fan speed into “II” on the monitor (I think, equals to Low) instead of I (equals to Silent).
[Edit] I modified the FujitsuClimate.cpp to add CLIMATE_FAN_QUIET by using the same syntax as the others and it seems to work.

It also cancels the horizontal swing but keeps the vertical one, while both are originally active. For this part I don’t know much what to do.

Is there something I should do to maintain the existing condition and just update the temperature? Is there a way to control both Swings and set the fan to low?

Thank you again in advance for your help,
Pierre

I’d love to have 3 assembled thanks, with the Atom Lite’s if that’s possible.

Thanks also to @rabbit-aaron and @FOSV for their excellent work on building the software and PCBs for this!

Hello Fujitsu AC Group,
I have been working on a solution for my Fujitsu HVAC for some time. Like many of you I very much dislike the standard remote thermostat connected to my Fujitsu ducted mini splits. I have ARURLF7, ARURLF18, and ARURLF24 with 3 UTY-RNNUM Remote Thermostats (the worst one’s ever created by mankind).
image

I finally stumbled on a legitimate solution to integrate and automate with HA. It’s from a company based in Spain called Airzone (www.airzonecontrol.com).

I purchased 3 Aidoo Wifi units (1 for each indoor unit).

After using the Airzone integration with HA, this is what my Lenovo Tab M9 wall display looks like:

Exactly what I was hoping for. If you want a supported solution this is the way to go. Not as much DIY for sure.

Good luck everyone.

Are you still looking at doing this?

Has anyone run into this error message? I was recompiling and uploading the ESPHome yaml file in HA and got the error below. I don’t know why it occurred because no changes were made to anything in the climate section of the yaml. I’ve been running this project for about 3 years without any issues. Any & all suggestions for resolving this error are welcome and appreciated!

The compile error:

Here is the climate section of my yaml:

The climate section of my yaml:

Yup still keen (as per DM :grinning:)

Yes, I ordered enough material for 10 assemblies which should be delivered some time this week. My life is quite busy as the moment so no promises on when I’ll be able to actually make the assemblies but it’ll probably be sometime before the end of January.

1 Like

Ok keep me posted. thanks

Hello,

Can you check your ESP definitions in your yaml file?
esphome:
includes:
- FujitsuClimate.h
- FujitsuClimate.cpp
- FujiHeatPump.h
- FujiHeatPump.cpp

esp32:
board: esp32dev
framework:
type: arduino

I ran into a similar issue at first when I had wrong definition which worked by using the single core code GitHub - FujiHeatPump/esphome-fujitsu at single-core .

The incorrect entries I had were:
platform: esp32
board: nodemcu-32s
board: esp32dev

Which I then upgraded to esp32dev type arduino then I could run the main code (non-single core).

Hth!

I can’t remember 100% the error I had but I believe it was similar to that at first.

Thank you for your response. Per your suggestion, I changed the board type to arduino & all is good again! I was able to compile & upload the file!!!