geoffdavis / esphome-mitsubishiheatpump

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

Compile failure #1

Closed nickrout closed 4 years ago

nickrout commented 4 years ago

Firstly, thanks for getting this into esphome.

I get the following using esphome 1.14.3. My setup is per the README.md with my own names substituted for denheatpump. If there is any more info you need, let me know.

INFO Reading configuration /config/bedroom_heat_pump.yaml...
INFO Detected timezone 'NZST' with UTC offset 12 and daylight savings time from 27 September 02:00:00 to 04 April 03:00:00
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Compiling app...
INFO Running:  platformio run -d /config/bedroomheatpump
Processing bedroomheatpump (board: esp01_1m; framework: arduino; platform: espressif8266@2.2.3)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
Looking for ESPAsyncTCP-esphome library in registry
LibraryManager: Installing id=6757 @ 1.2.2
ESPAsyncTCP-esphome @ 1.2.2 has been successfully installed!
LibraryManager: Installing HeatPump
git version 2.17.1
Cloning into '/config/bedroomheatpump/.piolibdeps/bedroomheatpump/_tmp_installing-2q2rushb-package'...
HeatPump @ 15467bf has been successfully installed!
Looking for ESPAsyncWebServer-esphome library in registry
LibraryManager: Installing id=6758 @ 1.2.6

