From 41613e2af1be7b3306b6fbe531edc7a246e3c135 Mon Sep 17 00:00:00 2001
From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Date: Fri, 16 Feb 2024 19:43:34 +0100
Subject: [PATCH] `esp-idf` as default framework
---
.github/workflows/validate_esphome.yml | 13 +++--
.github/workflows/validate_esphome_beta.yml | 13 +++--
.github/workflows/validate_yamllint.yml | 6 ++-
.test/esphome_advanced.yaml | 2 +-
...sphome_advanced_climate_cool_arduino.yaml} | 10 +---
...sphome_advanced_climate_dual_esp_idf5.yaml | 2 +-
.test/esphome_advanced_climate_heat.yaml | 2 +-
..._advanced_climate_heat_customizations.yaml | 7 +--
.../{esphome_core.yaml => esphome_basic.yaml} | 2 +-
.test/esphome_climate_cool.yaml | 2 +-
.test/esphome_climate_dual.yaml | 2 +-
.test/esphome_climate_heat.yaml | 2 +-
docs/addon_climate.md | 40 +++++---------
docs/customization.md | 16 +++---
docs/error_initializing.md | 5 +-
docs/install.md | 13 +----
docs/tft_upload.md | 52 +++++++++----------
docs/version_compatibility.md | 2 +-
esphome/nspanel_esphome_core.yaml | 5 ++
19 files changed, 81 insertions(+), 115 deletions(-)
rename .test/{esphome_advanced_climate_cool_esp_idf.yaml => esphome_advanced_climate_cool_arduino.yaml} (72%)
rename .test/{esphome_core.yaml => esphome_basic.yaml} (88%)
diff --git a/.github/workflows/validate_esphome.yml b/.github/workflows/validate_esphome.yml
index 18cf5cb..007de45 100644
--- a/.github/workflows/validate_esphome.yml
+++ b/.github/workflows/validate_esphome.yml
@@ -30,8 +30,8 @@ jobs:
fetch-depth: '0'
- name: Validate nspanel_esphome.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome.yaml
- - name: Validate nspanel_esphome_core.yaml
- run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_core.yaml
+ - name: Validate nspanel_esphome_basic.yaml
+ run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_basic.yaml
- name: Validate nspanel_esphome_addon_upload_tft.yaml
run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_addon_upload_tft.yaml
- name: Validate nspanel_esphome_advanced.yaml
@@ -130,8 +130,8 @@ jobs:
with:
yaml_file: "./.test/esphome_advanced_climate_heat.yaml"
- build_climate_cool_advanced_esp_idf:
- name: esp-idf & Bluetooth proxy
+ build_climate_cool_advanced_arduino:
+ name: Arduino
runs-on: "ubuntu-latest"
needs:
- build_climate_cool
@@ -140,10 +140,10 @@ jobs:
- uses: actions/checkout@v4.1.0
with:
fetch-depth: '0'
- - name: Build core+advanced+climate_cool+esp_idf
+ - name: Build core+advanced+climate_cool+arduino
uses: esphome/build-action@v1.8.0
with:
- yaml_file: "./.test/esphome_advanced_climate_cool_esp_idf.yaml"
+ yaml_file: "./.test/esphome_advanced_climate_cool_arduino.yaml"
build_climate_dual_esp_idf5:
name: esp-idf v5 & Climate Dual & Bluetooth proxy
@@ -165,7 +165,6 @@ jobs:
runs-on: "ubuntu-latest"
needs:
- build_climate_heat_advanced
- - build_climate_cool_advanced_esp_idf
steps:
- uses: actions/checkout@v4.1.0
with:
diff --git a/.github/workflows/validate_esphome_beta.yml b/.github/workflows/validate_esphome_beta.yml
index a5f3238..794b49e 100644
--- a/.github/workflows/validate_esphome_beta.yml
+++ b/.github/workflows/validate_esphome_beta.yml
@@ -20,8 +20,8 @@ jobs:
fetch-depth: '0'
- name: Validate nspanel_esphome.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome.yaml
- - name: Validate nspanel_esphome_core.yaml
- run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_core.yaml
+ - name: Validate nspanel_esphome_basic.yaml
+ run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_basic.yaml
- name: Validate nspanel_esphome_addon_upload_tft.yaml
run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_addon_upload_tft.yaml
- name: Validate nspanel_esphome_advanced.yaml
@@ -126,8 +126,8 @@ jobs:
yaml_file: "./.test/esphome_advanced_climate_heat.yaml"
version: beta
- build_climate_cool_advanced_esp_idf:
- name: esp-idf & Bluetooth proxy
+ build_climate_cool_advanced_arduino:
+ name: Arduino
runs-on: "ubuntu-latest"
needs:
- build_climate_cool
@@ -136,10 +136,10 @@ jobs:
- uses: actions/checkout@v4.1.0
with:
fetch-depth: '0'
- - name: Build core+advanced+climate_cool+esp_idf
+ - name: Build core+advanced+climate_cool+arduino
uses: esphome/build-action@v1.8.0
with:
- yaml_file: "./.test/esphome_advanced_climate_cool_esp_idf.yaml"
+ yaml_file: "./.test/esphome_advanced_climate_cool_arduino.yaml"
version: beta
build_climate_dual_esp_idf5:
@@ -163,7 +163,6 @@ jobs:
runs-on: "ubuntu-latest"
needs:
- build_climate_heat_advanced
- - build_climate_cool_advanced_esp_idf
steps:
- uses: actions/checkout@v4.1.0
with:
diff --git a/.github/workflows/validate_yamllint.yml b/.github/workflows/validate_yamllint.yml
index 29f55bd..c4528ef 100644
--- a/.github/workflows/validate_yamllint.yml
+++ b/.github/workflows/validate_yamllint.yml
@@ -35,7 +35,11 @@ jobs:
run: |
IFS=',' read -ra FILES <<< "${{ steps.changed-files.outputs.all_changed_files }}"
for file in "${FILES[@]}"; do
- if [[ "$file" =~ ^nspanel_esphome.*\.yaml$ ]] || [[ "$file" =~ ^advanced/esphome/nspanel_esphome.*\.yaml$ ]] || [[ "$file" == "nspanel_blueprint.yaml" ]]; then
+ if [[ "$file" =~ ^nspanel_esphome.*\.yaml$ ]]
+ || [[ "$file" =~ ^esphome/nspanel_esphome.*\.yaml$ ]]
+ || [[ "$file" =~ ^prebuilt/nspanel_esphome.*\.yaml$ ]]
+ || [[ "$file" == "nspanel_blueprint.yaml" ]];
+ then
echo "Skipping $file"
continue
fi
diff --git a/.test/esphome_advanced.yaml b/.test/esphome_advanced.yaml
index e9825fd..829bb40 100644
--- a/.test/esphome_advanced.yaml
+++ b/.test/esphome_advanced.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
# addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
diff --git a/.test/esphome_advanced_climate_cool_esp_idf.yaml b/.test/esphome_advanced_climate_cool_arduino.yaml
similarity index 72%
rename from .test/esphome_advanced_climate_cool_esp_idf.yaml
rename to .test/esphome_advanced_climate_cool_arduino.yaml
index 5ed81c6..a440d88 100644
--- a/.test/esphome_advanced_climate_cool_esp_idf.yaml
+++ b/.test/esphome_advanced_climate_cool_arduino.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
# addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
@@ -14,11 +14,5 @@ packages:
esp32:
framework:
- type: esp-idf
-
-bluetooth_proxy:
-
-# Set Wi-Fi power save mode to "LIGHT" as required for Bluetooth on ESP32
-wifi:
- power_save_mode: LIGHT
+ type: arduino
...
diff --git a/.test/esphome_advanced_climate_dual_esp_idf5.yaml b/.test/esphome_advanced_climate_dual_esp_idf5.yaml
index c232703..3502aa0 100644
--- a/.test/esphome_advanced_climate_dual_esp_idf5.yaml
+++ b/.test/esphome_advanced_climate_dual_esp_idf5.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
# advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
# addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
diff --git a/.test/esphome_advanced_climate_heat.yaml b/.test/esphome_advanced_climate_heat.yaml
index 482edb9..7e685dc 100644
--- a/.test/esphome_advanced_climate_heat.yaml
+++ b/.test/esphome_advanced_climate_heat.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cold: !include ../esphome/nspanel_esphome_addon_climate_cold.yaml
diff --git a/.test/esphome_advanced_climate_heat_customizations.yaml b/.test/esphome_advanced_climate_heat_customizations.yaml
index 63c63b2..85827b5 100644
--- a/.test/esphome_advanced_climate_heat_customizations.yaml
+++ b/.test/esphome_advanced_climate_heat_customizations.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_blank_url: "http://homeassistant.local:8123/local/nspanel_blank.tft"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cold: !include ../esphome/nspanel_esphome_addon_climate_cold.yaml
@@ -77,11 +77,6 @@ climate:
default_target_temperature_low: 17.5 ${temp_units}
mode: "heat"
-# Change framework to `esp-idf`
-esp32:
- framework:
- type: esp-idf
-
esphome:
# change OTA password, remove after flashing
on_boot:
diff --git a/.test/esphome_core.yaml b/.test/esphome_basic.yaml
similarity index 88%
rename from .test/esphome_core.yaml
rename to .test/esphome_basic.yaml
index d41a852..85cbb1a 100644
--- a/.test/esphome_core.yaml
+++ b/.test/esphome_basic.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Basic package
# advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
# addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
diff --git a/.test/esphome_climate_cool.yaml b/.test/esphome_climate_cool.yaml
index a0b7ce8..da2b486 100644
--- a/.test/esphome_climate_cool.yaml
+++ b/.test/esphome_climate_cool.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
# advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
# addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
diff --git a/.test/esphome_climate_dual.yaml b/.test/esphome_climate_dual.yaml
index eab4fb4..4dfff72 100644
--- a/.test/esphome_climate_dual.yaml
+++ b/.test/esphome_climate_dual.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
# advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
# addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
diff --git a/.test/esphome_climate_heat.yaml b/.test/esphome_climate_heat.yaml
index 57d8387..8767891 100644
--- a/.test/esphome_climate_heat.yaml
+++ b/.test/esphome_climate_heat.yaml
@@ -6,7 +6,7 @@ substitutions:
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
- core_package: !include ../nspanel_esphome.yaml # Core package
+ basic_package: !include ../nspanel_esphome.yaml # Core package
# advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
diff --git a/docs/addon_climate.md b/docs/addon_climate.md
index 273c7c0..2c00422 100644
--- a/docs/addon_climate.md
+++ b/docs/addon_climate.md
@@ -36,23 +36,19 @@ substitutions:
##### My customization - Start #####
##### My customization - End #####
-# Core and optional configurations
+# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
files:
- - nspanel_esphome.yaml # Core package
+ - nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
- # - advanced/esphome/nspanel_esphome_advanced.yaml
+ # - esphome/nspanel_esphome_advanced.yaml
# - nspanel_esphome_addon_climate_cool.yaml
- nspanel_esphome_addon_climate_heat.yaml
# - nspanel_esphome_addon_climate_dual.yaml
refresh: 300s
-
-esp32:
- framework:
- type: esp-idf
```
## Configuration
@@ -110,23 +106,19 @@ substitutions:
##### My customization - Start #####
##### My customization - End #####
-# Core and optional configurations
+# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
files:
- - nspanel_esphome.yaml # Core package
+ - nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
- # - advanced/esphome/nspanel_esphome_advanced.yaml
+ # - esphome/nspanel_esphome_advanced.yaml
- nspanel_esphome_addon_climate_cool.yaml
# - nspanel_esphome_addon_climate_heat.yaml
# - nspanel_esphome_addon_climate_dual.yaml
refresh: 300s
-
-esp32:
- framework:
- type: esp-idf
```
#### Heater
@@ -153,23 +145,19 @@ substitutions:
##### My customization - Start #####
##### My customization - End #####
-# Core and optional configurations
+# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
files:
- - nspanel_esphome.yaml # Core package
+ - nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
- # - advanced/esphome/nspanel_esphome_advanced.yaml
+ # - esphome/nspanel_esphome_advanced.yaml
# - nspanel_esphome_addon_climate_cool.yaml
- nspanel_esphome_addon_climate_heat.yaml
# - nspanel_esphome_addon_climate_dual.yaml
refresh: 300s
-
-esp32:
- framework:
- type: esp-idf
```
#### Dual
@@ -199,21 +187,17 @@ substitutions:
##### My customization - Start #####
##### My customization - End #####
-# Core and optional configurations
+# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
files:
- - nspanel_esphome.yaml # Core package
+ - nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
- # - advanced/esphome/nspanel_esphome_advanced.yaml
+ # - esphome/nspanel_esphome_advanced.yaml
# - nspanel_esphome_addon_climate_cool.yaml
# - nspanel_esphome_addon_climate_heat.yaml
- nspanel_esphome_addon_climate_dual.yaml
refresh: 300s
-
-esp32:
- framework:
- type: esp-idf
```
diff --git a/docs/customization.md b/docs/customization.md
index 8df7509..9f191bd 100644
--- a/docs/customization.md
+++ b/docs/customization.md
@@ -83,23 +83,19 @@ logger:
##### My customization - End #####
-# Core and optional configurations
+# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
files:
- - nspanel_esphome.yaml # Core package
+ - nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
- # - advanced/esphome/nspanel_esphome_advanced.yaml
+ # - esphome/nspanel_esphome_advanced.yaml
# - nspanel_esphome_addon_climate_cool.yaml
- nspanel_esphome_addon_climate_heat.yaml
# - nspanel_esphome_addon_climate_dual.yaml
refresh: 300s
-
-esp32:
- framework:
- type: esp-idf
```
## Memory Management
@@ -537,15 +533,15 @@ time:
### Frameworks
> [!IMPORTANT]
-> When switching from `arduino` to `esp-idf`, make sure to update the device with a serial cable as the partition table is different between the two frameworks
+> When switching between frameworks, make sure to update the device with a serial cable as the partition table is different between the two frameworks
as [OTA Update Component](https://esphome.io/components/ota) updates will not change the partition table.
The `arduino` protocol still more popular and therefore more components are available, but as `esp-idf` is maintained by EspressIF and is kept updated,
more boards are supported and the memory management is better, making it ideal if you wanna customize your panel to support memory consumption functionalities,
like `bluetooth_proxy` or [Improv](https://www.improv-wifi.com/).
-This project currently uses `arduino` as default framework, but we are planning to set `esp-idf` as default from March 2024.
-In any case, you can overlap the settings with this customization.
+This project currently uses `esp-idf` as default framework.
+You can overlap the settings with this customization.
> [!NOTE]
> For more info about frameworks, please visit [ESPHome docs](https://esphome.io/components/esp32).
diff --git a/docs/error_initializing.md b/docs/error_initializing.md
index d828933..aa0ee76 100644
--- a/docs/error_initializing.md
+++ b/docs/error_initializing.md
@@ -63,11 +63,12 @@ You can use this button to force a reboot of your panel. This button is availabl
**Symptoms:** The ESPHome version (and other info) won't be shown in the boot page.
+
| Possible causes | Suggestions |
| :-- | :-- |
| You may have an older version of ESPHome installed or ESPHome is not installed. | Make sure you have the latest version of ESPHome and flash your device again. |
-| You may have an older version of ESPHome installed or ESPHome is not installed. | Make sure you have the latest version of ESPHome and flash your device again. |
-| Baud rate mismatch. | Make sure your yaml settings don't have any specific baud rate set or, if a custom baud rate is set, make sure it is one of the supported rates (115200 bps or 921600 bps). |
+| Baud rate mismatch. | The default baud rate for this project is 115200 bps, however your device might be set with a different baud rate. Use the baud rate selector under your device's page to adjust to the same baud rate as the display, then change it back to 115200 bps, which will instruct the display to start using that. |
+
### Blueprint is not detected
diff --git a/docs/install.md b/docs/install.md
index 78acedb..e554490 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -114,17 +114,13 @@ Follow these steps to add a new device in the ESPHome Dashboard:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
files:
- - nspanel_esphome.yaml # Core package
+ - nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
- # - advanced/esphome/nspanel_esphome_advanced.yaml
+ # - esphome/nspanel_esphome_advanced.yaml
# - nspanel_esphome_addon_climate_cool.yaml
# - nspanel_esphome_addon_climate_heat.yaml
# - nspanel_esphome_addon_climate_dual.yaml
refresh: 300s
-
- esp32:
- framework:
- type: esp-idf
```

