Blackymas / NSPanel_HA_Blueprint

This allows you to configure your complete NSPanel via Blueprint with UI and without changing anything in the code
1.2k stars 225 forks source link

`Bug` Compile error #2088

Closed jisala closed 3 weeks ago

jisala commented 3 weeks ago

TFT Version

4.3.4

ESPHome Version

2024.4.1

Blueprint Version

4.3.6

Panel Model

US (Landscape)

What is the bug?

After cleaning build files it is impossible to compile. I keep getting the same error.

> /data/packages/566b10a3/esphome/nspanel_esphome_addon_upload_tft.yaml:235:7: error: 'ap_captive_portal' was not declared in this scope
           ap_captive_portal->dump_config();

Log Dump

INFO ESPHome 2024.4.1
INFO Reading configuration /config/esphome/ns-panel-1.yaml...
INFO Updating https://github.com/Blackymas/NSPanel_HA_Blueprint@main
INFO Updating https://github.com/Blackymas/NSPanel_HA_Blueprint@v4.3.6
INFO Updating https://github.com/edwardtfn/esphome@nextion-v435
INFO Updating https://github.com/edwardtfn/esphome@esp32ble-01
INFO Updating https://github.com/edwardtfn/esphome@adc-sampling
INFO Generating C++ source...
INFO Compiling app...
Processing ns-panel-1 (board: esp32dev; framework: espidf; platform: platformio/espressif32@5.4.0)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40406.240122 (4.4.6) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Creating a new virtual environment for IDF Python dependencies
Installing ESP-IDF's Python dependencies
Collecting urllib3<2
  Downloading urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.8/143.8 kB 1.5 MB/s eta 0:00:00
Collecting cryptography<35.0.0,>=2.1.4
  Downloading cryptography-3.4.8-cp36-abi3-manylinux_2_24_x86_64.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 21.4 MB/s eta 0:00:00
