Git Product home page Git Product logo

esp32-faikin's Introduction

RevK

I use a lot of open source, and so does my company, so this is a chance for me to give something back.

There are all sorts of libraries and tools here, from making QR codes, to constructing CO2 monitors from an ESP32. Circuit board designs in KiCad are also included.

Andrews & Arnold Ltd

This repository also contains software and circuit designs published free by Andrews & Arnold Ltd.

"RevK", the "AJK" logo, and the "aa" logo, are, however, trademarks.

Me, on a boat in Norway

0dc576280eef1c0d

esp32-faikin's People

Contributors

basak avatar di-rk avatar neilzone avatar njh avatar nothing-to-see avatar reedy avatar revk avatar sam-m7 avatar sonic-amiga avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32-faikin's Issues

Randomly turns itself on

Seemingly randomly, the AC with the Faikin turns itself on.
This could lead to non-negligible power waste.

Please tell me how I can debug this. I have MQTT configured with Home Assistant, but know basically nothing about it.
In Home Assistant, there's a log at 2:50:00 AM this morning that only says "changed to Cool".
The same thing appened one previous evening at a similarly "round" number, but I don't remember exactly.

My unit is a north american CTXS09HVJU.

List of supported AC models or equivalent WiFi adapters?

I have a Daikin CTXS09HVJU unit that does not seem to work with a BRP069B41 WiFi adapter, but should apparently work with a BRP072A43.
However I've been completely unable to find the latter anywhere online, so I digged online about the S21 protocol and found this very neat project.

Would this project work with my unit? If not clear, how can I help you test this?

P1P2 Protocol Supported?

Hi, I have a ducted unit which works with P1P2 two wire communications. It's a Ducted split unit but using same P1P2 as Daikin VRV systems.

There are 3rd party Wifi units working with this (ie Airzone) which need other thermostat to be operational as well.

Is your ESP32-Daikin support P1P2 or only S21?

Add support for brp069b42

If I were to purchase one of these daikin modules (required for the FTXZ-N units) and assist (under guidance!) in recording its comms to the heat pump, would it be possible to add support for them?

New compatible model: ADEA71A2VEB

Sky Air ADEA71A2VEB

  • Official WiFi module: BRP069C81.
  • Ports: X35A (power supply) and X50A (communication).

I've already used it for a week replacing my old BRP069C81 that was failing a lot with Onecta APP. Faikin Works perfectly!

Here it is my home-assistant screenshot:

imagen

If it is okay, we can update the compatible list Wiki adding this new model.

Help With Flashing

Hello, Very excited to find this project, something I've wanted for a while, having used an IR Controller for some time https://github.com/oznu/homebridge-daikin-esp8266 but wanting hardwire connection, so thanks very much for your efforts.

I would love to purchase the prebuilt boards but it's been a challenge to get Amazon to ship to Australia, and I have some ESP-32 Wroom boards and the ability to make a similar (but crude in comparison) interface, so I've been trying to flash my modules with your pre built binaries. I have also tried to build the code and flash, but no joy. I've tried

iancooper@m101b ESP32-Faikin % esptool.py --port /dev/cu.usbserial-0001 write_flash --flash_mode dio --flash_size 4MB 0x0 Faikin-S1.bin

esptool.py v4.6.2
Serial port /dev/cu.usbserial-0001
Connecting......
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: c8:c9:a3:c6:6d:ec
Uploading stub...
Running stub...
Stub running...
Configuring flash size...

A fatal error occurred: Faikin-S1.bin requires chip revision in range [v3.0 - v3.99] (this chip is revision v1.0). Use --force to flash anyway.

Can you tell me if this ESP-32 should be suitable, or give me some pointers to the way forward ? Any ideas would be greatly appreciated, thanks.

Not compatible with latest ESP IDF v5.1

Hello,

I trying to build source code using latest ESP IDF v5.1 and found that it is not compatible. First, secure boot should be disabled via menu config. Second, sntp functions are deprecated and sntp_stop does not exist anymore. Now sntp functions should be with esp_ prefix, like esp_sntp_init, esp_sntp_stop and etc.
After these changes, I was able to build and flash the firmware normally.

Websocket instability in WiFi PS

Websockets have been unstable with BLE enabled, but even with it disabled it shows some problems, though not as many.

This needs more investigation, it may give clues why it is unstable with BLE. Note that BLE simply in the build means different WiFi power save mode is in place. Worth testing if that is the underlying issue.

Either way, it should be fixable - it looks like MQTT remains quite stable. However TCP dumps show that sometimes even simple HTTP GET of / is not responding, even though all handled at TCP level, which suggests this is more generally HTTP server problems.

fwt03catnmv1 Compatibility

Hello i have an fwt03catnmv1 fan coil air conditioner, the ac support the original daikin module, anyone know if the module could work with my ac? Thank's for the help

Not fully working on S21

Just bought a faikin from Amazon, nice! Plugged into two different units via S21 port, one 10 years old (FDXS50CVMB), the other a few years (FVXG25K2V1B) latter also has been running with the BRP069B41. Same symptoms on both.

Unit powers up, configured, MQTT messages receiving.

