Revert "Remove esp-idf"

This reverts commit 58d86aeb86.
This commit is contained in:
Edward Firmo
2023-11-28 16:09:39 +01:00
parent 58d86aeb86
commit 55f254e7a2
4 changed files with 26 additions and 31 deletions

View File

@@ -76,13 +76,11 @@ packages:
6. Buttons now will run an automation
<br>On the previous versions, a button with an automation will enable or disable the automation. Now the button will trigger the automation.
<br>If you want the legacy behavior, please create a script to enable/disable the automation and assign this to your button. 😉
7. ESP-IDF IS TEMPORARILY UNAVAILABLE
&nbsp;
## Overview of noteworthy changes
1. New Upload TFT engine
2. Hardware restarts with button hold for 15s
3. ~~Support to `esp-idf` framework~~
3. Support to `esp-idf` framework
4. Support to 921600 bps
5. Font size for chips
6. Short click to open Climate and Media Player
@@ -119,18 +117,16 @@ Now if you press the hardware buttons for more than 15s, the panel will act as t
| Right | Restarts the panel | It is equivalent to press the "Restart" button on the Settings page or from Home Assistant, but is available even when the Wi-Fi isn't connected or Home Assistant is out. |
&nbsp;
### 3. ~~Support to `esp-idf` framework~~
~~Although this project still using ESPHome default framework (currently `arduino`), we started supporting the framework `esp-idf` as this is a recomendation from ESPHome team since an year ago or so.~~
~~The `arduino` protocol still more popular and therefore more components are available, but there are some advantages with the ESP-IDF framework:~~
- ~~It is updated more frequently by EspressIF, which means it is more secure and stable.~~
- ~~It reduces a layer, as Arduino is developed in top of ESP-IDF, so basically we are changing from ESPHome -> Arduino -> ESP-IDF -> Hardware to ESPHome -> ESP-IDF -> Hardware.~~
- ~~By reducing a layer, more memory is available for future features and for the custom components you might want to add to your panel.~~
- ~~The memory management is more efficient, which makes critical tasks, like uploading a TFT file, more reliable.~~
~~<br>In the future we will probably make this as the default framework, so if you are a new user or if for some reason you have to flash your panel via serial/usb, it's a good idea to change to ESP-IDF now.~~
~~<br>Please look at [customizations docs in the Wiki](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki/(EN)-Customization#framework-esp-idf) for more details on how to change the framework.~~
~~<br>-> The ESP-IDF framework will be used when you enable the advanced mode.~~
> The support to IDF was temporarily removed on v4.1.2
### 3. Support to `esp-idf` framework
Although this project still using ESPHome default framework (currently `arduino`), we started supporting the framework `esp-idf` as this is a recomendation from ESPHome team since an year ago or so.
The `arduino` protocol still more popular and therefore more components are available, but there are some advantages with the ESP-IDF framework:
- It is updated more frequently by EspressIF, which means it is more secure and stable.
- It reduces a layer, as Arduino is developed in top of ESP-IDF, so basically we are changing from ESPHome -> Arduino -> ESP-IDF -> Hardware to ESPHome -> ESP-IDF -> Hardware.
- By reducing a layer, more memory is available for future features and for the custom components you might want to add to your panel.
- The memory management is more efficient, which makes critical tasks, like uploading a TFT file, more reliable.
<br>In the future we will probably make this as the default framework, so if you are a new user or if for some reason you have to flash your panel via serial/usb, it's a good idea to change to ESP-IDF now.
<br>Please look at [customizations docs in the Wiki](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki/(EN)-Customization#framework-esp-idf) for more details on how to change the framework.
<br>-> The ESP-IDF framework will be used when you enable the advanced mode.
&nbsp;
### 4. Support to 921600 bps

View File

@@ -13,11 +13,6 @@ substitutions:
# nextion_update_blank_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/raw/main/custom_configuration/nspanel_blank.tft"
##############################################
#external_components:
# - source: github://pr#5683 # Remove this when that pr is merged
# components:
# - nextion
button:
##### UPDATE TFT DISPLAY #####
- name: ${device_name} Update TFT display
@@ -94,8 +89,7 @@ script:
exit_reparse->execute();
delay_seconds_(2);
ESP_LOGV(TAG, "Calling upload from Nextion component");
disp1->upload_tft();
id(restart_nspanel).press();
if (disp1->upload_tft()) id(restart_nspanel).press();
ESP_LOGD(TAG, "Turn off Nextion");
screen_power->turn_off();
delay_seconds_(3);

View File

@@ -20,9 +20,9 @@ button:
captive_portal:
#esp32:
# framework:
# type: esp-idf
esp32:
framework:
type: esp-idf
sensor:
##### Uptime Sensors #####

View File

@@ -10,6 +10,11 @@ substitutions:
version: "4.1.2"
#############################
external_components:
- source: github://pr#5825 # Remove this when that pr is merged and released
components:
- nextion
##### ESPHOME CONFIGURATION #####
esphome:
name: ${device_name}
@@ -32,7 +37,7 @@ esphome:
- script.execute: exit_reparse
- wait_until:
condition:
- lambda: !lambda return disp1->is_setup();
- lambda: !lambda return disp1->is_detected();
timeout: 20s
- lambda: |-
static const char *const TAG = "on_boot";
@@ -50,7 +55,7 @@ esphome:
};
nextion_status->execute();
if (not disp1->is_setup()) {
if (not disp1->is_detected()) {
ESP_LOGE(TAG, "No response from Nextion display");
ESP_LOGD(TAG, "Turn off Nextion");
screen_power->turn_off();
@@ -62,12 +67,12 @@ esphome:
}
- wait_until:
condition:
- lambda: !lambda return disp1->is_setup();
- lambda: !lambda return disp1->is_detected();
timeout: 20s
- lambda: |-
static const char *const TAG = "on_boot";
nextion_status->execute();
if (not disp1->is_setup()) {
if (not disp1->is_detected()) {
ESP_LOGE(TAG, "No response from Nextion display");
}
ESP_LOGD(TAG, "Finished");
@@ -1344,7 +1349,7 @@ switch:
on_turn_on:
- wait_until:
condition:
- lambda: !lambda return disp1->is_setup();
- lambda: !lambda return disp1->is_detected();
timeout: 20s
- lambda: |-
if (id(boot_sequence_completed)) {
@@ -2646,7 +2651,7 @@ script:
- lambda: |-
static const char *const TAG = "script.nextion_status";
ESP_LOGD(TAG, "Nextion status:");
//ESP_LOGD(TAG, " Is detected: %s", disp1->is_detected() ? "True" : "False");
ESP_LOGD(TAG, " Is detected: %s", disp1->is_detected() ? "True" : "False");
ESP_LOGD(TAG, " Is setup: %s", disp1->is_setup() ? "True" : "False");
##### ADD-ONS ############################################################