Collecting future>=0.18.3
  Downloading future-1.0.0-py3-none-any.whl (491 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 491.3/491.3 kB 87.7 MB/s eta 0:00:00
Collecting pyparsing<2.4.0,>=2.0.3
  Downloading pyparsing-2.3.1-py2.py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.8/61.8 kB 127.9 MB/s eta 0:00:00
Collecting kconfiglib~=13.7.1
  Downloading kconfiglib-13.7.1-py2.py3-none-any.whl (145 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 145.7/145.7 kB 103.3 MB/s eta 0:00:00
Collecting idf-component-manager~=1.0
  Downloading idf_component_manager-1.5.2-py2.py3-none-any.whl (160 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 160.3/160.3 kB 83.8 MB/s eta 0:00:00
Collecting cffi>=1.12
  Downloading cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (464 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 464.8/464.8 kB 57.8 MB/s eta 0:00:00
Collecting packaging
  Downloading packaging-24.0-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 kB 208.9 MB/s eta 0:00:00
Collecting requests<3
  Downloading requests-2.31.0-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 92.2 MB/s eta 0:00:00
Collecting requests-file<2
  Downloading requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB)
Collecting requests-toolbelt
  Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 kB 272.7 MB/s eta 0:00:00
Collecting schema
  Downloading schema-0.7.5-py2.py3-none-any.whl (17 kB)
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting tqdm<5
  Downloading tqdm-4.66.2-py3-none-any.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.3/78.3 kB 207.8 MB/s eta 0:00:00
Collecting colorama
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting pyyaml>5.2
  Downloading PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 757.7/757.7 kB 62.5 MB/s eta 0:00:00
Collecting cachecontrol[filecache]>0.12.6
  Downloading cachecontrol-0.14.0-py3-none-any.whl (22 kB)
Collecting contextlib2>0.6.0
  Downloading contextlib2-21.6.0-py2.py3-none-any.whl (13 kB)
Collecting click
  Downloading click-8.1.7-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 32.0 MB/s eta 0:00:00
Collecting msgpack<2.0.0,>=0.5.2
  Downloading msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (409 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 409.3/409.3 kB 83.2 MB/s eta 0:00:00
Collecting filelock>=3.8.0
  Downloading filelock-3.13.4-py3-none-any.whl (11 kB)
Collecting pycparser
  Downloading pycparser-2.22-py3-none-any.whl (117 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 228.6 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2
  Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.3/140.3 kB 153.8 MB/s eta 0:00:00
Collecting idna<4,>=2.5
  Downloading idna-3.7-py3-none-any.whl (66 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.8/66.8 kB 24.1 MB/s eta 0:00:00
Collecting certifi>=2017.4.17
  Downloading certifi-2024.2.2-py3-none-any.whl (163 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 163.8/163.8 kB 45.5 MB/s eta 0:00:00
Installing collected packages: pyparsing, urllib3, tqdm, six, pyyaml, pycparser, packaging, msgpack, kconfiglib, idna, future, filelock, contextlib2, colorama, click, charset-normalizer, certifi, schema, requests, cffi, requests-toolbelt, requests-file, cryptography, cachecontrol, idf-component-manager
Successfully installed cachecontrol-0.14.0 certifi-2024.2.2 cffi-1.16.0 charset-normalizer-3.3.2 click-8.1.7 colorama-0.4.6 contextlib2-21.6.0 cryptography-3.4.8 filelock-3.13.4 future-1.0.0 idf-component-manager-1.5.2 idna-3.7 kconfiglib-13.7.1 msgpack-1.0.8 packaging-24.0 pycparser-2.22 pyparsing-2.3.1 pyyaml-6.0.1 requests-2.31.0 requests-file-1.5.1 requests-toolbelt-1.0.0 schema-0.7.5 six-1.16.0 tqdm-4.66.2 urllib3-1.26.18
Reading CMake configuration...
Dependency Graph
|-- ArduinoJson @ 6.18.5
|-- noise-c @ 0.1.4
Compiling .pioenvs/ns-panel-1/src/main.o
Compiling .pioenvs/ns-panel-1/esp_eth/src/esp_eth_phy_dp83848.o
Compiling .pioenvs/ns-panel-1/esp_eth/src/esp_eth_phy_ip101.o
Compiling .pioenvs/ns-panel-1/esp_eth/src/esp_eth_phy_ksz80xx.o
/data/packages/566b10a3/esphome/nspanel_esphome_addon_upload_tft.yaml: In lambda function:
/data/packages/566b10a3/esphome/nspanel_esphome_addon_upload_tft.yaml:235:7: error: 'ap_captive_portal' was not declared in this scope
           ap_captive_portal->dump_config();
       ^   ~~~~~~~~~~~~~
Compiling .pioenvs/ns-panel-1/esp_eth/src/esp_eth_phy_lan87xx.o
Compiling .pioenvs/ns-panel-1/esp_eth/src/esp_eth_phy_rtl8201.o
Compiling .pioenvs/ns-panel-1/esp_event/default_event_loop.o
Compiling .pioenvs/ns-panel-1/esp_event/esp_event.o
Compiling .pioenvs/ns-panel-1/esp_event/esp_event_private.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_eth/libesp_eth.a
Compiling .pioenvs/ns-panel-1/esp_event/event_loop_legacy.o
Compiling .pioenvs/ns-panel-1/esp_event/event_send.o
Compiling .pioenvs/ns-panel-1/esp_gdbstub/src/gdbstub.o
Compiling .pioenvs/ns-panel-1/esp_gdbstub/src/packet.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_event/libesp_event.a
Compiling .pioenvs/ns-panel-1/esp_gdbstub/xtensa/gdbstub_xtensa.o
Compiling .pioenvs/ns-panel-1/esp_gdbstub/xtensa/gdbstub-entry.o
Compiling .pioenvs/ns-panel-1/esp_gdbstub/esp_common/gdbstub_common.o
Compiling .pioenvs/ns-panel-1/esp_hid/src/esp_hidd.o
Compiling .pioenvs/ns-panel-1/esp_hid/src/esp_hidh.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_gdbstub/libesp_gdbstub.a
Compiling .pioenvs/ns-panel-1/esp_hid/src/esp_hid_common.o
Compiling .pioenvs/ns-panel-1/esp_http_client/esp_http_client.o
Compiling .pioenvs/ns-panel-1/esp_http_client/lib/http_auth.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_hid/libesp_hid.a
Compiling .pioenvs/ns-panel-1/esp_http_client/lib/http_header.o
Compiling .pioenvs/ns-panel-1/esp_http_client/lib/http_utils.o
Compiling .pioenvs/ns-panel-1/esp_http_server/src/httpd_main.o
Compiling .pioenvs/ns-panel-1/esp_http_server/src/httpd_parse.o
Compiling .pioenvs/ns-panel-1/esp_http_server/src/httpd_sess.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_http_client/libesp_http_client.a
Compiling .pioenvs/ns-panel-1/esp_http_server/src/httpd_txrx.o
Compiling .pioenvs/ns-panel-1/esp_http_server/src/httpd_uri.o
Compiling .pioenvs/ns-panel-1/esp_http_server/src/httpd_ws.o
Compiling .pioenvs/ns-panel-1/esp_http_server/src/util/ctrl_sock.o
Compiling .pioenvs/ns-panel-1/esp_https_ota/src/esp_https_ota.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/compare_set.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_http_server/libesp_http_server.a
Compiling .pioenvs/ns-panel-1/esp_hw_support/cpu_util.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/esp_async_memcpy.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/esp_clk.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_https_ota/libesp_https_ota.a
Compiling .pioenvs/ns-panel-1/esp_hw_support/clk_ctrl_os.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/hw_random.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/intr_alloc.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/mac_addr.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/revision.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/sleep_modes.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/sleep_gpio.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/sleep_mac_bb.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/regi2c_ctrl.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/sleep_wake_stub.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/rtc_clk.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/rtc_clk_init.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/rtc_init.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/rtc_pm.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/rtc_sleep.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/rtc_time.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/rtc_wdt.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/chip_info.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/cache_sram_mmu.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/dport_access.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/esp_himem.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/spiram.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/spiram_psram.o
Compiling .pioenvs/ns-panel-1/esp_hw_support/port/esp32/sar_periph_ctrl.o
Compiling .pioenvs/ns-panel-1/esp_ipc/src/esp_ipc.o
Compiling .pioenvs/ns-panel-1/esp_ipc/src/esp_ipc_isr/esp_ipc_isr.o
Compiling .pioenvs/ns-panel-1/esp_ipc/src/esp_ipc_isr/esp_ipc_isr_handler.o
Compiling .pioenvs/ns-panel-1/esp_ipc/src/esp_ipc_isr/esp_ipc_isr_routines.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_common.o
Archiving .pioenvs/ns-panel-1/esp-idf/esp_ipc/libesp_ipc.a
Archiving .pioenvs/ns-panel-1/esp-idf/esp_hw_support/libesp_hw_support.a
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_io.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_io_i2c.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_io_i2s.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_io_spi.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_io_i80.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_nt35510.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_ssd1306.o
Compiling .pioenvs/ns-panel-1/esp_lcd/src/esp_lcd_panel_st7789.o
*** [.pioenvs/ns-panel-1/src/main.o] Error 1
========================= [FAILED] Took 20.84 seconds =========================

Steps to Reproduce

No response

Your Panel's YAML

substitutions:
  # Settings - Editable values
  device_name: "ns-panel-1"
  wifi_ssid: XXXXXXXXXXXXXXX
  wifi_password: XXXXXXXXXXXXXXX
  nextion_update_url: "http://homeassistant.local:8123/local/nspanel_eu.tft"  # Optional
  # Add-on configuration (if needed)
  # heater_relay: "1"  # Possible values: "1" or "2"

# Customization area
##### My customization - Start #####

web_server:
  port: 80
  auth:
    username: XXXXXXXXXXXXXXX
    password: XXXXXXXXXXXXXXX

captive_portal:

wifi:
  manual_ip:
    static_ip: 192.168.1.84
    gateway: 192.168.1.1
    subnet: 255.255.255.0
    dns1: 8.8.8.8
    dns2: 192.168.1.150
  reboot_timeout: 180min
  fast_connect: false
  power_save_mode: none
  output_power: 20.0

api:
  reboot_timeout: 180min
  encryption:
    key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

#time:
#  - id: !extend time_provider
#    timezone: "GMT-03"
#    on_time_sync:
#      then:
#        - lambda: |-
#            ESP_LOGD("Time", "Time synchronized: %s", id(time_provider).now().strftime("%Y-%m-%d %H:%M:%S").c_str());

time:
  - id: !extend time_provider
    timezone: "ART+3"

##### My customization - End #####

# Package Configuration
packages:
  remote_package:
    url: https://github.com/Blackymas/NSPanel_HA_Blueprint
    ref: main
    refresh: 300s
    files:
      - nspanel_esphome.yaml # Basic NSPanel package
      # Optional packages for advanced features and other add-ons
      # - esphome/nspanel_esphome_addon_ble_tracker.yaml
      # - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml # Bluetooth Proxy add-on package
      # - esphome/nspanel_esphome_addon_climate_cool.yaml
      # - esphome/nspanel_esphome_addon_climate_heat.yaml
      # - esphome/nspanel_esphome_addon_climate_dual.yaml

esp32:
  framework:
    type: esp-idf

ESPHome Logs

No response

Home Assistant Logs

No response

Ulrar commented 3 weeks ago

Same here. I've tried disabling the captive portal entirely as I have no use for it but unfortunately it seems to be something you can't do, so I don't see how to work around this

edwardtfn commented 3 weeks ago

Please try this:

captive_portal:
  id: ap_captive_portal
Ulrar commented 3 weeks ago

That does work, thanks @edwardtfn

edwardtfn commented 3 weeks ago

Great. I will find a way to remove the need for that or to add some documentation about that.

Ulrar commented 3 weeks ago

Looks like trying to update the TFT crashes now :

[13:11:22][D][addon_upload_tft.script.upload_tft:220]: Starting the upload script
[13:11:22][D][addon_upload_tft.script.upload_tft:221]:   Valid TFT:               YES
[13:11:22][D][addon_upload_tft.script.upload_tft:222]:   Current baud rate:       115200 bps
[13:11:22][D][addon_upload_tft.script.upload_tft:223]:   Target upload baud rate: 921600 bps
[13:11:22][D][addon_upload_tft.script.upload_tft:224]:   Upload URL: https://raw.githubusercontent.com/Blackymas/NSPanel_HA_Blueprint/v4.3.6/hmi/nspanel_eu.tft
[13:11:22][D][addon_upload_tft.script.upload_tft:234]: Stop Captive Portal
[13:11:22][C][captive_portal:088]: Captive Portal:

Then it just reboots. Same behavior on two panels

edwardtfn commented 3 weeks ago

What if you remove captive_portal from your YAML? Still crashing?

edwardtfn commented 3 weeks ago

I have a fix for this in dev. I will try to release soon, but meanwhile, if you can remove it from your YAML it should work fine.

Ulrar commented 3 weeks ago

Not sure why this now compiles without it, but yes, that did it. Thanks !