Some values are reporting, such as Power, Mode, Fan, Set Temp. However Temp and Coil are undefined, and setting any values does not work (so unit will not turn on, mode will not set, fan selector does nothing)

MQTT reporting:

Message 1166 received on error/bedroom-daikin/comms at 21:03:
{
"s21": true,
"nak": true
}

Any tips for the next steps?

Power limiting

The onecta app has the ability to limit the power of the system from 100% down to 40%
This feature comes in handy as lowering the peak power performance helps my unit to have longer runs.

I could not find a reference that this project includes this feature. Did is miss it? And if not could it be added?

Documentation?

I'm new here, sorry but I couldn't find the documentation on how to link the components.

IPv6 Support with SLAAC

Hi,

Is it possible to add ipv6 support with SLAAC. I know it's already in the ESP-IDF frameworks. It should be nice to have. Also connecting then with ipv6 to the mqtt broker.

Help BRP069A81

Good morning,
A month ago they installed Daikin through ducts (ADEA-A / ARXM-R), I have a home assistant and my idea was to integrate it with my home automation but the model they sell is the brp069c81 only works with the cloud. The brp069a81 model that is discontinued was compatible but after a month of calling all the distributors in my country I have not been able to find one. Today looking at the HA forum I see your github and I think I see the light at the end of the tunnel. I am not very clear on how to install it since I am not a programmer, but I do have some knowledge. I have some questions.
Is any esp32 board worth it? (I have lylygo t7 v1.5)
I assume it is compatible with my motherboard? (I can send photo)
What is the wiring diagram?
I think so but is it possible to integrate it with HA?
Thank you very much for your work and I hope I can achieve it.
I'm sorry if you don't understand something, English is not my native language.
Regards Gabi

Is an external temperature source supported?

Firstly thanks for the great project, since I couldn't order the PCB not being in UK I built a very simple version using just an ESP32 and 32pin dev board which handles the 12v power conversion. I learnt that ESP (and experienced in previous projects) can handle 5v on input pins so didn't even use a level shifter (Just removed the use of invert on TX). I then used dupont wires to connect to the S21 port ran those out of the metal shielded areas and taped internally on the side. All working great so far and discovered in HA.

Anyway my question was I was looking at the docs and code and I see there is support for an external remote [Environmental monitor]. Can I just a sensor for my home assistant and get HA to send a temp update when it changes? I tried using MQTT on topic command/heatpump/control with a payload of
{ "env":"22" }
but didn't seem to work as expected, instead it looked like auto control was activated and a scale of builtin / external being applied.

I just want to change the temperature source to be external rather than the heatpumps inbuilt is that possible with the current build?

Home Assistant - Consistency to official Daikin Integration

The Faikin now just appears in HA with MQTT. Nice!

Few Suggestions that would be nice to have to keep consistency with regards to icons and descriptions with other HA Climate & Daikin integration (some screenshots of official Daikin attached).

Also would be nice to select Sienet as Fan mode.

Climate Entity: mdiThermostat
Temperature Entities: mdiThermometer

Screenshot 2023-03-21 at 17 16 48
Screenshot 2023-03-21 at 17 17 57
Screenshot 2023-03-21 at 17 18 05
Screenshot 2023-03-21 at 17 18 11
Screenshot 2023-03-21 at 17 18 17

Add support for /aircon/get_model_info API endpoint

I have just been trying out homebridge-daikin-local with Faikin but it fails to initialise with:

[Bedroom 2 Faikin] _doSendGetRequest: ERROR: API request to http://192.168.1.120/aircon/get_model_info returned error Error: Not Found

Searching for information about what that endpoint should return, finds this curl command/response:

curl --insecure -H "X-Daikin-uuid: 26d62729763b41189928d7dafc354fa8" "https://192.168.0.149/aircon/get_model_info"
ret=OK,model=1358,type=C,pv=2,cpv=2,cpv_minor=00,mid=NA,humd=0,s_humd=0,acled=0,land=0,elec=0,temp=1,temp_rng=0,m_dtct=1,ac_dst=--,disp_dry=0,dmnd=0,en_scdltmr=1,en_frate=1,en_fdir=1,s_fdir=3,en_rtemp_a=0,en_spmode=0,en_ipw_sep=0,en_mompow=0,en_patrol=0,en_fdir2=0,en_filter_sign=0%

I am not sure how essential this API call is - it appears to just be checking that remote device is up and logs the model. The fields it is interested in are:

  • ret
  • model

The other endpoints it is trying to use are:

  • /aircon/get_sensor_info
  • /aircon/get_control_info
  • /aircon/get_model_info
  • /aircon/set_control_info
  • /common/basic_info

Value of "power" attribute in MQTT status message?

I was expecting the value of the power attribute to either be true or false and it usually is, but I was confused to see what it is sometimes a decimal value.

Faikin/faikin-bedroom2 {"protocol":"S21","ts":"2023-07-09T10:46:00Z","online":true,"home":22.50,"heat":false,"fanrpm":0,"outside":19.00,"liquid":[18.50,18.84,19.00],"power":0.88,"mode":"C","temp":[22.00,22.24,22.50],"fan":"Q","swingh":false,"swingv":false,"econo":false,"powerful":false}

