Seems to follow the same naming scheme for the ESPhome components. Hopefully a step towards merging into the main branch. But don’t qoute me on that. @Petapton can you shed some light on this, please?
Yes, sorry for that. I had to change it, but forgot to send updates ![]()
Right! The maintainers of ESPHome requested so, for it to be merged. Hopefully it will be merged soon
I was able to get this working but the card is just reporting off. Any ideas what I might need to do? This is a great project as the Daikin products are great but their user interfaces are horrible.
What do you see when you visit the ESP32 page from ESPHome?
Hi @Petapon
It seems that ESPHome 2025.12.0 fails compiling daikin_madoka.
Compiling .pioenvs/esphome-mamad/src/esphome/components/esp32_ble_client/ble_client_base.cpp.o
In file included from src/esphome/core/component.h:9,
from src/esphome/components/daikin_madoka/daikin_madoka.h:7,
from src/esphome/components/daikin_madoka/daikin_madoka.cpp:1:
src/esphome/components/daikin_madoka/daikin_madoka.cpp: In member function 'void esphome::daikin_madoka::DaikinMadoka::query_(uint16_t, std::vector<unsigned char>, int)':
src/esphome/components/daikin_madoka/daikin_madoka.cpp:291:112: error: request for member 'c_str' in '((esphome::daikin_madoka::DaikinMadoka*)this)->esphome::daikin_madoka::DaikinMadoka::esphome::ble_client::BLEClientNode.esphome::ble_client::BLEClientNode::parent_->esphome::ble_client::BLEClient::esphome::esp32_ble_client::BLEClientBase.esphome::esp32_ble_client::BLEClientBase::address_str()', which is of non-class type 'const char*'
291 | ESP_LOGD(TAG, "[%s] esp_ble_gattc_write_char failed (%d of %d), status=%d", this->parent_->address_str().c_str(),
| ^~~~~
src/esphome/core/log.h:99:100: note: in definition of macro 'esph_log_d'
99 | ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_DEBUG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
| ^~~~~~~~~~~
src/esphome/components/daikin_madoka/daikin_madoka.cpp:291:7: note: in expansion of macro 'ESP_LOGD'
291 | ESP_LOGD(TAG, "[%s] esp_ble_gattc_write_char failed (%d of %d), status=%d", this->parent_->address_str().c_str(),
| ^~~~~~~~
src/esphome/components/daikin_madoka/daikin_madoka.cpp:295:100: error: request for member 'c_str' in '((esphome::daikin_madoka::DaikinMadoka*)this)->esphome::daikin_madoka::DaikinMadoka::esphome::ble_client::BLEClientNode.esphome::ble_client::BLEClientNode::parent_->esphome::ble_client::BLEClient::esphome::esp32_ble_client::BLEClientBase.esphome::esp32_ble_client::BLEClientBase::address_str()', which is of non-class type 'const char*'
295 | ESP_LOGE(TAG, "[%s] Command could not be sent, last status=%d", this->parent_->address_str().c_str(), status);
| ^~~~~
src/esphome/core/log.h:130:100: note: in definition of macro 'esph_log_e'
130 | ::esphome::esp_log_printf_(ESPHOME_LOG_LEVEL_ERROR, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
| ^~~~~~~~~~~
src/esphome/components/daikin_madoka/daikin_madoka.cpp:295:7: note: in expansion of macro 'ESP_LOGE'
295 | ESP_LOGE(TAG, "[%s] Command could not be sent, last status=%d", this->parent_->address_str().c_str(), status);
| ^~~~~~~~
Compiling .pioenvs/esphome-mamad/src/esphome/components/esp32_ble_client/ble_service.cpp.o
*** [.pioenvs/esphome-mamad/src/esphome/components/daikin_madoka/daikin_madoka.cpp.o] Error 1
Compiling .pioenvs/esphome-mamad/src/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp.o
Thanks.
Until merged, you might want to change the yaml into this:
#Import custom Daikin code (until PR has been merged)
external_components:
- source: github://aceindy/esphome@aceindy-patch-1
components: [ daikin_madoka ]
I have the same issue of course ![]()
I had a very old build of this installed. I followed this guide, reflashed an ESP device and re-paired with my Madoka.
I can set mode and fan, but any attempt to set the speed doesn’t update the controller.
I see this on the device
hvac_modes: off, heat_cool, cool, heat, fan_only, dry
min_temp: 16
max_temp: 32
target_temp_step: 1
fan_modes: auto, low, medium, high
current_temperature: 26
temperature: 22
target_temp_high: 22
target_temp_low: 22
I adjust the temperature to 20C, but shortly after the state updates back to the temperature on the unit (22). Has anyone experienced this?
10:33:08.674][D][esp32_ble_client:197]: [1] [62:00:A1:34:35:84] ESP_GATTC_NOTIFY_EVT
[10:33:12.366][D][climate:048]: 'Climate' - Setting
[10:33:12.366][D][climate:083]: Target Temperature High: 20.00
[10:33:12.456][D][daikin_madoka:201]: Got update request...
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.662][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.758][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.758][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.758][D][climate:426]: 'Climate' - Sending state:
[10:33:12.758][D][climate:429]: Mode: COOL
[10:33:12.758][D][climate:434]: Fan Mode: AUTO
[10:33:12.758][D][climate:449]: Current Temperature: 26.00°C
[10:33:12.758][D][climate:453]: Target Temperature: Low: 22.00°C High: 22.00°C
[10:33:12.758][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.758][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.758][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:12.758][D][climate:426]: 'Climate' - Sending state:
[10:33:12.758][D][climate:429]: Mode: COOL
[10:33:12.758][D][climate:434]: Fan Mode: AUTO
[10:33:12.758][D][climate:449]: Current Temperature: 26.00°C
[10:33:12.758][D][climate:453]: Target Temperature: Low: 22.00°C High: 22.00°C
[10:33:12.765][D][climate:426]: 'Climate' - Sending state:
[10:33:12.772][D][climate:429]: Mode: COOL
[10:33:15.621][D][daikin_madoka:201]: Got update request...
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_WRITE_CHAR_EVT
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:15.840][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_NOTIFY_EVT
[10:33:15.845][D][esp32_ble_client:197]: [0] [00:CC:3F:31:40:CD] ESP_GATTC_N