Downloading  [#####-------------------------------]   16%
Downloading  [######------------------------------]   16%
Downloading  [######------------------------------]   17%
Downloading  [######------------------------------]   18%
Downloading  [######------------------------------]   19%
Downloading  [#######-----------------------------]   19%
Downloading  [#######-----------------------------]   20%
Downloading  [#######-----------------------------]   21%
Downloading  [#######-----------------------------]   22%
Downloading  [########----------------------------]   22%
Downloading  [########----------------------------]   23%
Downloading  [########----------------------------]   24%
Downloading  [#########---------------------------]   25%
Downloading  [#########---------------------------]   26%
Downloading  [#########---------------------------]   27%
Downloading  [##########--------------------------]   27%
Downloading  [##########--------------------------]   28%
Downloading  [##########--------------------------]   29%
Downloading  [##########--------------------------]   30%
Downloading  [###########-------------------------]   30%
Downloading  [###########-------------------------]   31%
Downloading  [###########-------------------------]   32%
Downloading  [############------------------------]   33%
Downloading  [############------------------------]   34%
Downloading  [############------------------------]   35%
Downloading  [############------------------------]   36%
Downloading  [#############-----------------------]   36%
Downloading  [#############-----------------------]   37%
Downloading  [#############-----------------------]   38%
Downloading  [##############----------------------]   39%
Downloading  [##############----------------------]   40%
Downloading  [##############----------------------]   41%
Downloading  [###############---------------------]   41%
Downloading  [###############---------------------]   42%
Downloading  [###############---------------------]   43%
Downloading  [###############---------------------]   44%
Downloading  [################--------------------]   44%
Downloading  [################--------------------]   45%
Downloading  [################--------------------]   46%
Downloading  [#################-------------------]   47%
Downloading  [#################-------------------]   48%
Downloading  [#################-------------------]   49%
Downloading  [##################------------------]   50%
Downloading  [##################------------------]   51%
Downloading  [##################------------------]   52%
Downloading  [###################-----------------]   53%
Downloading  [###################-----------------]   54%
Downloading  [###################-----------------]   55%
Downloading  [####################----------------]   55%
Downloading  [####################----------------]   56%
Downloading  [####################----------------]   57%
Downloading  [####################----------------]   58%
Downloading  [#####################---------------]   58%
Downloading  [#####################---------------]   59%
Downloading  [#####################---------------]   60%
Downloading  [######################--------------]   61%
Downloading  [######################--------------]   62%
Downloading  [######################--------------]   63%
Downloading  [#######################-------------]   63%
Downloading  [#######################-------------]   64%
Downloading  [#######################-------------]   65%
Downloading  [#######################-------------]   66%
Downloading  [########################------------]   66%
Downloading  [########################------------]   67%
Downloading  [########################------------]   68%
Downloading  [########################------------]   69%
Downloading  [#########################-----------]   69%
Downloading  [#########################-----------]   70%
Downloading  [#########################-----------]   71%
Downloading  [#########################-----------]   72%
Downloading  [##########################----------]   72%
Downloading  [##########################----------]   73%
Downloading  [##########################----------]   74%
Downloading  [###########################---------]   75%
Downloading  [###########################---------]   76%
Downloading  [###########################---------]   77%
Downloading  [############################--------]   77%
Downloading  [############################--------]   78%
Downloading  [############################--------]   79%
Downloading  [############################--------]   80%
Downloading  [#############################-------]   80%
Downloading  [#############################-------]   81%
Downloading  [#############################-------]   81%  00:00:00
Downloading  [#############################-------]   82%  00:00:00
Downloading  [##############################------]   83%  00:00:00
Downloading  [##############################------]   84%  00:00:00
Downloading  [##############################------]   85%  00:00:00
Downloading  [##############################------]   86%  00:00:00
Downloading  [###############################-----]   86%  00:00:00
Downloading  [###############################-----]   87%  00:00:00
Downloading  [###############################-----]   88%  00:00:00
Downloading  [################################----]   89%  00:00:00
Downloading  [################################----]   90%  00:00:00
Downloading  [################################----]   91%  00:00:00
Downloading  [#################################---]   91%  00:00:00
Downloading  [#################################---]   92%  00:00:00
Downloading  [#################################---]   93%  00:00:00
Downloading  [#################################---]   94%  00:00:00
Downloading  [##################################--]   94%  00:00:00
Downloading  [##################################--]   95%  00:00:00
Downloading  [##################################--]   96%  00:00:00
Downloading  [###################################-]   97%  00:00:00
Downloading  [###################################-]   98%  00:00:00
Downloading  [###################################-]   99%  00:00:00
Downloading  [####################################]  100%          
ESPAsyncWebServer-esphome @ 1.2.6 has been successfully installed!
LibraryManager: Installing id=6757
Looking for AsyncTCP-esphome library in registry
LibraryManager: Installing id=6798
AsyncTCP-esphome @ 1.1.1 has been successfully installed!
Looking for ArduinoJson-esphomelib library in registry
LibraryManager: Installing id=3837 @ 5.13.3

Downloading  [############################--------]   77%
Downloading  [############################--------]   79%
Downloading  [#############################-------]   81%  00:00:00
Downloading  [##############################------]   83%  00:00:00
Downloading  [##############################------]   85%  00:00:00
Downloading  [###############################-----]   87%  00:00:00
Downloading  [################################----]   88%  00:00:00
Downloading  [################################----]   90%  00:00:00
Downloading  [#################################---]   92%  00:00:00
Downloading  [##################################--]   94%  00:00:00
Downloading  [##################################--]   96%  00:00:00
Downloading  [###################################-]   98%  00:00:00
Downloading  [####################################]  100%          
ArduinoJson-esphomelib @ 5.13.3 has been successfully installed!
Dependency Graph
|-- <ESPAsyncTCP-esphome> 1.2.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <HeatPump> 1.0.0 #15467bf
|-- <ESPAsyncWebServer-esphome> 1.2.6
|   |-- <ESPAsyncTCP-esphome> 1.2.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <Hash> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <ArduinoJson-esphomelib> 5.13.3
|-- <ArduinoJson-esphomelib> 5.13.3
|-- <DNSServer> 1.1.1
|   |-- <ESP8266WiFi> 1.0
Compiling .pioenvs/bedroomheatpump/src/esphome-mitsubishiheatpump/espmhp.cpp.o
Compiling .pioenvs/bedroomheatpump/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/bedroomheatpump/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/bedroomheatpump/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/bedroomheatpump/src/esphome/components/api/api_server.cpp.o
src/esphome-mitsubishiheatpump/espmhp.cpp: In member function 'virtual esphome::climate::ClimateTraits MitsubishiHeatPump::traits()':
src/esphome-mitsubishiheatpump/espmhp.cpp:72:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_dry_mode'
     traits.set_supports_dry_mode(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:73:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_only_mode'
     traits.set_supports_fan_only_mode(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:79:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_on'
     traits.set_supports_fan_mode_on(false);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:80:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_off'
     traits.set_supports_fan_mode_off(false);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:81:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_auto'
     traits.set_supports_fan_mode_auto(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:82:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_focus'
     traits.set_supports_fan_mode_focus(false);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:83:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_diffuse'
     traits.set_supports_fan_mode_diffuse(false);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:84:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_low'
     traits.set_supports_fan_mode_low(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:85:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_medium'
     traits.set_supports_fan_mode_medium(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:86:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_middle'
     traits.set_supports_fan_mode_middle(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:87:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_fan_mode_high'
     traits.set_supports_fan_mode_high(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:88:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_swing_mode_off'
     traits.set_supports_swing_mode_off(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:89:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_swing_mode_both'
     traits.set_supports_swing_mode_both(false);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:90:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_swing_mode_vertical'
     traits.set_supports_swing_mode_vertical(true);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:91:12: error: 'class esphome::climate::ClimateTraits' has no member named 'set_supports_swing_mode_horizontal'
     traits.set_supports_swing_mode_horizontal(false);
            ^
src/esphome-mitsubishiheatpump/espmhp.cpp: In member function 'virtual void MitsubishiHeatPump::control(const esphome::climate::ClimateCall&)':
src/esphome-mitsubishiheatpump/espmhp.cpp:116:18: error: 'CLIMATE_MODE_DRY' is not a member of 'esphome::climate'
             case climate::CLIMATE_MODE_DRY:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:126:18: error: 'CLIMATE_MODE_FAN_ONLY' is not a member of 'esphome::climate'
             case climate::CLIMATE_MODE_FAN_ONLY:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:149:14: error: 'const class esphome::climate::ClimateCall' has no member named 'get_fan_mode'
     if (call.get_fan_mode().has_value()) {
              ^
src/esphome-mitsubishiheatpump/espmhp.cpp:152:22: error: 'const class esphome::climate::ClimateCall' has no member named 'get_fan_mode'
         switch(*call.get_fan_mode()) {
                      ^
src/esphome-mitsubishiheatpump/espmhp.cpp:153:18: error: 'CLIMATE_FAN_OFF' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_OFF:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:157:18: error: 'CLIMATE_FAN_DIFFUSE' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_DIFFUSE:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:161:18: error: 'CLIMATE_FAN_LOW' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_LOW:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:165:18: error: 'CLIMATE_FAN_MEDIUM' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_MEDIUM:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:169:18: error: 'CLIMATE_FAN_MIDDLE' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_MIDDLE:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:173:18: error: 'CLIMATE_FAN_HIGH' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_HIGH:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:177:18: error: 'CLIMATE_FAN_ON' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_ON:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:178:18: error: 'CLIMATE_FAN_AUTO' is not a member of 'esphome::climate'
             case climate::CLIMATE_FAN_AUTO:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:187:14: error: 'const class esphome::climate::ClimateCall' has no member named 'get_swing_mode'
     if (call.get_swing_mode().has_value()) {
              ^
src/esphome-mitsubishiheatpump/espmhp.cpp:191:22: error: 'const class esphome::climate::ClimateCall' has no member named 'get_swing_mode'
         switch(*call.get_swing_mode()) {
                      ^
src/esphome-mitsubishiheatpump/espmhp.cpp:192:18: error: 'CLIMATE_SWING_OFF' is not a member of 'esphome::climate'
             case climate::CLIMATE_SWING_OFF:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp:196:18: error: 'CLIMATE_SWING_VERTICAL' is not a member of 'esphome::climate'
             case climate::CLIMATE_SWING_VERTICAL:
                  ^
src/esphome-mitsubishiheatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::hpSettingsChanged()':
src/esphome-mitsubishiheatpump/espmhp.cpp:235:26: error: 'CLIMATE_MODE_DRY' is not a member of 'esphome::climate'
             this->mode = climate::CLIMATE_MODE_DRY;
                          ^
src/esphome-mitsubishiheatpump/espmhp.cpp:239:26: error: 'CLIMATE_MODE_FAN_ONLY' is not a member of 'esphome::climate'
             this->mode = climate::CLIMATE_MODE_FAN_ONLY;
                          ^
src/esphome-mitsubishiheatpump/espmhp.cpp:261:15: error: 'class MitsubishiHeatPump' has no member named 'fan_mode'
         this->fan_mode = climate::CLIMATE_FAN_DIFFUSE;
               ^
src/esphome-mitsubishiheatpump/espmhp.cpp:261:26: error: 'CLIMATE_FAN_DIFFUSE' is not a member of 'esphome::climate'
         this->fan_mode = climate::CLIMATE_FAN_DIFFUSE;
                          ^
src/esphome-mitsubishiheatpump/espmhp.cpp:263:19: error: 'class MitsubishiHeatPump' has no member named 'fan_mode'
             this->fan_mode = climate::CLIMATE_FAN_LOW;
                   ^
src/esphome-mitsubishiheatpump/espmhp.cpp:263:30: error: 'CLIMATE_FAN_LOW' is not a member of 'esphome::climate'
             this->fan_mode = climate::CLIMATE_FAN_LOW;
                              ^
src/esphome-mitsubishiheatpump/espmhp.cpp:265:19: error: 'class MitsubishiHeatPump' has no member named 'fan_mode'
             this->fan_mode = climate::CLIMATE_FAN_MEDIUM;
                   ^
src/esphome-mitsubishiheatpump/espmhp.cpp:265:30: error: 'CLIMATE_FAN_MEDIUM' is not a member of 'esphome::climate'
             this->fan_mode = climate::CLIMATE_FAN_MEDIUM;
                              ^
src/esphome-mitsubishiheatpump/espmhp.cpp:267:19: error: 'class MitsubishiHeatPump' has no member named 'fan_mode'
             this->fan_mode = climate::CLIMATE_FAN_MIDDLE;
                   ^
src/esphome-mitsubishiheatpump/espmhp.cpp:267:30: error: 'CLIMATE_FAN_MIDDLE' is not a member of 'esphome::climate'
             this->fan_mode = climate::CLIMATE_FAN_MIDDLE;
                              ^
src/esphome-mitsubishiheatpump/espmhp.cpp:269:19: error: 'class MitsubishiHeatPump' has no member named 'fan_mode'
             this->fan_mode = climate::CLIMATE_FAN_HIGH;
                   ^
src/esphome-mitsubishiheatpump/espmhp.cpp:269:30: error: 'CLIMATE_FAN_HIGH' is not a member of 'esphome::climate'
             this->fan_mode = climate::CLIMATE_FAN_HIGH;
                              ^
src/esphome-mitsubishiheatpump/espmhp.cpp:271:15: error: 'class MitsubishiHeatPump' has no member named 'fan_mode'
         this->fan_mode = climate::CLIMATE_FAN_AUTO;
               ^
src/esphome-mitsubishiheatpump/espmhp.cpp:271:26: error: 'CLIMATE_FAN_AUTO' is not a member of 'esphome::climate'
         this->fan_mode = climate::CLIMATE_FAN_AUTO;
                          ^
In file included from src/esphome/components/api/api_server.h:6:0,
                 from src/esphome/components/api/api_connection.h:7,
                 from src/esphome.h:2,
                 from src/esphome-mitsubishiheatpump/espmhp.h:18,
                 from src/esphome-mitsubishiheatpump/espmhp.cpp:15:
src/esphome-mitsubishiheatpump/espmhp.cpp:273:44: error: 'class MitsubishiHeatPump' has no member named 'fan_mode'
     ESP_LOGI(TAG, "Fan mode is: %i", this->fan_mode);
                                            ^
src/esphome/core/log.h:101:88: note: in definition of macro 'esph_log_i'
   esp_log_printf_(ESPHOME_LOG_LEVEL_INFO, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
                                                                                        ^
src/esphome-mitsubishiheatpump/espmhp.cpp:273:5: note: in expansion of macro 'ESP_LOGI'
     ESP_LOGI(TAG, "Fan mode is: %i", this->fan_mode);
     ^
src/esphome-mitsubishiheatpump/espmhp.cpp:282:15: error: 'class MitsubishiHeatPump' has no member named 'swing_mode'
         this->swing_mode = climate::CLIMATE_SWING_VERTICAL;
               ^
src/esphome-mitsubishiheatpump/espmhp.cpp:282:28: error: 'CLIMATE_SWING_VERTICAL' is not a member of 'esphome::climate'
         this->swing_mode = climate::CLIMATE_SWING_VERTICAL;
                            ^
src/esphome-mitsubishiheatpump/espmhp.cpp:285:15: error: 'class MitsubishiHeatPump' has no member named 'swing_mode'
         this->swing_mode = climate::CLIMATE_SWING_OFF;
               ^
src/esphome-mitsubishiheatpump/espmhp.cpp:285:28: error: 'CLIMATE_SWING_OFF' is not a member of 'esphome::climate'
         this->swing_mode = climate::CLIMATE_SWING_OFF;
                            ^
In file included from src/esphome/components/api/api_server.h:6:0,
                 from src/esphome/components/api/api_connection.h:7,
                 from src/esphome.h:2,
                 from src/esphome-mitsubishiheatpump/espmhp.h:18,
                 from src/esphome-mitsubishiheatpump/espmhp.cpp:15:
src/esphome-mitsubishiheatpump/espmhp.cpp:287:46: error: 'class MitsubishiHeatPump' has no member named 'swing_mode'
     ESP_LOGI(TAG, "Swing mode is: %i", this->swing_mode);
                                              ^
src/esphome/core/log.h:101:88: note: in definition of macro 'esph_log_i'
   esp_log_printf_(ESPHOME_LOG_LEVEL_INFO, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
                                                                                        ^
src/esphome-mitsubishiheatpump/espmhp.cpp:287:5: note: in expansion of macro 'ESP_LOGI'
     ESP_LOGI(TAG, "Swing mode is: %i", this->swing_mode);
     ^
Compiling .pioenvs/bedroomheatpump/src/esphome/components/api/list_entities.cpp.o
*** [.pioenvs/bedroomheatpump/src/esphome-mitsubishiheatpump/espmhp.cpp.o] Error 1
========================= [FAILED] Took 21.05 seconds =========================
geoffdavis commented 4 years ago

Hi Nick,

Looks like this is due to the fact that I’m using several features of the dev branch of ESPHome. Can you try running that and see if that helps?

nickrout commented 4 years ago

Thanks, it compiled ok under dev version.