Is this deliberate?

How does it work with recent units that have wifi built-in?

Recent interior units (I think 2022+) have wifi included by default, you no longer need a separate wifi module.

Does anyone know if they simply included the wifi module but still have the connectors necessary for this module, or whether soldering (and thus probably loss of warranty) would be necessary?

Temp setting for S21

The S21 mode only allows ½℃ steps starting from 18℃, so the range for automatic should match that.

For X50 mode, 0.1℃ steps from 16℃ work.

Ubuntu ninja subcommand compile error

Hello RevK,

I tried to build with "make pico", but I always get an error and I don't know how to find out, what the problem is.
Do you have an idea?

Trying with Ubuntu 22.04 LTS.
Installed ESP IDF: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html

mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/esp-idf
./install.sh esp32
. $HOME/esp/esp-idf/export.sh

Compiling example IDF Project works:

simma@simma:~/esp/esp-idf/examples/get-started/hello_world$ idf.py build

Cloning:

git clone --recursive https://github.com/revk/ESP32-Daikin.git

Installed all the required modules while compiling (mqtt, mysql, ...)

When ESP32-Daikin compiling, there are a lot of warning & errors:

simma@simma:~/tmp1/ESP32-Daikin$ make pico
components/ESP32-RevK/setbuildsuffix -S1-PICO
make[1]: Entering directory '/home/simma/tmp1/ESP32-Daikin'
Make: Daikin-S1-PICO.bin
Executing action: all (aliases: build)
Running ninja in directory /home/simma/tmp1/ESP32-Daikin/build
Executing "ninja all"...
[1/1] cd /home/simma/tmp1/ESP32-Daikin/build/bootloader/esp-idf/esptool_py && /home/simma/.espressif/python_env/idf5...._table/check_sizes.py --offset 0x8000 bootloader 0x1000 /home/simma/tmp1/ESP32-Daikin/build/bootloader/bootloader.binBootloader binary size 0x45e0 bytes. 0x2a20 bytes (38%) free.
[3/13] Building C object esp-idf/ESP32-RevK/CMakeFiles/__idf_ESP32-RevK.dir/lwmqtt.c.objFAILED: esp-idf/ESP32-RevK/CMakeFiles/__idf_ESP32-RevK.dir/lwmqtt.c.obj
/home/simma/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DBUILD_ESP32_USING_CMAKE -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -I/home/simma/tmp1/ESP32-Daikin/build/config -I/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/include -I/home/simma/esp/esp-idf/components/newlib/platform_include -I/home/simma/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/home/simma/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/home/simma/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/home/simma/esp/esp-idf/components/freertos/esp_additions/include -I/home/simma/esp/esp-idf/components/esp_hw_support/include -I/home/simma/esp/esp-idf/components/esp_hw_support/include/soc -I/home/simma/esp/esp-idf/components/esp_hw_support/include/soc/esp32 -I/home/simma/esp/esp-idf/components/esp_hw_support/port/esp32/. -I/home/simma/esp/esp-idf/components/esp_hw_support/port/esp32/private_include -I/home/simma/esp/esp-idf/components/heap/include -I/home/simma/esp/esp-idf/components/log/include -I/home/simma/esp/esp-idf/components/soc/include -I/home/simma/esp/esp-idf/components/soc/esp32/. -I/home/simma/esp/esp-idf/components/soc/esp32/include -I/home/simma/esp/esp-idf/components/hal/esp32/include -I/home/simma/esp/esp-idf/components/hal/include -I/home/simma/esp/esp-idf/components/hal/platform_port/include -I/home/simma/esp/esp-idf/components/esp_rom/include -I/home/simma/esp/esp-idf/components/esp_rom/include/esp32 -I/home/simma/esp/esp-idf/components/esp_rom/esp32 -I/home/simma/esp/esp-idf/components/esp_common/include -I/home/simma/esp/esp-idf/components/esp_system/include -I/home/simma/esp/esp-idf/components/esp_system/port/soc -I/home/simma/esp/esp-idf/components/esp_system/port/include/private -I/home/simma/esp/esp-idf/components/xtensa/include -I/home/simma/esp/esp-idf/components/xtensa/esp32/include -I/home/simma/esp/esp-idf/components/lwip/include -I/home/simma/esp/esp-idf/components/lwip/include/apps -I/home/simma/esp/esp-idf/components/lwip/include/apps/sntp -I/home/simma/esp/esp-idf/components/lwip/lwip/src/include -I/home/simma/esp/esp-idf/components/lwip/port/esp32/include -I/home/simma/esp/esp-idf/components/lwip/port/esp32/include/arch -I/home/simma/esp/esp-idf/components/nvs_flash/include -I/home/simma/esp/esp-idf/components/spi_flash/include -I/home/simma/esp/esp-idf/components/app_update/include -I/home/simma/esp/esp-idf/components/bootloader_support/include -I/home/simma/esp/esp-idf/components/bootloader_support/bootloader_flash/include -I/home/simma/esp/esp-idf/components/esp_app_format/include -I/home/simma/esp/esp-idf/components/esp_http_client/include -I/home/simma/esp/esp-idf/components/esp-tls -I/home/simma/esp/esp-idf/components/esp-tls/esp-tls-crypto -I/home/simma/esp/esp-idf/components/mbedtls/port/include -I/home/simma/esp/esp-idf/components/mbedtls/mbedtls/include -I/home/simma/esp/esp-idf/components/mbedtls/mbedtls/library -I/home/simma/esp/esp-idf/components/mbedtls/esp_crt_bundle/include -I/home/simma/esp/esp-idf/components/esp_http_server/include -I/home/simma/esp/esp-idf/components/http_parser -I/home/simma/esp/esp-idf/components/esp_wifi/include -I/home/simma/esp/esp-idf/components/esp_event/include -I/home/simma/esp/esp-idf/components/esp_phy/include -I/home/simma/esp/esp-idf/components/esp_phy/esp32/include -I/home/simma/esp/esp-idf/components/esp_netif/include -I/home/simma/esp/esp-idf/components/esp_timer/include -I/home/simma/esp/esp-idf/components/driver/include -I/home/simma/esp/esp-idf/components/driver/deprecated -I/home/simma/esp/esp-idf/components/driver/esp32/include -I/home/simma/esp/esp-idf/components/esp_pm/include -I/home/simma/esp/esp-idf/components/esp_ringbuf/include -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw -Og -fmacro-prefix-map=/home/simma/tmp1/ESP32-Daikin=. -fmacro-prefix-map=/home/simma/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v5.1-dev-862-g09f7589ef2" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/ESP32-RevK/CMakeFiles/_idf_ESP32-RevK.dir/lwmqtt.c.obj -MF esp-idf/ESP32-RevK/CMakeFiles/idf_ESP32-RevK.dir/lwmqtt.c.obj.d -o esp-idf/ESP32-RevK/CMakeFiles/idf_ESP32-RevK.dir/lwmqtt.c.obj -c /home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c
In file included from /home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:21:
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c: In function 'client_task':
/home/simma/esp/esp-idf/components/log/include/esp_log.h:265:27: error: format '%d' expects argument of type 'int', but argument 7 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=]
265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m"
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:268:27: note: in expansion of macro 'LOG_COLOR'
268 | #define LOG_COLOR_E LOG_COLOR(LOG_COLOR_RED)
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_E'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:410:86: note: in expansion of macro 'LOG_FORMAT'
410 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##VA_ARGS); }
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS)
| ^~~~~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:736:7: note: in expansion of macro 'ESP_LOGI'
736 | ESP_LOGI(TAG, "Waiting %d (mem:%d)", handle->backoff, esp_get_free_heap_size());
| ^~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:265:27: error: format '%d' expects argument of type 'int', but argument 7 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=]
265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m"
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:269:27: note: in expansion of macro 'LOG_COLOR'
269 | #define LOG_COLOR_W LOG_COLOR(LOG_COLOR_BROWN)
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_W'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:411:86: note: in expansion of macro 'LOG_FORMAT'
411 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##VA_ARGS); }
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS)
| ^~~~~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:736:7: note: in expansion of macro 'ESP_LOGI'
736 | ESP_LOGI(TAG, "Waiting %d (mem:%d)", handle->backoff, esp_get_free_heap_size());
| ^~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:736:1: error: format '%d' expects argument of type 'int', but argument 7 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=]
736 | ESP_LOGI(TAG, "Waiting %d (mem:%d)", handle->backoff, esp_get_free_heap_size());
| ^ ~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:59: note: in definition of macro 'LOG_FORMAT'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS)
| ^~~~~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:736:7: note: in expansion of macro 'ESP_LOGI'
736 | ESP_LOGI(TAG, "Waiting %d (mem:%d)", handle->backoff, esp_get_free_heap_size());
| ^~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:736:1: error: format '%d' expects argument of type 'int', but argument 7 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=]
736 | ESP_LOGI(TAG, "Waiting %d (mem:%d)", handle->backoff, esp_get_free_heap_size());
| ^ ~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:59: note: in definition of macro 'LOG_FORMAT'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS)
| ^~~~~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:736:7: note: in expansion of macro 'ESP_LOGI'
736 | ESP_LOGI(TAG, "Waiting %d (mem:%d)", handle->backoff, esp_get_free_heap_size());
| ^~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:265:27: error: format '%d' expects argument of type 'int', but argument 7 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=]
265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m"
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:270:27: note: in expansion of macro 'LOG_COLOR'
270 | #define LOG_COLOR_I LOG_COLOR(LOG_COLOR_GREEN)
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_I'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:414:86: note: in expansion of macro 'LOG_FORMAT'
414 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##VA_ARGS); }
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS)
| ^~~~~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/lwmqtt.c:736:7: note: in expansion of macro 'ESP_LOGI'
736 | ESP_LOGI(TAG, "Waiting %d (mem:%d)", handle->backoff, esp_get_free_heap_size());
| ^~~~~~~~
cc1: some warnings being treated as errors
[4/13] Building C object esp-idf/ESP32-RevK/CMakeFiles/__idf_ESP32-RevK.dir/revk.c.objFAILED: esp-idf/ESP32-RevK/CMakeFiles/__idf_ESP32-RevK.dir/revk.c.obj
/home/simma/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DBUILD_ESP32_USING_CMAKE -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -I/home/simma/tmp1/ESP32-Daikin/build/config -I/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/include -I/home/simma/esp/esp-idf/components/newlib/platform_include -I/home/simma/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/home/simma/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/home/simma/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/home/simma/esp/esp-idf/components/freertos/esp_additions/include -I/home/simma/esp/esp-idf/components/esp_hw_support/include -I/home/simma/esp/esp-idf/components/esp_hw_support/include/soc -I/home/simma/esp/esp-idf/components/esp_hw_support/include/soc/esp32 -I/home/simma/esp/esp-idf/components/esp_hw_support/port/esp32/. -I/home/simma/esp/esp-idf/components/esp_hw_support/port/esp32/private_include -I/home/simma/esp/esp-idf/components/heap/include -I/home/simma/esp/esp-idf/components/log/include -I/home/simma/esp/esp-idf/components/soc/include -I/home/simma/esp/esp-idf/components/soc/esp32/. -I/home/simma/esp/esp-idf/components/soc/esp32/include -I/home/simma/esp/esp-idf/components/hal/esp32/include -I/home/simma/esp/esp-idf/components/hal/include -I/home/simma/esp/esp-idf/components/hal/platform_port/include -I/home/simma/esp/esp-idf/components/esp_rom/include -I/home/simma/esp/esp-idf/components/esp_rom/include/esp32 -I/home/simma/esp/esp-idf/components/esp_rom/esp32 -I/home/simma/esp/esp-idf/components/esp_common/include -I/home/simma/esp/esp-idf/components/esp_system/include -I/home/simma/esp/esp-idf/components/esp_system/port/soc -I/home/simma/esp/esp-idf/components/esp_system/port/include/private -I/home/simma/esp/esp-idf/components/xtensa/include -I/home/simma/esp/esp-idf/components/xtensa/esp32/include -I/home/simma/esp/esp-idf/components/lwip/include -I/home/simma/esp/esp-idf/components/lwip/include/apps -I/home/simma/esp/esp-idf/components/lwip/include/apps/sntp -I/home/simma/esp/esp-idf/components/lwip/lwip/src/include -I/home/simma/esp/esp-idf/components/lwip/port/esp32/include -I/home/simma/esp/esp-idf/components/lwip/port/esp32/include/arch -I/home/simma/esp/esp-idf/components/nvs_flash/include -I/home/simma/esp/esp-idf/components/spi_flash/include -I/home/simma/esp/esp-idf/components/app_update/include -I/home/simma/esp/esp-idf/components/bootloader_support/include -I/home/simma/esp/esp-idf/components/bootloader_support/bootloader_flash/include -I/home/simma/esp/esp-idf/components/esp_app_format/include -I/home/simma/esp/esp-idf/components/esp_http_client/include -I/home/simma/esp/esp-idf/components/esp-tls -I/home/simma/esp/esp-idf/components/esp-tls/esp-tls-crypto -I/home/simma/esp/esp-idf/components/mbedtls/port/include -I/home/simma/esp/esp-idf/components/mbedtls/mbedtls/include -I/home/simma/esp/esp-idf/components/mbedtls/mbedtls/library -I/home/simma/esp/esp-idf/components/mbedtls/esp_crt_bundle/include -I/home/simma/esp/esp-idf/components/esp_http_server/include -I/home/simma/esp/esp-idf/components/http_parser -I/home/simma/esp/esp-idf/components/esp_wifi/include -I/home/simma/esp/esp-idf/components/esp_event/include -I/home/simma/esp/esp-idf/components/esp_phy/include -I/home/simma/esp/esp-idf/components/esp_phy/esp32/include -I/home/simma/esp/esp-idf/components/esp_netif/include -I/home/simma/esp/esp-idf/components/esp_timer/include -I/home/simma/esp/esp-idf/components/driver/include -I/home/simma/esp/esp-idf/components/driver/deprecated -I/home/simma/esp/esp-idf/components/driver/esp32/include -I/home/simma/esp/esp-idf/components/esp_pm/include -I/home/simma/esp/esp-idf/components/esp_ringbuf/include -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw -Og -fmacro-prefix-map=/home/simma/tmp1/ESP32-Daikin=. -fmacro-prefix-map=/home/simma/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER="v5.1-dev-862-g09f7589ef2" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/ESP32-RevK/CMakeFiles/__idf_ESP32-RevK.dir/revk.c.obj -MF esp-idf/ESP32-RevK/CMakeFiles/_idf_ESP32-RevK.dir/revk.c.obj.d -o esp-idf/ESP32-RevK/CMakeFiles/idf_ESP32-RevK.dir/revk.c.obj -c /home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c
In file included from /home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/include/revk.h:28,
from /home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:13:
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c: In function 'ip_event_handler':
/home/simma/esp/esp-idf/components/log/include/esp_log.h:265:27: error: format '%d' expects argument of type 'int', but argument 6 has type 'int32_t' {aka 'long int'} [-Werror=format=]
265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m"
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:268:27: note: in expansion of macro 'LOG_COLOR'
268 | #define LOG_COLOR_E LOG_COLOR(LOG_COLOR_RED)
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_E'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:410:86: note: in expansion of macro 'LOG_FORMAT'
410 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##VA_ARGS); }
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS)
| ^~~~~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:1148:10: note: in expansion of macro 'ESP_LOGI'
1148 | ESP_LOGI(TAG, "WiFi event %d", event_id);
| ^~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:265:27: error: format '%d' expects argument of type 'int', but argument 6 has type 'int32_t' {aka 'long int'} [-Werror=format=]
265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m"
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:269:27: note: in expansion of macro 'LOG_COLOR'
269 | #define LOG_COLOR_W LOG_COLOR(LOG_COLOR_BROWN)
| ^~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_W'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:411:86: note: in expansion of macro 'LOG_FORMAT'
411 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##VA_ARGS); }
| ^~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:342:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
342 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##VA_ARGS)
| ^~~~~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:1148:10: note: in expansion of macro 'ESP_LOGI'
1148 | ESP_LOGI(TAG, "WiFi event %d", event_id);
| ^~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:1148:1: error: format '%d' expects argument of type 'int', but argument 6 has type 'int32_t' {aka 'long int'} [-Werror=format=]
1148 | ESP_LOGI(TAG, "WiFi event %d", event_id);
| ^ ~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:282:59: note: in definition of macro 'LOG_FORMAT'
282 | #define LOG_FORMAT(letter, format) LOG_COLOR
## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
| ^~~~~~
/home/simma/esp/esp-idf/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL'
432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS);
..
...........................
...
2202 | jo_stringf(i, "mask", IPSTR, IP2STR(&ip.netmask));
| ^
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte'
42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx])
| ^~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:50:45: note: in expansion of macro 'esp_ip4_addr2'
50 | #define esp_ip4_addr2_16(ipaddr) ((uint16_t)esp_ip4_addr2(ipaddr))
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:55:5: note: in expansion of macro 'esp_ip4_addr2_16'
55 | esp_ip4_addr2_16(ipaddr),
| ^~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2202:51: note: in expansion of macro 'IP2STR'
2202 | jo_stringf(i, "mask", IPSTR, IP2STR(&ip.netmask));
| ^~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2202:61: error: request for member 'netmask' in something not a structure or union
2202 | jo_stringf(i, "mask", IPSTR, IP2STR(&ip.netmask));
| ^
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte'
42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx])
| ^~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:51:45: note: in expansion of macro 'esp_ip4_addr3'
51 | #define esp_ip4_addr3_16(ipaddr) ((uint16_t)esp_ip4_addr3(ipaddr))
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:56:5: note: in expansion of macro 'esp_ip4_addr3_16'
56 | esp_ip4_addr3_16(ipaddr),
| ^~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2202:51: note: in expansion of macro 'IP2STR'
2202 | jo_stringf(i, "mask", IPSTR, IP2STR(&ip.netmask));
| ^~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2202:61: error: request for member 'netmask' in something not a structure or union
2202 | jo_stringf(i, "mask", IPSTR, IP2STR(&ip.netmask));
| ^
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte'
42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx])
| ^~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4'
52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr))
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16'
57 | esp_ip4_addr4_16(ipaddr)
| ^~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2202:51: note: in expansion of macro 'IP2STR'
2202 | jo_stringf(i, "mask", IPSTR, IP2STR(&ip.netmask));
| ^~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:59: error: request for member 'gw' in something not a structure or union
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte'
42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx])
| ^~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:49:45: note: in expansion of macro 'esp_ip4_addr1'
49 | #define esp_ip4_addr1_16(ipaddr) ((uint16_t)esp_ip4_addr1(ipaddr))
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:54:24: note: in expansion of macro 'esp_ip4_addr1_16'
54 | #define IP2STR(ipaddr) esp_ip4_addr1_16(ipaddr),
| ^~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:49: note: in expansion of macro 'IP2STR'
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:59: error: request for member 'gw' in something not a structure or union
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte'
42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx])
| ^~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:50:45: note: in expansion of macro 'esp_ip4_addr2'
50 | #define esp_ip4_addr2_16(ipaddr) ((uint16_t)esp_ip4_addr2(ipaddr))
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:55:5: note: in expansion of macro 'esp_ip4_addr2_16'
55 | esp_ip4_addr2_16(ipaddr),
| ^~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:49: note: in expansion of macro 'IP2STR'
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:59: error: request for member 'gw' in something not a structure or union
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte'
42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx])
| ^~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:51:45: note: in expansion of macro 'esp_ip4_addr3'
51 | #define esp_ip4_addr3_16(ipaddr) ((uint16_t)esp_ip4_addr3(ipaddr))
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:56:5: note: in expansion of macro 'esp_ip4_addr3_16'
56 | esp_ip4_addr3_16(ipaddr),
| ^~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:49: note: in expansion of macro 'IP2STR'
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:59: error: request for member 'gw' in something not a structure or union
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:42:65: note: in definition of macro 'esp_ip4_addr_get_byte'
42 | #define esp_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx])
| ^~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:52:45: note: in expansion of macro 'esp_ip4_addr4'
52 | #define esp_ip4_addr4_16(ipaddr) ((uint16_t)esp_ip4_addr4(ipaddr))
| ^~~~~~~~~~~~~
/home/simma/esp/esp-idf/components/esp_netif/include/esp_netif_ip_addr.h:57:5: note: in expansion of macro 'esp_ip4_addr4_16'
57 | esp_ip4_addr4_16(ipaddr)
| ^~~~~~~~~~~~~~~~
/home/simma/tmp1/ESP32-Daikin/components/ESP32-RevK/revk.c:2203:49: note: in expansion of macro 'IP2STR'
2203 | jo_stringf(i, "gw", IPSTR, IP2STR(&ip.gw));
| ^~~~~~
cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.
HINT: esp_mac.h header file is not included by esp_system.h anymore. It shall then be manually included with #include "esp_mac.h"
HINT: The issue is better to resolve by replacing format specifiers to 'PRI'-family macros (include <inttypes.h> header file).
ninja failed with exit code 1, output of the command is in the /home/simma/tmp1/ESP32-Daikin/build/log/idf_py_stderr_output_92881 and /home/simma/tmp1/ESP32-Daikin/build/log/idf_py_stdout_output_92881
make[1]: *** [Makefile:12: all] Error 2
make[1]: Leaving directory '/home/simma/tmp1/ESP32-Daikin'
make: *** [Makefile:22: pico] Error 2

