diff --git a/.gitignore b/.gitignore index ae2f781..cb51595 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ Nextion2Text.* #dev nspanel_esphome_prebuilt*.bin +/prebuilt diff --git a/.test/esphome_advanced.yaml b/.test/esphome_advanced.yaml index d8c7a8d..e9825fd 100644 --- a/.test/esphome_advanced.yaml +++ b/.test/esphome_advanced.yaml @@ -7,8 +7,8 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - # addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - # addon_climate_cool: !include ../nspanel_esphome_addon_climate_cool.yaml - # addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + 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 + # addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml ... diff --git a/.test/esphome_advanced_climate_cool_esp_idf.yaml b/.test/esphome_advanced_climate_cool_esp_idf.yaml index d8f279a..5ed81c6 100644 --- a/.test/esphome_advanced_climate_cool_esp_idf.yaml +++ b/.test/esphome_advanced_climate_cool_esp_idf.yaml @@ -7,10 +7,10 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - # addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - addon_climate_cool: !include ../nspanel_esphome_addon_climate_cool.yaml - # addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + 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 + # addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml esp32: framework: diff --git a/.test/esphome_advanced_climate_dual_esp_idf5.yaml b/.test/esphome_advanced_climate_dual_esp_idf5.yaml index 621b0c5..c232703 100644 --- a/.test/esphome_advanced_climate_dual_esp_idf5.yaml +++ b/.test/esphome_advanced_climate_dual_esp_idf5.yaml @@ -7,10 +7,10 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - # advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - # addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - # addon_climate_cool: !include ../nspanel_esphome_addon_climate_cool.yaml - addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + # 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 + addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml esp32: framework: diff --git a/.test/esphome_advanced_climate_heat.yaml b/.test/esphome_advanced_climate_heat.yaml index 57f7f06..482edb9 100644 --- a/.test/esphome_advanced_climate_heat.yaml +++ b/.test/esphome_advanced_climate_heat.yaml @@ -7,8 +7,8 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - # addon_climate_cold: !include ../nspanel_esphome_addon_climate_cold.yaml - # addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + 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 + # addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml ... diff --git a/.test/esphome_advanced_climate_heat_customizations.yaml b/.test/esphome_advanced_climate_heat_customizations.yaml index a8d2d96..63c63b2 100644 --- a/.test/esphome_advanced_climate_heat_customizations.yaml +++ b/.test/esphome_advanced_climate_heat_customizations.yaml @@ -7,10 +7,10 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - # addon_climate_cold: !include ../nspanel_esphome_addon_climate_cold.yaml - # addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + 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 + # addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml ##### Customizations from Wiki ##### api: diff --git a/.test/esphome_climate_cool.yaml b/.test/esphome_climate_cool.yaml index b7fa11f..a0b7ce8 100644 --- a/.test/esphome_climate_cool.yaml +++ b/.test/esphome_climate_cool.yaml @@ -7,8 +7,8 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - # advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - # addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - addon_climate_cool: !include ../nspanel_esphome_addon_climate_cool.yaml - # addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + # 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 + # addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml ... diff --git a/.test/esphome_climate_dual.yaml b/.test/esphome_climate_dual.yaml index bc33831..eab4fb4 100644 --- a/.test/esphome_climate_dual.yaml +++ b/.test/esphome_climate_dual.yaml @@ -7,8 +7,8 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - # advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - # addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - # addon_climate_cool: !include ../nspanel_esphome_addon_climate_cool.yaml - addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + # 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 + addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml ... diff --git a/.test/esphome_climate_heat.yaml b/.test/esphome_climate_heat.yaml index 30bd76c..57d8387 100644 --- a/.test/esphome_climate_heat.yaml +++ b/.test/esphome_climate_heat.yaml @@ -7,8 +7,8 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - # advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - # addon_climate_cool: !include ../nspanel_esphome_addon_climate_cool.yaml - # addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + # 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 + # addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml ... diff --git a/.test/esphome_core.yaml b/.test/esphome_core.yaml index cba7fe2..d41a852 100644 --- a/.test/esphome_core.yaml +++ b/.test/esphome_core.yaml @@ -7,8 +7,8 @@ substitutions: packages: core_package: !include ../nspanel_esphome.yaml # Core package - # advanced_package: !include ../advanced/esphome/nspanel_esphome_advanced.yaml - # addon_climate_heat: !include ../nspanel_esphome_addon_climate_heat.yaml - # addon_climate_cool: !include ../nspanel_esphome_addon_climate_cool.yaml - # addon_climate_dual: !include ../nspanel_esphome_addon_climate_dual.yaml + # 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 + # addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml ... diff --git a/advanced/.gitignore b/advanced/.gitignore deleted file mode 100644 index 8c9a238..0000000 --- a/advanced/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -# Ignore Mac DS_Store files -.DS_Store -**/.DS_Store - -Nextion2Text.* -*.cmd -*.bat - -# Ignore IntelliJ IDEA project directory -.idea - -# Ignore dev folder -dev - -#nspanel_esphome_prebuilt.yaml diff --git a/advanced/esphome/.gitignore b/advanced/esphome/.gitignore deleted file mode 100644 index d8b4157..0000000 --- a/advanced/esphome/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Gitignore settings for ESPHome -# This is an example and may include too much for your use-case. -# You can modify this file to suit your needs. -/.esphome/ -/secrets.yaml diff --git a/advanced/esphome/nspanel_esphome_prebuilt.yaml b/advanced/esphome/nspanel_esphome_prebuilt.yaml deleted file mode 100644 index d2d981b..0000000 --- a/advanced/esphome/nspanel_esphome_prebuilt.yaml +++ /dev/null @@ -1,133 +0,0 @@ -######################## -##### EXPERIMENTAL ##### -######################## - -##################################################################################################### -##### NSPANEL ESPHOME created by Blackymas - https://github.com/Blackymas/NSPanel_HA_Blueprint ##### -##### ESPHOME PRE-BUILT ##### -##### PLEASE only make changes if it is necessary and also the required knowledge is available. ##### -##### For normal use with the Blueprint, no changes are necessary. ##### -##################################################################################################### ---- -substitutions: - device_name: nspanel - wifi_ssid: nspanel - wifi_password: NSPanel_Blueprint - pre_built: "true" - -##### External components ##### -external_components: - - source: github://pr#5586 # Remove this and update min ver when that PR is released - components: - - ota_http - refresh: 300s - -packages: - core_package: !include ./nspanel_esphome_core.yaml # Core package - upload_tft_package: !include ./nspanel_esphome_addon_upload_tft.yaml # Core package - -api: - services: - - service: firmware_update - variables: - url: string - then: - - ota_http.flash: - url: !lambda return url.c_str(); - verify_ssl: false - - lambda: |- - static const char *const TAG = "prebuilt.button.bt_firmware_update"; - ESP_LOGE(TAG, "Firmware update failed!"); -button: - - name: Factory reset - platform: factory_reset - disabled_by_default: true - internal: false - - - id: bt_firmware_update - name: Firmware update - platform: template - on_press: - then: - - ota_http.flash: - url: !lambda return id(firmware_url).state; - verify_ssl: false - - lambda: |- - static const char *const TAG = "prebuilt.button.bt_firmware_update"; - ESP_LOGE(TAG, "Firmware update failed!"); - -# In combination with the `ap` this allows the user -# to provision wifi credentials to the device. -captive_portal: - -dashboard_import: - package_import_url: github://Blackymas/NSPanel_HA_Blueprint/advanced/esphome/nspanel_esphome_prebuilt.yaml # Must be updated - import_full_config: false - -esp32: - framework: - type: esp-idf - -# Sets up Bluetooth LE (Only on ESP32) to allow the user -# to provision wifi credentials to the device. -esp32_improv: - authorizer: none - -esphome: - name_add_mac_suffix: true - project: - name: esphome.NSPanel_HA_Blueprint - version: "${version}" - on_boot: - - priority: 602.0 - then: - - text_sensor.template.publish: - id: firmware_url - state: https://raw.githubusercontent.com/Blackymas/NSPanel_HA_Blueprint/main/nspanel_esphome_prebuilt.bin - -# Sets up the improv via serial client for Wi-Fi provisioning -improv_serial: - -logger: - baud_rate: 115200 - -ota: - id: my_ota - password: !remove - -ota_http: - -script: - - id: !extend watchdog - then: - - lambda: |- - static const char *const TAG = "prebuilt.script.watchdog"; - ESP_LOGI(TAG, "Pre-built version: ${pre_built}"); - -select: - - id: !extend tft_file_model - platform: template - options: - - "NSPanel Blank" - - "NSPanel EU" - - "NSPanel US" - - "NSPanel US Landscape" - - "NSPanel EU (CJK languages)" - - "NSPanel US (CJK languages)" - - "NSPanel US Landscape (CJK languages)" - initial_option: "NSPanel Blank" - -text_sensor: - - id: firmware_url - name: Firmware update - URL - platform: template - update_interval: 60s - internal: true - -web_server: - id: web_server_std - -wifi: - ap: {} - power_save_mode: LIGHT # To make it compatible with BLE -... diff --git a/advanced/esphome/nspanel_esphome_addon_climate_base.yaml b/esphome/nspanel_esphome_addon_climate_base.yaml similarity index 100% rename from advanced/esphome/nspanel_esphome_addon_climate_base.yaml rename to esphome/nspanel_esphome_addon_climate_base.yaml diff --git a/nspanel_esphome_addon_climate_cool.yaml b/esphome/nspanel_esphome_addon_climate_cool.yaml similarity index 94% rename from nspanel_esphome_addon_climate_cool.yaml rename to esphome/nspanel_esphome_addon_climate_cool.yaml index 3867f39..e1752c5 100644 --- a/nspanel_esphome_addon_climate_cool.yaml +++ b/esphome/nspanel_esphome_addon_climate_cool.yaml @@ -32,5 +32,5 @@ climate: mode: "cool" packages: - climate_base_package: !include advanced/esphome/nspanel_esphome_addon_climate_base.yaml + climate_base_package: !include nspanel_esphome_addon_climate_base.yaml ... diff --git a/nspanel_esphome_addon_climate_dual.yaml b/esphome/nspanel_esphome_addon_climate_dual.yaml similarity index 95% rename from nspanel_esphome_addon_climate_dual.yaml rename to esphome/nspanel_esphome_addon_climate_dual.yaml index d2ae0a1..114d9d9 100644 --- a/nspanel_esphome_addon_climate_dual.yaml +++ b/esphome/nspanel_esphome_addon_climate_dual.yaml @@ -37,5 +37,5 @@ climate: mode: "heat_cool" packages: - climate_base_package: !include advanced/esphome/nspanel_esphome_addon_climate_base.yaml + climate_base_package: !include nspanel_esphome_addon_climate_base.yaml ... diff --git a/nspanel_esphome_addon_climate_heat.yaml b/esphome/nspanel_esphome_addon_climate_heat.yaml similarity index 94% rename from nspanel_esphome_addon_climate_heat.yaml rename to esphome/nspanel_esphome_addon_climate_heat.yaml index 9c6c5c5..1b728c6 100644 --- a/nspanel_esphome_addon_climate_heat.yaml +++ b/esphome/nspanel_esphome_addon_climate_heat.yaml @@ -32,5 +32,5 @@ climate: mode: "heat" packages: - climate_base_package: !include advanced/esphome/nspanel_esphome_addon_climate_base.yaml + climate_base_package: !include nspanel_esphome_addon_climate_base.yaml ... diff --git a/advanced/esphome/nspanel_esphome_addon_upload_tft.yaml b/esphome/nspanel_esphome_addon_upload_tft.yaml similarity index 100% rename from advanced/esphome/nspanel_esphome_addon_upload_tft.yaml rename to esphome/nspanel_esphome_addon_upload_tft.yaml diff --git a/advanced/esphome/nspanel_esphome_advanced.yaml b/esphome/nspanel_esphome_advanced.yaml similarity index 100% rename from advanced/esphome/nspanel_esphome_advanced.yaml rename to esphome/nspanel_esphome_advanced.yaml diff --git a/advanced/esphome/nspanel_esphome_core.yaml b/esphome/nspanel_esphome_core.yaml similarity index 99% rename from advanced/esphome/nspanel_esphome_core.yaml rename to esphome/nspanel_esphome_core.yaml index b0af24a..38bb833 100644 --- a/advanced/esphome/nspanel_esphome_core.yaml +++ b/esphome/nspanel_esphome_core.yaml @@ -42,6 +42,20 @@ esphome: on_boot: - priority: 600.0 # This is where most sensors are set up. then: + - lambda: |- + std::string s = "${device_name}"; + std::string result; + bool last_was_underscore = false; + for (char& c : s) { + if (isalnum(c)) { + result += tolower(c); // Add alphanumeric characters as lowercase + last_was_underscore = false; + } else if (!last_was_underscore) { // Replace non-alphanumeric with '_' but avoid consecutive '_' + result += '_'; + last_was_underscore = true; + } + } + device_name->publish_state(result.c_str()); - script.execute: restore_settings - wait_until: condition: @@ -1594,6 +1608,15 @@ switch: ##### START - TEXT SENSOR CONFIGURATION ##### text_sensor: + ##### Device name - Used by bluepring to find service's names ##### + - name: Device Name + id: device_name + platform: template + icon: mdi:identifier + entity_category: diagnostic + internal: false + disabled_by_default: false + ##### Entity Id of the entity displayed on the detailed pages - name: Detailed Entity id: detailed_entity @@ -1603,7 +1626,7 @@ text_sensor: disabled_by_default: false ##### Current page name ##### - - name: Current page + - name: Current Page id: current_page platform: template icon: mdi:tablet-dashboard diff --git a/nspanel_esphome.yaml b/nspanel_esphome.yaml index 04f0712..44f9a7b 100644 --- a/nspanel_esphome.yaml +++ b/nspanel_esphome.yaml @@ -1,5 +1,5 @@ --- packages: - core_package: !include advanced/esphome/nspanel_esphome_core.yaml - upload_tft_package: !include advanced/esphome/nspanel_esphome_addon_upload_tft.yaml + core_package: !include esphome/nspanel_esphome_core.yaml + upload_tft_package: !include esphome/nspanel_esphome_addon_upload_tft.yaml ... diff --git a/advanced/hmi/nspanel_CJK_eu.HMI b/tft/nspanel_CJK_eu.HMI similarity index 100% rename from advanced/hmi/nspanel_CJK_eu.HMI rename to tft/nspanel_CJK_eu.HMI diff --git a/advanced/hmi/nspanel_CJK_eu.tft b/tft/nspanel_CJK_eu.tft similarity index 100% rename from advanced/hmi/nspanel_CJK_eu.tft rename to tft/nspanel_CJK_eu.tft diff --git a/advanced/hmi/nspanel_CJK_eu_code/Program.s.txt b/tft/nspanel_CJK_eu_code/Program.s.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/Program.s.txt rename to tft/nspanel_CJK_eu_code/Program.s.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/alarm.txt b/tft/nspanel_CJK_eu_code/alarm.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/alarm.txt rename to tft/nspanel_CJK_eu_code/alarm.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/boot.txt b/tft/nspanel_CJK_eu_code/boot.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/boot.txt rename to tft/nspanel_CJK_eu_code/boot.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/buttonpage01.txt b/tft/nspanel_CJK_eu_code/buttonpage01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/buttonpage01.txt rename to tft/nspanel_CJK_eu_code/buttonpage01.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/buttonpage02.txt b/tft/nspanel_CJK_eu_code/buttonpage02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/buttonpage02.txt rename to tft/nspanel_CJK_eu_code/buttonpage02.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/buttonpage03.txt b/tft/nspanel_CJK_eu_code/buttonpage03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/buttonpage03.txt rename to tft/nspanel_CJK_eu_code/buttonpage03.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/buttonpage04.txt b/tft/nspanel_CJK_eu_code/buttonpage04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/buttonpage04.txt rename to tft/nspanel_CJK_eu_code/buttonpage04.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/climate.txt b/tft/nspanel_CJK_eu_code/climate.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/climate.txt rename to tft/nspanel_CJK_eu_code/climate.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/confirm.txt b/tft/nspanel_CJK_eu_code/confirm.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/confirm.txt rename to tft/nspanel_CJK_eu_code/confirm.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/cover.txt b/tft/nspanel_CJK_eu_code/cover.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/cover.txt rename to tft/nspanel_CJK_eu_code/cover.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/entitypage01.txt b/tft/nspanel_CJK_eu_code/entitypage01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/entitypage01.txt rename to tft/nspanel_CJK_eu_code/entitypage01.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/entitypage02.txt b/tft/nspanel_CJK_eu_code/entitypage02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/entitypage02.txt rename to tft/nspanel_CJK_eu_code/entitypage02.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/entitypage03.txt b/tft/nspanel_CJK_eu_code/entitypage03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/entitypage03.txt rename to tft/nspanel_CJK_eu_code/entitypage03.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/entitypage04.txt b/tft/nspanel_CJK_eu_code/entitypage04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/entitypage04.txt rename to tft/nspanel_CJK_eu_code/entitypage04.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/fan.txt b/tft/nspanel_CJK_eu_code/fan.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/fan.txt rename to tft/nspanel_CJK_eu_code/fan.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/home.txt b/tft/nspanel_CJK_eu_code/home.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/home.txt rename to tft/nspanel_CJK_eu_code/home.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/keyb_num.txt b/tft/nspanel_CJK_eu_code/keyb_num.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/keyb_num.txt rename to tft/nspanel_CJK_eu_code/keyb_num.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/light.txt b/tft/nspanel_CJK_eu_code/light.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/light.txt rename to tft/nspanel_CJK_eu_code/light.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/media_player.txt b/tft/nspanel_CJK_eu_code/media_player.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/media_player.txt rename to tft/nspanel_CJK_eu_code/media_player.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/notification.txt b/tft/nspanel_CJK_eu_code/notification.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/notification.txt rename to tft/nspanel_CJK_eu_code/notification.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/qrcode.txt b/tft/nspanel_CJK_eu_code/qrcode.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/qrcode.txt rename to tft/nspanel_CJK_eu_code/qrcode.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/screensaver.txt b/tft/nspanel_CJK_eu_code/screensaver.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/screensaver.txt rename to tft/nspanel_CJK_eu_code/screensaver.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/settings.txt b/tft/nspanel_CJK_eu_code/settings.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/settings.txt rename to tft/nspanel_CJK_eu_code/settings.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/weather01.txt b/tft/nspanel_CJK_eu_code/weather01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/weather01.txt rename to tft/nspanel_CJK_eu_code/weather01.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/weather02.txt b/tft/nspanel_CJK_eu_code/weather02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/weather02.txt rename to tft/nspanel_CJK_eu_code/weather02.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/weather03.txt b/tft/nspanel_CJK_eu_code/weather03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/weather03.txt rename to tft/nspanel_CJK_eu_code/weather03.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/weather04.txt b/tft/nspanel_CJK_eu_code/weather04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/weather04.txt rename to tft/nspanel_CJK_eu_code/weather04.txt diff --git a/advanced/hmi/nspanel_CJK_eu_code/weather05.txt b/tft/nspanel_CJK_eu_code/weather05.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_eu_code/weather05.txt rename to tft/nspanel_CJK_eu_code/weather05.txt diff --git a/advanced/hmi/nspanel_CJK_us.HMI b/tft/nspanel_CJK_us.HMI similarity index 100% rename from advanced/hmi/nspanel_CJK_us.HMI rename to tft/nspanel_CJK_us.HMI diff --git a/advanced/hmi/nspanel_CJK_us.tft b/tft/nspanel_CJK_us.tft similarity index 100% rename from advanced/hmi/nspanel_CJK_us.tft rename to tft/nspanel_CJK_us.tft diff --git a/advanced/hmi/nspanel_CJK_us_code/Program.s.txt b/tft/nspanel_CJK_us_code/Program.s.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/Program.s.txt rename to tft/nspanel_CJK_us_code/Program.s.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/alarm.txt b/tft/nspanel_CJK_us_code/alarm.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/alarm.txt rename to tft/nspanel_CJK_us_code/alarm.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/boot.txt b/tft/nspanel_CJK_us_code/boot.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/boot.txt rename to tft/nspanel_CJK_us_code/boot.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/buttonpage01.txt b/tft/nspanel_CJK_us_code/buttonpage01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/buttonpage01.txt rename to tft/nspanel_CJK_us_code/buttonpage01.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/buttonpage02.txt b/tft/nspanel_CJK_us_code/buttonpage02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/buttonpage02.txt rename to tft/nspanel_CJK_us_code/buttonpage02.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/buttonpage03.txt b/tft/nspanel_CJK_us_code/buttonpage03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/buttonpage03.txt rename to tft/nspanel_CJK_us_code/buttonpage03.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/buttonpage04.txt b/tft/nspanel_CJK_us_code/buttonpage04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/buttonpage04.txt rename to tft/nspanel_CJK_us_code/buttonpage04.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/climate.txt b/tft/nspanel_CJK_us_code/climate.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/climate.txt rename to tft/nspanel_CJK_us_code/climate.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/confirm.txt b/tft/nspanel_CJK_us_code/confirm.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/confirm.txt rename to tft/nspanel_CJK_us_code/confirm.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/cover.txt b/tft/nspanel_CJK_us_code/cover.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/cover.txt rename to tft/nspanel_CJK_us_code/cover.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/entitypage01.txt b/tft/nspanel_CJK_us_code/entitypage01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/entitypage01.txt rename to tft/nspanel_CJK_us_code/entitypage01.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/entitypage02.txt b/tft/nspanel_CJK_us_code/entitypage02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/entitypage02.txt rename to tft/nspanel_CJK_us_code/entitypage02.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/entitypage03.txt b/tft/nspanel_CJK_us_code/entitypage03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/entitypage03.txt rename to tft/nspanel_CJK_us_code/entitypage03.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/entitypage04.txt b/tft/nspanel_CJK_us_code/entitypage04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/entitypage04.txt rename to tft/nspanel_CJK_us_code/entitypage04.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/fan.txt b/tft/nspanel_CJK_us_code/fan.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/fan.txt rename to tft/nspanel_CJK_us_code/fan.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/home.txt b/tft/nspanel_CJK_us_code/home.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/home.txt rename to tft/nspanel_CJK_us_code/home.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/keyb_num.txt b/tft/nspanel_CJK_us_code/keyb_num.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/keyb_num.txt rename to tft/nspanel_CJK_us_code/keyb_num.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/light.txt b/tft/nspanel_CJK_us_code/light.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/light.txt rename to tft/nspanel_CJK_us_code/light.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/media_player.txt b/tft/nspanel_CJK_us_code/media_player.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/media_player.txt rename to tft/nspanel_CJK_us_code/media_player.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/notification.txt b/tft/nspanel_CJK_us_code/notification.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/notification.txt rename to tft/nspanel_CJK_us_code/notification.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/qrcode.txt b/tft/nspanel_CJK_us_code/qrcode.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/qrcode.txt rename to tft/nspanel_CJK_us_code/qrcode.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/screensaver.txt b/tft/nspanel_CJK_us_code/screensaver.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/screensaver.txt rename to tft/nspanel_CJK_us_code/screensaver.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/settings.txt b/tft/nspanel_CJK_us_code/settings.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/settings.txt rename to tft/nspanel_CJK_us_code/settings.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/weather01.txt b/tft/nspanel_CJK_us_code/weather01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/weather01.txt rename to tft/nspanel_CJK_us_code/weather01.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/weather02.txt b/tft/nspanel_CJK_us_code/weather02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/weather02.txt rename to tft/nspanel_CJK_us_code/weather02.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/weather03.txt b/tft/nspanel_CJK_us_code/weather03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/weather03.txt rename to tft/nspanel_CJK_us_code/weather03.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/weather04.txt b/tft/nspanel_CJK_us_code/weather04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/weather04.txt rename to tft/nspanel_CJK_us_code/weather04.txt diff --git a/advanced/hmi/nspanel_CJK_us_code/weather05.txt b/tft/nspanel_CJK_us_code/weather05.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_code/weather05.txt rename to tft/nspanel_CJK_us_code/weather05.txt diff --git a/advanced/hmi/nspanel_CJK_us_land.HMI b/tft/nspanel_CJK_us_land.HMI similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land.HMI rename to tft/nspanel_CJK_us_land.HMI diff --git a/advanced/hmi/nspanel_CJK_us_land.tft b/tft/nspanel_CJK_us_land.tft similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land.tft rename to tft/nspanel_CJK_us_land.tft diff --git a/advanced/hmi/nspanel_CJK_us_land_code/Program.s.txt b/tft/nspanel_CJK_us_land_code/Program.s.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/Program.s.txt rename to tft/nspanel_CJK_us_land_code/Program.s.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/alarm.txt b/tft/nspanel_CJK_us_land_code/alarm.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/alarm.txt rename to tft/nspanel_CJK_us_land_code/alarm.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/boot.txt b/tft/nspanel_CJK_us_land_code/boot.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/boot.txt rename to tft/nspanel_CJK_us_land_code/boot.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/buttonpage01.txt b/tft/nspanel_CJK_us_land_code/buttonpage01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/buttonpage01.txt rename to tft/nspanel_CJK_us_land_code/buttonpage01.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/buttonpage02.txt b/tft/nspanel_CJK_us_land_code/buttonpage02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/buttonpage02.txt rename to tft/nspanel_CJK_us_land_code/buttonpage02.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/buttonpage03.txt b/tft/nspanel_CJK_us_land_code/buttonpage03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/buttonpage03.txt rename to tft/nspanel_CJK_us_land_code/buttonpage03.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/buttonpage04.txt b/tft/nspanel_CJK_us_land_code/buttonpage04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/buttonpage04.txt rename to tft/nspanel_CJK_us_land_code/buttonpage04.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/climate.txt b/tft/nspanel_CJK_us_land_code/climate.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/climate.txt rename to tft/nspanel_CJK_us_land_code/climate.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/confirm.txt b/tft/nspanel_CJK_us_land_code/confirm.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/confirm.txt rename to tft/nspanel_CJK_us_land_code/confirm.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/cover.txt b/tft/nspanel_CJK_us_land_code/cover.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/cover.txt rename to tft/nspanel_CJK_us_land_code/cover.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/entitypage01.txt b/tft/nspanel_CJK_us_land_code/entitypage01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/entitypage01.txt rename to tft/nspanel_CJK_us_land_code/entitypage01.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/entitypage02.txt b/tft/nspanel_CJK_us_land_code/entitypage02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/entitypage02.txt rename to tft/nspanel_CJK_us_land_code/entitypage02.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/entitypage03.txt b/tft/nspanel_CJK_us_land_code/entitypage03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/entitypage03.txt rename to tft/nspanel_CJK_us_land_code/entitypage03.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/entitypage04.txt b/tft/nspanel_CJK_us_land_code/entitypage04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/entitypage04.txt rename to tft/nspanel_CJK_us_land_code/entitypage04.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/fan.txt b/tft/nspanel_CJK_us_land_code/fan.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/fan.txt rename to tft/nspanel_CJK_us_land_code/fan.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/home.txt b/tft/nspanel_CJK_us_land_code/home.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/home.txt rename to tft/nspanel_CJK_us_land_code/home.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/keyb_num.txt b/tft/nspanel_CJK_us_land_code/keyb_num.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/keyb_num.txt rename to tft/nspanel_CJK_us_land_code/keyb_num.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/light.txt b/tft/nspanel_CJK_us_land_code/light.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/light.txt rename to tft/nspanel_CJK_us_land_code/light.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/media_player.txt b/tft/nspanel_CJK_us_land_code/media_player.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/media_player.txt rename to tft/nspanel_CJK_us_land_code/media_player.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/notification.txt b/tft/nspanel_CJK_us_land_code/notification.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/notification.txt rename to tft/nspanel_CJK_us_land_code/notification.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/qrcode.txt b/tft/nspanel_CJK_us_land_code/qrcode.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/qrcode.txt rename to tft/nspanel_CJK_us_land_code/qrcode.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/screensaver.txt b/tft/nspanel_CJK_us_land_code/screensaver.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/screensaver.txt rename to tft/nspanel_CJK_us_land_code/screensaver.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/settings.txt b/tft/nspanel_CJK_us_land_code/settings.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/settings.txt rename to tft/nspanel_CJK_us_land_code/settings.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/weather01.txt b/tft/nspanel_CJK_us_land_code/weather01.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/weather01.txt rename to tft/nspanel_CJK_us_land_code/weather01.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/weather02.txt b/tft/nspanel_CJK_us_land_code/weather02.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/weather02.txt rename to tft/nspanel_CJK_us_land_code/weather02.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/weather03.txt b/tft/nspanel_CJK_us_land_code/weather03.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/weather03.txt rename to tft/nspanel_CJK_us_land_code/weather03.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/weather04.txt b/tft/nspanel_CJK_us_land_code/weather04.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/weather04.txt rename to tft/nspanel_CJK_us_land_code/weather04.txt diff --git a/advanced/hmi/nspanel_CJK_us_land_code/weather05.txt b/tft/nspanel_CJK_us_land_code/weather05.txt similarity index 100% rename from advanced/hmi/nspanel_CJK_us_land_code/weather05.txt rename to tft/nspanel_CJK_us_land_code/weather05.txt diff --git a/advanced/hmi/nspanel_blank.HMI b/tft/nspanel_blank.HMI similarity index 100% rename from advanced/hmi/nspanel_blank.HMI rename to tft/nspanel_blank.HMI diff --git a/nspanel_blank.tft b/tft/nspanel_blank.tft similarity index 100% rename from nspanel_blank.tft rename to tft/nspanel_blank.tft diff --git a/advanced/hmi/nspanel_blank_code/Program.s.txt b/tft/nspanel_blank_code/Program.s.txt similarity index 100% rename from advanced/hmi/nspanel_blank_code/Program.s.txt rename to tft/nspanel_blank_code/Program.s.txt diff --git a/advanced/hmi/nspanel_blank_code/blank.txt b/tft/nspanel_blank_code/blank.txt similarity index 100% rename from advanced/hmi/nspanel_blank_code/blank.txt rename to tft/nspanel_blank_code/blank.txt diff --git a/advanced/hmi/nspanel_blank_code/page0.txt b/tft/nspanel_blank_code/page0.txt similarity index 100% rename from advanced/hmi/nspanel_blank_code/page0.txt rename to tft/nspanel_blank_code/page0.txt diff --git a/advanced/hmi/nspanel_blank_code/screensaver.txt b/tft/nspanel_blank_code/screensaver.txt similarity index 100% rename from advanced/hmi/nspanel_blank_code/screensaver.txt rename to tft/nspanel_blank_code/screensaver.txt diff --git a/advanced/hmi/nspanel_eu.HMI b/tft/nspanel_eu.HMI similarity index 100% rename from advanced/hmi/nspanel_eu.HMI rename to tft/nspanel_eu.HMI diff --git a/nspanel_eu.tft b/tft/nspanel_eu.tft similarity index 100% rename from nspanel_eu.tft rename to tft/nspanel_eu.tft diff --git a/advanced/hmi/nspanel_eu_code/Program.s.txt b/tft/nspanel_eu_code/Program.s.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/Program.s.txt rename to tft/nspanel_eu_code/Program.s.txt diff --git a/advanced/hmi/nspanel_eu_code/alarm.txt b/tft/nspanel_eu_code/alarm.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/alarm.txt rename to tft/nspanel_eu_code/alarm.txt diff --git a/advanced/hmi/nspanel_eu_code/boot.txt b/tft/nspanel_eu_code/boot.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/boot.txt rename to tft/nspanel_eu_code/boot.txt diff --git a/advanced/hmi/nspanel_eu_code/buttonpage01.txt b/tft/nspanel_eu_code/buttonpage01.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/buttonpage01.txt rename to tft/nspanel_eu_code/buttonpage01.txt diff --git a/advanced/hmi/nspanel_eu_code/buttonpage02.txt b/tft/nspanel_eu_code/buttonpage02.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/buttonpage02.txt rename to tft/nspanel_eu_code/buttonpage02.txt diff --git a/advanced/hmi/nspanel_eu_code/buttonpage03.txt b/tft/nspanel_eu_code/buttonpage03.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/buttonpage03.txt rename to tft/nspanel_eu_code/buttonpage03.txt diff --git a/advanced/hmi/nspanel_eu_code/buttonpage04.txt b/tft/nspanel_eu_code/buttonpage04.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/buttonpage04.txt rename to tft/nspanel_eu_code/buttonpage04.txt diff --git a/advanced/hmi/nspanel_eu_code/climate.txt b/tft/nspanel_eu_code/climate.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/climate.txt rename to tft/nspanel_eu_code/climate.txt diff --git a/advanced/hmi/nspanel_eu_code/confirm.txt b/tft/nspanel_eu_code/confirm.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/confirm.txt rename to tft/nspanel_eu_code/confirm.txt diff --git a/advanced/hmi/nspanel_eu_code/cover.txt b/tft/nspanel_eu_code/cover.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/cover.txt rename to tft/nspanel_eu_code/cover.txt diff --git a/advanced/hmi/nspanel_eu_code/entitypage01.txt b/tft/nspanel_eu_code/entitypage01.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/entitypage01.txt rename to tft/nspanel_eu_code/entitypage01.txt diff --git a/advanced/hmi/nspanel_eu_code/entitypage02.txt b/tft/nspanel_eu_code/entitypage02.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/entitypage02.txt rename to tft/nspanel_eu_code/entitypage02.txt diff --git a/advanced/hmi/nspanel_eu_code/entitypage03.txt b/tft/nspanel_eu_code/entitypage03.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/entitypage03.txt rename to tft/nspanel_eu_code/entitypage03.txt diff --git a/advanced/hmi/nspanel_eu_code/entitypage04.txt b/tft/nspanel_eu_code/entitypage04.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/entitypage04.txt rename to tft/nspanel_eu_code/entitypage04.txt diff --git a/advanced/hmi/nspanel_eu_code/fan.txt b/tft/nspanel_eu_code/fan.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/fan.txt rename to tft/nspanel_eu_code/fan.txt diff --git a/advanced/hmi/nspanel_eu_code/home.txt b/tft/nspanel_eu_code/home.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/home.txt rename to tft/nspanel_eu_code/home.txt diff --git a/advanced/hmi/nspanel_eu_code/keyb_num.txt b/tft/nspanel_eu_code/keyb_num.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/keyb_num.txt rename to tft/nspanel_eu_code/keyb_num.txt diff --git a/advanced/hmi/nspanel_eu_code/light.txt b/tft/nspanel_eu_code/light.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/light.txt rename to tft/nspanel_eu_code/light.txt diff --git a/advanced/hmi/nspanel_eu_code/media_player.txt b/tft/nspanel_eu_code/media_player.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/media_player.txt rename to tft/nspanel_eu_code/media_player.txt diff --git a/advanced/hmi/nspanel_eu_code/notification.txt b/tft/nspanel_eu_code/notification.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/notification.txt rename to tft/nspanel_eu_code/notification.txt diff --git a/advanced/hmi/nspanel_eu_code/power.txt b/tft/nspanel_eu_code/power.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/power.txt rename to tft/nspanel_eu_code/power.txt diff --git a/advanced/hmi/nspanel_eu_code/qrcode.txt b/tft/nspanel_eu_code/qrcode.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/qrcode.txt rename to tft/nspanel_eu_code/qrcode.txt diff --git a/advanced/hmi/nspanel_eu_code/screensaver.txt b/tft/nspanel_eu_code/screensaver.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/screensaver.txt rename to tft/nspanel_eu_code/screensaver.txt diff --git a/advanced/hmi/nspanel_eu_code/settings.txt b/tft/nspanel_eu_code/settings.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/settings.txt rename to tft/nspanel_eu_code/settings.txt diff --git a/advanced/hmi/nspanel_eu_code/weather01.txt b/tft/nspanel_eu_code/weather01.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/weather01.txt rename to tft/nspanel_eu_code/weather01.txt diff --git a/advanced/hmi/nspanel_eu_code/weather02.txt b/tft/nspanel_eu_code/weather02.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/weather02.txt rename to tft/nspanel_eu_code/weather02.txt diff --git a/advanced/hmi/nspanel_eu_code/weather03.txt b/tft/nspanel_eu_code/weather03.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/weather03.txt rename to tft/nspanel_eu_code/weather03.txt diff --git a/advanced/hmi/nspanel_eu_code/weather04.txt b/tft/nspanel_eu_code/weather04.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/weather04.txt rename to tft/nspanel_eu_code/weather04.txt diff --git a/advanced/hmi/nspanel_eu_code/weather05.txt b/tft/nspanel_eu_code/weather05.txt similarity index 100% rename from advanced/hmi/nspanel_eu_code/weather05.txt rename to tft/nspanel_eu_code/weather05.txt diff --git a/advanced/hmi/nspanel_us.HMI b/tft/nspanel_us.HMI similarity index 100% rename from advanced/hmi/nspanel_us.HMI rename to tft/nspanel_us.HMI diff --git a/nspanel_us.tft b/tft/nspanel_us.tft similarity index 100% rename from nspanel_us.tft rename to tft/nspanel_us.tft diff --git a/advanced/hmi/nspanel_us_code/Program.s.txt b/tft/nspanel_us_code/Program.s.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/Program.s.txt rename to tft/nspanel_us_code/Program.s.txt diff --git a/advanced/hmi/nspanel_us_code/alarm.txt b/tft/nspanel_us_code/alarm.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/alarm.txt rename to tft/nspanel_us_code/alarm.txt diff --git a/advanced/hmi/nspanel_us_code/boot.txt b/tft/nspanel_us_code/boot.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/boot.txt rename to tft/nspanel_us_code/boot.txt diff --git a/advanced/hmi/nspanel_us_code/buttonpage01.txt b/tft/nspanel_us_code/buttonpage01.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/buttonpage01.txt rename to tft/nspanel_us_code/buttonpage01.txt diff --git a/advanced/hmi/nspanel_us_code/buttonpage02.txt b/tft/nspanel_us_code/buttonpage02.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/buttonpage02.txt rename to tft/nspanel_us_code/buttonpage02.txt diff --git a/advanced/hmi/nspanel_us_code/buttonpage03.txt b/tft/nspanel_us_code/buttonpage03.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/buttonpage03.txt rename to tft/nspanel_us_code/buttonpage03.txt diff --git a/advanced/hmi/nspanel_us_code/buttonpage04.txt b/tft/nspanel_us_code/buttonpage04.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/buttonpage04.txt rename to tft/nspanel_us_code/buttonpage04.txt diff --git a/advanced/hmi/nspanel_us_code/climate.txt b/tft/nspanel_us_code/climate.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/climate.txt rename to tft/nspanel_us_code/climate.txt diff --git a/advanced/hmi/nspanel_us_code/confirm.txt b/tft/nspanel_us_code/confirm.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/confirm.txt rename to tft/nspanel_us_code/confirm.txt diff --git a/advanced/hmi/nspanel_us_code/cover.txt b/tft/nspanel_us_code/cover.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/cover.txt rename to tft/nspanel_us_code/cover.txt diff --git a/advanced/hmi/nspanel_us_code/entitypage01.txt b/tft/nspanel_us_code/entitypage01.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/entitypage01.txt rename to tft/nspanel_us_code/entitypage01.txt diff --git a/advanced/hmi/nspanel_us_code/entitypage02.txt b/tft/nspanel_us_code/entitypage02.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/entitypage02.txt rename to tft/nspanel_us_code/entitypage02.txt diff --git a/advanced/hmi/nspanel_us_code/entitypage03.txt b/tft/nspanel_us_code/entitypage03.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/entitypage03.txt rename to tft/nspanel_us_code/entitypage03.txt diff --git a/advanced/hmi/nspanel_us_code/entitypage04.txt b/tft/nspanel_us_code/entitypage04.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/entitypage04.txt rename to tft/nspanel_us_code/entitypage04.txt diff --git a/advanced/hmi/nspanel_us_code/fan.txt b/tft/nspanel_us_code/fan.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/fan.txt rename to tft/nspanel_us_code/fan.txt diff --git a/advanced/hmi/nspanel_us_code/home.txt b/tft/nspanel_us_code/home.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/home.txt rename to tft/nspanel_us_code/home.txt diff --git a/advanced/hmi/nspanel_us_code/keyb_num.txt b/tft/nspanel_us_code/keyb_num.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/keyb_num.txt rename to tft/nspanel_us_code/keyb_num.txt diff --git a/advanced/hmi/nspanel_us_code/light.txt b/tft/nspanel_us_code/light.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/light.txt rename to tft/nspanel_us_code/light.txt diff --git a/advanced/hmi/nspanel_us_code/media_player.txt b/tft/nspanel_us_code/media_player.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/media_player.txt rename to tft/nspanel_us_code/media_player.txt diff --git a/advanced/hmi/nspanel_us_code/notification.txt b/tft/nspanel_us_code/notification.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/notification.txt rename to tft/nspanel_us_code/notification.txt diff --git a/advanced/hmi/nspanel_us_code/nspanel_us_Stats.txt b/tft/nspanel_us_code/nspanel_us_Stats.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/nspanel_us_Stats.txt rename to tft/nspanel_us_code/nspanel_us_Stats.txt diff --git a/advanced/hmi/nspanel_us_code/qrcode.txt b/tft/nspanel_us_code/qrcode.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/qrcode.txt rename to tft/nspanel_us_code/qrcode.txt diff --git a/advanced/hmi/nspanel_us_code/screensaver.txt b/tft/nspanel_us_code/screensaver.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/screensaver.txt rename to tft/nspanel_us_code/screensaver.txt diff --git a/advanced/hmi/nspanel_us_code/settings.txt b/tft/nspanel_us_code/settings.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/settings.txt rename to tft/nspanel_us_code/settings.txt diff --git a/advanced/hmi/nspanel_us_code/weather01.txt b/tft/nspanel_us_code/weather01.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/weather01.txt rename to tft/nspanel_us_code/weather01.txt diff --git a/advanced/hmi/nspanel_us_code/weather02.txt b/tft/nspanel_us_code/weather02.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/weather02.txt rename to tft/nspanel_us_code/weather02.txt diff --git a/advanced/hmi/nspanel_us_code/weather03.txt b/tft/nspanel_us_code/weather03.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/weather03.txt rename to tft/nspanel_us_code/weather03.txt diff --git a/advanced/hmi/nspanel_us_code/weather04.txt b/tft/nspanel_us_code/weather04.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/weather04.txt rename to tft/nspanel_us_code/weather04.txt diff --git a/advanced/hmi/nspanel_us_code/weather05.txt b/tft/nspanel_us_code/weather05.txt similarity index 100% rename from advanced/hmi/nspanel_us_code/weather05.txt rename to tft/nspanel_us_code/weather05.txt diff --git a/advanced/hmi/nspanel_us_land.HMI b/tft/nspanel_us_land.HMI similarity index 100% rename from advanced/hmi/nspanel_us_land.HMI rename to tft/nspanel_us_land.HMI diff --git a/nspanel_us_land.tft b/tft/nspanel_us_land.tft similarity index 100% rename from nspanel_us_land.tft rename to tft/nspanel_us_land.tft diff --git a/advanced/hmi/nspanel_us_land_code/Program.s.txt b/tft/nspanel_us_land_code/Program.s.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/Program.s.txt rename to tft/nspanel_us_land_code/Program.s.txt diff --git a/advanced/hmi/nspanel_us_land_code/alarm.txt b/tft/nspanel_us_land_code/alarm.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/alarm.txt rename to tft/nspanel_us_land_code/alarm.txt diff --git a/advanced/hmi/nspanel_us_land_code/boot.txt b/tft/nspanel_us_land_code/boot.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/boot.txt rename to tft/nspanel_us_land_code/boot.txt diff --git a/advanced/hmi/nspanel_us_land_code/buttonpage01.txt b/tft/nspanel_us_land_code/buttonpage01.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/buttonpage01.txt rename to tft/nspanel_us_land_code/buttonpage01.txt diff --git a/advanced/hmi/nspanel_us_land_code/buttonpage02.txt b/tft/nspanel_us_land_code/buttonpage02.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/buttonpage02.txt rename to tft/nspanel_us_land_code/buttonpage02.txt diff --git a/advanced/hmi/nspanel_us_land_code/buttonpage03.txt b/tft/nspanel_us_land_code/buttonpage03.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/buttonpage03.txt rename to tft/nspanel_us_land_code/buttonpage03.txt diff --git a/advanced/hmi/nspanel_us_land_code/buttonpage04.txt b/tft/nspanel_us_land_code/buttonpage04.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/buttonpage04.txt rename to tft/nspanel_us_land_code/buttonpage04.txt diff --git a/advanced/hmi/nspanel_us_land_code/climate.txt b/tft/nspanel_us_land_code/climate.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/climate.txt rename to tft/nspanel_us_land_code/climate.txt diff --git a/advanced/hmi/nspanel_us_land_code/confirm.txt b/tft/nspanel_us_land_code/confirm.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/confirm.txt rename to tft/nspanel_us_land_code/confirm.txt diff --git a/advanced/hmi/nspanel_us_land_code/cover.txt b/tft/nspanel_us_land_code/cover.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/cover.txt rename to tft/nspanel_us_land_code/cover.txt diff --git a/advanced/hmi/nspanel_us_land_code/entitypage01.txt b/tft/nspanel_us_land_code/entitypage01.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/entitypage01.txt rename to tft/nspanel_us_land_code/entitypage01.txt diff --git a/advanced/hmi/nspanel_us_land_code/entitypage02.txt b/tft/nspanel_us_land_code/entitypage02.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/entitypage02.txt rename to tft/nspanel_us_land_code/entitypage02.txt diff --git a/advanced/hmi/nspanel_us_land_code/entitypage03.txt b/tft/nspanel_us_land_code/entitypage03.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/entitypage03.txt rename to tft/nspanel_us_land_code/entitypage03.txt diff --git a/advanced/hmi/nspanel_us_land_code/entitypage04.txt b/tft/nspanel_us_land_code/entitypage04.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/entitypage04.txt rename to tft/nspanel_us_land_code/entitypage04.txt diff --git a/advanced/hmi/nspanel_us_land_code/fan.txt b/tft/nspanel_us_land_code/fan.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/fan.txt rename to tft/nspanel_us_land_code/fan.txt diff --git a/advanced/hmi/nspanel_us_land_code/home.txt b/tft/nspanel_us_land_code/home.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/home.txt rename to tft/nspanel_us_land_code/home.txt diff --git a/advanced/hmi/nspanel_us_land_code/keyb_num.txt b/tft/nspanel_us_land_code/keyb_num.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/keyb_num.txt rename to tft/nspanel_us_land_code/keyb_num.txt diff --git a/advanced/hmi/nspanel_us_land_code/light.txt b/tft/nspanel_us_land_code/light.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/light.txt rename to tft/nspanel_us_land_code/light.txt diff --git a/advanced/hmi/nspanel_us_land_code/media_player.txt b/tft/nspanel_us_land_code/media_player.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/media_player.txt rename to tft/nspanel_us_land_code/media_player.txt diff --git a/advanced/hmi/nspanel_us_land_code/notification.txt b/tft/nspanel_us_land_code/notification.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/notification.txt rename to tft/nspanel_us_land_code/notification.txt diff --git a/advanced/hmi/nspanel_us_land_code/qrcode.txt b/tft/nspanel_us_land_code/qrcode.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/qrcode.txt rename to tft/nspanel_us_land_code/qrcode.txt diff --git a/advanced/hmi/nspanel_us_land_code/screensaver.txt b/tft/nspanel_us_land_code/screensaver.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/screensaver.txt rename to tft/nspanel_us_land_code/screensaver.txt diff --git a/advanced/hmi/nspanel_us_land_code/settings.txt b/tft/nspanel_us_land_code/settings.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/settings.txt rename to tft/nspanel_us_land_code/settings.txt diff --git a/advanced/hmi/nspanel_us_land_code/weather01.txt b/tft/nspanel_us_land_code/weather01.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/weather01.txt rename to tft/nspanel_us_land_code/weather01.txt diff --git a/advanced/hmi/nspanel_us_land_code/weather02.txt b/tft/nspanel_us_land_code/weather02.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/weather02.txt rename to tft/nspanel_us_land_code/weather02.txt diff --git a/advanced/hmi/nspanel_us_land_code/weather03.txt b/tft/nspanel_us_land_code/weather03.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/weather03.txt rename to tft/nspanel_us_land_code/weather03.txt diff --git a/advanced/hmi/nspanel_us_land_code/weather04.txt b/tft/nspanel_us_land_code/weather04.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/weather04.txt rename to tft/nspanel_us_land_code/weather04.txt diff --git a/advanced/hmi/nspanel_us_land_code/weather05.txt b/tft/nspanel_us_land_code/weather05.txt similarity index 100% rename from advanced/hmi/nspanel_us_land_code/weather05.txt rename to tft/nspanel_us_land_code/weather05.txt