Commit Graph

900 Commits

Author SHA1 Message Date
Edward Firmo
eda6852309 v4.0 release (#1055)
* v4.0 - Alarm and Media player pages, Climate add-ons and a more robust panel (#1033)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix issue with `restore_state` and ESPHome v2023.7.0 (#941)

Solves #939

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

* Improve version notification

* Disable restore `notification_unread`

This must be changed to a binary sensor in the future.

* Beta v4.0 (#1012)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>

* Fix Fan page button colors when opening

Solves #1017

* Translations (#1023)

* Translations

* Update nspanel_blueprint.yaml

I've changed `brightness` for now as the new design isn't implemented yet, but that string is already in use with the current design.

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Adjustments to settings page

* Fix entity info when calling detailed pages

Solves #1022

* Added `media_player` page (hidden)

* New "Confirm" pop-up

This also removes the sensor "NSPanel Event"

* Fix pages not updating values

Solves #1026

* Media player - Buttons

- Added code to buttons on media_player page.
- Clean-up:
  - Moved wake-up select from Blueprint to ESPHome component
  - Removed `switch.xxxxx_confirmation_message`

* Fix logging for global_settings

It was logging wakeup_page, which is deprecated

* Improved version notification

* Removed trailing spaces

* Notification for `sensor.xxxxx_current_page` missing

This might be a common issue for users migrating from v3.4 to v3.5.
This information is part of the release notes, but I believe it worth having a guide to support closely any user who miss that in the release notes.

* Simplify `touchevent` engine

The touch event is used only for the sleeping engine (it will be used for dimming later) and it was transferring all the json info with page name, component, entity, etc.
This was replaced by a simple random integer with no meaning other than "the screen was touched, reset the timer".

* Media player first buttons actions

* Fix unknown service: `media_player.null`

* Media Player control

You will be able to add a Media Player entity to any of the buttons pages and with a long press you will see the media player page.

* Remove dimming timer for now

The funcionality isn't completed.

* Home page - Custom buttons

On the blueprint you can now set up to 3 buttons to be shown on Home page.
It will show the detailed settings page, so the entity must be compatible.

* Fix Media player missing parameters

Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1030#discussioncomment-6984573

* Prevents calls to `media_player.null`

* Remove `entity` info from pages on TFT

Since v3.4, the info about entity_id shown was going all the way to Nextion and then sent back in the json return, however this requires a long (100-char) global var and the way it was implemented, it was one of those per settings page, as climate should be also recorded at the same time in case the embedded climate was installed.
This was taking too much memory, so I've moved this info to a global variable (string) in ESPHome.
There is now lots of space for code cleaning (and still pending to do the same with climate entity, as it could be only a bool to inform if embedded), but this brings the functionality.

This enabled the return to global for some components, so it probably solves #1031

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>
Co-authored-by: w00zy <52609940+WZYProjects@users.noreply.github.com>

* v4.0 Release Candidate 2 (#1044)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix issue with `restore_state` and ESPHome v2023.7.0 (#941)

Solves #939

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

* Improve version notification

* Disable restore `notification_unread`

This must be changed to a binary sensor in the future.

* Beta v4.0 (#1012)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>

* Fix Fan page button colors when opening

Solves #1017

* Translations (#1023)

* Translations

* Update nspanel_blueprint.yaml

I've changed `brightness` for now as the new design isn't implemented yet, but that string is already in use with the current design.

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Adjustments to settings page

* Fix entity info when calling detailed pages

Solves #1022

* Added `media_player` page (hidden)

* New "Confirm" pop-up

This also removes the sensor "NSPanel Event"

* Fix pages not updating values

Solves #1026

* Media player - Buttons

- Added code to buttons on media_player page.
- Clean-up:
  - Moved wake-up select from Blueprint to ESPHome component
  - Removed `switch.xxxxx_confirmation_message`

* Fix logging for global_settings

It was logging wakeup_page, which is deprecated

* Improved version notification

* Removed trailing spaces

* Notification for `sensor.xxxxx_current_page` missing

This might be a common issue for users migrating from v3.4 to v3.5.
This information is part of the release notes, but I believe it worth having a guide to support closely any user who miss that in the release notes.

* Simplify `touchevent` engine

The touch event is used only for the sleeping engine (it will be used for dimming later) and it was transferring all the json info with page name, component, entity, etc.
This was replaced by a simple random integer with no meaning other than "the screen was touched, reset the timer".

* Media player first buttons actions

* Fix unknown service: `media_player.null`

* Media Player control

You will be able to add a Media Player entity to any of the buttons pages and with a long press you will see the media player page.

* Remove dimming timer for now

The funcionality isn't completed.

* Home page - Custom buttons

On the blueprint you can now set up to 3 buttons to be shown on Home page.
It will show the detailed settings page, so the entity must be compatible.

* Fix Media player missing parameters

Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1030#discussioncomment-6984573

* Prevents calls to `media_player.null`

* Remove `entity` info from pages on TFT

Since v3.4, the info about entity_id shown was going all the way to Nextion and then sent back in the json return, however this requires a long (100-char) global var and the way it was implemented, it was one of those per settings page, as climate should be also recorded at the same time in case the embedded climate was installed.
This was taking too much memory, so I've moved this info to a global variable (string) in ESPHome.
There is now lots of space for code cleaning (and still pending to do the same with climate entity, as it could be only a bool to inform if embedded), but this brings the functionality.

This enabled the return to global for some components, so it probably solves #1031

* Prototyping `power` page

Thanks @Floppe for doing the design
#838

* Prototyping `power` page

* New sleep flow

* Removed trailing spaces

* Fix empty page climate

* Fix names on button pages

Fix names when a name is not provided in the blueprint settings.

* Fix call to sleep routine when timeout changes

Solves #1037

* Replace `confirm` var on buttons pages

Simpler and saves some memory.

* Clean-up

* Align the code for the 3 timers

* Extend domains supported by home page custom buttons

Based on #1034

* Fix error when btn_label is `None`

* Fix `Variable invalid` on buttons pages

* Fix constructor of Entity pages

* Fallback even when button is assigned to another entity

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1013#issuecomment-1720107844

* Add inputs for media player refresh time

* Adjustments to Media Player refresh interval default values

* Use panel's events to reset timers

Possibly solves #1040
Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-7020153

* State based colors to home page custom buttons

* Fix alarm not changing status

Do not clear `entity_id` when opening keyboard page, so the info can be used when sending commands.

Solves #1039

* Missing `nspanel_us.tft`

* add `touchevents` to pages `media_player` and `confirm`

To avoid panel going back to Home page while user is playing with the page.
Solves #1040

* Media player minor layout changes

* Media player - Volume timer & icon size

Volume timer changed from 1000 to 500ms
Icon change from font 9 to 10

* Media player roll back font 9 and timer 1s

* Don't send to Nextion obsolete volume settings

If the volume is the same as the last one sent to the screen, don't send again, so if changes are being made on the screen it didn't receive the update all the time, making the slider unresponsive.

* Media player - Layout improvement

- Removed button "Stop"
- Increase touch area for buttons
- Redistributed buttons on page

* Add touchevents to page climate

Possibly solves #995

* Resolve validation

* Correct playing time based on `updated_at` attribute

* Prepare for when attribute is not available

* Fix attribute `media_position`

* Fix time duration when HA isn't updating position

* Fix climate page not opening when offline

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6834067

* Clean-up release notes

* Clean up code

- Removed commented out lines
- Removed temporary logs

Getting prepared to release

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>
Co-authored-by: w00zy <52609940+WZYProjects@users.noreply.github.com>

* Bump version to 4.0beta (#1045)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix issue with `restore_state` and ESPHome v2023.7.0 (#941)

Solves #939

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

* Improve version notification

* Disable restore `notification_unread`

This must be changed to a binary sensor in the future.

* Beta v4.0 (#1012)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>

* Fix Fan page button colors when opening

Solves #1017

* Translations (#1023)

* Translations

* Update nspanel_blueprint.yaml

I've changed `brightness` for now as the new design isn't implemented yet, but that string is already in use with the current design.

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Adjustments to settings page

* Fix entity info when calling detailed pages

Solves #1022

* Added `media_player` page (hidden)

* New "Confirm" pop-up

This also removes the sensor "NSPanel Event"

* Fix pages not updating values

Solves #1026

* Media player - Buttons

- Added code to buttons on media_player page.
- Clean-up:
  - Moved wake-up select from Blueprint to ESPHome component
  - Removed `switch.xxxxx_confirmation_message`

* Fix logging for global_settings

It was logging wakeup_page, which is deprecated

* Improved version notification

* Removed trailing spaces

* Notification for `sensor.xxxxx_current_page` missing

This might be a common issue for users migrating from v3.4 to v3.5.
This information is part of the release notes, but I believe it worth having a guide to support closely any user who miss that in the release notes.

* Simplify `touchevent` engine

The touch event is used only for the sleeping engine (it will be used for dimming later) and it was transferring all the json info with page name, component, entity, etc.
This was replaced by a simple random integer with no meaning other than "the screen was touched, reset the timer".

* Media player first buttons actions

* Fix unknown service: `media_player.null`

* Media Player control

You will be able to add a Media Player entity to any of the buttons pages and with a long press you will see the media player page.

* Remove dimming timer for now

The funcionality isn't completed.

* Home page - Custom buttons

On the blueprint you can now set up to 3 buttons to be shown on Home page.
It will show the detailed settings page, so the entity must be compatible.

* Fix Media player missing parameters

Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1030#discussioncomment-6984573

* Prevents calls to `media_player.null`

* Remove `entity` info from pages on TFT

Since v3.4, the info about entity_id shown was going all the way to Nextion and then sent back in the json return, however this requires a long (100-char) global var and the way it was implemented, it was one of those per settings page, as climate should be also recorded at the same time in case the embedded climate was installed.
This was taking too much memory, so I've moved this info to a global variable (string) in ESPHome.
There is now lots of space for code cleaning (and still pending to do the same with climate entity, as it could be only a bool to inform if embedded), but this brings the functionality.

This enabled the return to global for some components, so it probably solves #1031

* Prototyping `power` page

Thanks @Floppe for doing the design
#838

* Prototyping `power` page

* New sleep flow

* Removed trailing spaces

* Fix empty page climate

* Fix names on button pages

Fix names when a name is not provided in the blueprint settings.

* Fix call to sleep routine when timeout changes

Solves #1037

* Replace `confirm` var on buttons pages

Simpler and saves some memory.

* Clean-up

* Align the code for the 3 timers

* Extend domains supported by home page custom buttons

Based on #1034

* Fix error when btn_label is `None`

* Fix `Variable invalid` on buttons pages

* Fix constructor of Entity pages

* Fallback even when button is assigned to another entity

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1013#issuecomment-1720107844

* Add inputs for media player refresh time

* Adjustments to Media Player refresh interval default values

* Use panel's events to reset timers

Possibly solves #1040
Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-7020153

* State based colors to home page custom buttons

* Fix alarm not changing status

Do not clear `entity_id` when opening keyboard page, so the info can be used when sending commands.

Solves #1039

* Missing `nspanel_us.tft`

* add `touchevents` to pages `media_player` and `confirm`

To avoid panel going back to Home page while user is playing with the page.
Solves #1040

* Media player minor layout changes

* Media player - Volume timer & icon size

Volume timer changed from 1000 to 500ms
Icon change from font 9 to 10

* Media player roll back font 9 and timer 1s

* Don't send to Nextion obsolete volume settings

If the volume is the same as the last one sent to the screen, don't send again, so if changes are being made on the screen it didn't receive the update all the time, making the slider unresponsive.

* Media player - Layout improvement

- Removed button "Stop"
- Increase touch area for buttons
- Redistributed buttons on page

* Add touchevents to page climate

Possibly solves #995

* Resolve validation

* Correct playing time based on `updated_at` attribute

* Prepare for when attribute is not available

* Fix attribute `media_position`

* Fix time duration when HA isn't updating position

* Fix climate page not opening when offline

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6834067

* Clean-up release notes

* Clean up code

- Removed commented out lines
- Removed temporary logs

Getting prepared to release

* Bump version to 4.0beta

To reduce the chance of an obsolete file in use after the release.

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>
Co-authored-by: w00zy <52609940+WZYProjects@users.noreply.github.com>

* v4.0 beta 2 (#1053)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix issue with `restore_state` and ESPHome v2023.7.0 (#941)

Solves #939

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

* Improve version notification

* Disable restore `notification_unread`

This must be changed to a binary sensor in the future.

* Beta v4.0 (#1012)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>

* Fix Fan page button colors when opening

Solves #1017

* Translations (#1023)

* Translations

* Update nspanel_blueprint.yaml

I've changed `brightness` for now as the new design isn't implemented yet, but that string is already in use with the current design.

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Adjustments to settings page

* Fix entity info when calling detailed pages

Solves #1022

* Added `media_player` page (hidden)

* New "Confirm" pop-up

This also removes the sensor "NSPanel Event"

* Fix pages not updating values

Solves #1026

* Media player - Buttons

- Added code to buttons on media_player page.
- Clean-up:
  - Moved wake-up select from Blueprint to ESPHome component
  - Removed `switch.xxxxx_confirmation_message`

* Fix logging for global_settings

It was logging wakeup_page, which is deprecated

* Improved version notification

* Removed trailing spaces

* Notification for `sensor.xxxxx_current_page` missing

This might be a common issue for users migrating from v3.4 to v3.5.
This information is part of the release notes, but I believe it worth having a guide to support closely any user who miss that in the release notes.

* Simplify `touchevent` engine

The touch event is used only for the sleeping engine (it will be used for dimming later) and it was transferring all the json info with page name, component, entity, etc.
This was replaced by a simple random integer with no meaning other than "the screen was touched, reset the timer".

* Media player first buttons actions

* Fix unknown service: `media_player.null`

* Media Player control

You will be able to add a Media Player entity to any of the buttons pages and with a long press you will see the media player page.

* Remove dimming timer for now

The funcionality isn't completed.

* Home page - Custom buttons

On the blueprint you can now set up to 3 buttons to be shown on Home page.
It will show the detailed settings page, so the entity must be compatible.

* Fix Media player missing parameters

Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1030#discussioncomment-6984573

* Prevents calls to `media_player.null`

* Remove `entity` info from pages on TFT

Since v3.4, the info about entity_id shown was going all the way to Nextion and then sent back in the json return, however this requires a long (100-char) global var and the way it was implemented, it was one of those per settings page, as climate should be also recorded at the same time in case the embedded climate was installed.
This was taking too much memory, so I've moved this info to a global variable (string) in ESPHome.
There is now lots of space for code cleaning (and still pending to do the same with climate entity, as it could be only a bool to inform if embedded), but this brings the functionality.

This enabled the return to global for some components, so it probably solves #1031

* Prototyping `power` page

Thanks @Floppe for doing the design
#838

* Prototyping `power` page

* New sleep flow

* Removed trailing spaces

* Fix empty page climate

* Fix names on button pages

Fix names when a name is not provided in the blueprint settings.

* Fix call to sleep routine when timeout changes

Solves #1037

* Replace `confirm` var on buttons pages

Simpler and saves some memory.

* Clean-up

* Align the code for the 3 timers

* Extend domains supported by home page custom buttons

Based on #1034

* Fix error when btn_label is `None`

* Fix `Variable invalid` on buttons pages

* Fix constructor of Entity pages

* Fallback even when button is assigned to another entity

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1013#issuecomment-1720107844

* Add inputs for media player refresh time

* Adjustments to Media Player refresh interval default values

* Use panel's events to reset timers

Possibly solves #1040
Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-7020153

* State based colors to home page custom buttons

* Fix alarm not changing status

Do not clear `entity_id` when opening keyboard page, so the info can be used when sending commands.

Solves #1039

* Missing `nspanel_us.tft`

* add `touchevents` to pages `media_player` and `confirm`

To avoid panel going back to Home page while user is playing with the page.
Solves #1040

* Media player minor layout changes

* Media player - Volume timer & icon size

Volume timer changed from 1000 to 500ms
Icon change from font 9 to 10

* Media player roll back font 9 and timer 1s

* Don't send to Nextion obsolete volume settings

If the volume is the same as the last one sent to the screen, don't send again, so if changes are being made on the screen it didn't receive the update all the time, making the slider unresponsive.

* Media player - Layout improvement

- Removed button "Stop"
- Increase touch area for buttons
- Redistributed buttons on page

* Add touchevents to page climate

Possibly solves #995

* Resolve validation

* Correct playing time based on `updated_at` attribute

* Prepare for when attribute is not available

* Fix attribute `media_position`

* Fix time duration when HA isn't updating position

* Fix climate page not opening when offline

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6834067

* Clean-up release notes

* Clean up code

- Removed commented out lines
- Removed temporary logs

Getting prepared to release

* Bump version to 4.0beta

To reduce the chance of an obsolete file in use after the release.

* Change version to 4.0dev

To differentiate from beta.

* Added missing translations (#1047)

* Added missing translations

Added missing translations for the Swedish translation.

* Caption first char

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Translations to Slovak on Settings page

* Refresh docs

* Update nspanel_blank.md

* Update nspanel_blank.md

* Add screensaver to `nspanel_blank.tft`

And build a new tft with latest firmware and url for instructions.

* Update nspanel_blank.md

* Fix to Slovenian translation

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7041796

* Settings page - Translations to French

From https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7045452

* Alarm page - Translations to French

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-7046479

* Add customization for display sleeping/awake

Probably solves #1035

* Customizations - Blank TFT button

Probably solves #1048

* Customizations - Deep sleep

Solves #955

* Customization - Deep sleep - Fix broken link

* Translations - Slovak

- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-7054153
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-7054142

* New versioning - not implemented

* Bump version to `4.0b2`

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>
Co-authored-by: w00zy <52609940+WZYProjects@users.noreply.github.com>
Co-authored-by: Erik Larsson <erik1337.el@gmail.com>

* v4.0 release (#1054)

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix issue with `restore_state` and ESPHome v2023.7.0 (#941)

Solves #939

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

* Improve version notification

* Disable restore `notification_unread`

This must be changed to a binary sensor in the future.

* Beta v4.0 (#1012)

* Create ReleaseNotes.md (#879)

* Create ReleaseNotes.md

* sensor display precision

* Filter devices to esp32 only (#881)

* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list

* Sensor display precision (#880)

Now the values shown in your panel will follow the [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision) provided by Home Assistant.
=> If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant [sensor display precision](https://www.home-assistant.io/blog/2023/03/01/release-20233/#sensor-display-precision).

* New language selector (#882)

* New language selector

* Update ReleaseNotes.md

* Update ReleaseNotes.md

* Remove `settings_entity` (#887)

* Remove `settings_entity`

- Bump version to 3.5_dev
- Removed references to pictures removed from TFT
- Removed code related to closing settings pages
- Removed trigger `settings_entity`

* Removed `set_settings_entity` service

- Bump version to 3.5_dev
- Removed `set_settings_entity` service - BREAKING CHANGE
- Removed `settings_entity` text-sensor - BREAKING CHANGE
- Added service `open_entity_settings_page` - BREAKING CHANGE

* Removed `settings_entity`

- Bump version to 3.5_dev
- Removed old climate page (climate_backup)
- Removed pics related to old climate page (ids 16-47, 80-83, 95-96 and 125(US only))
- Enforces brightness on any page change (this allows wake-up on settings page with long press on physical buttons) - Pending removing code from Blueprint
- Added `entity` variable on pages `climate`, `lightsettings` and `coversettings`
- Added `entity` info to `nspanelevent` on pages `climate`, `lightsettings` and `coversettings`
- Added `back_page` variable on pages `climate`, `lightsettings` and `coversettings` (default: home)
- Moving to TFT close page logic on pages `climate`, `lightsettings` and `coversettings` - Pending changes on Blueprint and ESPHome
- Standardized name for `page_label` on pages `climate`, `lightsettings` and `coversettings`
- Standardized settings page names: `climate`, `cover` and `light` (Removed `settings` from page name)

* Removed `settings_entity`

* Removed `settings_entity`

* Removed `settings_entity`

* Move `entity` variable to home page (#889)

* Move `entity` variable to home page

This will enable future development of a fallback climate

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Move `entity` variable to home page

* Use `en` as fallback language (#891)

* Use `en` as fallback language

Uses English if a non valid language is selected (like when using legacy language selection).

* Use `en` as fallback language

* Create `nspanel_us_land.tft` (#890)

* Create `nspanel_us_land.tft'

Add `nspanel_us_land.tft' for US panel on landscape mode, fixing the offset on the touch screen when using `nspanel_eu.tft` into a US panel.
Hides the hardware buttons labels, as Nextion cannot support rotated text.

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

solves #390
solves #432
solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4933716

* Created `nspanel_us_land.tft`

* Created `nspanel_us_land.tft`

* Fix "Button confirmation page not working correctly"

Solves #883

* Supports weather forecast with `datetime` not string

This adds support to weather integrations where the `datetime` field under `forecast` attribute is provided as a `datetime` type.
This was seen on Météo-France, while all other weather integrations tested so far used a `text` field for `datetime`.

This solves #893

* Wifi icon to indicate when API offline

This changes the behavior of Wifi icon:

How it was before:
- Wifi icon was visible only when the wifi was connected, nothing was shown when wifi was not connected.

How it is now:
- Wifi icon will have 3 states:
 - Wifi & API connected: Gray wifi icon
 - Wifi disconnected: Red wifi-off icon
 - Wifi connected, but API disconnected (HA is out?): Red api-off icon

* API status indication on the panel

* Limit light & cover to supported settings (#896)

* Limit light to supported settings

When showing light settings, only the supported features will be shown for each light.

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

* Limit light to supported settings

This partially solves #635

* Limits covers to supported settings

Only show cover settings when `set_position` is supported.

This solves #635

* Limits covers to supported settings

* Update instructions.md

* Add Fan speed settings page (#897)

* Add Fan speed settings page

Add an initial fan speed control page for fans supporting speed control.
Add speed (%) info in the buttons pages.

Solves #404 
Solves #791 
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5786106

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Add Fan speed settings page

* Fix name on confirmation page

Fix the entity name on the confirmation page.

The new order is:
1. Name set on the blueprint settings
2. Entity's `friendly_name` attribute
3. Entity's `name` attribute
4. Entity's `entity_id`

Solves #501

* Select wake-up page (#898)

* Select wake-up page

Users will be able to select the wake-up page on the blueprint inputs.
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page.
After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same.

Solves #576 
Solves #612 
Solves #801 
Probably improves for https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718#discussioncomment-5715670

* Select wake-up page

* Fan update engine

Change the fan update engine to follow the same patter as other settings pages.

* Update ReleaseNotes.md

* Adding vertical bars pics

* Panel offline mode (#900)

* Panel offline mode

Introduces "offline mode" for the panel, which will be used later with a fallback climate.

Pages that are depending on the blueprint (buttons pages, entity pages, settings pages, etc) won't be shown when the API is disconnected.

* Panel offline mode

* Panel offline mode

* Panel offline mode

* Panel offline mode

* "Jump to settings" on tft

Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.

* Exclude Nextion2Text

Exclude Nextion2Text

* Fix validation issue

* Time engine on ESPHome

* Time engine on ESPHome

* Notification page bigger hotspot

Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907

* Boot page retry comm

The boot page will retry communication with the blueprint once a minute to avoid the situation where that page is shown until the automation is reloaded.

* Fix call to screen page

Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.

* Fix fan page `button_on`

Fixing rounding on that button.

* Fixed Fan page rounding

* Prevents boot sequence in other pages

* Physical relay local control

We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2)

Solves #910

* Embedded climate (#917)

* Performance improvements

The main focus here was to reduce the number of calls between Home Assistant and ESPHome, moving logic as much as possible to TFT and ESPHome.
- Service calls moved to ESPHome (in preparation for Alarm Control Panel)
- Page change informed via event call instead of `nspanel_event` sensor (which still in use by other calls, but might be possible to remove in the future)

* Draft embedded climate

This adds an initial version of an embedded climate/thermostat (heating only for now) with support for local control even with Wi-Fi out.

Solves #646
Solves #263

* Update ReleaseNotes.md

* Fix climate slider

Fix for climate slider opening in an incorrect position and sending only the integer part of the new target temperature

* Moving home page to ESPHome

In progress...

* Fix translations - Dutch

* Embedded chip 3

Home page - Chip 3 will be controlled locally when embedded climate is enable.

* Fixed buttons bar

Fixed buttons bar managed on ESPHome when embedded climate is visible.

* Update ReleaseNotes.md

* Services back to the Blueprint

Moving service calls back to the blueprint as latest HA requires user's permissions to call HA services from ESPHome.
This still have to be used for Alarm calls due to security concerns.

* Update ReleaseNotes.md

* support to hidden ssid (#908)

Supports hidden ssid with the use of substitutions `wifi_hidden: "true"`.

This can be breaking change for users with custom/advanced wifi settings.

Solves #906

* Update nspanel_esphome.yaml

* Removed `restore_state`

There is some incomplete work related to alarms on this commit, but the focus here is to fix `restore_state` on ESPHome v2023.7.0.

This solves #939

* US model - Fan page - Redistribute icons

Redistributed icons on Fan page on US model in order to improve usability.

Based on feedback from https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6338706

* Align `nspanel_us_land`

Apply all changes from EU to US_Land

* Fix relays chips

Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273

* Fix "invalid variable" for "api"

Fix error "Nextion invalid variable name" when setting `api`.

* Default embedded climate to relay_0

* Fix translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043

* Fix `set_temperature` for climate

Solves #957

* Fix `fan.turn_off` call

Removed timer call from fan stop button.
This solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6494535

* Call a `fan.turn_off` when percentage is 0%

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756

* Fix call for fan stop button

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377

* Icons on ESPHome

Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.

* Updated translations - Spanish

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961

* Make home page sensor's icons consistent

Make icon selection consistent with chips where the entity's icon is used in case a icon is not set in the blueprint settings.

Solves #963

* Updated translations - Slovenian

Based on:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6665723
-  https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6665751

* dutch (#974)

* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Add-on support (#977)

Moved climate settings to an add-on.
Updated documentation.

* Fixed link to addon climate docs

* Fix change brightness when sleeping

Prevents the panel to change screen brightness when sleeping.

Solves #975

* Standardize HA service calls

* Bump version to `4.0 dev`

* Create customization.md

This will reduce the need for:
- #920
- #662
- #833

* Clean-up for customizations

Clean up ESPHome in order to make easier the use of customizations.

* Create Alarm page

* Add page Alarm

* Add Alarm docs

Update docs to reflect the current state (new features & changes)

* Creating "install.md" and update add-ons instructions

* Add Alarm page buttons pics

* Add link to Alarm on page Home

* Create Alarm page

* Alarm button font color

* Add `keyb_num` page

* Alarm Control Panel with PIN (#982)

Implements an Alarm Control Panel page on NSPanel.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/66
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/227
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/672
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/299#discussioncomment-4874612
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/64#issuecomment-1566204490
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/718

* Fix alarm without pin not working

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977

* Alarm page UI

Fixed close button
Disabled buttons are darker

* Move Entities button to ESPHome

Move logic behind Entities button (Home page) from Blueprint to ESPHome in order to gain performance on creating home page.

* Human readable Uptime (#986)

* Human readable Uptime

* Uptime from Frenck code

* Uptime with Frenck code

* Updated Human Readable Uptime

* Removed trailing spaces

* Renamed sensor to "Last started"

Sensor renamed
Update moved to the boot process
Clean-up

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
Co-authored-by: Edward Firmo <edward@costafirmo.com>

* Update alarm icon & color

* Revert `fast_connect` back to `false`

* Extended chars on buttons pages (#988)

Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987

* Removed `fast_connect`

* Support to `code_arm_required`

Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).

* Update alarm icon on home page

Refresh icon when alarm state changes.

* Fix alarm icon not updating on home page

* Home buttons new format - Alarm

Modernise the button Alarm flow on page Home to improve performance.

* Home buttons new format - Entities

Modernise the button "Entities" flow on page Home to improve performance.

* Home buttons new format - QRcode

Modernise the button "QRcode" flow on page Home to improve performance.

* Home buttons new format - Notification

Modernise the button "Notification" flow on page Home to improve performance.

I haven't moved the code from the Blueprint to ESPHome yet, as I will leave this for when we rebuild the Notification flow in the near future (hopefully), so the performance gains may not be perceived now. Just aligning with other buttons format.

* Adding screenshots

* Delete ReleaseNotes.md

Moved to the release

* New entity filter format

This new format was released with HA v2023.4 and the old one will be deprecated soon.

* Fix Alarm page bypass icon

* Bump version to 4.0

* Rename `addon_climate_heat`

* Simplify climate substitutions

* Add support for `addon_climate_cool`

* Removed `${verbose_log}`

Use logger level `VERBOSE` instead

* Fix script call

* Clean up general entities & fallback

Store inputs into variables only when needed.
Removed fallback mode - Replaced by ESPHome local control when the relay is assigned to the button in the blueprint.

* Phase out sensor `nspanel_event` (partially)

This sensor is being replaced by event calls.

* uptime sensors (#998)

* Create ReleaseNotes.md

* Fix Climate page when embedded climate

And also added a lot of logs which should be removed later as it takes from memory.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6835260

* Move brightness control to global var

Clean up page Home

* Alarm page translations - Finnish

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262

* Exported pics

* Clean-up TFT

- Removed a bunch of unused pics
- Changed page indicator to new format (which will allow future development to hide unused pages)
- Standardized close button in most pages

* Fixed background pics

- Entities pages
- Weather pages

* Standardize close button

* Add "Alarm" section

* Support to wake-up page on `wake_up_display` service

This changes the behavior of a service introduced by #734.

* Optimize `wake_up_display` service

* Fix icon font sizes 10 and 64

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1701903604

And also remove all the unnecessary `wait_until`

* Fix Settings page element ids

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668

* Add translation keys for `settings` page

#1002

* Update settings page when brightness changes on HA

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796

* Clean-up page settings

* update docs (#1003)

* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Clean-up Cover page

I'm preparing this page to have icons changing based on the device_class selected to a cover.

* Clean-up boot delay

* Enable `current_page` sensor by default

Otherwise the system won´t update values unless the page is reloaded.

* Use `current_page` in blueprint conditions

One more step towards the phase out of `nspanelevent`.

* Move `script.refresh_colors` to `service.global_settings`

As this is called from a single point, there's no meaning of having a separated script.

* Fix climate icon update

Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454

* Fix button show on climate page

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335

* Visual improvements on climate page

- Add friendly name when embedded - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891465
- Make disable icons a bit darker - Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6893440
- Add space for page title in EU an US Land versions
- Reset page timer when pressing/releasing on the slider - Partially solves #990

* Don't update values when page home is not visible

To reduce load on Home Assistant and the network

* Cleanup boot sequence

Move some functionalities to ESPHome

* Display internal sensor value when wifi is out

Before it was showing on home page only when API was out. This adds a test for WiFi.

* Fix `default_target_temperature`

It also updates the page home when thermostat status changes (for the chips).
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6897727

* Adding ID to components missing it

* Renamed `wake_up_display` to `wake_up`

* Re-arrange commands list

* Add service `set_component_color`

Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`

* Fix button pages not showing

* Adjusted time for HW long click

* Fixed buttons on settings page

* Minor adjustments to page climate

And replace font 10 to size 48 (it was 64 since a few days ago).

* Updates to breaking changes list

* Page settings redesign

Clean up the UI of settings page.
Prepare for translations.

* Enable translations of Settings page

* Notification word-wrap

For EU and US_LAND only, for now.

* Notifications page rebuilt

- Notification button processed on ESPHome (as all the info is there)
- Added word-wrap for main text
- Expanded text size
- Handling display mode (used to define the number of chars per line on Notifications)
- Versioning handling - As a consequence of the previous item.

* Word-wrap buttons pages

Taking advantage of the algorithm created for notifications.

* Word-wrap for Alarm page

* Version mismatch notication

* Fix ESPHome not starting with older TFT

* Rebuilt home page status bar update

* Updated translations - Italian

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu

* Fix `Nextion reported variable name invalid!`

* Fix `Nextion variable invalid`

* Handle `embedded_indoor_temperature`

Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.

* Review temperature correction engine

* Fix display climate chip

* update `temp_nspanel` when correction changes

* Fix `Fan` page not open with long press HW button

Solves #1007

* Minor adjustments on settings page

* version 4.0 ready for release

* Clean-up docs

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>

* Fix Fan page button colors when opening

Solves #1017

* Translations (#1023)

* Translations

* Update nspanel_blueprint.yaml

I've changed `brightness` for now as the new design isn't implemented yet, but that string is already in use with the current design.

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Adjustments to settings page

* Fix entity info when calling detailed pages

Solves #1022

* Added `media_player` page (hidden)

* New "Confirm" pop-up

This also removes the sensor "NSPanel Event"

* Fix pages not updating values

Solves #1026

* Media player - Buttons

- Added code to buttons on media_player page.
- Clean-up:
  - Moved wake-up select from Blueprint to ESPHome component
  - Removed `switch.xxxxx_confirmation_message`

* Fix logging for global_settings

It was logging wakeup_page, which is deprecated

* Improved version notification

* Removed trailing spaces

* Notification for `sensor.xxxxx_current_page` missing

This might be a common issue for users migrating from v3.4 to v3.5.
This information is part of the release notes, but I believe it worth having a guide to support closely any user who miss that in the release notes.

* Simplify `touchevent` engine

The touch event is used only for the sleeping engine (it will be used for dimming later) and it was transferring all the json info with page name, component, entity, etc.
This was replaced by a simple random integer with no meaning other than "the screen was touched, reset the timer".

* Media player first buttons actions

* Fix unknown service: `media_player.null`

* Media Player control

You will be able to add a Media Player entity to any of the buttons pages and with a long press you will see the media player page.

* Remove dimming timer for now

The funcionality isn't completed.

* Home page - Custom buttons

On the blueprint you can now set up to 3 buttons to be shown on Home page.
It will show the detailed settings page, so the entity must be compatible.

* Fix Media player missing parameters

Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1030#discussioncomment-6984573

* Prevents calls to `media_player.null`

* Remove `entity` info from pages on TFT

Since v3.4, the info about entity_id shown was going all the way to Nextion and then sent back in the json return, however this requires a long (100-char) global var and the way it was implemented, it was one of those per settings page, as climate should be also recorded at the same time in case the embedded climate was installed.
This was taking too much memory, so I've moved this info to a global variable (string) in ESPHome.
There is now lots of space for code cleaning (and still pending to do the same with climate entity, as it could be only a bool to inform if embedded), but this brings the functionality.

This enabled the return to global for some components, so it probably solves #1031

* Prototyping `power` page

Thanks @Floppe for doing the design
#838

* Prototyping `power` page

* New sleep flow

* Removed trailing spaces

* Fix empty page climate

* Fix names on button pages

Fix names when a name is not provided in the blueprint settings.

* Fix call to sleep routine when timeout changes

Solves #1037

* Replace `confirm` var on buttons pages

Simpler and saves some memory.

* Clean-up

* Align the code for the 3 timers

* Extend domains supported by home page custom buttons

Based on #1034

* Fix error when btn_label is `None`

* Fix `Variable invalid` on buttons pages

* Fix constructor of Entity pages

* Fallback even when button is assigned to another entity

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1013#issuecomment-1720107844

* Add inputs for media player refresh time

* Adjustments to Media Player refresh interval default values

* Use panel's events to reset timers

Possibly solves #1040
Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-7020153

* State based colors to home page custom buttons

* Fix alarm not changing status

Do not clear `entity_id` when opening keyboard page, so the info can be used when sending commands.

Solves #1039

* Missing `nspanel_us.tft`

* add `touchevents` to pages `media_player` and `confirm`

To avoid panel going back to Home page while user is playing with the page.
Solves #1040

* Media player minor layout changes

* Media player - Volume timer & icon size

Volume timer changed from 1000 to 500ms
Icon change from font 9 to 10

* Media player roll back font 9 and timer 1s

* Don't send to Nextion obsolete volume settings

If the volume is the same as the last one sent to the screen, don't send again, so if changes are being made on the screen it didn't receive the update all the time, making the slider unresponsive.

* Media player - Layout improvement

- Removed button "Stop"
- Increase touch area for buttons
- Redistributed buttons on page

* Add touchevents to page climate

Possibly solves #995

* Resolve validation

* Correct playing time based on `updated_at` attribute

* Prepare for when attribute is not available

* Fix attribute `media_position`

* Fix time duration when HA isn't updating position

* Fix climate page not opening when offline

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6834067

* Clean-up release notes

* Clean up code

- Removed commented out lines
- Removed temporary logs

Getting prepared to release

* Bump version to 4.0beta

To reduce the chance of an obsolete file in use after the release.

* Change version to 4.0dev

To differentiate from beta.

* Added missing translations (#1047)

* Added missing translations

Added missing translations for the Swedish translation.

* Caption first char

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>

* Translations to Slovak on Settings page

* Refresh docs

* Update nspanel_blank.md

* Update nspanel_blank.md

* Add screensaver to `nspanel_blank.tft`

And build a new tft with latest firmware and url for instructions.

* Update nspanel_blank.md

* Fix to Slovenian translation

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7041796

* Settings page - Translations to French

From https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7045452

* Alarm page - Translations to French

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-7046479

* Add customization for display sleeping/awake

Probably solves #1035

* Customizations - Blank TFT button

Probably solves #1048

* Customizations - Deep sleep

Solves #955

* Customization - Deep sleep - Fix broken link

* Translations - Slovak

- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-7054153
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-7054142

* New versioning - not implemented

* Bump version to `4.0b2`

* v4.0 release

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>
Co-authored-by: w00zy <52609940+WZYProjects@users.noreply.github.com>
Co-authored-by: Erik Larsson <erik1337.el@gmail.com>

---------

Co-authored-by: bkbartk <bartkock@outlook.com>
Co-authored-by: w00zy <WZYProjects+github@gmail.com>
Co-authored-by: w00zy <52609940+WZYProjects@users.noreply.github.com>
Co-authored-by: Erik Larsson <erik1337.el@gmail.com>
2023-09-20 16:48:06 +02:00
Edward Firmo
9aa8421117 Fix issue with restore_state and ESPHome v2023.7.0 (#941) (#943)
Solves #939
v3.4.1
2023-07-19 18:56:15 +02:00
Blackymas
a47d8c3fbb v.3.4 - New climate page and some bug fixes
v.3.4 - New climate page and some bug fixes
v3.4
2023-06-18 21:54:53 +02:00
Blackymas
2b62a770f7 v3.4 - New Climate Page and some bug fixes
v3.4 - New Climate Page and some bug fixes
2023-06-18 21:52:41 +02:00
Edward Firmo
e2c17c8716 Remove inputs for chip3 (Climate) (#874)
Removed all inputs related to customization of chip03 (Climate entity) and instead will follow the same icons and colors used by page climate, with a thermometer replacing the fire icon for heating.
2023-06-18 08:11:30 +02:00
Edward Firmo
0bce4c79b3 Change icon for heat in hvac_action 2023-06-15 17:02:37 +02:00
Edward Firmo
913dc39156 Update nspanel_blueprint.yaml 2023-06-15 10:10:25 +02:00
Edward Firmo
d722e115a8 Wake up screen with long press on button
This solves #558
2023-06-15 10:07:23 +02:00
Edward Firmo
5cfed28caf Fix incorrect variable climate_action_attr 2023-06-14 12:02:55 +02:00
Edward Firmo
74c1e22610 Fix hvac_action display 2023-06-14 11:26:24 +02:00
Edward Firmo
575bda2955 Remove hotwater (#866)
Now the custom icons can be used instead.
2023-06-08 15:48:56 +02:00
Edward Firmo
c1ef9eb92b Fix hvac_action indication icons (#865)
* Fix `hvac_action` indication icons

Fix for pages home and climate.
This should remove the need for all the 25~30 instances of hot water in the code.

* Update nspanel_esphome.yaml
2023-06-08 15:28:25 +02:00
Edward Firmo
4cb8bbe72e Climate - Custom buttons - Long press (#864)
* Climate - Custom buttons - Long press

This add long press functionality to Custom buttons and also fix a bug on short press.
I believe the new custom page is ready for get user's feedback with this.

* Climate - Custom buttons - Long press

* Climate - Custom buttons - Long press

* Climate - Custom buttons - Long press
2023-06-08 14:42:54 +02:00
Blackymas
25f6afcb8f fix some UI Design issues 2023-06-07 22:55:02 +02:00
Edward Firmo
b9bf5b95fa Climate - Custom buttons - Short press 2023-06-06 16:14:49 +02:00
Edward Firmo
8c9b135dc1 Climate - Custom buttons - Update status (#862)
Update status of custom buttons on climate page when the status changes.

=> Still missing to assign control to these buttons.
2023-06-06 12:41:51 +02:00
Edward Firmo
cc1f6999cc Climate - Custom buttons (#859)
* Climate - Custom buttons

Initial implementation of custom buttons on climate pages.

* Update nspanel_esphome.yaml

* Update tft files

* Update nspanel_eu_code

* update nspanel_us_code
2023-06-05 12:00:14 +02:00
Blackymas
6219ecdc79 new climate nspanel_us 2023-06-04 23:11:54 +02:00
Blackymas
0878696b79 climate nspanel_eu finish 2023-06-02 23:40:47 +02:00
Edward Firmo
ab067bd20c Climate page - Performance & bug fix (#854)
* Climate page - Performance & bug fix

Performance improvement:
- Moved icon definition to TFT, so only buttons related to supported hvac modes will be updated and just icon color and link enabling is sent.
Bug fixing:
- Removed incorrect button name on buttons update
Others:
- Merged `set_climate_target_temp` into `set_climate` services
- Update current temperature when target temperature is updated

* Removed reference to `set_climate_target_temp`

Removed unused entry from blueprint.

* Removed service `set_climate_target_temp`

* Update `nspanel_eu`

- Set climate buttons on the TFT.
- Bump version to 3.3.2 (temporarily, to align with ESPHome and Blueprint)

* Update `nspanel_eu_code`
2023-06-02 09:02:41 +02:00
Edward Firmo
3b4cc94518 Update translations - Swedish
From #845 by @rogerjak.
2023-06-01 18:58:04 +02:00
Edward Firmo
94d3157c4d Climate: support to target_temp_step (#853)
* Climate: support to `target_temp_step`

Adding support to attribute `target_temp_step` to define the step of changing temperature.
`0.5` will be used if this attribute is not available on the climate entity.

* Update nspanel_esphome.yaml

* Update nspanel_eu files

* Update nspanel_eu_code files
2023-06-01 18:30:16 +02:00
Edward Firmo
0e48d65549 2sec hold for sending target_temp (#851)
* 2sec hold for sending target_temp

Added 2sec hold of `target_temp` value before sending it to ESPHome and Blueprint, so the climate service is not called at every click on the slider or +/-.

* Update nspanel_eu_code
2023-05-30 17:07:22 +02:00
Edward Firmo
89e55a20d4 Fix buttons on climate page (#850)
* Fix buttons on climate page

Fix icon for dry and auto.
Move Off for last position.
Fix TFT sending incorrect id for buttons.

* Update TFT

* Update nspanel_eu_code
2023-05-29 21:08:07 +02:00
Edward Firmo
5298a0a032 Move target_temp set to TFT (#849)
* Move target_temp set to TFT

Use TFT to set target temp from slider and +/-.
Using decimals for slider.

* Update nspanel_esphome.yaml

* Update nspanel_eu files

* update nspanel_eu_code folder
2023-05-29 18:12:58 +02:00
Edward Firmo
410255ba37 Language update - NOR & FIN 2023-05-26 12:07:55 +02:00
Edward Firmo
5463e54926 Remove climate-optimistic mode (#841)
* Remove climate-optimistic mode

* Remove `send_thermostat_cycle_state` service

* Remove sensor `Display Target Temperature`

* Remove `display_target_temperature`
2023-05-26 11:49:20 +02:00
Edward Firmo
3e0cd4a9bd New climate page - Buttons (basic)
Initial implementation of buttons on the new climate page.
2023-05-25 15:56:14 +02:00
Blackymas
864abd24fc fix Button 7 and remove all default values 2023-05-24 23:20:43 +02:00
Edward Firmo
72705d9806 New climate page - Values 2023-05-24 21:24:11 +02:00
Edward Firmo
14283c0776 New climate page - basic support (#835)
* New climate page - basic support

Basic support to the new climate page.
Still pending values and buttons.

* Support to new climate services

* New climate page - basic
2023-05-24 18:38:41 +02:00
Edward Firmo
e5a702e541 Translations - ITA & HEB 2023-05-24 11:10:55 +02:00
Edward Firmo
8f80e1fb84 Translations - Spanish 2023-05-23 22:55:51 +02:00
Edward Firmo
5063b4a4c0 Translations - Croatian 2023-05-23 16:27:41 +02:00
Edward Firmo
f0549e2660 Translations - DEU & POL 2023-05-23 09:41:07 +02:00
Blackymas
d038bcc0d5 changed nspanel_us tft version 2023-05-22 22:38:57 +02:00
Edward Firmo
a28f1fb586 Translations - FRA & GRC 2023-05-22 15:49:27 +02:00
Edward Firmo
8ad3beb72f Add API connection status sensor (#774)
As requested by users:
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/735#discussioncomment-5755419

Could this be used to prevent some of the "Loading..." or perhaps update screen when connection is reestablished?
2023-05-22 13:57:49 +02:00
Edward Firmo
1a46c85e6e Enable users select alignment for entity values (#753)
* Enable users select alignment for entity values

Users will be able to select the alignment for the column with values on the entity pages.
The options are:
- Right (default)
- Center
- Left

solves #732

* Add support to `xcen` on `set_entity`
2023-05-22 13:56:34 +02:00
Edward Firmo
3a5f562c20 More flexible date_format engine (#744)
* More flexible `date_format` engine

This is not changing anything for normal users other than minor UI on the blueprint setting, however will start using the `date_format` in a python standard string, but translating `%A` with existing weekdays in MUI.
Advanced users will be able to edit they automation yaml (either in `automations.yaml` file or editing the automation in yaml mode) in order to use any format they want.
=> This is not adding new translations to short week days or months, so if users add this in advanced mode, it will be shown in English.

* Added support for translation of date strings

Support translations to all date related strings.
=> Pending the translations - to ask support from the community.

* Support for custom date formats

* Fixed translation PRT

* Update nspanel_blueprint.yaml
2023-05-22 13:55:05 +02:00
Blackymas
70d62f51f8 add new climate
add new climate for nspanel_eu
add global variable home page for naspanel_us
2023-05-21 22:44:06 +02:00
Edward Firmo
c3acffd829 Auto-update entities pages (simplified) (#819)
This is a simplified version of #728 which is easier to maintain, as only conditions for entities pages have being added.
So the scope is limited to:
- Auto-update entity pages without compromising overall performance. (Entities page values not updating unless re-opened #410)
2023-05-18 14:53:37 +02:00
Edward Firmo
4688608ba1 Fix status bar error when no climate
Fix an issue on constructing the status bar when a climate entity is not defined.
2023-05-17 10:10:42 +02:00
Edward Firmo
221e3a168f Removed pages names from nextion var
To make it easier for future updates
2023-05-17 09:33:22 +02:00
Edward Firmo
bfbd95f9c1 Fix selectors for Button 32 (#818)
This closes #815
2023-05-17 09:02:23 +02:00
Edward Firmo
45725dc820 New time&date update strategy (#785)
Takes advantage of new global vars implemented by eee2bb7295
This will improve drastically the speed on displaying the Home page.
This push removes the update of date & time from the Home page and moved it to the time minute trigger (every minute), regardless the page shown (including when sleeping).
The time is also update after a boot (to ensure there's a time value when the Home page is displayed for the first time) and with an automation reload (just to cover the case when time format changes).
2023-05-09 17:02:16 +02:00
Blackymas
e55db10b70 home page local to global 2023-05-04 17:24:55 +02:00
Blackymas
ba82e08470 change home page local to global 2023-05-04 17:20:01 +02:00
Blackymas
eee2bb7295 change home page local to global 2023-05-04 17:16:28 +02:00
Edward Firmo
91dab53a59 Fix error when hw button is not on/off (#776)
This prevents message `Nextion reported variable name invalid!` when the button have a state other than `on` or `off`, like when it is connected to a stateless entity (scene, automation, etc.).
2023-05-04 00:04:56 +02:00