Handle S21 where no F6/F7

Needs to be slightly more generic, but seems some units don't have all of the features.

So a system is needed to understand a NAK and no longer try things that don't work.

HomeAssistant config changes

HA mode

  • Send messages to configure HA
  • Add additional non array fields for temperature, etc, to keep it happy
  • Add control messages and modes to fit with HA

Errors on Make

I'm quite excited for this project. I already have some other panasonic and mitsi heat pumps connected to home assistant through esphome.
I have to admit however that I am in somewhat over my head. I have spent some hours installing popt/mysql/mosquitto/mariadb on a ubuntu installation to satisfy the dependancies.

However when I try to make I get the following errors. Hoping you might have some pointers for this poor fool...
pi@raspberrypi:~/ESP32-Daikin $ make
make: components/ESP32-RevK/buildsuffix: Command not found
cc -O -o daikinlog daikinlog.c -lpopt -lmosquitto -ISQLlib SQLlib/sqllib.o -IAJL AJL/ajl.o -L/usr/local/ssl/lib -L/usr/lib/arm-linux-gnueabihf -lmariadb -I/usr/include/mariadb -I/usr/include/mariadb/mysql -I. -I/usr/local/ssl/include -D_GNU_SOURCE -g -Wall -funsigned-char -lm
SQLlib/sqllib.o: In function main': sqllib.c:(.text+0x31f8): multiple definition of main'
/tmp/cc8OoS7i.o:/home/pi/ESP32-Daikin/daikinlog.c:16: first defined here
AJL/ajl.o: In function main': ajl.c:(.text+0x9bc8): multiple definition of main'
/tmp/cc8OoS7i.o:/home/pi/ESP32-Daikin/daikinlog.c:16: first defined here
SQLlib/sqllib.o: In function sql_real_connect': sqllib.c:(.text+0x6f4): undefined reference to strdupa'
AJL/ajl.o: In function process.10561': ajl.c:(.text+0x99f4): undefined reference to j_curl'
ajl.c:(.text+0x9a34): undefined reference to j_curl' ajl.c:(.text+0x9a74): undefined reference to j_curl'
AJL/ajl.o: In function main': ajl.c:(.text+0x9e9c): undefined reference to curl_easy_init'
ajl.c:(.text+0x9ecc): undefined reference to curl_easy_setopt' ajl.c:(.text+0xa130): undefined reference to curl_easy_cleanup'
collect2: error: ld returned 1 exit status
Makefile:77: recipe for target 'daikinlog' failed
make: *** [daikinlog] Error 1