@@ -457,11 +453,6 @@ substitutions:
packages:
local_package: !include packages/nspanel_esphome.yaml
-
-esp32:
- framework:
- type: esp-idf
-
```
> [!NOTE]
diff --git a/docs/tft_upload.md b/docs/tft_upload.md
index af06c17..593b530 100644
--- a/docs/tft_upload.md
+++ b/docs/tft_upload.md
@@ -67,33 +67,6 @@ If you haven't installed any TFT yet, look for Nextion related messages on ESPHo
- **Additional Guidance**: Knowing when the device is fully booted and ready to accept the TFT upload can prevent many issues.
Observe any changes in the display or logs indicators to ensure the device is ready.
-### Consider changing the framework
-
-- **Issue**: You might be facing some situation where the transfer engine used by your framework cannot handle it properly.
-- **Solution**: Temporarily switch between the frameworks.
-- **Additional Guidance**: This project supports both `arduino` (ESPHome default) or `esp-idf` frameworks.
-Those have totally independently upload TFT engines, so changing the framework may cause a significant change.
-In our experience, `esp-idf` have a better memory management and therefore is more efficient with uploading TFT.
-In addition to that, `esp-idf` supports HTTPS and even the download directly from GitHub, which is not indicated with `arduino`.
-
-You can set the framework you want by adding this to your ESPHome yaml:
-
-#### ESP-IDF
-
-```yaml
-esp32:
- framework:
- type: esp-idf
-```
-
-#### Arduino
-
-```yaml
-esp32:
- framework:
- type: arduino
-```
-
### Using a Local Source (Home Assistant)
- **Issue**: Problems with downloading the TFT from GitHub.
@@ -144,6 +117,31 @@ This duration helps ensure that the system resets to a clean state.
> Although this action does not replicate a full power cycle, it might resolve the issue in some cases.
> 
+### Consider changing the framework
+
+- **Issue**: You might be facing some situation where the transfer engine used by your framework cannot handle it properly.
+- **Solution**: Temporarily switch between the frameworks.
+- **Additional Guidance**: This project supports both `arduino` (ESPHome default) or `esp-idf` (this project default) frameworks.
+The upload TFT engines have some differences, so changing the framework may solve some issue.
+
+You can set the framework you want by adding this to your ESPHome yaml:
+
+#### ESP-IDF
+
+```yaml
+esp32:
+ framework:
+ type: esp-idf
+```
+
+#### Arduino
+
+```yaml
+esp32:
+ framework:
+ type: arduino
+```
+
### Flash your panel again
- **Issue**: Your firmware might be missing some important library, you may be using an outdated version or the ESP may be out of memory.
diff --git a/docs/version_compatibility.md b/docs/version_compatibility.md
index 2c0bf83..8bb17a2 100644
--- a/docs/version_compatibility.md
+++ b/docs/version_compatibility.md
@@ -3,7 +3,7 @@
| NSPanel_HA_Blueprint
Version | Home Assistant
Min version | ESPHome
Min version |
| :--: | :--: | :--: |
-| v4.2.2+ | 2023.12.0 | 2023.12.0 |
+| v4.3
v4.2.2+| 2023.12.0 | 2023.12.0 |
| v4.2.1
v4.2 | 2023.9.0 | 2023.12.0 |
| v4.1 | 2023.9.0 | 2023.5.0 |
| v4.0 | 2023.5.0 | 2023.5.0 |
diff --git a/esphome/nspanel_esphome_core.yaml b/esphome/nspanel_esphome_core.yaml
index a102251..bc4fa72 100644
--- a/esphome/nspanel_esphome_core.yaml
+++ b/esphome/nspanel_esphome_core.yaml
@@ -31,6 +31,11 @@ external_components:
- nextion # Change this when that PR#6192 gets released (2024.3?)
refresh: 300s
+##### Use ESP-IDF as default #####
+esp32:
+ framework:
+ type: esp-idf
+
##### ESPHOME CONFIGURATION #####
esphome:
name: ${name}