Implements Update TFT display URL select

To make it easier to update new displays.
This commit is contained in:
Edward Firmo
2023-12-07 15:44:14 +01:00
parent 588de3bc03
commit ceb669dfc8

View File

@@ -11,7 +11,8 @@ substitutions:
################## Defaults ##################
# Just in case user forgets to set something #
nextion_update_url: "http://github.com/Blackymas/NSPanel_HA_Blueprint/raw/main/custom_configuration/nspanel_blank.tft"
nextion_update_url: "http://github.com/Blackymas/NSPanel_HA_Blueprint/raw/main/custom_configuration/nspanel_eu.tft"
nextion_blank_url: "http://github.com/Blackymas/NSPanel_HA_Blueprint/raw/main/custom_configuration/nspanel_blank.tft"
##############################################
##### DON'T CHANGE THIS #####
@@ -33,18 +34,6 @@ external_components:
http_request:
id: httpclient
button:
##### UPDATE TFT DISPLAY #####
- name: ${device_name} Update TFT display
platform: template
icon: mdi:file-sync
id: tft_update
entity_category: config
on_press:
- logger.log: "Button pressed: Update TFT display"
- lambda: |-
upload_tft->execute("${nextion_update_url}");
api:
services:
##### SERVICE TO UPDATE THE TFT FILE from URL #####
@@ -67,12 +56,25 @@ api:
clean_url = clean_url.substr(0, endPos + 1);
}
if ( clean_url.empty() or clean_url == "default") url = "${nextion_update_url}";
if ( clean_url.empty() or clean_url == "default") url = tft_list->state;
upload_tft->execute(url.c_str());
display:
- id: !extend disp1
#tft_url: ${nextion_update_url}
button:
##### UPDATE TFT DISPLAY #####
- name: ${device_name} Update TFT display
platform: template
icon: mdi:file-sync
id: tft_update
entity_category: config
on_press:
- lambda: |-
static const char *const TAG = "button.tft_update.on_press";
ESP_LOGD(TAG, "Update TFT display button pressed");
upload_tft->execute(tft_list->state.c_str());
#display:
# - id: !extend disp1
# tft_url: ${nextion_update_url}
script:
- id: upload_tft_new #NOT IN USE FOR NOW
@@ -81,7 +83,7 @@ script:
url: string
then:
- lambda: |-
static const char *const TAG = "script.upload_tft";
static const char *const TAG = "script.upload_tft_new";
ESP_LOGVV(TAG, "Starting...");
nextion_init->state = false;
@@ -853,3 +855,22 @@ script:
id(restart_nspanel).press();
ESP_LOGD(TAG, "Finished!");
select:
- id: tft_list
name: Update TFT display URL
platform: template
options:
- "${nextion_update_url}"
- "${nextion_blank_url}"
initial_option: "${nextion_update_url}"
optimistic: true
restore_value: false
internal: false
entity_category: config
icon: mdi:file-arrow-up-down-outline
disabled_by_default: true
set_action:
- lambda: |-
static const char *const TAG = "select.tft_list.set_action";
ESP_LOGD(TAG, "Selected TFT URL: %s", x.c_str());