From ce0035cd760796104c8c8bc432f05790555de2fa Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Wed, 20 Dec 2023 12:49:34 +0100 Subject: [PATCH] Update instructions for `Lovelace UI` users Solves #1331 --- docs/lovelace_ui.md | 71 +++++++++++++++++++++++------ docs/nspanel_blank.md | 22 ++++++++- docs/pics/lovelace-ui_pageTest.png | Bin 0 -> 12801 bytes docs/pics/lovelace-ui_startup.png | Bin 0 -> 9173 bytes 4 files changed, 78 insertions(+), 15 deletions(-) create mode 100644 docs/pics/lovelace-ui_pageTest.png create mode 100644 docs/pics/lovelace-ui_startup.png diff --git a/docs/lovelace_ui.md b/docs/lovelace_ui.md index db5c25f..5d589d9 100644 --- a/docs/lovelace_ui.md +++ b/docs/lovelace_ui.md @@ -1,18 +1,61 @@ -> _**in the version "nspanel-lovelace-ui" from joBr99 are a few special features built in, which make it not so easy to flash a new version and TFT on the NSPanel. But since we already had this problem, we have of course already a solution for you ;)**_ +# Migrating from **NsPanel Lovelace UI** -### _**It is necessary to upload a "Blank TFT" file while "Lovelace ui" is still installed on the NSPanel.**_ +This document applies to users trying to migrate from **NsPanel Lovelace UI**, which is another customization for NSPanel which is available for Tasmota or ESPHome. -> IMPORTANT! If you have already installed the NSPanel with my version, you must first fully install "Lovelace ui" again. +If you are coming from there, you have to chose one of the 3 options: -### The following steps are necessary: +- [Upload TFT using **NsPanel Lovelace UI** tools - ESPHome version](#upload-tft-using-nspanel-lovelace-ui-tools---esphome-version) +- [Upload TFT using **NsPanel Lovelace UI** tools - Tasmota version](#upload-tft-using-nspanel-lovelace-ui-tools---tasmota-version) +- [Upload TFT using this project's tools](#upload-tft-using-this-projects-tools) -1. download the file _**"nspanel_blank.tft"**_ from the folder _**custom_configuration**_. -2. now upload the TFT file _**"nspanel_blank.tft"**_ to the folder _**"www"**_ in Home Assistant -3. now go to the item _**"Developer tools --> Services"**_ and search there for the services -  -_**"ESPHome: DEVICE_NAME_upload_tft"**_ --> (esphome.device_name_upload_tft) -4. under URL you have to enter the path to your file _**nspanel_blank.tft**_. This could look like this -_**"http://homeassistan.local:8123/local/nspanel_blank.tft"**_ -5. now the TFT file should be played on the NSPanel. It may take a moment until it is ready -6. If everything worked, you should see only a QR code on the NSPanel. -7. now you can continue with the setup and configuration of my version. For this see [Short version of the setup of Esphome and Blueprint](intall.md#1-short-version-of-the-setup-of-esphome-and-blueprint) \ No newline at end of file +### Common steps +1. Download the file [`nspanel_blank.tft`](../nspanel_blank.tft) from our GitHub repository. +2. Upload the same file (`nspanel_blank.tft`) to the folder _**"www"**_ in your Home Assistant +3. Double check if the file is available by trying to download it using your local url (typically [`http://homeassistant.local:8123/local/nspanel_blank.tft`](http://homeassistant.local:8123/local/nspanel_blank.tft)). + +### Upload TFT using **NsPanel Lovelace UI** tools - ESPHome version + +After following the [**Common steps**](#common-steps), follow the additional steps: + +4. On Home Assistant, go to _**"Developer tools --> Services"**_ and search there for the service named "**ESPHome: DEVICE_NAME_upload_tft**" or `esphome.<>_upload_tft`. +5. On the field `URL`, enter the url for your local `nspanel_blank.tft` file (typically `http://homeassistant.local:8123/local/nspanel_blank.tft`). +6. Press the button **CALL SERVICE** + +If everything goes right, you will see the progress bar indicating the file transfer an you will end up with a black screen showing a QR code. Then please follow the instructions from [here](nspanel_blank.md#what-to-do-after-installing-nspanel_blanktft). + +### Upload TFT using **NsPanel Lovelace UI** tools - Tasmota version + +After following the [**Common steps**](#common-steps), use the instructions from [**NsPanel Lovelace UI** - Flash Firmware to Nextion Screen](https://docs.nspanel.pky.eu/stable/prepare_nspanel/#flash-firmware-to-nextion-screen) website to upload TFT, just replacing the file url by the one you have locally (typically `http://homeassistant.local:8123/local/nspanel_blank.tft`). + +If everything goes right, you will see the progress bar indicating the file transfer an you will end up with a black screen showing a QR code. Then please follow the instructions from [here](nspanel_blank.md#what-to-do-after-installing-nspanel_blanktft). + +### Upload TFT using this project's tools + +If you have already installed the ESPHome firmware from this project, this is probably your better option now. + +After following the [**Common steps**](#common-steps), follow the additional steps: + +4. On your panel's screen showing a ring and a message "Wait for content...", click 9 times in the center of the ring.
![Lovelace Startup page](pics/lovelace-ui_startup.png) +5. You should get to this page:
![Lovelace Test page](pics/lovelace-ui_pageTest.png) +6. Click on the button "disable recmod" +7. Click on the button "bauds=115200" +4. On Home Assistant, go to _**"Developer tools --> Services"**_ and search there for the service named "**ESPHome: DEVICE_NAME_upload_tft**" or `esphome.<>_upload_tft`. +5. On the field `URL`, enter the url for your local `nspanel_blank.tft` file (typically `http://homeassistant.local:8123/local/nspanel_blank.tft`). +6. Press the button **CALL SERVICE** + +If everything goes right, you will see the progress bar indicating the file transfer an you will end up with a black screen showing a QR code. Then please follow the instructions from [here](nspanel_blank.md#what-to-do-after-installing-nspanel_blanktft). + + +## Additional Tips and Resources +We have an useful guide for [troubleshooting TFT transfer issues](tft_upload.md). Please take a look there first. + +After troubleshooting, if issues persist, consult the [Issues](/Blackymas/NSPanel_HA_Blueprint/issues) and feel free to create a new one asking for more personalized assistance. + +Please share as much info as possible, like: +1. Describing (or a picture of) what is in your screen +2. Are updating from a previous version of this same project, or coming from another NSPanel customization (which one?) or customizing for the first time a panel with original Sonoff settings? +3. Please share the ESPHome logs from when your panel starts to the moment the upload fails. +4. Describe what you have already tried. + +## Important note +Remember, these steps are a guideline and might vary slightly based on your specific setup and previously installed system. diff --git a/docs/nspanel_blank.md b/docs/nspanel_blank.md index aac745e..9998bdb 100644 --- a/docs/nspanel_blank.md +++ b/docs/nspanel_blank.md @@ -57,4 +57,24 @@ The most popular way to switch between the `nspanel_blank.tft` and `nspanel_xx.t Once you have sucessfully installed any of the `tft` files from this project, the `nspanel_blank.tft` file shouldn't be necessary anymore and you should be able to always install the final `tft` file. -Just make sure you flashed your panel with `nextion_update_url` pointing to one of the final files (`nspanel_eu.tft`, `nspanel_us.tft` or `nspanel_us_land.tft`) and click "Upload TFT" in the device's page (Settings > Devices & Services > ESPHome). +Make sure you have one of the following final TFT files in your local http server (typically Home Assistant on ***www*** folder): +- [`nspanel_eu.tft`](../nspanel_eu.tft) +- [`nspanel_us.tft`](../nspanel_us.tft) +- [`nspanel_us_land.tft`](../nspanel_us_land.tft) + +Now Flash your panel with `nextion_update_url` pointing to one of the final TFT files and press **Upload TFT** in the device's page (**Settings** > **Devices & Services** > **ESPHome**). + +## Additional Tips and Resources +We have an useful guide for [troubleshooting TFT transfer issues](tft_upload.md). Please take a look there first. + +After troubleshooting, if issues persist, consult the [Issues](/Blackymas/NSPanel_HA_Blueprint/issues) and feel free to create a new one asking for more personalized assistance. + +Please share as much info as possible, like: +1. Describing (or a picture of) what is in your screen +2. Are updating from a previous version of this same project, or coming from another NSPanel customization (which one?) or customizing for the first time a panel with original Sonoff settings? +3. Please share the ESPHome logs from when your panel starts to the moment the upload fails. +4. Describe what you have already tried. + +## Important note +Remember, these steps are a guideline and might vary slightly based on your specific setup and previously installed system. + diff --git a/docs/pics/lovelace-ui_pageTest.png b/docs/pics/lovelace-ui_pageTest.png new file mode 100644 index 0000000000000000000000000000000000000000..0304547ef2773aee6c03e77fc1189c961efa65e8 GIT binary patch literal 12801 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 I#^ca`10uv!qyPW_ literal 0 HcmV?d00001 diff --git a/docs/pics/lovelace-ui_startup.png b/docs/pics/lovelace-ui_startup.png new file mode 100644 index 0000000000000000000000000000000000000000..0538dc129a854c6d0fc0d375b57502b7777529e7 GIT binary patch literal 9173 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 O0jMf#DIpasKKwtCkF9