Remote temperature

Mode for local automatic control, same as using external environmental monitor.

  • Allow mqtt / web control settings for picking a BLE temperature sensor (Blue Coin T)
  • Allow setting target temperature and tolerance

Additional local controls (auto on/off)

Add (web based settings as well as mqtt) for additional local controls including :-

  • Auto on at a time of day
  • Auto off at a time of day
  • Auto on if too cold
  • Auto on if too hot
  • Auto off if heating and too hot for some time
  • Auto off if cooling and too cold for some time

ESP32 wroom ignores menucofig wireless settings

I'm not that familiar with ESP chipsets, but it seems that wireless settings are not updated from menuconfig. On first build they are saved into some ESP32 memory that is not erased after reflash and ESP tries to connect on AP that was saved previously. I even tried writing different bin files and new git clones.

Disable Led blinking when connected to wifi

Hi,

Is it possible when the device is setup and has connection to the home wifi that the led blinking stops, preferred off. Now I see the led blinking even when it's builtin.

It should be nice to have an option in the webinferface to choose what the do with the led.

Compatibility list

This information is missing from docs, would be useful to add. What AC models is this tested with? What models use S21 and what models use "new" ?

FTXJ20A2V1BW advice

Hi, just received the chip from amazon.co.uk. awaiting delivery of an S21 cable.

