diff --git a/.gitignore b/.gitignore index da1790e..f1d5b39 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,4 @@ Nextion2Text.* # Ignore dev folder #dev -nspanel_esphome_prebuilt.bin +#nspanel_esphome_prebuilt.bin diff --git a/.rules/markdownlint.yml b/.rules/markdownlint.yml new file mode 100644 index 0000000..77abf70 --- /dev/null +++ b/.rules/markdownlint.yml @@ -0,0 +1,2 @@ +MD013: + line_length: 200 diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 606b10c..91cdebd 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -7,31 +7,34 @@ So if you haven't made a donation yet, now would be a good time ;)** [![Paypal](https://user-images.githubusercontent.com/41958506/212499642-b2fd097a-0938-4bfc-b37b-74df64592c58.png)](https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2) ## General -Hello everyone! In our latest update, we've made some great strides to enhance your experience. -We've fine-tuned the TFT upload process, making it smoother and more user-friendly for both newbies and veterans. +Hello everyone! Our latest update introduces a range of enhancements designed to elevate your experience with the firmware. +This update is focused on improving user interaction, featuring a more intuitive TFT upload process and expanded customization options. +Key enhancements include upgraded functionality for Alarm Control Panels & Thermostats and new personalization features on the Home page. -Exciting news – we've introduced multiple alarm control panels and added support for dual target temperature thermostats, complete with a handy new add-on. +We're enthusiastic about our ongoing work to make the NSPanel firmware more user-friendly and accessible. +This release marks significant progress in this direction, with improvements such as the +streamlined TFT upload process and initial steps towards adopting `esp-idf` as the default framework. +Additionally, our documentation has been revamped for greater clarity and user-friendliness. +Expect more user-centric updates coming your way soon! -On top of that, you've got more customization freedom now. Play around with additional custom buttons and icon size settings on your Home and button pages. -Oh, and don't miss the new clock feature on the sleep page – it's a small but nifty addition! - -Dive into the details below and see how these improvements can upgrade your day-to-day. Looking forward to your feedback! +Dive into the details below to see how these changes can enhance your daily use of NSPanel. +We value your feedback and are eager to hear your thoughts! ### Upcoming Change: Switching to ESP-IDF Framework by March 2024 -Exciting news for our community – in just a couple of months, by March 2024, we'll be transitioning to the **ESP-IDF** as our default framework. -This upgrade is designed to significantly increase the available memory on the ESP, making more room for new features and your customizations. +We have some important updates for our community – by March 2024, we're moving to the **ESP-IDF** as our standard framework. +This shift aims to significantly boost the memory capacity on the ESP, allowing for the addition of new features and broader customizations. -While the change is around the corner, there's no need to rush. You have time to get ready for this transition. -When it's time to switch, you’ll need to flash your device using a serial cable, similar to what you did for your first custom firmware installation. +There's ample time before this transition takes place, so no need to hurry. +When it's time to switch, flashing your device using a serial cable will be necessary, similar to the initial custom firmware setup. -If you happen to need a serial firmware installation before March, consider giving `esp-idf` a try earlier. -It’s already supported and a good step towards future-proofing your setup. +For those who might need a serial firmware installation before March, +trying out `esp-idf` earlier could be a beneficial move towards adapting to future developments. -And if you're not able to make the switch by March or can't flash via serial, don't worry. -You’ll still have the option to use the `arduino` framework and update your device wirelessly (OTA). +If you're unable to switch by March or if serial flashing isn't an option for you, +the `arduino` framework will still be available for Over-The-Air (OTA) updates. -For all the details on customizing the framework, our [customization docs](docs/customization.md#framework-esp-idf) are there to help. -We're committed to making this transition as smooth as possible, so reach out if you have any concerns or need assistance. +For detailed guidance on framework customization, check out our [customization documentation](docs/customization.md#framework-esp-idf). +We're dedicated to facilitating a smooth transition and are here to assist with any queries or concerns. ## Updating Updates may come with changes on the blueprint inputs and we highly recommend you review your settings and make sure all fields have the correct selection. diff --git a/advanced/esphome/nspanel_esphome_prebuilt.yaml b/advanced/esphome/nspanel_esphome_prebuilt.yaml index 046ff97..4bc8ef2 100644 --- a/advanced/esphome/nspanel_esphome_prebuilt.yaml +++ b/advanced/esphome/nspanel_esphome_prebuilt.yaml @@ -11,16 +11,35 @@ substitutions: 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 button: - - platform: factory_reset - name: Factory reset + - 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: @@ -43,6 +62,10 @@ esphome: project: name: esphome.NSPanel_HA_Blueprint version: "${version}" + on_boot: + - 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: @@ -54,6 +77,8 @@ ota: id: my_ota password: "" +ota_http: + script: - id: !extend watchdog then: @@ -74,9 +99,15 @@ select: - "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 - #ota: true # Not available for ESP-IDF wifi: ap: {} diff --git a/docs/pics/image-20230317162851693.png b/docs/pics/image-20230317162851693.png new file mode 100644 index 0000000..2536ad7 Binary files /dev/null and b/docs/pics/image-20230317162851693.png differ diff --git a/docs/pics/image-20230317162944247.png b/docs/pics/image-20230317162944247.png new file mode 100644 index 0000000..02349d6 Binary files /dev/null and b/docs/pics/image-20230317162944247.png differ diff --git a/docs/pics/image-20230317163012105.png b/docs/pics/image-20230317163012105.png new file mode 100644 index 0000000..0b0fdec Binary files /dev/null and b/docs/pics/image-20230317163012105.png differ diff --git a/docs/pics/image-20230317163035519.png b/docs/pics/image-20230317163035519.png new file mode 100644 index 0000000..e591e61 Binary files /dev/null and b/docs/pics/image-20230317163035519.png differ diff --git a/nspanel_esphome_prebuilt.bin b/nspanel_esphome_prebuilt.bin new file mode 100644 index 0000000..ea67775 Binary files /dev/null and b/nspanel_esphome_prebuilt.bin differ