I have a fairly new FTXJ20A2V1BW (Daikin Emura 3) wall mounted.

This model unfortunately came with the cloud-only built-in wifi module BRP069C4x, unlike my older Emura models.

Per the circuit board diagram and label on the pcb itself, i can see a currently empty S21 socket:

PXL_20230620_123344790

So the plan is to power off the unit, plug into the empty S21 port, and power back on then do setup over wifi.. No need to try and unplug the existing wifi module right, they can coexist? (in a different socket anyway)

Thanks

"liquid" temperature sensor

In your code one of sensor variables is called "liquid" Why so and what does it mean ? I see in S21 protocol it's populated by 'SI' response; and in my opinion 'I' should stand for 'inlet', which you also have.

I have a guess that on some ACs there's an extra temperature sensor in the remote control, so that it feels more of the same temperature as a human would feel in the room. A traditional sensor in the indoor unit itself becomes "inlet".

My original BRP controller which i have also reports "hhum=-", which most likely stands for "home humidity". There's also a corresponding control on get_control_info, which reports "shum=0". I guess that's "set humidity". Looks like support for built-in humidifier in some top-grade models. Does this have to do with "liquid" ?

A few issues/questions after a few days use

  • I can't seem to control the AC through HA/MQTT. The local web control works perfectly. Any changes gets updated in Home Assistant immediately but I can't use the climate entity/services in HA to control the AC. I'm using HA 2023.5.4.
  • The lower limit of the temperature slider seems to be 18°C. I usually set mine to 17 in winter so that's a number I can't set with the web control. The remote can set to far lower than that.
  • The AC remote have timed on/off function. When the AC is off and a on timer is set, Faikin reports the AC as powered on. But it is actually not true. Is there a way to identify this status and show power as off? Not sure if you can get the timer information but at least don't how it as being on while it is not.

Thanks for your hard work.

esp32 wroom stuck and bootloop

Hi,

now code builds, but wroom is stuck in boot-loop after flashing.
22:06:40.056 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 22:06:40.056 -> configsip: 0, SPIWP:0xee 22:06:40.056 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 22:06:40.089 -> mode:DIO, clock div:2 22:06:40.089 -> load:0x3fff0030,len:1236 22:06:40.089 -> load:0x40078000,len:13620 22:06:40.089 -> load:0x40080400,len:2916 22:06:40.089 -> entry 0x40080590 22:06:40.553 -> �[0;32mI (475) quad_psram: This chip is ESP32-D0WD�[0m 22:06:40.553 -> �[0;31mE (478) quad_psram: PSRAM ID read error: 0xffffffff�[0m 22:06:40.553 -> �[0;31mE (478) cpu_start: Failed to init external RAM!�[0m 22:06:40.553 -> 22:06:40.553 -> abort() was called at PC 0x400818c4 on core 0 22:06:40.553 -> 22:06:40.553 -> 22:06:40.553 -> Backtrace: 0x40082469:0x3ffe3b90 0x4008f449:0x3ffe3bb0 0x40096445:0x3ffe3bd0 0x400818c4:0x3ffe3c40 0x4007935a:0x3ffe3c90 |<-CORRUPTED 22:06:40.553 ->

AP not acting on entered parameters

I'm back.. just when you thought you'd seen the end of me.

Firmware is successfully flashed to ESP board.
ESP board creates AP
I connect to the ap and find the splash screen at 10.120.40.1
This give three fields for SSID. Password and MQTT
I enter in my network ssid and password and the ip address of the MQTT broker in the last field (does this require a port also?)
However when I hit the set button nothing happens. The set button disappears.
If I refresh the page the entered parameters have reverted back to their original state. The board does not connect to network.

Have tried with Android - Chrome, and Windows - Chrome & Edge

FTXP25M5V1B9 no connection

Hi, I just bought some of your faikin boards, they look very promising. Unfortunately I can't get any connection when connected to the S21 port on my FTXP25M5V1B9. I don't have any other wifi modules to test on these airco units.

20230629_130558

I measured the following voltages on the S21 port (measured to pin 5 which I assume is GND):
Pin 1: 5V
Pin 2: 5V
Pin 3: 5V
Pin 4: 14V
Pin 5: 0V

I connected the faikin board dupont cables. The faikin works and connects to my WiFi network without problems, so I assume my wiring is correct, however I can not control the AC with it. It also says on the web interface that the system is off line.

image

Do you have any ideas on how to get it working or how I can debug this?

Thanks

Improve S21 debug

The debug setting causes a dump of command and responses which is hard to follow, and hard to see changes.

Missing GPIO pins in documentation to flash

Hi,

It took me some time, but after a while I found howto flash the premade esp32 that I bought on amazon. On the print it's not readable so it should be nice to find it in the documentation. I couldn't find it in the documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.