2625 Commits
v2.0.2 ... main

Author SHA1 Message Date
c887023191 Naam NSPanel gewijzigd 2024-05-21 17:29:00 +02:00
930fd8aeed NL instellingen default maken 2024-05-21 17:24:37 +02:00
Edward Firmo
e667aa2c82 Merge pull request #2090 from Blackymas/beta
v4.3.7 - Quick Fix for Captive Portal Compile Error
2024-04-25 18:38:42 +02:00
Edward Firmo
33b966c356 Merge pull request #2089 from Blackymas/dev
v4.3.7 to beta
2024-04-25 17:08:07 +02:00
GitHub Actions
1325055d13 Pre-built firmware update: 8833784908 2024-04-25 13:57:28 +00:00
Edward Firmo
9ea9f626dd Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-25 15:40:49 +02:00
Edward Firmo
7d2db5e606 Quick Fix for Captive Portal Compile Error
Solves #2088
2024-04-25 15:40:39 +02:00
GitHub Actions
0af27acb91 Pre-built firmware update: 8833476658 2024-04-25 13:36:03 +00:00
Edward Firmo
0497417939 Don't try to stop captive portal
Solves #2088
2024-04-25 15:26:27 +02:00
Edward Firmo
7b406d85f1 Remove redundant info from climate dump config 2024-04-25 14:48:52 +02:00
Edward Firmo
7ffaba6ef1 Merge pull request #2085 from Blackymas/beta
Lint
2024-04-25 08:19:37 +02:00
Edward Firmo
ddf92517b8 Merge pull request #2084 from Blackymas/dev
Lint
2024-04-25 08:18:48 +02:00
Edward Firmo
7f260a3108 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-25 08:16:18 +02:00
Edward Firmo
ea603a46c7 Lint 2024-04-25 08:16:15 +02:00
Edward Firmo
5987abae14 Merge pull request #2083 from Blackymas/beta
v4.3.6 - Critical Fixes for Custom Buttons
2024-04-25 08:12:29 +02:00
Edward Firmo
e9a35a4aec Merge pull request #2082 from Blackymas/dev
v4.3.6 to beta
2024-04-25 07:41:53 +02:00
GitHub Actions
ead60e7a82 Pre-built firmware update: 8827382086 2024-04-25 05:27:01 +00:00
Edward Firmo
35dc8aa3b5 Climate shows relays assignment on dump config 2024-04-25 07:17:19 +02:00
Edward Firmo
43fd89a679 Update ReleaseNotes.md 2024-04-25 07:06:12 +02:00
Edward Firmo
720e5c3a15 Fix opening embedded thermostat in a button
Solves #2067
2024-04-25 07:01:11 +02:00
Edward Firmo
02c8168667 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-25 06:52:55 +02:00
Edward Firmo
c37d2695a7 Fix custom buttons for domains other than lights
Solves #2080
Solves #2081
2024-04-25 06:52:53 +02:00
Edward Firmo
96986dcecd Merge pull request #2078 from Blackymas/beta
v4.3.5 - Experimenting with Bluetooth Capabilities
2024-04-24 23:56:09 +02:00
Edward Firmo
450810a222 Merge pull request #2077 from Blackymas/dev
v4.3.5 to beta
2024-04-24 23:02:33 +02:00
GitHub Actions
6331f247b5 Pre-built firmware update: 8822106317 2024-04-24 19:28:36 +00:00
Edward Firmo
c9338404ba Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-24 21:18:01 +02:00
Edward Firmo
db578c34bf Bump to v4.3.5 2024-04-24 21:17:49 +02:00
GitHub Actions
3e51445c62 Pre-built firmware update: 8821960718 2024-04-24 19:17:36 +00:00
Edward Firmo
eac6dd1cf7 Prepare references for release 2024-04-24 21:06:48 +02:00
Edward Firmo
1d247db8e8 Experimenting with Bluetooth Capabilities 2024-04-24 21:02:46 +02:00
Edward Firmo
c0d9d70c58 Expand light modes detection
Tentatively solves #2072
2024-04-24 20:48:34 +02:00
Edward Firmo
61bdaf0fa3 Extend max button name length to 14 chars 2024-04-24 15:53:16 +02:00
Edward Firmo
c4b91b8ea0 Manage indoor temp and weather icon as buttons
Solves #2056
2024-04-24 15:46:11 +02:00
Edward Firmo
72d4cd4b01 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-24 15:17:17 +02:00
Edward Firmo
bd4a8d5946 Set default delay before each esphome call
Default set to 10ms
This is to minimize the serial buffer overflow issue
2024-04-24 15:17:11 +02:00
GitHub Actions
163e28c6fd Pre-built firmware update: 8814684647 2024-04-24 10:08:01 +00:00
Edward Firmo
9063030ba2 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-24 11:58:22 +02:00
Edward Firmo
fe26e30a06 Simplify page load
To reduce the chances of a serial buffer overflow
2024-04-24 11:58:19 +02:00
GitHub Actions
85e207914c Pre-built firmware update: 8814096845 2024-04-24 09:22:26 +00:00
Edward Firmo
baef06fadf Round up temperature step
Partially solves #2063
2024-04-24 11:13:02 +02:00
Edward Firmo
79253683f9 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-24 11:00:15 +02:00
Edward Firmo
1c43b8a874 Display embedded temperature in F or C accordingly
Partially solves #2063
2024-04-24 11:00:06 +02:00
GitHub Actions
fdae613124 Pre-built firmware update: 8813464340 2024-04-24 08:36:07 +00:00
Edward Firmo
4e329cb58c Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-24 10:26:31 +02:00
Edward Firmo
0654a54730 Fix icon colors on home page 2024-04-24 10:26:11 +02:00
GitHub Actions
376a9c2c0b Pre-built firmware update: 8781452204 2024-04-22 09:16:29 +00:00
Edward Firmo
29baa6c808 Create nspanel_esphome_addon_ble_tracker.yaml 2024-04-22 11:07:33 +02:00
Edward Firmo
e20c4d2af2 Lint 2024-04-22 10:15:30 +02:00
Edward Firmo
6278cd739e Lint 2024-04-22 10:14:38 +02:00
Edward Firmo
edd1d3fdb8 Lint 2024-04-22 10:13:26 +02:00
Edward Firmo
1cbb5c17d7 Lint 2024-04-22 10:12:44 +02:00
Edward Firmo
075ec9f7fb Lint 2024-04-22 10:07:20 +02:00
Edward Firmo
66c5e58c02 New Add-on: BLE Tracker
Solves #1946
Helps with #1983
2024-04-22 10:01:10 +02:00
GitHub Actions
403f69c25c Pre-built firmware update: 8743062476 2024-04-18 18:48:49 +00:00
Edward Firmo
6021afc0f4 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-18 20:39:16 +02:00
Edward Firmo
d0152de676 Move dependences from matrix 2024-04-18 20:39:06 +02:00
GitHub Actions
78cf4333f1 Pre-built firmware update: 8742907264 2024-04-18 18:36:01 +00:00
Edward Firmo
fcc1b54b6c Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-18 20:26:03 +02:00
Edward Firmo
d106243bd5 Generates individual md5 files 2024-04-18 20:25:28 +02:00
GitHub Actions
a44b1750ba Pre-built firmware update: 8742721298 2024-04-18 18:20:34 +00:00
Edward Firmo
9cdaca8371 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-18 20:06:20 +02:00
Edward Firmo
0c634cfc55 Add combined tests 2024-04-18 20:06:10 +02:00
Edward Firmo
52be1226e5 Use IDF5 2024-04-18 19:59:47 +02:00
Edward Firmo
8be27ae04b Add climate tests 2024-04-18 19:57:40 +02:00
Edward Firmo
4b049312da Add Bluetooth Proxy tests 2024-04-18 19:55:20 +02:00
GitHub Actions
246f301490 Pre-built firmware update: 8742420637 2024-04-18 17:54:34 +00:00
Edward Firmo
6c10d13a28 Use latest actions versions 2024-04-18 19:45:18 +02:00
Edward Firmo
2b7287e89d Lint 2024-04-18 19:43:03 +02:00
Edward Firmo
8026ee1846 Use custom yamllint rules 2024-04-18 19:39:18 +02:00
Edward Firmo
2f26b759da Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-18 19:32:21 +02:00
Edward Firmo
da98f9570d Optimize tests 2024-04-18 19:32:10 +02:00
GitHub Actions
02b0b25cae Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-18 17:28:21 +00:00
Edward Firmo
e3605eab5d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-18 19:17:45 +02:00
Edward Firmo
5c867d1653 Test deeper with Arduino and IDF v5 2024-04-18 19:17:41 +02:00
GitHub Actions
822b6dab97 Pre-built firmware for NSPanel - Correct call to ap_captive_portal.end() 2024-04-18 16:55:56 +00:00
Edward Firmo
5206898c98 Correct call to ap_captive_portal.end() 2024-04-18 18:44:20 +02:00
Edward Firmo
5274b97551 Lint 2024-04-18 18:41:32 +02:00
Edward Firmo
544b2bc9cf Introducing "Add-on: Bluetooth Proxy"
Supports:
- #1983
- #1946
- #1815
2024-04-18 18:34:49 +02:00
Edward Firmo
c9be4d2422 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-18 12:35:22 +02:00
Edward Firmo
a5092a5939 Stop unnecessary services before TFT upload with pre-built versions 2024-04-18 12:35:20 +02:00
GitHub Actions
62bd8eed17 Pre-built firmware for NSPanel - Add id for BLE tests 2024-04-18 01:59:15 +00:00
Edward Firmo
6276551560 Add id for BLE tests 2024-04-18 03:48:41 +02:00
GitHub Actions
ca10827074 Pre-built firmware for NSPanel - Replace watchdog by dump_config 2024-04-18 01:35:46 +00:00
Edward Firmo
ddea304d1b Replace watchdog by dump_config 2024-04-18 03:25:06 +02:00
Edward Firmo
85d6abae93 Flag display as disconnected during upload
To prevent Blueprint sending data
2024-04-17 10:06:29 +02:00
Edward Firmo
6c2c9ab5bd Introduces "icons" library 2024-04-17 09:40:02 +02:00
Edward Firmo
acf96d4f30 Stop Bluetooth before TFT upload
Helps with:
- #1983
- #1946
- #1815
2024-04-17 09:39:38 +02:00
Edward Firmo
a6f62a053c Use send_command from Nextion 2024-04-16 11:03:20 +02:00
Edward Firmo
94d51c4b49 Use PSRAM with Nextion Upload TFT
Helps with the following:
- #1983
- #1946
- #1815
2024-04-16 10:55:29 +02:00
GitHub Actions
7da53ef510 Pre-built firmware for NSPanel - Remove psram code when psram is not included 2024-04-13 06:20:19 +00:00
Edward Firmo
8a60a15682 Remove psram code when psram is not included 2024-04-13 02:06:13 +02:00
Edward Firmo
e265acfcf1 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-13 02:04:36 +02:00
Edward Firmo
40eae7c065 ESPHome version support on Blueprint side 2024-04-12 10:25:55 +02:00
GitHub Actions
2f562cdd72 Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-12 08:08:11 +00:00
Edward Firmo
d1d0a124b1 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-12 09:59:04 +02:00
Edward Firmo
d59361f937 Report ESPHome version on event call
This will allow version based blueprint
2024-04-12 09:58:50 +02:00
GitHub Actions
f0f64738ef Pre-built firmware for NSPanel - Remove CONFIG_LWIP_MAX_SOCKETS 2024-04-12 07:45:34 +00:00
Edward Firmo
2a0f92d548 Remove CONFIG_LWIP_MAX_SOCKETS
This was breaking `web_server`
Solves #2050
2024-04-12 09:36:21 +02:00
Edward Firmo
60078bd680 Prepares for MdiIcons library 2024-04-12 09:32:01 +02:00
Edward Firmo
3b2a6b7554 Merge pull request #2045 from Blackymas/beta
v4.3.4 - Urgent Fix for Home Screen Interaction
2024-04-10 16:39:03 +02:00
Edward Firmo
f76eccd06d Merge pull request #2044 from Blackymas/dev
Updated compatibility table
2024-04-10 16:34:01 +02:00
Edward Firmo
359c9ed4f0 Updated compatibility table 2024-04-10 16:31:45 +02:00
Edward Firmo
2378e171d0 Merge pull request #2041 from Blackymas/dev
v4.3.4 to beta
2024-04-10 16:29:02 +02:00
GitHub Actions
53aeb3e1ec Pre-built firmware for NSPanel 2024-04-10 14:21:41 +00:00
Edward Firmo
f93c4d8d47 Update validate_esphome_beta.yml 2024-04-10 16:02:54 +02:00
Edward Firmo
a4fb6324d4 Remove unused reference 2024-04-10 15:55:11 +02:00
Edward Firmo
89f95899a1 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-10 15:49:00 +02:00
Edward Firmo
ba1e074bf8 Bump to v4.3.4
Solves #2040
2024-04-10 15:48:38 +02:00
GitHub Actions
0529e39c31 Pre-built firmware for NSPanel - Fix climate page not opening with click on internal temp 2024-04-10 13:44:08 +00:00
Edward Firmo
178b940b46 Fix climate page not opening with click on internal temp
Solves #2040
2024-04-10 15:34:49 +02:00
Edward Firmo
dcde6ce3fb Merge pull request #2039 from Blackymas/beta
Update Python validation
2024-04-10 13:05:35 +02:00
Edward Firmo
3f28641903 Merge pull request #2038 from Blackymas/dev
Update Python validation
2024-04-10 13:04:35 +02:00
Edward Firmo
9cb230fd5f Update validate_python.yml 2024-04-10 13:02:25 +02:00
Edward Firmo
1cdd417340 Update validate_python.yml 2024-04-10 13:00:18 +02:00
Edward Firmo
77f9cf66f1 Update validate_python.yml 2024-04-10 12:58:51 +02:00
Edward Firmo
b5784187ae Replace python validation 2024-04-10 12:56:18 +02:00
Edward Firmo
94ad0211e0 Update .flake8 2024-04-10 12:51:52 +02:00
Edward Firmo
706864a4da Allow to 200 char per line 2024-04-10 12:42:58 +02:00
Edward Firmo
b07f88b5db Merge pull request #2036 from Blackymas/beta
v4.3.3 - Enhancing Flexibility and User Experience
2024-04-10 11:42:59 +02:00
Edward Firmo
f3a67bb3d3 Merge pull request #2037 from Blackymas/dev
Update timezone list
2024-04-10 11:07:45 +02:00
GitHub Actions
d3ec9a2a2f Pre-built firmware for NSPanel - Update timezone list 2024-04-10 08:53:22 +00:00
Edward Firmo
9babe8984d Update timezone list 2024-04-10 10:44:20 +02:00
Edward Firmo
4ad2619108 Lint 2024-04-10 10:26:55 +02:00
Edward Firmo
36d0027845 Ignore dev folder 2024-04-10 10:24:18 +02:00
Edward Firmo
9e52f7f39d Merge pull request #2035 from Blackymas/dev
Update beta with latest minor changes
2024-04-10 10:15:42 +02:00
Edward Firmo
86d5859045 Merge pull request #2034 from MichaelHeimann/dev
Update blueprint doc with timezone description
2024-04-10 10:11:39 +02:00
Edward Firmo
47fb10ed1b Add link to v4.3.2 2024-04-10 10:10:40 +02:00
MichaelHeimann
9e5fb231cb Update blueprint.md Advanced Section
removed ## at the end of the section header
2024-04-10 09:56:20 +02:00
MichaelHeimann
4cb526b8cc Update blueprint.md with Advanced Settings section
not complete, but a start
2024-04-10 09:51:48 +02:00
MichaelHeimann
9ac00037ae Update blueprint.md Hardware button visibility pages
add Hardware Buttons - Visibility Pages
2024-04-10 09:47:30 +02:00
MichaelHeimann
1e90d63b94 Update blueprint.md Entities States (3 is now 4) 2024-04-10 09:42:48 +02:00
MichaelHeimann
bed4c7dad0 Update blueprint doc with timezone description 2024-04-10 09:27:55 +02:00
Edward Firmo
4ad14d5e0f Merge pull request #2033 from Blackymas/dev
v4.3.3 to beta
2024-04-10 09:02:22 +02:00
Edward Firmo
dc8fdbc44e Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-10 08:21:14 +02:00
Edward Firmo
64489159ac Update timezone list 2024-04-10 08:18:14 +02:00
GitHub Actions
6acd5c945b Pre-built firmware for NSPanel - Bump version to 4.3.3 2024-04-10 06:06:45 +00:00
Edward Firmo
fc0f727d83 Bump version to 4.3.3
Getting prepared for a release
2024-04-10 07:57:43 +02:00
Edward Firmo
bc590b9ccf Internal Temperature Reporting Fix After Sleep
Solves #2030
2024-04-09 15:50:00 +02:00
Edward Firmo
a3c707b4e3 Do not clean internal temp when constructing Home page
Solves #2030
2024-04-09 15:43:17 +02:00
Edward Firmo
6f4e1f610f Timezone Selector Added to Blueprint
Solves #2029
2024-04-09 13:54:53 +02:00
Edward Firmo
99a86408a2 Fix timezone split
Solves #2029
2024-04-09 13:34:44 +02:00
Edward Firmo
34889bac3b Merge pull request #2029 from MichaelHeimann/patch-1
Update nspanel_blueprint.yaml
2024-04-09 12:39:56 +02:00
MichaelHeimann
4477fe9e50 Update nspanel_blueprint.yaml
fixes "Error: TypeError: '>' not supported between instances of 'list' and 'int'"
2024-04-09 11:54:44 +02:00
Edward Firmo
94018819f0 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-09 11:44:40 +02:00
Edward Firmo
c7f7e0c7c3 v4.3.3 release notes 2024-04-09 11:44:37 +02:00
GitHub Actions
ff6a21df39 Pre-built firmware for NSPanel - Simplify climate show logic 2024-04-09 08:28:10 +00:00
Edward Firmo
2f45083db5 Simplify climate show logic
Improves #2021
2024-04-09 10:16:18 +02:00
Edward Firmo
cd4fef6870 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-09 10:10:38 +02:00
Edward Firmo
c64132d7b5 Do not show climate page when using internal temperature sensor
Solves #2021
2024-04-09 10:10:35 +02:00
Edward Firmo
376d91aa5a Use initial_value for fw_url
It should be available together with the component
2024-04-09 08:30:29 +02:00
GitHub Actions
b8d8252c19 Pre-built firmware for NSPanel - Merge component nspanel_ha_blueprint_upload_tft into nspanel_ha_blueprint 2024-04-09 06:17:29 +00:00
Edward Firmo
75c35399f1 Add prebuilt to yamlscan on ESPHome validation 2024-04-09 08:13:01 +02:00
Edward Firmo
694ab4f98f Merge component nspanel_ha_blueprint_upload_tft into nspanel_ha_blueprint 2024-04-09 08:08:33 +02:00
Edward Firmo
896f86ddab Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-09 07:56:11 +02:00
Edward Firmo
12837077da Move rgbTo565 to header file
For IDF 5 compatibility
2024-04-09 07:56:06 +02:00
GitHub Actions
70c11efd96 Pre-built firmware for NSPanel - Review components files 2024-04-08 22:02:48 +00:00
Edward Firmo
10e0a47b6f Review components files 2024-04-08 23:47:16 +02:00
Edward Firmo
88cca0d1bf Allow for longer string to Home page values
Solves #2020
2024-04-08 21:23:08 +02:00
Edward Firmo
c727fcd17b Rebuild Home page with automation reload
This will rebuild some components on the Home page when the automation settings changes.
This also adds support to mdi:void which will plot empty/blank icon.
Solves #1992
Solves #2018
Solves #2019
2024-04-08 21:13:20 +02:00
Edward Firmo
6be727d4af Move UtilitiesGroups to PSRAM 2024-04-08 20:36:23 +02:00
GitHub Actions
3a2dd23f86 Pre-built firmware for NSPanel - Report pre-built installed packages on watchdog 2024-04-08 14:23:02 +00:00
Edward Firmo
e1e157a2b8 Report pre-built installed packages on watchdog
Helps with #2024
2024-04-08 16:04:55 +02:00
Edward Firmo
c6d4929a53 Make timezone customization obsolete
Helps with #2024
2024-04-08 16:01:47 +02:00
Edward Firmo
ca7dcd92a9 Fix input identation 2024-04-08 15:52:54 +02:00
Edward Firmo
593f05feb9 Remember timezone on boot
Supports #2024
2024-04-08 15:47:57 +02:00
GitHub Actions
b30ba76960 Pre-built firmware for NSPanel - Timezone support on Blueprint 2024-04-08 12:15:23 +00:00
Edward Firmo
c98f50543d Timezone support on Blueprint
Still pending the code on ESPHome to store for when WiFi is out
Pending API doc.
I haven't merged this in another service for now to not break the API, but this should be done for v4.4.0

Solves #2024
2024-04-08 14:05:57 +02:00
GitHub Actions
019efade79 Pre-built firmware for NSPanel - Rename to lower case 2024-04-07 21:41:14 +00:00
Edward Firmo
a96ac51ed6 Rename to lower case 2024-04-07 23:32:11 +02:00
Edward Firmo
ea6b8bc1b3 Force rename 2024-04-07 23:31:48 +02:00
Edward Firmo
bf508ae8cb Starts customization after code_scan
To reduce total test time
2024-04-07 23:19:37 +02:00
Edward Firmo
610563f80d Trigger action with changes to wall display 2024-04-07 23:16:43 +02:00
Edward Firmo
cc787deba0 Rename to all lower case 2024-04-07 23:14:47 +02:00
GitHub Actions
05a4b1363b Pre-built firmware for NSPanel 2024-04-07 21:11:49 +00:00
Edward Firmo
113984a7e3 Run prebuild right after code_scan 2024-04-07 22:55:49 +02:00
Edward Firmo
314a0a8eab Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-04-07 22:54:14 +02:00
Edward Firmo
d75d559a1e Merge prebuilts task 2024-04-07 22:54:02 +02:00
GitHub Actions
e4b00d5e71 Pre-built firmware for NSPanel - Fix packages order 2024-04-07 20:47:24 +00:00
Edward Firmo
e98a6a45a3 Fix packages order
Adds to #2024
2024-04-07 22:36:58 +02:00
Edward Firmo
6f432a54fd Generate MD5 for wall_display.bin 2024-04-07 22:23:54 +02:00
GitHub Actions
0eb8654663 Pre-built firmware for NSPanel 2024-04-07 20:01:38 +00:00
Edward Firmo
d368cb2239 Add config param to build in ESP-IDF
Adds to #2024
2024-04-07 20:00:06 +02:00
Edward Firmo
9920d23477 Move builds to actions
Adds to #2024
2024-04-07 19:51:57 +02:00
Edward Firmo
93b3281e6e Use const in for loop 2024-04-07 19:49:53 +02:00
Edward Firmo
03b993a83c add md5 files
Adds to #2024
2024-04-07 19:43:35 +02:00
Edward Firmo
8bb708b448 Cleanup bin from esphome folder
Relates to #2024
2024-04-07 19:20:37 +02:00
Edward Firmo
185c6f5d65 Lint 2024-04-07 19:19:27 +02:00
Edward Firmo
674c3d909d Add build flags
Adds to #2024
2024-04-07 19:17:19 +02:00
Edward Firmo
fba844f261 Add NSPanel_HA_Blueprint model to device models
Adds to #2024
2024-04-07 19:10:17 +02:00
Edward Firmo
2f697923cc Make add mac global
Complements #2024
2024-04-07 19:08:24 +02:00
Edward Firmo
5fbae3128f Merge pull request #2024 from MichaelHeimann/Blackymas-urls
Update prebuilt
2024-04-07 18:53:15 +02:00
Edward Firmo
d1b973847e Lint 2024-04-07 18:37:24 +02:00
Edward Firmo
c58dbc3516 Add build flags 2024-04-07 18:33:31 +02:00
Edward Firmo
61aa97f64e Don't include mac address code when not prebuilt 2024-04-07 18:30:58 +02:00
Edward Firmo
0ca7b9fcc7 Build firmware on actions 2024-04-07 18:19:33 +02:00
Edward Firmo
1718d9d6cf Split Wall_Display from NSPANEL_HA_BLUEPRINT 2024-04-07 18:15:50 +02:00
Edward Firmo
aafbc722fd Add build flags 2024-04-07 17:49:46 +02:00
MichaelHeimann
41b2dc0d58 Update nspanel_esphome_prebuilt.yaml 2024-04-07 16:48:52 +02:00
MichaelHeimann
25885620b6 Add files via upload 2024-04-07 16:48:23 +02:00
MichaelHeimann
b66d78bcbd Update nspanel_blueprint.yaml 2024-04-07 16:42:47 +02:00
MichaelHeimann
c0e34f284d Update nspanel_blueprint.yaml
support manual configured AND prebuilt nspanels
2024-04-05 23:37:55 +02:00
MichaelHeimann
a5ab52653c Update nspanel_blueprint.yaml
change project model to Wall_Display
2024-04-05 17:58:29 +02:00
MichaelHeimann
5db3f59679 Add files via upload 2024-04-05 17:25:13 +02:00
MichaelHeimann
96b0e0a6c6 Add files via upload
make fw update actually use fw_url textfield
2024-04-05 17:08:43 +02:00
MichaelHeimann
fddaf9bc6e Add files via upload
add text entry field for fw
2024-04-05 16:57:27 +02:00
MichaelHeimann
2542386c2d Add files via upload
create md5 URL by adding .md5 to firmware url
make firmware url non-internal
2024-04-05 16:37:34 +02:00
Edward Firmo
140cbdd409 Enables PSRAM
Supports #1983
Supports #1946
Supports #1815

Could support esphome/feature-requests#2369
2024-04-05 00:54:51 +02:00
MichaelHeimann
3bb4bdd49f redo device_name suffix generation 2024-04-04 14:11:52 +02:00
MichaelHeimann
a78a282b41 Merge pull request #2 from Blackymas/main
pull from head
2024-04-04 14:10:14 +02:00
Edward Firmo
0e6853f3bf Lint 2024-04-04 14:08:53 +02:00
Edward Firmo
b0d4d22404 Page title when opening details from custom buttons (home page)
Solves #1909
2024-04-04 13:56:26 +02:00
MichaelHeimann
d09680b87c Update nspanel_esphome_core.yaml 2024-04-04 13:41:58 +02:00
Edward Firmo
9b3f64835d Custom buttons toggle entities when no details supported
Solves #1844
2024-04-04 13:35:26 +02:00
MichaelHeimann
d9d7e66bbf Update nspanel_esphome_core.yaml 2024-04-04 12:14:28 +02:00
MichaelHeimann
49170c1b6a Update nspanel_esphome_core.yaml 2024-04-04 12:11:26 +02:00
MichaelHeimann
8a80839aec Update nspanel_esphome_prebuilt.yaml
remove captive portal for space reasons (doesn't work anyways)
2024-04-04 12:00:13 +02:00
MichaelHeimann
4ede301ffa Update nspanel_esphome_prebuilt.yaml 2024-04-04 11:58:20 +02:00
MichaelHeimann
54b87d3d6a Update nspanel_esphome_core.yaml 2024-04-04 11:13:32 +02:00
MichaelHeimann
53113a26d9 Add files via upload
update to 4.3.2
2024-04-04 10:20:34 +02:00
Edward Firmo
7eed2adcc6 Language based bytes per char
Solves #2000
2024-04-04 09:45:52 +02:00
Edward Firmo
6632404c4d Merge pull request #2014 from Blackymas/beta
Fix yaml identation
2024-04-04 06:57:19 +02:00
Edward Firmo
f46ea5dc14 Merge pull request #2013 from Blackymas/dev
Fix yaml identation
2024-04-04 06:49:39 +02:00
Edward Firmo
6e0137bcec Fix yaml identation
Solves #2012
2024-04-04 06:48:44 +02:00
MichaelHeimann
59f9b1ffb5 Update nspanel_esphome_core.yaml 2024-04-03 20:32:22 +02:00
MichaelHeimann
1f835c5a48 Update nspanel_esphome_core.yaml
'name_add_mac_suffix' was not declared error
2024-04-03 20:25:01 +02:00
MichaelHeimann
f2eabcf059 Merge pull request #1 from Blackymas/main
update to 4.3.2
2024-04-03 18:49:50 +02:00
MichaelHeimann
2e802607bb Update nspanel_esphome_core.yaml
try to make the device name respect name_add_mac_suffix
2024-04-03 18:28:20 +02:00
Edward Firmo
29c5e8eea5 Merge pull request #2010 from Blackymas/beta
v4.3.2 - Enhancements and Critical Fixes for a Seamless Experience
2024-04-03 17:58:44 +02:00
Edward Firmo
d0fe64fd67 Merge pull request #2009 from Blackymas/dev
v4.3.2 - Enhancements and Critical Fixes for a Seamless Experience
2024-04-03 17:57:29 +02:00
Edward Firmo
c20f88a3ee v4.3.2 - Enhancements and Critical Fixes for a Seamless Experience 2024-04-03 17:56:03 +02:00
Edward Firmo
fdec06482d Merge pull request #2008 from Blackymas/dev
Use components from beta
2024-04-03 17:05:16 +02:00
Edward Firmo
913d43959b Use components from beta 2024-04-03 16:31:26 +02:00
Edward Firmo
e40aa6d1ca Merge pull request #2007 from Blackymas/dev
v4.3.2b1
2024-04-03 15:07:07 +02:00
MichaelHeimann
235a5b2970 Update nspanel_blueprint.yaml
different name to make it distinguisable
2024-04-03 15:04:31 +02:00
MichaelHeimann
c9d2f0d846 Update nspanel_blueprint.yaml
prebuilt nspanel yaml has projectname NSPanel_HA_Blueprint, so default esp32dev won't show the prebuilt panels
2024-04-03 15:02:25 +02:00
Edward Firmo
bedd30c68f Lint 2024-04-03 14:44:26 +02:00
Edward Firmo
18e9458a57 Bump to v4.3.2b1 2024-04-03 14:41:01 +02:00
Edward Firmo
e61f78fdcf Update ReleaseNotes.md 2024-04-03 14:30:25 +02:00
Edward Firmo
22e655d0e3 Swipe Functionality Restored on Button and Home Pages
Solves #1980
Solves #1994
2024-04-03 14:30:05 +02:00
Edward Firmo
3b12a95ae0 Fix for Missing Titles and Icons on Detailed Entities Pages
Solves #1978
2024-04-03 14:26:34 +02:00
Edward Firmo
a2870f9080 Fix detailed page icon & title
Solves #1978
2024-04-03 14:20:40 +02:00
Edward Firmo
b044561e11 Select display model based on installed TFT 2024-04-03 11:37:34 +02:00
Edward Firmo
2b00485249 Update US Land
Solves #1994
2024-04-03 10:38:36 +02:00
Edward Firmo
bf2ce54279 Align swipe engine with entity pages
Solves #1994
2024-04-03 10:36:15 +02:00
Edward Firmo
58c158a426 Reviewed swipe engine
Solves #1994
2024-04-03 10:18:31 +02:00
Edward Firmo
f3100081a4 REvised swipe engine on home page
Prepares for #1994
2024-04-03 10:04:05 +02:00
Edward Firmo
2580eeb668 Enhanced TFT Update Reliability in ESPHome Nextion Component 2024-04-03 09:49:14 +02:00
MichaelHeimann
5cdadc79ce new version based on 4.3.1
with 
- climate_heat and 
- psram
2024-04-03 01:01:42 +02:00
MichaelHeimann
e49657230d Update nspanel_esphome_prebuilt.yaml
enable climate_heat
2024-04-03 00:53:03 +02:00
MichaelHeimann
0b0e0a4982 Update nspanel_esphome_prebuilt.yaml
now, since ota_http doesn't follow http 302s ..
2024-04-03 00:39:30 +02:00
MichaelHeimann
0248a825e1 Update nspanel_esphome_prebuilt.yaml 2024-04-03 00:34:09 +02:00
MichaelHeimann
720f640ec0 Update nspanel_esphome_prebuilt.yaml 2024-04-03 00:24:43 +02:00
Edward Firmo
4e421bdc23 Immediate Brightness Adjustment from Home Assistant Fixed
Solves #2006
2024-04-02 09:43:16 +02:00
Edward Firmo
7fc9214667 Change brightness when adjusted to a different value
Solves #2006
2024-04-02 09:39:27 +02:00
MichaelHeimann
072e1c6bd5 Update nspanel_esphome_prebuilt.yaml 2024-04-02 03:26:22 +02:00
MichaelHeimann
aad0c3daf1 Update nspanel_esphome_prebuilt.yaml 2024-04-02 02:40:28 +02:00
MichaelHeimann
383d5d3d52 Add files via upload 2024-04-02 02:20:40 +02:00
MichaelHeimann
60c9bfc072 Update nspanel_esphome_prebuilt.bin.md5 2024-04-02 02:20:06 +02:00
MichaelHeimann
2d895f8ae8 Update nspanel_esphome_prebuilt.yaml
http download for firmware
psram
2024-04-02 02:00:42 +02:00
MichaelHeimann
6f9090a866 Update nspanel_esphome_prebuilt.bin.md5 2024-04-02 00:58:52 +02:00
MichaelHeimann
0fccde0385 Add files via upload 2024-04-01 02:00:43 +02:00
MichaelHeimann
410d4b789d add md5_url tp nspanel_esphome_prebuilt.yaml 2024-04-01 01:09:15 +02:00
Edward Firmo
887c3155c2 Refining watchdog 2024-04-01 00:53:18 +02:00
Edward Firmo
87d292496a Return with watchdog
Helps with #2001
2024-04-01 00:29:15 +02:00
Edward Firmo
f0d1b9a7aa Performance improvements - Chips triggers
Helps with #1977
Helps with #2001
2024-04-01 00:11:11 +02:00
Edward Firmo
c7bfe4096a Performance improvement - Home page values triggering
Solves #1977
Hopefully solves #2001
2024-04-01 00:05:33 +02:00
Edward Firmo
8531a49621 Performance improvements - Reduce triggers when line ref down't change signal
Solves #1977
2024-03-31 23:51:30 +02:00
Edward Firmo
6a93083eb7 Lint 2024-03-31 21:29:33 +02:00
Edward Firmo
2393834ae8 Performance improvements & watchdog prep 2024-03-31 21:26:48 +02:00
Edward Firmo
0e089b292b Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-31 19:14:37 +02:00
Edward Firmo
89bda1e0c4 Always process panel's events
Regardless if the panel's name sensor is available
2024-03-31 19:12:59 +02:00
Edward Firmo
a7574100f0 Enhancements and Critical Fixes for a Seamless Experience 2024-03-31 16:03:01 +02:00
Edward Firmo
29effe36f8 Mention change on Release Notes
Solves #2003
Solves #1928
Solves #1949
Solves #1904
Solves #1933
2024-03-31 15:58:17 +02:00
Edward Firmo
af055283f7 Merge pull request #2003 from colincachia/main
Fix typo
2024-03-31 15:49:45 +02:00
Edward Firmo
e5c6f25181 Automatic Update for Weather Icon at Sunrise and Sunset
Solves #1971
2024-03-31 11:54:11 +02:00
Edward Firmo
530697642e Fix for Numeric Button Page Labels Not Displaying
Solves #1961
2024-03-31 11:50:42 +02:00
Edward Firmo
684e6e24a5 Enhanced Version Mismatch Notifications for Comprehensive System Compatibility
Solves #1966
Solves #1968
2024-03-31 11:46:35 +02:00
Edward Firmo
9d48e766b3 Custom Binary State Entities for Hardware Button Status Display Enhancement
Solves #1959
Solves #1973
2024-03-31 11:38:45 +02:00
Edward Firmo
c281a037c2 Documentation Update for "Folder-Watcher" Engine Use
Solves #1974
2024-03-31 11:31:36 +02:00
Edward Firmo
1718bd55f6 Documentation Improvement for TFT Upload Process
Solves #1969
2024-03-31 11:20:09 +02:00
Edward Firmo
c51ca1bd06 Enhanced Temperature Measurement Strategy
Solves #1918
2024-03-31 11:14:34 +02:00
Edward Firmo
41aa61c76e Close Icon Visibility Enhancement
Solves #1984
2024-03-31 11:00:19 +02:00
Edward Firmo
77d7d7ee23 Utilities Dashboard Performance Bug Resolved
Solves #1964
2024-03-31 10:57:00 +02:00
Edward Firmo
2fd5881c66 Device Reboot Issue on Wake Up Resolved
Solves #1976
2024-03-31 10:50:30 +02:00
Edward Firmo
f03f825df8 Alarm Control with Hardware Button Enhancement
Solves #1995
2024-03-31 10:41:13 +02:00
Edward Firmo
d039c04a95 Hebrew Translation Text Reversal Fix
Solves #1999
2024-03-31 10:35:29 +02:00
Edward Firmo
ff6e524548 Documentation Updates for Arduino References
Solves #1997
2024-03-31 10:33:44 +02:00
Edward Firmo
565df092d4 Expanded Wake-Up Sensor Support
Solves #1998
2024-03-31 10:28:00 +02:00
Edward Firmo
c6f692b0f9 Added more device classes to wake-up sensor
Solves #1998
2024-03-31 09:32:21 +02:00
Edward Firmo
acba8b053e Remove json component 2024-03-30 23:16:59 +01:00
Colin Cachia
840554ae8e Merge pull request #1 from colincachia/colincachia-pr-1
Fix mini typo
2024-03-30 18:51:22 +01:00
Colin Cachia
2eeda11841 Fix mini typo
Most probably, due to a copy/paste incident, the description of one of the items is incorrect
2024-03-30 18:50:20 +01:00
MichaelHeimann
f6f032ae22 add prebuilt firmware 2024-03-30 01:46:06 +01:00
MichaelHeimann
f304a5c078 Delete prebuilt/firmware.bin 2024-03-30 01:42:39 +01:00
MichaelHeimann
41c320a3d6 add prebuild firmware.bin 2024-03-30 01:41:02 +01:00
MichaelHeimann
bf0aa0f8fb Create nspanel_esphome_prebuilt.bin.md5 2024-03-30 01:39:37 +01:00
Edward Firmo
c3d55a284e Clean-up new json 2024-03-29 21:53:47 +01:00
Edward Firmo
ae05f133e1 Move webserver to core package
This is reverting back from cJson to ArduinoJson as that was adding to memory consumption when webserver was used (quite common), reducing the benefits of a lighter library.
2024-03-29 21:42:26 +01:00
Edward Firmo
c74eabbe95 Do not evaluate vars before conditions are met
Helps with #1977
2024-03-29 20:28:27 +01:00
Edward Firmo
cbd341a784 Merge pull request #1997 from andythomas/docs240329at
Update docs, look for references to Arduino.
2024-03-29 20:18:53 +01:00
Edward Firmo
67892fb6ed Merge pull request #1999 from leranp/dev
Text Reverese for Hebrew translation
2024-03-29 20:18:39 +01:00
Edward Firmo
63dd57d7f3 Reorg conditions
Helps with #1977
2024-03-29 20:15:35 +01:00
Edward Firmo
5d102472a1 Cleanup trigger's conditions
Helps with #1977
2024-03-29 20:03:48 +01:00
Edward Firmo
e1dd490d4f Cleanup trigger conditions
Helps #1977
2024-03-29 19:59:56 +01:00
Edward Firmo
6c52b16ed1 Fix missing links 2024-03-29 19:42:19 +01:00
Edward Firmo
27b458ae2c Reduce trigger for to 1s
Helps #1977
2024-03-29 19:35:10 +01:00
Edward Firmo
f964620f57 Fix indentation for numeric list
To not break the display as a list.
2024-03-29 19:17:26 +01:00
Andy Thomas
a00e87b147 markdown lint 2024-03-29 17:01:42 +01:00
leranp
cb1f214179 Update nspanel_blueprint.yaml 2024-03-29 17:48:01 +03:00
Andy Thomas
ab04f7a86d Markdown lint 2024-03-29 11:28:49 +01:00
Andy Thomas
ea5e349d7a Update install.md 2024-03-29 10:32:05 +01:00
Andy Thomas
653b525bf0 Update howto.md 2024-03-29 10:14:26 +01:00
Andy Thomas
a665abd22c Update error_initializing.md 2024-03-29 10:07:18 +01:00
Andy Thomas
cccbdd96fd Update different_version.md 2024-03-29 09:57:53 +01:00
Andy Thomas
ea459c8bf4 Update customization.md 2024-03-29 09:51:01 +01:00
Andy Thomas
386d39d85a Update addon_climate.md 2024-03-29 09:33:04 +01:00
Edward Firmo
37cf913c0b Open details with short click on alarm_control_panel entity
Solves #1995
2024-03-29 09:25:11 +01:00
Edward Firmo
48f60c7f99 Reduce refresh rate on utilities page values
Solves #1967
2024-03-29 09:02:01 +01:00
Edward Firmo
ec74ebcc79 Fix parameter entity for entity_details_show
Solves #1987
2024-03-27 16:45:30 +01:00
Edward Firmo
c2ad0e9669 RGB color via localevent
Solves #1963
Solves #1991
2024-03-27 14:24:39 +01:00
Edward Firmo
04ae094baf remove delays on utilities page load 2024-03-27 09:16:40 +01:00
Edward Firmo
b85883993f resetUtilitiesGroups on page load 2024-03-27 09:15:57 +01:00
Edward Firmo
39d41914f4 Utilities update only value changed 2024-03-26 20:17:48 +01:00
Edward Firmo
5df7602fc8 Fix to Utilities pages values 2024-03-26 20:05:19 +01:00
Edward Firmo
ccecd91f6f Utilities page caching
Helps with #1977
2024-03-26 18:58:58 +01:00
Edward Firmo
53781082e6 Use CONFIG_ESP32_REV_MIN_3 (experimental)
#1815
2024-03-26 14:18:43 +01:00
Edward Firmo
071007124b Enable PSRAM (experimental)
Please see the following discussions:
- #1983
- #1946
- #1815
2024-03-26 13:34:54 +01:00
Edward Firmo
dd844d1d3c Prepare for service utilities_group_refresh 2024-03-26 09:37:04 +01:00
Edward Firmo
fe7eae4191 Increase movement rate of cursor lines on utilities page
To compensate the lower refresh rate and keep the same speed, although it might look a bit odd. To be tested.
Helps with #1964
2024-03-25 21:16:10 +01:00
Edward Firmo
801324744c Lint 2024-03-25 21:06:29 +01:00
Edward Firmo
e338d130e5 Lint 2024-03-25 21:03:56 +01:00
Edward Firmo
47d8425683 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-25 20:13:43 +01:00
Edward Firmo
844cc0ec4e Reduce refresh rate on utilities pages lines
From 20Hz to 6.7Hz.
Helps with #1964
2024-03-25 20:13:22 +01:00
Edward Firmo
c27a097a5d Increase "close" button size
Solves #1984
2024-03-25 20:02:05 +01:00
Edward Firmo
efdd18995d Merge pull request #1985 from andythomas/docs240324at
adjust docs for #1918
2024-03-25 19:52:44 +01:00
Edward Firmo
82ceca57a7 add sliding_window_moving_average to adc (temp) sensor
Solves #1918
2024-03-25 19:51:45 +01:00
Edward Firmo
942bd84874 Clean-up 2024-03-25 19:49:53 +01:00
Andy Thomas
cf4b2b8f3c adjust docs for #1918
Less noise requires slightly modified parameters for the heating system.
2024-03-25 13:07:32 +01:00
Edward Firmo
808db53981 Fix line break 2024-03-23 17:37:19 +01:00
Edward Firmo
d62623eef7 Use DNS for manual ip
Solves #1969
2024-03-23 14:16:19 +01:00
Edward Firmo
eb640fb09d Use DNS for manual ip
Solves #1969
2024-03-23 14:12:33 +01:00
Edward Firmo
7e9118a3ce Input "Nextion TFT File Folder" description
Solves #1974
2024-03-23 14:02:21 +01:00
Edward Firmo
f7459b0148 Lint 2024-03-23 13:17:04 +01:00
Edward Firmo
5f5b7cb36c Merge pull request #1973 from lafriks-fork/feat/hw_button_state_entity
Allow to specify entity for HW button state status
2024-03-23 13:10:47 +01:00
Lauris BH
1c61acbb63 Update as per review 2024-03-23 14:03:41 +02:00
Edward Firmo
9b2f7bd2b8 Rebuild versioning notifications
Solves #1759
2024-03-23 11:14:45 +01:00
Lauris BH
dd9e0ec79e Fix linting error and update description 2024-03-23 11:18:47 +02:00
Edward Firmo
a012b17653 Support to numeric button page label
Solves #1961
2024-03-23 00:38:00 +01:00
Edward Firmo
4d7e4da594 Update the weather info when sun entity changes
Solves #1971
This also adds a new sun entity selector to the inputs.
2024-03-23 00:14:55 +01:00
Lauris BH
d5a0bde06c Allow to specify entity for HW button state status 2024-03-23 01:01:12 +02:00
Edward Firmo
7db6e4598d Fix is_uploading_tft name 2024-03-22 12:25:06 +01:00
Edward Firmo
3fb8343246 Ignore Nextion events while uploading
Helps with #1946
2024-03-22 11:25:30 +01:00
Edward Firmo
d2b924b355 Disable all services while upload
A service call still possible, but the services won't do anything.
Helps with #1946
2024-03-22 11:21:50 +01:00
Edward Firmo
dbf57053db Split wakeup_page_id from back_page_id
Solves #1947 and makes the whole wake-up engine more reliable.
2024-03-22 10:45:35 +01:00
Edward Firmo
d35c2a77ba Lint 2024-03-22 10:18:48 +01:00
Edward Firmo
64b72ca2d5 Send pre-defined chip color on boot
This solves #1928 as the pre-defined color will always be used when defined, and also helps with #1949 as it will prevent sending the color on every change when a pre-defined color is used.
2024-03-22 10:05:18 +01:00
Edward Firmo
6d5af5a6e0 Input: Hardware Buttons - Always Show Bar
Solves #1933
2024-03-22 09:39:58 +01:00
Edward Firmo
69bf13326c Move chips vars to main variables area 2024-03-21 22:16:45 +01:00
Edward Firmo
72fa7abb2a Lint 2024-03-21 22:04:26 +01:00
Edward Firmo
772ede7f48 Reduced calls to home page components
Solves #1949
2024-03-21 20:17:52 +01:00
Edward Firmo
1b8c1265e9 Return with delays between service calls
Helps with #1949
2024-03-20 22:50:15 +01:00
Edward Firmo
fddf3bda9f Light page hidden components rearrangement 2024-03-20 22:23:11 +01:00
Edward Firmo
ad8cc7788b Change button bar state when relay changes with local control
Solves #1904
2024-03-20 20:31:20 +01:00
Edward Firmo
a3f54d5c43 Lint 2024-03-20 20:09:59 +01:00
Edward Firmo
828a07a636 Use components from dev 2024-03-20 20:05:35 +01:00
Edward Firmo
5e5476f6e2 Reduce number of calls to Nextion - Relay and buttons bars
Helps with #1949
2024-03-20 19:46:47 +01:00
Edward Firmo
231c9aa426 Set back_page_id to page Home
Solves #1945
2024-03-20 19:28:23 +01:00
Edward Firmo
7455df28e8 Remove json component 2024-03-20 19:21:31 +01:00
Edward Firmo
e263047b15 Merge pull request #1940 from Blackymas/beta
v4.3.1 - Ensuring Compatibility with ESPHome v2024.3.0 and Enhancing Stability
2024-03-20 09:11:21 +01:00
Edward Firmo
a85f6fb6c3 Merge pull request #1939 from Blackymas/dev
Use components from `main`
2024-03-20 09:10:19 +01:00
Edward Firmo
fc9017b3c6 Merge pull request #1938 from Blackymas/beta
v4.3.1 - Ensuring Compatibility with ESPHome v2024.3.0 and Enhancing Stability
2024-03-20 09:09:33 +01:00
Edward Firmo
98aae56235 Use components from main 2024-03-20 09:09:21 +01:00
Edward Firmo
ff9de5bf26 Merge pull request #1937 from Blackymas/dev
v4.3.1 to beta
2024-03-20 08:45:39 +01:00
Edward Firmo
2f47ffc42b Bump to v4.3.1 2024-03-20 08:42:32 +01:00
Edward Firmo
6af2ddac99 Use nspanel_ha_blueprint component from beta 2024-03-19 15:44:18 +01:00
Edward Firmo
a647c69f53 Bump to v4.3.1b2 2024-03-19 15:43:00 +01:00
Edward Firmo
e2c639a32d Move reboot button control to on_touch
So save a few more bytes of memory
2024-03-19 15:32:41 +01:00
Edward Firmo
7a18b75204 Merge pull request #1935 from Blackymas/dev
v4.3.1b1
2024-03-19 15:02:58 +01:00
Edward Firmo
e0415c35cd Remove bluetooth_proxy from customizations
It will exceed memory
2024-03-19 14:10:22 +01:00
Edward Firmo
7fda931f67 Remove pre-build test for now 2024-03-19 14:07:53 +01:00
Edward Firmo
b1412f1d12 Use new get_ip_addresses() from ESPHome v2024.3.0 2024-03-19 13:28:11 +01:00
Edward Firmo
94782bf9fc Add relay_settings to refresh_hardware_buttons_bars verbose logs 2024-03-19 13:22:20 +01:00
Edward Firmo
3dbf577a92 Use component nspanel_ha_blueprint from dev
To update page list
2024-03-19 13:16:35 +01:00
Edward Firmo
ce43a31242 Refresh hw btn bar state if state changed
Solves #1933
2024-03-19 11:15:15 +01:00
Edward Firmo
cc756fda35 hw_button_state service to control buttons individually
Solves #1934
2024-03-19 11:13:55 +01:00
Edward Firmo
f28a02fd5d Remove .bin files 2024-03-19 09:52:13 +01:00
Edward Firmo
5f850ae6a3 Remove pre-build test & build for now
PR#5586 is quite active and breaking this. Waiting until it is more stable.
2024-03-19 09:51:27 +01:00
Edward Firmo
4e7bbef1a0 Bump to v4.3.1b1 2024-03-18 23:58:56 +01:00
Edward Firmo
447a07c65b Move page Boot to pos 0 2024-03-18 23:51:09 +01:00
Edward Firmo
480848558f Release notes v4.3.1 2024-03-18 23:14:33 +01:00
Edward Firmo
8f52de210c Delay on all loops
To avoid serial buffer overflow
2024-03-18 18:57:05 +01:00
Edward Firmo
54a4e7775f Exit notification page with notification clear
Solves #1931
2024-03-18 18:55:02 +01:00
Edward Firmo
9059b20773 Do not save built firmware when using beta 2024-03-18 14:49:49 +01:00
Edward Firmo
8226ea6a5b Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-18 10:10:38 +01:00
Edward Firmo
3f39dbcad8 Use Nextion native components replacing command contruction 2024-03-18 10:10:35 +01:00
GitHub Actions
56813c795b Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-17 21:19:10 +00:00
Edward Firmo
9c807f288d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-17 22:08:21 +01:00
Edward Firmo
271362511f Use ADC sampling
Use esphome/esphome#6330 to enable sampling on adc sensor and smooth the data.
Solves #1918
2024-03-17 22:07:48 +01:00
GitHub Actions
7fca55361c Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-17 21:05:53 +00:00
Edward Firmo
16b5ce4b0b Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-17 21:56:13 +01:00
Edward Firmo
114ea35e55 Adjust boot delays 2024-03-17 21:56:10 +01:00
Edward Firmo
a9dae8fd08 Fix line movement when value is between -1 and +1
Solves #1926
2024-03-17 21:54:24 +01:00
GitHub Actions
27bd854bd5 Pre-built firmware for NSPanel - Boot page increased spacing on versions labels 2024-03-17 19:31:38 +00:00
Edward Firmo
ac3be262fd Boot page increased spacing on versions labels 2024-03-17 20:21:38 +01:00
GitHub Actions
01e99b2f72 Pre-built firmware for NSPanel - Remove debug logs 2024-03-17 13:47:13 +00:00
Edward Firmo
9cd8f6121f Remove debug logs 2024-03-17 14:37:27 +01:00
Edward Firmo
d28ab920c8 Disable boot timer when all info is available 2024-03-17 14:35:59 +01:00
GitHub Actions
9e6fb6eb85 Pre-built firmware for NSPanel - Fix boot progress calcs 2024-03-17 09:59:59 +00:00
Edward Firmo
0d4293b6e4 Fix boot progress calcs 2024-03-17 10:50:09 +01:00
Edward Firmo
59d4c09857 Update customizations 2024-03-17 10:47:46 +01:00
GitHub Actions
05f7932d04 Pre-built firmware for NSPanel - Fix on customizations 2024-03-17 01:36:31 +00:00
Edward Firmo
05bb498e34 Fix page_changed on customizations 2024-03-17 02:26:44 +01:00
Edward Firmo
79573eb541 Fix incorrect call to utilities page on boot 2024-03-17 02:03:47 +01:00
Edward Firmo
4a52b06704 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-17 01:55:01 +01:00
Edward Firmo
bac85239d0 Fix var name tft_version 2024-03-17 01:54:57 +01:00
GitHub Actions
218c551c3e Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-17 00:35:58 +00:00
Edward Firmo
153a906215 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-17 01:25:03 +01:00
Edward Firmo
efee51ea3d Add boot progress bar 2024-03-17 01:24:59 +01:00
GitHub Actions
3d1baba9cb Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-16 10:38:17 +00:00
Edward Firmo
7e00837d8b Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-16 11:28:02 +01:00
Edward Firmo
fb8448fb7d TFT version engine 2024-03-16 11:27:59 +01:00
Edward Firmo
7829382653 Fix line breaks 2024-03-15 23:36:12 +01:00
GitHub Actions
61c2c93c40 Pre-built firmware for NSPanel - Use for device_name sensor 2024-03-15 21:43:01 +00:00
Edward Firmo
2e4b7f2a87 Use ${name} for device_name sensor
Solves #1907
2024-03-15 22:33:06 +01:00
Edward Firmo
55ed3775d1 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-15 22:13:58 +01:00
Edward Firmo
fc53bfc8d8 Send boot settings only when boot event is detected 2024-03-15 22:13:54 +01:00
GitHub Actions
cd19e9174b Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-15 16:33:55 +00:00
Edward Firmo
1179f94ae2 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-15 17:23:55 +01:00
Edward Firmo
7ce40bc4b7 Clean-up 2024-03-15 17:23:51 +01:00
GitHub Actions
37232e19a0 Pre-built firmware for NSPanel - Reorg refresh_hardware_buttons_bars 2024-03-15 14:20:39 +00:00
Edward Firmo
afbeb7a816 Reorg refresh_hardware_buttons_bars
To save a couple of bytes of RAM
2024-03-15 15:10:40 +01:00
GitHub Actions
9db404c099 Pre-built firmware for NSPanel - Allows change brightness when sleeping 2024-03-15 09:58:09 +00:00
Edward Firmo
45c5453c2f Allows change brightness when sleeping
Solves #1919
2024-03-15 10:48:31 +01:00
Edward Firmo
28eb2d064e Clean-up
No functionality changed
2024-03-15 10:33:07 +01:00
Edward Firmo
c1f4eef816 Show hardware button bars on all pages 2024-03-15 10:31:45 +01:00
GitHub Actions
8603bb9687 Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-15 00:52:39 +00:00
Edward Firmo
5f2045ff95 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-15 01:42:00 +01:00
Edward Firmo
904937f06f Clean-up 2024-03-15 01:36:20 +01:00
GitHub Actions
40a75fe4fe Pre-built firmware for NSPanel - Do not show hidden chips with page refresh 2024-03-15 00:33:46 +00:00
Edward Firmo
9e14c2f5d8 Do not show hidden chips with page refresh
Solves #1915
2024-03-15 01:23:41 +01:00
GitHub Actions
3980458fcc Pre-built firmware for NSPanel - Add to events 2024-03-14 21:55:04 +00:00
Edward Firmo
c0a0d2b96b Add device_name to events 2024-03-14 22:41:41 +01:00
Edward Firmo
79363673d3 Replace sendme by current_page text sensor
Solves #1900
2024-03-14 22:38:22 +01:00
Edward Firmo
ce04dd7b99 Use update_bitwise_setting for Expose Relay Fallback Switch
Solves #1914
2024-03-14 13:36:20 +01:00
Edward Firmo
0dc3d86d2e Utilities Page - Cursor Width
Solves #1910
2024-03-14 11:33:10 +01:00
GitHub Actions
fe27f8c619 Pre-built firmware for NSPanel - Do not update indoortemp when embedded temp changes 2024-03-14 10:07:02 +00:00
Edward Firmo
0be79ea5c4 Do not update indoortemp when embedded temp changes
Solves #1911
2024-03-14 10:56:56 +01:00
Edward Firmo
6e57b20edf Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-14 10:15:09 +01:00
Edward Firmo
6b3fe0cf84 Update and improve RTTTL Play docs and examples
Solves #1912
Solves #1901
2024-03-14 10:15:06 +01:00
GitHub Actions
8be3f8a177 Pre-built firmware for NSPanel - Rebuild esphome::api::CustomAPIDevice declarations 2024-03-13 23:35:40 +00:00
Edward Firmo
57fee3c1c6 Rebuild esphome::api::CustomAPIDevice declarations
To reduce chances of a memory leak
2024-03-14 00:23:48 +01:00
Edward Firmo
82341613df Move up link to start-up issues
Solves #1908
2024-03-14 00:18:02 +01:00
Edward Firmo
5bc1e7db96 Control hw button bars locally
Solves #1904
2024-03-14 00:11:36 +01:00
GitHub Actions
bd7c6590f7 Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-13 20:59:46 +00:00
Edward Firmo
16097a5c1d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-13 21:48:38 +01:00
Edward Firmo
b00798b6ae Move ap to advanced
There's no use for this without `web_server` and `captive_portal`, so let's save some memory.
2024-03-13 21:48:27 +01:00
GitHub Actions
05edda7ceb Pre-built firmware for NSPanel - Add documentation about duplicated entities 2024-03-13 20:47:23 +00:00
Edward Firmo
acb3b7f82e Add documentation about duplicated entities
Solves #1905
2024-03-13 21:35:04 +01:00
Edward Firmo
dd6dd172e2 Use blueprint status to set api variable on TFT 2024-03-13 21:25:58 +01:00
Edward Firmo
1d95198312 Bump to v4.3.1d1 2024-03-13 21:17:53 +01:00
Edward Firmo
585d3142ae Consider value 0 as a "on" state for sensors
Solves #1902
2024-03-13 21:16:40 +01:00
Edward Firmo
953d0b6139 Remove filter for sensor only in the home page values 2024-03-13 21:03:06 +01:00
Edward Firmo
4f21cb442a Update wifi icon when connection changes 2024-03-13 20:17:49 +01:00
Edward Firmo
f49aadd51e Fix component name on entitypage03 icon01
Solves #1902
2024-03-13 19:21:22 +01:00
Edward Firmo
72f74ddbe4 Alignment entities pages
Solves #1903
2024-03-13 11:33:55 +01:00
Edward Firmo
c6be70c7f2 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-13 09:45:00 +01:00
Edward Firmo
9151358284 Add entitypages_show_entities_icons input
Solves #1885
2024-03-13 09:41:50 +01:00
GitHub Actions
d90c180d91 Pre-built firmware for NSPanel - Fix test for temp_units 2024-03-13 08:32:11 +00:00
Edward Firmo
1fb11564d6 Fix test for temp_units
Solves #1834
2024-03-13 09:21:54 +01:00
Edward Firmo
fc2bd3d40b Twice the limits for entities values on CJK
Hopefully solves #1884
2024-03-13 09:18:44 +01:00
Edward Firmo
b02f3c080a Do not show page index when only 1 page
Solves #1883
2024-03-13 08:53:26 +01:00
Edward Firmo
bfe27f0693 Remove default labels on utilities
Solves #1899
2024-03-13 08:38:34 +01:00
Edward Firmo
4ff219075e Merge pull request #1893 from Blackymas/beta
Lint
2024-03-12 16:46:43 +01:00
Edward Firmo
0e8c98e798 Merge pull request #1892 from Blackymas/dev
Lint
2024-03-12 16:45:34 +01:00
Edward Firmo
6fd55ce65d Lint 2024-03-12 16:41:15 +01:00
Edward Firmo
5288cf68b6 Lint 2024-03-12 16:38:51 +01:00
Edward Firmo
e3fb149b58 Use newer python 2024-03-12 16:30:54 +01:00
Edward Firmo
7422704fcc Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-12 16:26:47 +01:00
Edward Firmo
358c363077 Don't test automatically on main 2024-03-12 16:26:34 +01:00
Edward Firmo
427604712d Merge pull request #1890 from Blackymas/beta
v4.3 - Welcome to Framework ESP-IDF, an Utilities Dashboard and Enhanced Localization
2024-03-12 16:17:31 +01:00
Edward Firmo
083ed5bc61 Merge pull request #1889 from Blackymas/dev
v4.3.0 release prep
2024-03-12 16:10:06 +01:00
GitHub Actions
0c83264750 Pre-built firmware for NSPanel - Use components from 2024-03-12 15:08:43 +00:00
Edward Firmo
8af43c2bcc Use components from main 2024-03-12 15:59:02 +01:00
Edward Firmo
33fd9dfd38 Merge pull request #1888 from Blackymas/beta
v4.3 - Welcome to Framework ESP-IDF, an Utilities Dashboard and Enhanced Localization
2024-03-12 15:58:54 +01:00
Edward Firmo
619c18fddc Merge pull request #1887 from Blackymas/dev
v4.3.0 to beta
2024-03-12 15:49:31 +01:00
GitHub Actions
b26f10fc03 Pre-built firmware for NSPanel - Getting prepared for release 2024-03-12 14:25:05 +00:00
Edward Firmo
04d7be368c Getting prepared for release 2024-03-12 12:06:35 +01:00
Edward Firmo
b41caf73be Bump to v4.3.0
Getting ready for releasing
2024-03-12 11:54:53 +01:00
Edward Firmo
edd3e3532d Fix Relay 02 - Chip Icon selector 2024-03-12 11:40:14 +01:00
Edward Firmo
9bd6b4504d Merge pull request #1882 from Blackymas/dev
v4.3.0b3
2024-03-11 23:07:08 +01:00
Edward Firmo
45994f3c0b Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-11 23:00:27 +01:00
Edward Firmo
d61e71a605 Prevents showing "None" when unit_of_mesurement is not available
Solves #1877
2024-03-11 23:00:13 +01:00
GitHub Actions
356d799f92 Pre-built firmware for NSPanel - notification_show minor optimization 2024-03-11 21:59:33 +00:00
Edward Firmo
c8bb294e5e notification_show minor optimization 2024-03-11 22:49:43 +01:00
Edward Firmo
5ab53b794e Support multi-line for bug description 2024-03-11 22:40:02 +01:00
Edward Firmo
8af0802c2d Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-11 22:34:05 +01:00
Edward Firmo
2fb273a4cf Bump to v4.3.0b3 2024-03-11 22:28:03 +01:00
Edward Firmo
e39489e6ad Move notification buttons engine to ESPHome
Solves #1881
Improves #1501
2024-03-11 22:20:36 +01:00
Edward Firmo
1045ce1860 Fix label filter on utilities page
Solves #1877
2024-03-11 21:33:15 +01:00
GitHub Actions
8342532536 Pre-built firmware for NSPanel - Fix invalid call to 2024-03-11 17:58:28 +00:00
Edward Firmo
92940d82f2 Fix invalid call to fan.oscillate
Solves #1873
2024-03-11 18:43:44 +01:00
GitHub Actions
4545174cf1 Pre-built firmware for NSPanel - Merge pull request #1878 from Blackymas/dev 2024-03-10 22:43:08 +00:00
Edward Firmo
e9aa032f66 Compile pre-built on dev only 2024-03-10 23:37:22 +01:00
Edward Firmo
8191762c51 Merge pull request #1878 from Blackymas/dev
v4.3.0b2
2024-03-10 23:33:39 +01:00
Edward Firmo
299633ebf9 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-10 23:32:59 +01:00
Edward Firmo
1e3ba659cf Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-10 23:32:00 +01:00
GitHub Actions
c8686cc379 Pre-built firmware for NSPanel - Bump to v4.3.0b2 2024-03-10 22:30:36 +00:00
Edward Firmo
f2f137789d Bump to v4.3.0b2 2024-03-10 23:20:26 +01:00
Edward Firmo
8b45ec7a85 Rebuild utilities page constructor
Solves #1877
2024-03-10 23:13:57 +01:00
Edward Firmo
79a82f764a Do not show QR code icon when disabled
Solves #1876
2024-03-10 22:33:27 +01:00
GitHub Actions
e79dad99c8 Pre-built firmware for NSPanel - Merge pull request #1874 from Blackymas/dev 2024-03-10 19:37:28 +00:00
Edward Firmo
9b0faffbf2 Merge pull request #1874 from Blackymas/dev
v4.3.0b1
2024-03-10 20:28:00 +01:00
Edward Firmo
9da0744d80 lint 2024-03-10 20:18:10 +01:00
Edward Firmo
599d05ec7d Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-10 20:13:41 +01:00
Edward Firmo
0b6d8e0fd1 bump to v4.3.0b1 2024-03-10 20:06:14 +01:00
Edward Firmo
19ecf80f45 Add pics of utilities page 2024-03-10 19:48:37 +01:00
Edward Firmo
78ee28bc6d Home Assistant icon is shown in red 2024-03-10 19:18:21 +01:00
GitHub Actions
191d1227b9 Pre-built firmware for NSPanel - Rebuilt fan.oscillate call 2024-03-10 13:04:18 +00:00
Edward Firmo
10f928a92d Rebuilt fan.oscillate call
Hopefully solves #1873
2024-03-10 13:54:32 +01:00
Edward Firmo
78f5804730 Cleaning logs 2024-03-09 13:51:33 +01:00
Edward Firmo
03f5b74849 Handle utilities missing items
Solves #168
2024-03-09 10:02:35 +01:00
Edward Firmo
3314280297 New input: Main Climate - Always Show Chip
Solves #1869
2024-03-09 00:02:52 +01:00
Edward Firmo
ee600264c6 Lint 2024-03-08 18:19:38 +01:00
Edward Firmo
1e072a05b3 Creating TFTs v4.3dev4 2024-03-08 18:17:50 +01:00
GitHub Actions
053db917bf Pre-built firmware for NSPanel - Automatic Font Size Adjustment for Entity Page Values 2024-03-08 16:04:07 +00:00
Edward Firmo
7fc66610dc Automatic Font Size Adjustment for Entity Page Values
Solves #1728
2024-03-08 16:54:00 +01:00
Edward Firmo
d328307793 Input - Hide indoor temp
Solves #1724
2024-03-08 16:08:59 +01:00
Edward Firmo
5e9bbb455f Additional Value on Home Page
Solves #1838
2024-03-08 15:58:39 +01:00
Edward Firmo
acd57abdf6 Fix the blueprint update instructions 2024-03-08 14:20:44 +01:00
Edward Firmo
a47c70ae80 Bump HMI to v4.3dev4 2024-03-08 13:36:06 +01:00
Edward Firmo
26c5a42914 Lint 2024-03-08 13:33:42 +01:00
Edward Firmo
32e9246ace Clean-up logs
To reduce RAM requirements
2024-03-08 13:23:30 +01:00
Edward Firmo
1d52396e96 Redraws hw buttons bars after page constructor 2024-03-08 13:20:22 +01:00
Edward Firmo
fa8ee066ac Return notific button engine to Blueprint
Solves #1867
2024-03-08 13:06:55 +01:00
Edward Firmo
6042d3ea94 Fix icon selection
Solves #1178
Solves #1864
2024-03-08 09:56:28 +01:00
Edward Firmo
48a4b3edbf Merge pull request #1865 from andythomas/docs_at240307
Updated docs
2024-03-08 09:51:18 +01:00
Edward Firmo
ae090a2481 Added thanks in the release notes 2024-03-08 09:50:36 +01:00
Andy Thomas
2ebc92439c Lint 2024-03-07 13:00:35 +01:00
Andy Thomas
33c3d55879 Update climate addon docs
Include a concrete example with data.
2024-03-07 12:44:01 +01:00
Edward Firmo
70edd8e5e8 Typo 2024-03-07 10:34:50 +01:00
Edward Firmo
f17b82d350 Update error_initializing.md 2024-03-07 10:34:14 +01:00
Andy Thomas
9f24df32c4 Update 'Blueprint' doc 2024-03-07 09:36:54 +01:00
Andy Thomas
631516f7c6 Update 'compiling errors' doc 2024-03-07 09:25:42 +01:00
GitHub Actions
940f1d90fe Pre-built firmware for NSPanel - Revert display_mode info on event 2024-03-06 20:39:04 +00:00
Edward Firmo
1c367f5269 Revert display_mode info on event 2024-03-06 21:29:32 +01:00
Edward Firmo
b633ac1fe3 Page utilities - Line movement
Solves #168
2024-03-06 21:20:24 +01:00
Edward Firmo
2caf2cced4 Fix Home page utilities icon 2024-03-06 19:48:14 +01:00
Edward Firmo
6d829a7104 Fix Note 2024-03-06 19:46:34 +01:00
Edward Firmo
b796760c81 Fix elif 2024-03-06 19:04:13 +01:00
Edward Firmo
56ff12be12 lock state based icons & colors
Solves #1178
2024-03-06 19:02:29 +01:00
Edward Firmo
6cca648fc9 Fix reference to nspanel.service.pages.
Solves #1862
2024-03-06 18:55:12 +01:00
Edward Firmo
0bff5fc99f Use state_translated from HA v2024.3.0 2024-03-06 18:52:48 +01:00
Edward Firmo
24c6d4d5c0 Expanded Support for "Lock" Entities on Buttons and Chips
Solves #1341
Solves #1723
2024-03-05 23:42:53 +01:00
Edward Firmo
9370f1f3fe Aligning icons on page utilities
Solves #168
2024-03-05 21:16:38 +01:00
Edward Firmo
39662deb91 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-03-03 22:42:06 +01:00
Edward Firmo
f02a6d6b51 Add comments to new pages selector 2024-03-03 22:41:52 +01:00
GitHub Actions
5fbfa2c3d0 Pre-built firmware for NSPanel - v4.3dev2 - Selectable pages for bar buttons 2024-03-03 21:34:40 +00:00
Edward Firmo
536410615e v4.3dev2 - Selectable pages for bar buttons
Supports #168
Solves #1517
Solves #1507
2024-03-03 22:24:29 +01:00
Edward Firmo
c272d56219 Lint 2024-03-02 10:17:44 +01:00
Edward Firmo
b79e657809 Expanded Entity Selection for Home and Climate Pages
Solves #1577
2024-03-02 10:11:30 +01:00
Edward Firmo
695d4a8583 Prevents empty QRcode items sent to panel on initialization
Solves #1849
2024-03-02 09:38:08 +01:00
Edward Firmo
393ae9443e Clean-up inputs
Cosmetics only
2024-03-01 21:57:35 +01:00
Edward Firmo
acff2efd21 No more branch selection for TFT 2024-03-01 21:04:29 +01:00
Edward Firmo
71c2d712dd Update service names on HowTo
Supports #168
2024-03-01 13:50:45 +01:00
Edward Firmo
e830501e97 Fix visibility to secondary values
Supports #168
2024-03-01 13:27:30 +01:00
Edward Firmo
8e71c9b52e Page Utitilies - Blueprint - Show main line
Supports #168
2024-03-01 13:19:31 +01:00
Edward Firmo
38006f256b Lint 2024-03-01 12:59:03 +01:00
Edward Firmo
a7b51ee3c7 Bump to v4.3dev1 2024-03-01 12:57:44 +01:00
Edward Firmo
e689c26915 Clean-up utilities page before showing
Solves #168
2024-03-01 12:49:14 +01:00
Edward Firmo
35caab3659 Lint 2024-02-29 22:00:20 +01:00
Edward Firmo
68fcf691a7 Introducing the Utilities Dashboard
Solves #168
2024-02-29 21:43:06 +01:00
Edward Firmo
1df8e1c6ef Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-29 21:21:08 +01:00
Edward Firmo
748aff12e8 Lint 2024-02-29 21:20:53 +01:00
GitHub Actions
f076e7bf03 Pre-built firmware for NSPanel - Add button utilities to home page 2024-02-29 20:18:37 +00:00
Edward Firmo
f0503412b2 Add button utilities to home page
Solves #168
2024-02-29 21:08:23 +01:00
Edward Firmo
9a6ad742f7 Page utilities - Blueprint - Page constructor & refresher
Solves #168
2024-02-29 19:43:01 +01:00
Edward Firmo
fb7b477f5d Handle empty items in ids 2024-02-29 19:15:22 +01:00
Edward Firmo
ca6c2db015 Components visibility service to support list of components
To reduce number of calls
2024-02-29 18:01:24 +01:00
Edward Firmo
9c03569925 Enhanced Localization: Translated Values
Solves #1777
2024-02-29 15:50:43 +01:00
GitHub Actions
0a904068cb Pre-built firmware for NSPanel - Use from HA v2023.3.0 2024-02-29 13:22:02 +00:00
Edward Firmo
fb09556f7c Use state_translated from HA v2023.3.0
Solves #1777
2024-02-29 14:10:59 +01:00
Edward Firmo
4bc176d01f Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-29 13:22:57 +01:00
Edward Firmo
75495eac93 Remove input "Activate entity page - TRUE/FALSE (Optional)"
The icon will be shown if any entity is assigned.
Supports #999
Supports #946
2024-02-29 13:22:38 +01:00
GitHub Actions
2d6ba06800 Pre-built firmware for NSPanel - Prevents light icons to become totally white 2024-02-29 11:00:43 +00:00
Edward Firmo
a3df5f97a6 Prevents light icons to become totally white
Solves #1567
2024-02-29 11:50:27 +01:00
Edward Firmo
87051d8241 Go to page home when closing
Supports #168
2024-02-28 22:30:09 +01:00
Edward Firmo
149b7bc753 Page utilities - Blueprint - Triggers
Supports #168
2024-02-28 21:37:49 +01:00
Edward Firmo
141244140b Page utilities - Blueprint - Variables - As list
Supports #168
2024-02-28 21:29:09 +01:00
Edward Firmo
569a2cf702 Page utilities - Blueprint - Variables
Supports #168
2024-02-28 21:22:28 +01:00
Edward Firmo
0127bcd8d6 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-28 21:11:13 +01:00
Edward Firmo
f5cb3f6b6e Utilities pages - Blueprint - Inputs 2024-02-28 21:03:11 +01:00
GitHub Actions
79d17012c5 Pre-built firmware for NSPanel - Add page utilites 2024-02-28 18:29:08 +00:00
Edward Firmo
22dd4b0c89 Add page utilites
Supports #168
2024-02-28 19:19:22 +01:00
GitHub Actions
755ced3130 Pre-built firmware for NSPanel - Call service only on touch release 2024-02-28 04:37:34 +00:00
Edward Firmo
df6a565254 Call service only on touch release
Solves #1340
Solves #1822
2024-02-28 05:25:16 +01:00
GitHub Actions
45700b5fef Pre-built firmware for NSPanel - Merge pull request #1839 from shing6326/dev 2024-02-27 22:48:32 +00:00
Edward Firmo
975fc4bd74 Merge pull request #1839 from shing6326/dev
 fix icon, fix required key not provided @data['oscillating…
2024-02-27 23:38:20 +01:00
Edward Firmo
83007112ed Update CJK files 2024-02-27 23:19:11 +01:00
Edward Firmo
9819f52d27 Streamlined Interface: No More Empty Pages
Solves #946
Solves #999
2024-02-27 23:04:52 +01:00
Edward Firmo
fccf3ef6bf Hide empty entities pages
Partially solves #946
Partially solves #999
2024-02-27 22:59:40 +01:00
Edward Firmo
0eccb542b4 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-27 21:35:45 +01:00
Edward Firmo
6347205d05 Hide empty button pages
Partially solves #946
Partially solves #999
2024-02-27 21:35:35 +01:00
GitHub Actions
a587b07359 Pre-built firmware for NSPanel - fix icon, fix required key not provided @data['oscillating'] error 2024-02-27 19:47:02 +00:00
Billy Chan
6f1a6107c9 fix icon, fix required key not provided @data['oscillating'] error 2024-02-28 03:34:55 +08:00
GitHub Actions
fa7b321134 Pre-built firmware for NSPanel - Page Fan with Oscillate Button 2024-02-27 15:01:42 +00:00
Edward Firmo
77f6dacbc1 Page Fan with Oscillate Button
Solves #1340
2024-02-27 15:49:43 +01:00
Edward Firmo
d56baef68d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-27 14:49:31 +01:00
Edward Firmo
8c8521dc23 Page Light with Power Button
Solves #1549
2024-02-27 14:49:28 +01:00
GitHub Actions
af6ef8f859 Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-27 13:06:22 +00:00
Edward Firmo
c2d2bb4fe2 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-27 13:56:23 +01:00
Edward Firmo
185737e1eb User-Defined Decimal Separator
Solves #1161
2024-02-27 13:55:34 +01:00
Edward Firmo
9ff59624e0 Custom decimal separator on climate page
Solves #1161
2024-02-27 13:47:08 +01:00
Edward Firmo
f819c1fe33 Make button page label visible
Solves #1814
2024-02-27 13:45:36 +01:00
Edward Firmo
455e1f06e4 User defined decimal separator for embedded temperature
Solves #1161
2024-02-27 11:43:03 +01:00
GitHub Actions
f88e8c4afa Pre-built firmware for NSPanel - Fix initial_value for mui_decimal_separator 2024-02-27 10:07:14 +00:00
Edward Firmo
ea474098c8 Fix initial_value for mui_decimal_separator 2024-02-27 10:57:27 +01:00
Edward Firmo
d5f5a3eaaf User defined decimal separator for values
Partially solves #1161
2024-02-27 10:32:06 +01:00
Edward Firmo
89876fdfcf Stop BLE scan before upload TFT
Solves #1815
Solves #1823
2024-02-27 08:00:01 +01:00
Edward Firmo
46a71dd10a Lint 2024-02-27 00:47:11 +01:00
Edward Firmo
ae48ec0bf1 Mock up utilities page 2
In preparation to #168
2024-02-27 00:27:47 +01:00
Edward Firmo
05ce94a7d7 Clean-up inputs 2024-02-26 23:42:19 +01:00
Edward Firmo
28f18fe806 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-26 22:57:29 +01:00
Edward Firmo
9d9ab4c08d Update release notes 2024-02-26 22:57:25 +01:00
GitHub Actions
8793b0f5fd Pre-built firmware for NSPanel - Watchdog was removed 2024-02-26 18:39:59 +00:00
Edward Firmo
d369cd8d23 Watchdog was removed 2024-02-26 19:30:10 +01:00
Edward Firmo
d94e98ee63 Lint 2024-02-26 19:24:22 +01:00
Edward Firmo
d00d082d45 Limits max_runs on queued scripts
Solves #1832
2024-02-26 19:20:45 +01:00
Edward Firmo
4b90515425 Lint 2024-02-26 19:05:34 +01:00
Edward Firmo
9487ca9fe0 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-26 18:36:17 +01:00
Edward Firmo
16e9b899d6 HW button bar in all pages
Partially solves #1835
Partially solves #1517
Solves #1507
2024-02-26 18:36:12 +01:00
Edward Firmo
692e145162 Remove watchdog and reduced logging
Solves #1832
2024-02-26 17:15:09 +01:00
Edward Firmo
f2a1f27e0c HW button bar in all pages
Partially solves #1835
Partially solves #1517
Solves #1507
2024-02-26 09:38:20 +01:00
Edward Firmo
abd55b4bc0 Reorg repo 2024-02-25 17:29:28 +01:00
Edward Firmo
d66aa59b35 Reorg repo 2024-02-25 17:27:11 +01:00
GitHub Actions
751daac8ca Pre-built firmware for NSPanel 2024-02-23 23:27:02 +00:00
Edward Firmo
ec7e97650e Fix dependencies 2024-02-24 00:16:52 +01:00
Edward Firmo
741d2802bd Add test to cool & ble_proxy 2024-02-24 00:14:19 +01:00
Edward Firmo
5e29988209 Lint 2024-02-24 00:06:33 +01:00
Edward Firmo
9da8a02d2c Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-24 00:01:36 +01:00
Edward Firmo
93369d62ec component_visibility replaces component_hide and component_show services
Optimization
2024-02-24 00:01:30 +01:00
GitHub Actions
68c2410feb Pre-built firmware for NSPanel - Fix namespace names 2024-02-23 22:18:20 +00:00
Edward Firmo
13a1822c6e Fix namespace names 2024-02-23 23:08:40 +01:00
Edward Firmo
6467f666f3 Upload TFT memory optimization
Helps with #1686
2024-02-23 23:07:55 +01:00
Edward Firmo
718ec12e3c Fix home page missing components
Solves #1833
2024-02-23 22:57:13 +01:00
Edward Firmo
f640f00d82 Delete page_names.h 2024-02-23 12:22:52 +01:00
Edward Firmo
e8d127681c Fix reference to NextionComponent 2024-02-23 12:19:20 +01:00
Edward Firmo
b3043facad Fix reference to NextionComponent 2024-02-23 12:16:51 +01:00
Edward Firmo
e37cb6dbfd Validate ESPHome when components changes 2024-02-23 12:15:22 +01:00
Edward Firmo
38b2da0976 Fix type name to NextionComponent 2024-02-23 12:12:48 +01:00
Edward Firmo
384e7d4c29 Use latest actions/checkout 2024-02-23 12:10:19 +01:00
Edward Firmo
158a28befc Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-23 12:04:49 +01:00
Edward Firmo
55ea00b50a Add nextion_components.h 2024-02-23 12:04:47 +01:00
GitHub Actions
677bebcafc Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-23 08:31:31 +00:00
Edward Firmo
7f09156414 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-23 09:22:22 +01:00
Edward Firmo
32909c0f2a brightness is now float 2024-02-23 09:21:40 +01:00
GitHub Actions
c184559cff Pre-built firmware for NSPanel - Added captive_portal and removed web_server 2024-02-22 23:19:37 +00:00
Edward Firmo
64563dc0c7 Added captive_portal and removed web_server 2024-02-23 00:09:47 +01:00
Edward Firmo
975dfe87af Include pull request 2024-02-23 00:07:08 +01:00
Edward Firmo
29a22ad8dd Create validate_python.yml 2024-02-23 00:05:43 +01:00
Edward Firmo
96dc528237 Move components to root 2024-02-22 23:57:00 +01:00
Edward Firmo
02d571703f Move components to root 2024-02-22 23:56:16 +01:00
Edward Firmo
b96ef8fde2 Fix external component url 2024-02-22 23:50:49 +01:00
Edward Firmo
3a4ebfdf02 Lint 2024-02-22 23:43:21 +01:00
Edward Firmo
3c27ec3638 Lint 2024-02-22 23:41:19 +01:00
Edward Firmo
01005b5863 Memory optimization & external components
Helps with #1686
- This is deprecating Relay local fallback switches (replaced by globals) to save memory.
- Using reboot timeout from ESPHome instead of custom engine
- Do not change page is already there.
- Use of external components to streamline some repetitive code
- API always transfer colors in RGB array to keep consistency
2024-02-22 23:19:34 +01:00
GitHub Actions
dc12a64724 Pre-built firmware for NSPanel 2024-02-21 01:05:51 +00:00
GitHub Actions
8088ebbf88 Pre-built firmware for NSPanel - Selectable font size for screensaver time display 2024-02-20 23:22:22 +00:00
Edward Firmo
9a2a2a4273 Selectable font size for screensaver time display
Solves #1689
2024-02-21 00:12:36 +01:00
Edward Firmo
9b1e652040 Lint 2024-02-20 18:10:40 +01:00
Edward Firmo
7d640907ac Lint 2024-02-20 12:18:57 +01:00
Edward Firmo
f53ea8792e Utilities page mock-up
In preparation for #168
2024-02-20 12:14:31 +01:00
Edward Firmo
3be0a56ac7 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 23:41:49 +01:00
Edward Firmo
7d8bb128c2 Bump secondary hmi to v4.3dev 2024-02-19 23:41:30 +01:00
GitHub Actions
1497c94061 Pre-built firmware for NSPanel - IDF v5 compatibility 2024-02-19 22:16:54 +00:00
Edward Firmo
7be80f9de3 IDF v5 compatibility 2024-02-19 23:07:15 +01:00
GitHub Actions
4965a2b2bc Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 20:19:05 +00:00
Edward Firmo
99693bada7 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 21:09:39 +01:00
Edward Firmo
421f6dd905 Rebuild update of home page values
Improves #1802
2024-02-19 21:09:35 +01:00
Edward Firmo
15ed97dc06 Rebuild calls to update chips on Home page
Improves #1802
2024-02-19 20:56:51 +01:00
Edward Firmo
88888d0f38 Rebuild update to climate chip in Home page
Improves #1802
2024-02-19 20:48:05 +01:00
Edward Firmo
cfd0c51bfe Rebuild update of custom buttons on Home page
Improves #1802
2024-02-19 20:10:25 +01:00
Edward Firmo
5bc202ed81 Rebuild calls to update indoor temperature
Improves #1802
2024-02-19 19:50:28 +01:00
GitHub Actions
2b3d64c6e4 Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 18:34:28 +00:00
Edward Firmo
22998feb31 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 19:23:38 +01:00
Edward Firmo
7480aab072 Rebuild calls to outdoor temperature updates
Improves #1802
2024-02-19 19:21:37 +01:00
Edward Firmo
ed0b739821 Add input home_page_background_update
Helps with #1802 by reducing the number of executions of the automation and call to update home page when that input is disabled.
2024-02-19 18:50:58 +01:00
GitHub Actions
5074187120 Pre-built firmware for NSPanel - Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 17:07:55 +00:00
Edward Firmo
de14a0275d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 17:58:16 +01:00
Edward Firmo
5f1f6c14f6 Remove restart with 15sec press
The benefit was small compared to the restriction caused. Still available as a customization or with the reset button.
Helps with #1711
2024-02-19 17:58:11 +01:00
GitHub Actions
beb1b327bd Pre-built firmware for NSPanel - Fix package_import_url 2024-02-19 11:55:17 +00:00
Edward Firmo
c485ec1f17 Fix package_import_url 2024-02-19 12:46:16 +01:00
Edward Firmo
8bc2c20969 Remove web server authentication 2024-02-19 12:31:52 +01:00
Edward Firmo
85a39c683c Clean-up 2024-02-19 12:23:13 +01:00
Edward Firmo
38f6e66b85 Trigger action when prebuilt yaml changes 2024-02-19 12:21:30 +01:00
Edward Firmo
7c63d276cc Add an icon to firmware_url component 2024-02-19 12:18:23 +01:00
Edward Firmo
898213eec5 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 12:07:52 +01:00
Edward Firmo
3f04b6a1d4 Adjust url to dev
(must be reversed before release)
2024-02-19 12:07:41 +01:00
GitHub Actions
3e330f0369 Pre-built firmware for NSPanel 2024-02-19 11:00:51 +00:00
Edward Firmo
b8f747b8a1 Improved commit message for firmware build 2024-02-19 11:50:44 +01:00
Edward Firmo
eb83666496 Clean-up 2024-02-19 11:44:56 +01:00
Edward Firmo
4b3e0dd4dd Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-19 11:42:59 +01:00
Edward Firmo
88a03996b7 Use commit name from trigger 2024-02-19 11:42:43 +01:00
GitHub Actions
fc025b1333 Automatically update ESPHome firmware for NSPanel 2024-02-19 10:35:07 +00:00
Edward Firmo
fe4aad6f6b Copy instead of move firmware 2024-02-19 11:25:42 +01:00
Edward Firmo
bb1c9343a4 Lint 2024-02-19 11:11:10 +01:00
Edward Firmo
e09a57688b prebuilt action 2024-02-19 10:56:24 +01:00
Edward Firmo
61516584c8 Lint 2024-02-19 10:40:13 +01:00
Edward Firmo
19b1ec5a0b Lint 2024-02-19 10:27:02 +01:00
Edward Firmo
945df79e7f Use barndawgie/build-action@v1.9.0 2024-02-19 10:25:37 +01:00
Edward Firmo
144f9c2a58 FIx testing file names 2024-02-19 09:17:24 +01:00
Edward Firmo
e80df1a63d Fix file name for nspanel_esphome_basic 2024-02-19 09:13:48 +01:00
Edward Firmo
544880459a Lint 2024-02-19 09:07:12 +01:00
Edward Firmo
a5bb903f5f Lint 2024-02-19 09:02:32 +01:00
Edward Firmo
9c7172c4d5 Lint 2024-02-19 08:58:57 +01:00
Edward Firmo
b933becf1a Return captive_portal and web_server 2024-02-19 08:45:26 +01:00
Edward Firmo
ee45d68146 Fix folder for ESPHome files 2024-02-19 08:26:59 +01:00
Edward Firmo
49d249334e upload_tft inline doc 2024-02-19 08:23:04 +01:00
Edward Firmo
f12bc58db9 Document service upload_tft 2024-02-19 08:07:04 +01:00
Edward Firmo
1ff97bf75f New API 2024-02-19 00:31:16 +01:00
Edward Firmo
3d933cd76d New API 2024-02-18 23:19:16 +01:00
Edward Firmo
92585eb06e txt replacing text 2024-02-18 17:49:44 +01:00
Edward Firmo
e394151369 Lint 2024-02-18 17:23:58 +01:00
Edward Firmo
91f6f443e4 Lint 2024-02-18 17:21:13 +01:00
Edward Firmo
b81729a140 Lint 2024-02-18 17:16:53 +01:00
Edward Firmo
7c91fa64ea Lint 2024-02-18 17:12:00 +01:00
Edward Firmo
530c074ce1 Lint 2024-02-18 17:04:21 +01:00
Edward Firmo
4bb878a02b Lint 2024-02-18 16:57:44 +01:00
Edward Firmo
f8945a076d Lint 2024-02-18 16:52:40 +01:00
Edward Firmo
d4c7306b7a Lint 2024-02-18 16:48:09 +01:00
Edward Firmo
7901cbf278 Lint 2024-02-18 16:43:48 +01:00
Edward Firmo
2e202d5935 Update validate_yamllint.yml 2024-02-18 16:40:24 +01:00
Edward Firmo
67476989e3 Update api.md 2024-02-18 11:17:30 +01:00
Edward Firmo
f1ba44ce25 New API schema (in progress) 2024-02-18 11:01:49 +01:00
Edward Firmo
65d37d7403 Rebuilding API (INCOMPLETE) 2024-02-17 21:05:56 +01:00
Edward Firmo
01161b9f25 Merge pull request #1809 from Blackymas/beta
Fix release notes title
2024-02-17 11:21:32 +01:00
Edward Firmo
f453bcffd4 Merge pull request #1808 from Blackymas/v4.2.6dev
Update ReleaseNotes.md
2024-02-17 11:19:26 +01:00
Edward Firmo
32457fcbff Update ReleaseNotes.md 2024-02-17 07:59:54 +01:00
Edward Firmo
7179c21bd8 Merge pull request #1807 from Blackymas/beta
v4.2.6 - Enhancing Stability and User Experience
2024-02-17 00:53:00 +01:00
Edward Firmo
34a69def42 Merge pull request #1806 from Blackymas/v4.2.6dev
v4.2.6 - Enhancing Stability and User Experience
2024-02-17 00:23:10 +01:00
Edward Firmo
e1ddf3e43a Bump to v4.2.6 2024-02-16 23:55:34 +01:00
Edward Firmo
76155b3b1d Prebuilt yaml (experimental) 2024-02-16 22:47:17 +01:00
Edward Firmo
5c8fd6301a New schema for services 2024-02-16 22:45:31 +01:00
Edward Firmo
41613e2af1 esp-idf as default framework 2024-02-16 19:43:34 +01:00
Edward Firmo
edf8c22409 Use new url for download TFT 2024-02-16 19:02:44 +01:00
Edward Firmo
aa760968c4 Rebuild device_name engine
The solution based on `device_attr` wasn't reliable, so I've replaced it by a sensor.

Solves #1787
2024-02-16 19:01:07 +01:00
Edward Firmo
c0430b4410 Keep addons in the root
To avoid breaking changes
2024-02-16 18:55:42 +01:00
Edward Firmo
dc4a5f43e1 Reorg repo
Simplifies things
2024-02-16 16:55:12 +01:00
Edward Firmo
67e358b526 Check if entity_id is valid before getting attributes
Solves #1637
2024-02-16 10:18:38 +01:00
Edward Firmo
fbfdaa6d3b Merge pull request #1801 from illuzn/doc_update
Documentation Enhancement: Add note about bluetooth proxy RAM usage
2024-02-16 00:53:41 +01:00
Edward Firmo
d411a207cb Only hide buttons when page is visible 2024-02-16 00:04:27 +01:00
Edward Firmo
776dc0918e Bump to v4.2.6dev 2024-02-15 23:59:17 +01:00
Edward Firmo
3fa3552768 Lint 2024-02-15 23:56:19 +01:00
Edward Firmo
c82ea7761a Merge pull request #1800 from illuzn/icon_update
Sync icons with HA core 2024.2
2024-02-15 23:44:12 +01:00
Edward Firmo
04248847a5 Use globals for version
Solves #1794
2024-02-15 23:38:45 +01:00
Edward Firmo
5324c4f4b3 Fix button id during upload
Solves #1794
2024-02-15 23:18:21 +01:00
Edward Firmo
716c5c38f3 Move Nextion external component to core
Solves #1803
2024-02-15 22:58:42 +01:00
Edward Firmo
a73b756f51 Clarify memory usage on the customization docs
Solves #1686
2024-02-15 13:45:02 +01:00
illuzn
a59fbac4cd Linting 2024-02-15 22:11:51 +10:30
illuzn
3370f309b6 Sync icons with HA core 2024.2 changes 2024-02-15 22:07:14 +10:30
illuzn
5cd0455e3d Update customisation docs to reflect RAM issues with bluetooth proxy 2024-02-15 21:32:27 +10:30
Edward Firmo
97133cea0b Improve instructions to adjust sleep brightness
Solves #1796
2024-02-14 11:54:45 +01:00
Edward Firmo
579a67feac Do not show chips when climate is auto
Solves #1265
2024-02-14 10:15:07 +01:00
Edward Firmo
668aad4bb2 Do not trigger delay for automation and scene on page construction
Solves #1746
2024-02-14 09:38:04 +01:00
Edward Firmo
a952750a8b Lint 2024-02-13 22:08:58 +01:00
Edward Firmo
7e1f8318ce Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-13 20:30:06 +01:00
Edward Firmo
da58286a44 Fix display when unit of measurement isn't provided
Solves #1790
Solves #1792
2024-02-13 20:30:02 +01:00
Edward Firmo
5a5e963321 Merge pull request #1789 from Blackymas/beta
No validation to text fields
2024-02-13 08:39:33 +01:00
Edward Firmo
eec369dbe6 Merge pull request #1788 from Blackymas/dev
No validation to text fields
2024-02-13 08:33:57 +01:00
Edward Firmo
14121f20d4 No validation to text fields 2024-02-13 08:31:47 +01:00
Edward Firmo
855e606bc8 Merge pull request #1786 from Blackymas/beta
Lint
2024-02-12 13:00:52 +01:00
Edward Firmo
0565f5a997 Merge pull request #1785 from Blackymas/dev
Lint
2024-02-12 12:54:50 +01:00
Edward Firmo
a52a7cee55 Lint 2024-02-12 12:52:15 +01:00
Edward Firmo
156dbf8345 Lint 2024-02-12 12:50:37 +01:00
Edward Firmo
1c8c90d6de Set fetch-depth to 0 2024-02-12 12:49:06 +01:00
Edward Firmo
fd5c7e2a73 Merge pull request #1784 from Blackymas/beta
v4.2.5 - Celebrating 1000 Stars with Enhanced Functionality and UI Improvements
2024-02-12 12:37:39 +01:00
Edward Firmo
7282c23ffd Merge pull request #1783 from Blackymas/dev
v4.2.5 beta
2024-02-12 10:35:18 +01:00
Edward Firmo
cd6eb12e6e Lint 2024-02-12 10:26:24 +01:00
Edward Firmo
05bdd410cc this update is compatible with existing v4.2 components 2024-02-12 10:21:23 +01:00
Edward Firmo
5111fdb3f1 Bump to v4.2.5
Getting prepared to a release.
2024-02-12 09:49:19 +01:00
Edward Firmo
b7c500fef1 Use stable Nextion component 2024-02-12 09:36:03 +01:00
Edward Firmo
a0796a66fc Add link to goal 2024-02-12 09:32:27 +01:00
Edward Firmo
81bbffe43a Lint 2024-02-11 22:21:08 +01:00
Edward Firmo
8dbb83c6d9 Improved Blueprint Input Clarity
Solves #1782
2024-02-11 21:09:42 +01:00
Edward Firmo
d062b542d3 LocalTuya Fan Speed Controls Fix
Solves #1706
2024-02-11 01:21:50 +01:00
Edward Firmo
9c88dd27ea Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-02-11 01:14:31 +01:00
Edward Firmo
2143f4ae27 Split fan.set_percentage from fan.turn_on
Solves an issue when using fan from LocalTuya integration.

Solves #1706
2024-02-11 01:14:25 +01:00
Edward Firmo
e1666fab40 Update ReleaseNotes.md 2024-02-09 19:37:49 +01:00
Edward Firmo
73e82bbfe5 Merge pull request #1778 from bluefoxlee/dev
Update Size 48 font and international character set text.
2024-02-09 19:33:23 +01:00
Edward Firmo
d1d19ffb06 upload_tft_baud_rate on UI 2024-02-09 19:32:07 +01:00
bluefoxlee
f85844d4dd Update size 48 fonts.
Update size 48 fonts in order to fix missing CJK characters. 
Found one missing issue in Climate page.
2024-02-10 02:09:34 +08:00
bluefoxlee
a0e37e811e Update and rename International-charset.txt
Update and rename 2248-International-charset.txt to 2271-International-charset.txt.
To fix size 48 missing CJK characters
2024-02-10 02:07:57 +08:00
Edward Firmo
4750a22ddf Update nspanel_esphome_addon_upload_tft.yaml
Use target speed only when setup
2024-02-09 10:14:06 +01:00
Edward Firmo
7e70e7c3c1 User exit reparse from upload in the component 2024-02-09 09:55:36 +01:00
Edward Firmo
c60f4e97ce Remove direct uart comm
To avoid lost of sync with Nextion queue
2024-02-08 12:46:48 +01:00
Edward Firmo
1e036a204c Unify set_tft_file 2024-02-08 08:22:04 +01:00
Edward Firmo
27b7317070 Getting prepared to v4.2.5 release 2024-02-08 08:15:23 +01:00
Edward Firmo
0b8ac56521 Direct TFT Transfer from GitHub for Arduino Users 2024-02-07 23:57:55 +01:00
Edward Firmo
b02be58888 Revert TFT Upload 2024-02-07 20:59:03 +01:00
Edward Firmo
e552d1c2b1 Remove unused keys from example 2024-02-07 13:38:51 +01:00
Edward Firmo
02deba2380 Align with changed on Nextion component (Lint) 2024-02-07 12:13:58 +01:00
Edward Firmo
4378acacfa Use pr6192 2024-02-07 04:27:42 +01:00
Edward Firmo
7dfe5af6bf Lint 2024-02-07 03:54:24 +01:00
Edward Firmo
a45d421c01 lint 2024-02-07 03:53:10 +01:00
Edward Firmo
604705d9b6 Use new tft upload with persistent connections 2024-02-07 03:49:38 +01:00
Edward Firmo
64ab3fa4b9 Remove tft_branch selector. 2024-02-07 00:30:57 +01:00
Edward Firmo
7629fa086b Don't retry upload unless is a nextion failure 2024-02-06 11:12:43 +01:00
Edward Firmo
6b03d7c44f Don't run scripts during upload 2024-02-06 10:32:18 +01:00
Edward Firmo
9cae2b3d9f Use on_value on select 2024-02-06 10:27:23 +01:00
Edward Firmo
e73cfb731d Clean-up upload engine 2024-02-06 09:54:51 +01:00
Edward Firmo
52e3dd174c Use macro YESNO to standardize True/False messages 2024-02-02 08:53:51 +01:00
Edward Firmo
b94461b39f Initialization tracking
Solves #1528
2024-02-01 19:25:10 +01:00
Edward Firmo
730fc62643 Lint 2024-02-01 14:18:41 +01:00
Edward Firmo
bbb49e189b Lint 2024-02-01 14:13:31 +01:00
Edward Firmo
083936b1a5 Deprecate "Show while loading" 2024-02-01 14:06:13 +01:00
Edward Firmo
b14cdf6678 Shortening model 2024-02-01 09:46:01 +01:00
Edward Firmo
0f19d91e49 Add trigger on blueprint entity state 2024-01-31 18:20:18 +01:00
Edward Firmo
4b1de06991 Update CJK TFT files 2024-01-31 17:53:43 +01:00
Edward Firmo
f70e08cc8f Ensure notification is shown
It possibly fixes #1751
2024-01-31 17:43:42 +01:00
Edward Firmo
31cd798f6f Fix Update of Media Player Icons on Custom Buttons
Solves #1716
2024-01-31 16:58:57 +01:00
Edward Firmo
309f97626c Add "Fan" to chips 2024-01-31 16:43:42 +01:00
Edward Firmo
e5776e948c Move and push latest tag
Solves #1740
2024-01-31 13:20:48 +01:00
Edward Firmo
70e98495a2 Media Player Visualization on Chips 2024-01-31 13:12:52 +01:00
Edward Firmo
cbf2c8d904 Fix Icon's Colors on Home Page Values
Solves #1694
2024-01-31 11:39:34 +01:00
Edward Firmo
51d450a2dc Fix icon color for Home page values
Solves #1694
2024-01-31 11:33:40 +01:00
Edward Firmo
9d88d84faf Publish diagnostic sensor "Blueprint" and simplify TFT upload 2024-01-31 11:31:29 +01:00
Edward Firmo
74ea1ebb0e Move exit_reparse to advanced 2024-01-31 03:35:38 +01:00
Edward Firmo
a01486b454 Fix display in Fahrenheit when Blueprint fails the first time
Solves #1678
2024-01-31 00:56:10 +01:00
Edward Firmo
a5a7c280b7 Lint 2024-01-30 23:32:25 +01:00
Edward Firmo
d4e5e75c9a Clean-up variable_entity
Trying to solve #1746
2024-01-30 23:15:18 +01:00
Edward Firmo
8404a6e62c Converts betwwen C/F before display embedded climate
Solves #1678
2024-01-30 17:03:31 +01:00
Edward Firmo
8e17dfe122 Enhanced Memory Allocation When Uploading TFT 2024-01-29 07:58:33 +01:00
Edward Firmo
505714c6f3 Clarify logs requirements 2024-01-29 07:51:00 +01:00
Edward Firmo
443dfa57c0 Clean-up Blueprint Inputs
Solves #1722
2024-01-29 01:07:48 +01:00
Edward Firmo
edae578cbf Use "page x, entity y" pattern for button & entity pages inputs
Solves #1722
2024-01-29 01:00:33 +01:00
Edward Firmo
77fea5df53 Update all docs with friendly_name
Solves #1719
2024-01-28 21:27:23 +01:00
Edward Firmo
8bca15ae66 Fix missing command on Alarm page enter button
Hopefully this solves #1705
2024-01-28 20:57:36 +01:00
Edward Firmo
8145b61b4f Lint 2024-01-28 20:46:11 +01:00
Edward Firmo
cc5c1dde78 Lint 2024-01-28 20:44:09 +01:00
Edward Firmo
f73f4eba53 Create release_tag.yml
Solves #1740
2024-01-28 20:34:43 +01:00
Edward Firmo
51f2df89bd Review v.4.2.5 notes 2024-01-28 20:25:21 +01:00
Edward Firmo
b3f440985d Use regex for panel name
Improves #1719
2024-01-27 11:54:18 +01:00
Edward Firmo
1492d1b0c0 Fix translation in Czech
Solves #1695
2024-01-27 11:45:30 +01:00
Edward Firmo
8bf92697e7 Fix device_class based icons on cover page
Solves #1688
2024-01-26 17:15:25 +01:00
Edward Firmo
d1d91ae1f2 Lint 2024-01-25 21:18:00 +01:00
Edward Firmo
499dbca170 Lint 2024-01-25 20:20:12 +01:00
Edward Firmo
d646644663 Lint 2024-01-25 20:11:09 +01:00
Edward Firmo
06c2a338eb Relay Interlocking
Solves #965
2024-01-25 20:07:04 +01:00
Edward Firmo
5403776b9a Revert temperature_unit_is_fahrenheit 2024-01-25 17:01:13 +01:00
Edward Firmo
b1b2eef001 Instructions to use non-default branch/tag/version
Solves #609
2024-01-25 17:00:24 +01:00
Edward Firmo
95abb02b5a Identify unavailable area on EU model into the HMI 2024-01-25 12:01:39 +01:00
Edward Firmo
e5329338df Add support to friendly names
Solves #1719
2024-01-25 11:01:46 +01:00
Edward Firmo
da3e1d57d1 Merge pull request #1720 from andythomas/dev
Dev Update docs (install.md) with memory requirements
2024-01-24 13:41:01 +01:00
Andy Thomas
81a2597ced Lint 2024-01-24 10:42:58 +01:00
Andy Thomas
68f3452990 Update docs (install.md) with memory requirements 2024-01-24 10:35:24 +01:00
Andy Thomas
8cf35ac632 Merge remote-tracking branch 'upstream/dev' into dev 2024-01-24 10:07:14 +01:00
Edward Firmo
d5c21adec3 Review alarm control panel docs
Solves #1715
2024-01-23 21:51:56 +01:00
Edward Firmo
79fb4ff0ca Review alarm docs based on new implementation on v4.2
Solves #1715
2024-01-23 21:30:27 +01:00
Edward Firmo
905d57f3ca Lint 2024-01-22 23:29:07 +01:00
Edward Firmo
a09cc9382f Preparing support to Friendly Name 2024-01-22 23:19:39 +01:00
Edward Firmo
a58a7f5443 Update device_name on boot only 2024-01-22 22:50:25 +01:00
Edward Firmo
0af730fd5a Less frequent update for device_name 2024-01-22 22:42:00 +01:00
Edward Firmo
4abd37d981 New ESP-IDF upload memory optimization 2024-01-22 22:33:56 +01:00
Edward Firmo
cd73bbec88 Drop support to legacy panel selection 2024-01-22 22:31:36 +01:00
Edward Firmo
bccb7c86af Reduce variables stored to flash 2024-01-22 22:14:52 +01:00
Edward Firmo
98c6cf9849 Expose sensors to HA 2024-01-21 23:13:38 +01:00
Edward Firmo
1c2cbb9fd2 Expose diagnostics sensors 2024-01-21 00:48:10 +01:00
Edward Firmo
eb9ddcc790 Wake-up sensors
Solves #1687
2024-01-21 00:46:56 +01:00
Edward Firmo
922caf3ca9 Dynamic icons on cover page
Solves #1688
2024-01-20 18:20:19 +01:00
Edward Firmo
ebf89ac078 Export all pics
To support #1696
2024-01-20 13:23:24 +01:00
Edward Firmo
319b6c0349 Add "unknown" to mui 2024-01-19 11:16:07 +01:00
Edward Firmo
eed29a2360 Use version tag instead of main to download TFT
This will avoid old firmware downloading latest TFT from `main`, as it will instead download it from the tag related to the release.
It will fail with users running testing versions, like v4.2.5dev`, which could be a good thing.
2024-01-18 14:09:56 +01:00
Edward Firmo
49c6c34b12 Update ReleaseNotes.md
Solves #1637
2024-01-18 12:31:31 +01:00
Edward Firmo
36c6df726b Enable long click action when no entity is assigned to HW button
Solves #1637
2024-01-18 12:27:46 +01:00
Edward Firmo
6171699d8c Fix is_on/is_off for climate icons
Hopefully solves #1675
2024-01-18 12:17:42 +01:00
Edward Firmo
ea0839ee26 Pointing questions to Discussions area 2024-01-18 08:06:05 +01:00
Edward Firmo
d704de853a Merge pull request #1681 from Blackymas/beta
v4.2.4 - Critical bug fixes
2024-01-18 07:33:12 +01:00
Edward Firmo
ce049f5c8e Link to v4.2.4 - Critical bug fixes 2024-01-18 07:09:57 +01:00
Edward Firmo
4d4c869f45 Merge pull request #1680 from Blackymas/dev
v4.2.4 to beta
2024-01-18 06:58:13 +01:00
Edward Firmo
cb01aeb5ab Update ReleaseNotes.md 2024-01-18 06:53:53 +01:00
Edward Firmo
20cb5224c7 Fix layout of pics 2024-01-18 06:41:47 +01:00
Edward Firmo
9bde7edd59 Bump to v4.2.4 2024-01-18 06:37:30 +01:00
Edward Firmo
67a103df25 Bump to v4.2.4dev 2024-01-18 00:59:46 +01:00
Edward Firmo
4bd1104d42 Fix crash on boot init when no climate entity is selected
Solves #1677
Solves #1676
2024-01-18 00:58:38 +01:00
Edward Firmo
bb46aa9722 Fallback to 115200bps permanently and faster when no connection from ESPHome
Solves #1667
Solves #1674
2024-01-18 00:36:45 +01:00
Andy Thomas
452bf9c282 Revert "add temperature_step to logger"
This reverts commit 9c3b301aa0.
2024-01-17 20:21:54 +01:00
Andy Thomas
d7363e950b Merge branch 'dev' of https://github.com/andythomas/NSPanel_HA_Blueprint into dev 2024-01-17 20:08:48 +01:00
Edward Firmo
4d73312b18 Merge pull request #1673 from Blackymas/beta
Revert template title
2024-01-17 20:08:34 +01:00
Edward Firmo
f26afa06a8 Merge pull request #1672 from Blackymas/dev
Revert template title
2024-01-17 20:07:28 +01:00
Edward Firmo
8849afbbb0 Revert template title 2024-01-17 20:05:26 +01:00
Andy Thomas
9c3b301aa0 add temperature_step to logger 2024-01-17 20:04:30 +01:00
Edward Firmo
f5f2c05550 Merge pull request #1671 from Blackymas/beta
Fix empty title on issues templates
2024-01-17 20:03:27 +01:00
Edward Firmo
eb2f5c987a Merge pull request #1670 from Blackymas/dev
Fix empty title on issues templates
2024-01-17 20:02:11 +01:00
Edward Firmo
51639e43ae Fix empty title 2024-01-17 20:00:45 +01:00
Edward Firmo
9acc00c6df Merge pull request #1669 from Blackymas/beta
v4.2.3 - Bug fixes and minor enhancements
2024-01-17 19:51:27 +01:00
Edward Firmo
7b5af70a4f Merge pull request #1668 from Blackymas/dev
v4.2.3 to beta
2024-01-17 19:30:04 +01:00
Edward Firmo
1c49bc046d Bump to v4.2.3 2024-01-17 19:01:39 +01:00
Edward Firmo
e1b7c4242d Fix crash on climate page, fix climate icon and color
#1649
2024-01-17 14:56:25 +01:00
Edward Firmo
6df5ad0578 Lint 2024-01-17 14:52:19 +01:00
Edward Firmo
cf25bb380b Remove some of the "None" from the code
And also added the changes proposed by https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1649#issuecomment-1895813283
2024-01-17 14:45:58 +01:00
Edward Firmo
2473816f34 Reverts: "Prioritize legacy upload when TFT is not detected"
Based on feedback from #1659
2024-01-17 14:05:47 +01:00
Edward Firmo
b94b9ffd2e Move sendme to Postinitialize Event
Tentatively solves #1495
2024-01-17 14:04:23 +01:00
Edward Firmo
13110f9949 Move sendme to Postinitialize Event
Tentatively solves #1495
2024-01-17 14:02:03 +01:00
Edward Firmo
52aaea3bb5 Fix for Battery Indicator
Solves #1661
2024-01-17 11:23:49 +01:00
Edward Firmo
01f5ba93a1 Fix battery indicator on cover page
Solves #1661
2024-01-17 11:06:05 +01:00
Edward Firmo
c1a0c0991e Prioritize legacy upload when TFT is not detected
Improves #1659
2024-01-17 10:22:06 +01:00
Edward Firmo
1a20b0cc42 Run tests when tests scripts changes 2024-01-17 09:04:38 +01:00
Edward Firmo
a9c36239d8 Fix current_brightness name conflict 2024-01-17 09:00:29 +01:00
Edward Firmo
c281a68bee Set accuracy_decimals for sensors 2024-01-17 02:57:16 +01:00
Edward Firmo
52b65d1536 Remove None type from global entity load engine
Hopefully this solves #1649
2024-01-17 02:21:44 +01:00
Edward Firmo
9a761dbc71 Replace deprecated global display_last_brightness on "Set display as a light" 2024-01-17 02:04:42 +01:00
Edward Firmo
ccf139fa5f Revert simplification of tft upload
Solves #1659
2024-01-17 01:14:49 +01:00
Edward Firmo
57c1576cc5 Update esphome_advanced_climate_heat_customizations.yaml 2024-01-17 01:06:39 +01:00
Edward Firmo
af64a7ba40 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-17 01:00:27 +01:00
Edward Firmo
979f09a673 Merge pull request #1658 from bkbartk/dev
Update nspanel_blueprint.yaml
2024-01-17 01:00:01 +01:00
Edward Firmo
4b585b672d Add Dutch/Italian date format
Add Dutch/Italian date format #1658
2024-01-17 00:59:47 +01:00
Edward Firmo
0e35bae534 Turn-off display when screensaver time is disabled
Potentially solves #1620
2024-01-17 00:41:23 +01:00
Edward Firmo
01c898b98c Restores watchdog rounds every minute at second 30 2024-01-16 22:16:02 +01:00
bkbartk
4bd63e0673 Update nspanel_blueprint.yaml
add Dutch/Italian date format,
Germany and Poland use a . where the Netherlands and Italian use a -
both including leading 0

Maybe making it completely variable would be better, but I'm not sure it's user friently enough.
2024-01-16 20:53:55 +01:00
Edward Firmo
6a64ae5592 Disable blank_issues_enabled 2024-01-16 19:19:33 +01:00
Edward Firmo
071a13076f Prevents crash when climate can't provide hvac_action
Probably solves #1649
2024-01-16 18:23:49 +01:00
Edward Firmo
29087e2ca0 Merge pull request #1648 from Blackymas/beta
v4.2.2 - Bug fixes and minor enhancements
2024-01-16 13:38:04 +01:00
Edward Firmo
dd3f3457c4 Merge pull request #1646 from Blackymas/dev
v4.2.2 to Beta
2024-01-16 11:51:02 +01:00
Edward Firmo
9c68166098 Bump to v4.2.2 2024-01-16 11:28:38 +01:00
Edward Firmo
9a501c45a2 Do not convert Celsius to Fahrenheit when displaying embedded temperature
Solves #1640
2024-01-16 11:17:15 +01:00
Edward Firmo
759e49bdf2 Update ReleaseNotes.md 2024-01-16 11:15:35 +01:00
Edward Firmo
3db3985c03 Send default color if calculated isn't RGB
Solves #1643
2024-01-16 10:38:24 +01:00
Edward Firmo
f34a6b4c1d Reduce watchdog executions
Trying to solve #1620
2024-01-16 10:11:00 +01:00
Edward Firmo
519a8b48fb Lint 2024-01-16 10:00:54 +01:00
Edward Firmo
59cc6a536e Rebuild embedded climate changing calls
Solves #1613
Solves #1627
2024-01-16 09:43:26 +01:00
Edward Firmo
c34018c021 Embedded climate to display the correct slider
Partially solves #1613
Partially solves #1627
2024-01-16 09:03:18 +01:00
Edward Firmo
d55366e3fb Lint 2024-01-16 08:55:11 +01:00
Edward Firmo
89c5cf227d Update "TFT update" manual 2024-01-16 08:53:59 +01:00
Edward Firmo
02b0e8a340 Improved TFT update instructions 2024-01-16 08:50:16 +01:00
Edward Firmo
6dd4733b4b Rebuild Embedded Climate page constructor
Partially solves #1613
Partially solves #1627
2024-01-16 08:42:14 +01:00
Edward Firmo
4cdd80550f Add log to climate page constructor
To help troubleshooting:
- #1627
- #1613
2024-01-16 00:18:23 +01:00
Edward Firmo
17c200da53 Add firmware update service 2024-01-15 19:55:25 +01:00
Edward Firmo
284aa843b4 Drop support to weather.get_forecast
Solves #1630
2024-01-15 19:21:23 +01:00
Edward Firmo
0fbe9bce0f Adding "Compiling Errors Guide" 2024-01-15 18:02:30 +01:00
Edward Firmo
43c78b76f8 Add shortcut to HA logs 2024-01-15 17:57:15 +01:00
Edward Firmo
a2eea277bc Update ReleaseNotes.md 2024-01-15 17:48:14 +01:00
Edward Firmo
edb2fb4a2e Add "Dynamic icons using device_class"
Relates to #1610
2024-01-15 16:32:52 +01:00
Edward Firmo
a6338b173f Prioritize icon from attributes over icon from device_class. 2024-01-15 13:00:55 +01:00
Edward Firmo
2765efa3ca Fix bug preventing device_class based icon to load 2024-01-15 12:55:21 +01:00
Edward Firmo
b46ab6a6d2 Don't use state for sensor's device class icons
Solves b3543af0b7 (commitcomment-137046780)
2024-01-15 12:41:21 +01:00
Edward Firmo
a1a2a897c6 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-15 10:41:06 +01:00
Edward Firmo
e0c6fb9810 Remove old upload code
To make it easier to compilers with low resources
2024-01-15 10:41:01 +01:00
Edward Firmo
aae12d0be7 Update validate_yamllint.yml 2024-01-15 01:09:20 +01:00
Edward Firmo
a820723f44 Update validate_yamllint.yml 2024-01-15 01:07:19 +01:00
Edward Firmo
9d6285633c Update validate_yamllint.yml 2024-01-15 01:06:39 +01:00
Edward Firmo
7ed8bd60a4 Added pic for clean build files 2024-01-15 00:56:12 +01:00
Edward Firmo
33a0e418be Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-15 00:20:03 +01:00
Edward Firmo
83016ec605 Reduce yaml double verification 2024-01-15 00:19:52 +01:00
Edward Firmo
13e725be02 Merge pull request #1633 from illuzn/light-brightness-fix
Fix for Lights with no brightness supported_features
2024-01-15 00:12:21 +01:00
Edward Firmo
6e8ca96e4f Make it valid to other domains 2024-01-15 00:09:28 +01:00
Edward Firmo
b3543af0b7 Fix typo 2024-01-15 00:05:47 +01:00
Edward Firmo
45a56a4340 Merge pull request #1635 from illuzn/dynamic-icon-patch
Implement dynamic icons and use device_class
2024-01-14 23:51:46 +01:00
Edward Firmo
a2bc755b89 Merge pull request #1628 from illuzn/alignment-fix
[BUG FIX] Fixes the incorrect labelling of the entity pages alignment on US Portrait.
2024-01-14 23:48:54 +01:00
Edward Firmo
40efe3d7b3 Merge pull request #1610 from PaulAntonDeen/patch-2
Add ISO8601 date formatting as an option
2024-01-14 23:48:22 +01:00
Edward Firmo
878cf6a58c Lint 2024-01-14 23:48:01 +01:00
Edward Firmo
008016a3d6 Make it a dict of dicts
To simplify the code.
I've also moved the dictionary to the variables areas as that other place is copied via anchors to many places in the code.
2024-01-14 23:45:39 +01:00
Edward Firmo
286123f9c7 Lint 2024-01-14 23:20:44 +01:00
Edward Firmo
f0a817fff6 Removed unnecessary code and prepared release notes (draft) 2024-01-14 23:15:35 +01:00
Edward Firmo
126e5c0d7b Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-14 23:09:48 +01:00
Edward Firmo
217b456e75 Fix crash when internal temp sensor was not defined
This was preventing the rendering of other elements on Home page until those elements gets an update on it's statuses.
This change also add a input for default icon fallback colors for `on` and `off` states.
Solves #1624
2024-01-14 23:09:30 +01:00
illuzn
08d44d4064 Typo fixes 2024-01-15 05:21:12 +10:30
illuzn
ae80c7f1ed Covers, binary_sensors, sensors and switches now use their state and device_classes to dynamically determine the icon displayed.
The mappings used are the same as HA frontend.

This should work wherever the anchor `variable_entity` is called - i.e. button pages, entity pages, home buttons, home status bar, home sensors,
2024-01-15 05:16:17 +10:30
illuzn
df2c7cff28 supported_features attribute is already obtained elsewhere so use that instead. 2024-01-15 01:23:13 +10:30
illuzn
73def31fce Incorrect branch 2024-01-15 01:21:46 +10:30
illuzn
8122516ceb Hides the secondary state shown in bri if the light doesn't support changing brightness. 2024-01-15 01:10:37 +10:30
illuzn
7b40f31599 Fixes the labelling of the alignment on US Portrait.
Need to confirm that this confirguration is the same for EU and US Landscape - it may be that the Nextion HMI is different for US Portrait because of rotation.
2024-01-14 16:53:00 +10:30
Edward Firmo
a81be28085 Merge pull request #1609 from PaulAntonDeen/patch-1
Fix Wi-Fi reference on QR code example
2024-01-12 22:47:38 +01:00
Paul Deen
f74dc421e4 Update nspanel_blueprint.yaml
Added ISO8601 month day seperation for date : "-" see https://en.wikipedia.org/wiki/ISO_8601
2024-01-12 16:13:46 +01:00
Paul Deen
0ac153dd56 Update blueprint.md
Update the QR code string from Wi-Fi to WIFI to match the QR URI standard (not it will work if you scan it with an android phone).
2024-01-12 15:58:39 +01:00
Edward Firmo
327de69a6f Merge pull request #1608 from Blackymas/beta
v4.2.1 - Bug fixes
2024-01-12 14:23:27 +01:00
Edward Firmo
1036182bd2 Merge pull request #1607 from Blackymas/dev
v4.2.1 to beta
2024-01-12 13:42:09 +01:00
Edward Firmo
6bda8a56ea Bump to v4.2.1 2024-01-12 13:27:00 +01:00
Edward Firmo
dc1f836684 Moving "changing the framework" higher 2024-01-11 23:37:49 +01:00
Edward Firmo
f0216982e0 Update howto.md 2024-01-11 23:19:45 +01:00
Edward Firmo
007fb1f70d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-11 23:16:42 +01:00
Edward Firmo
7b1557894b Add "Clean build files" to the update instructions
Solves #1601
2024-01-11 23:16:39 +01:00
Edward Firmo
8b4e3ea4c9 Update howto.md 2024-01-11 23:00:50 +01:00
Edward Firmo
1e570dc18e Fix links 2024-01-11 22:46:05 +01:00
Edward Firmo
66b1e0b3e7 Ask for panel model 2024-01-11 22:11:19 +01:00
Edward Firmo
982453109a Fix crash when light don't provides an icon color
Solves #1599
2024-01-11 22:03:46 +01:00
Edward Firmo
4cb2142b83 Merge pull request #1591 from Blackymas/beta
v4.2 - Multi-Alarm Control, Dual Thermostat Functionality, and More
2024-01-11 18:15:29 +01:00
Edward Firmo
221c6a38b2 Merge pull request #1595 from Blackymas/dev
Lint
2024-01-11 17:57:42 +01:00
Edward Firmo
be1266dd24 Lint 2024-01-11 17:56:23 +01:00
Edward Firmo
c57ae981db Lint 2024-01-11 17:50:57 +01:00
Edward Firmo
e7d6e19cf4 Merge pull request #1594 from Blackymas/dev
Lint
2024-01-11 17:35:59 +01:00
Edward Firmo
5b099b9c63 Lint 2024-01-11 17:30:29 +01:00
Edward Firmo
a03e348a90 Lint 2024-01-11 17:23:10 +01:00
Edward Firmo
2fdc32285f Merge pull request #1593 from Blackymas/dev
Lint
2024-01-11 17:15:47 +01:00
Edward Firmo
9f5e162b11 Lint 2024-01-11 17:10:04 +01:00
Edward Firmo
1c76d8eb7b Lint 2024-01-11 17:08:05 +01:00
Edward Firmo
e06cd0d464 Lint 2024-01-11 17:01:46 +01:00
Edward Firmo
03114ac80c Merge pull request #1590 from Blackymas/dev
v4.2 - Prepare for release
2024-01-11 16:55:43 +01:00
Edward Firmo
ca8f49a24d Bump to v4.2
Ready for release
2024-01-11 16:51:17 +01:00
Edward Firmo
8f94bdae58 Merge pull request #1589 from bluefoxlee/dev
Update CJK character set for future reference
2024-01-11 12:38:28 +01:00
Edward Firmo
ec95810e21 Update release notes 2024-01-11 12:37:52 +01:00
Edward Firmo
019c420024 Testing the test 2024-01-11 12:29:55 +01:00
bluefoxlee
3b160f4d63 Adding Punctuation 2024-01-11 19:28:27 +08:00
bluefoxlee
9aa17c29a3 Delete dev/ui/fonts/CJK/20902--ChineseCharacters-Set.txt 2024-01-11 19:28:03 +08:00
bluefoxlee
1fa7e348be Adding Punctuation 2024-01-11 19:27:43 +08:00
Edward Firmo
3dd70c3be1 Testing the test 2024-01-11 12:26:16 +01:00
bluefoxlee
0606196d29 Adding Punctuation 2024-01-11 19:26:14 +08:00
Edward Firmo
82dd4cb833 Update validate_yamllint.yml 2024-01-11 12:23:59 +01:00
bluefoxlee
56d1e2e407 Add Japanese/Korean/Hong Kong Character Set
Add Japanese/Korean/Hong Kong Character Set
2024-01-11 19:23:12 +08:00
bluefoxlee
47e67d2d4b Update to 5551 Chinese Characters Set
Update to 5551 Chinese Characters Set
2024-01-11 19:22:06 +08:00
bluefoxlee
db0cd22193 Replace 4808 Set
Replace 
4808-Characters-Set.txt
With
5551-Chinese-Characters-Set.txt
2024-01-11 19:21:25 +08:00
Edward Firmo
d1328cde66 Update validate_yamllint.yml 2024-01-11 12:20:58 +01:00
Edward Firmo
78839a1396 Testing the test 2024-01-11 12:17:51 +01:00
Edward Firmo
ec140bf55d Update validate_yamllint.yml 2024-01-11 12:15:46 +01:00
Edward Firmo
a1e50237fb Update validate_yamllint.yml 2024-01-11 12:13:42 +01:00
Edward Firmo
1ce2efd25f Testing the test 2024-01-11 12:09:39 +01:00
Edward Firmo
a705964468 Update validate_yamllint.yml 2024-01-11 12:07:24 +01:00
Edward Firmo
126e9fb946 Testing the tests...
This should generate warnings on yamllint
2024-01-11 12:06:04 +01:00
Edward Firmo
ff3bde78e4 Update nspanel_esphome_prebuilt.yaml 2024-01-11 12:03:44 +01:00
Edward Firmo
37450c5643 Update validate_yamllint.yml 2024-01-11 12:01:34 +01:00
Edward Firmo
6bf36ded89 Lint 2024-01-11 11:52:39 +01:00
Edward Firmo
ce9d45504c disable empty-values rule 2024-01-11 11:45:07 +01:00
Edward Firmo
36eea7c483 Typo 2024-01-11 11:42:49 +01:00
Edward Firmo
f50994d4bc Disable quoted-strings rule 2024-01-11 11:39:55 +01:00
Edward Firmo
1059528825 Disable key ordering rule 2024-01-11 11:36:06 +01:00
Edward Firmo
0c6f62f9b8 Update yamllint.yml 2024-01-11 11:33:01 +01:00
Edward Firmo
3e75c94031 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-11 11:25:09 +01:00
Edward Firmo
c62ad5454b Sort Milestones by title 2024-01-11 11:22:22 +01:00
Edward Firmo
f8fee99972 Merge pull request #1587 from andythomas/bugfix_1574
bugfix for embedded climate/cool functionality
2024-01-11 11:08:45 +01:00
Edward Firmo
cb840c53a8 Update ReleaseNotes.md 2024-01-11 10:55:43 +01:00
Andy Thomas
c7fd545701 corrected typo 2024-01-11 08:59:44 +01:00
Andy Thomas
35f09a5582 bugfix for embedded climate/cool functionality 2024-01-11 08:43:35 +01:00
Edward Firmo
287a49f617 Merge pull request #1586 from Blackymas/dev
v4.2 Beta 7
2024-01-11 01:54:03 +01:00
Edward Firmo
0a2970eb7f Bump version to 4.2beta.7 2024-01-11 01:48:19 +01:00
Edward Firmo
755e69388f Beta 7 2024-01-11 01:34:06 +01:00
Edward Firmo
03d1aa477c Fix crash when light doesn't provide attribute rgb_color
Solves #1584
Solves #1585
2024-01-11 01:32:20 +01:00
Edward Firmo
ff42959751 Lint 2024-01-11 01:13:57 +01:00
Edward Firmo
c642da6c3c Upload file selector on esp-idf only 2024-01-11 00:52:56 +01:00
Edward Firmo
06b0ccfd10 Add reference to #1583
Add reference to #1583
2024-01-10 21:08:08 +01:00
Edward Firmo
dc4312c302 Wrap-up release notes 2024-01-10 21:00:35 +01:00
Edward Firmo
45c3eafece Merge pull request #1581 from Blackymas/dev
v4.2 Beta 6
2024-01-10 15:18:27 +01:00
Edward Firmo
cc976ec820 Bump version to 4.2beta.6 2024-01-10 14:10:53 +01:00
Edward Firmo
c8d84a6458 Use relative pics 2024-01-10 09:20:17 +01:00
Edward Firmo
e906fc76b9 Add web_server 2024-01-10 08:37:12 +01:00
Edward Firmo
f53f1fb30c Fix display of unit_of_measurement when it is None
Solves #1576
2024-01-10 08:25:07 +01:00
Edward Firmo
a1e23fc4be Moved outside CJK folder 2024-01-10 02:54:41 +01:00
Edward Firmo
948124927d Fix tft url when nextion_update_url is selected 2024-01-10 01:49:17 +01:00
Edward Firmo
1078125b98 Avoid displayin "None" when no icon is available
Display `all_icons.blank` instead.
Solves #1576
2024-01-10 01:36:48 +01:00
Edward Firmo
9dc93d8969 Getting ready for release 2024-01-09 23:54:50 +01:00
Edward Firmo
7c46f5d1f0 Merge pull request #1573 from andythomas/dev
Dev Allow to set upper and lower set point for embedded thermostat
2024-01-09 23:52:12 +01:00
Edward Firmo
e5fcd218e5 Update ReleaseNotes.md 2024-01-09 23:34:40 +01:00
Edward Firmo
abf90eec4a Expand this to climate cool & dual 2024-01-09 23:27:44 +01:00
Edward Firmo
945732b51a Issues templates 2024-01-09 23:09:15 +01:00
Andy Thomas
8c70f3b94d rename according to esphome convention 2024-01-09 22:21:43 +01:00
Edward Firmo
f9777209e3 Merge pull request #1575 from Blackymas/dev
v4.2 Beta 5
2024-01-09 21:19:15 +01:00
Edward Firmo
1fc0b22f44 Lint 2024-01-09 18:53:38 +01:00
Edward Firmo
a9ef296fb2 Display ° when moving sliders
Solves #1569
2024-01-09 18:49:57 +01:00
Andy Thomas
315d982029 Update documentation: set points embedded heater 2024-01-09 18:37:17 +01:00
Andy Thomas
ff5894fa68 allow to define set points for embedded heater
This allow to set the upper and lower set point for the embedded thermostat heater. The naming was taken from the HA generic thermostat, i.e. `cold_tolerance` and `hot_tolerance`
2024-01-09 18:33:39 +01:00
Edward Firmo
b9c66a33a6 Add "Model does not match" to manual 2024-01-09 18:24:24 +01:00
Edward Firmo
02615c0cd0 Merge pull request #1570 from Blackymas/dev
v4.2 Beta 4
2024-01-09 14:22:48 +01:00
Edward Firmo
dc2c777580 Rebuilt climate sliders limits
Solves #1551
Solves #1554
Solves #1561
Solves #1562
2024-01-09 14:03:29 +01:00
Edward Firmo
d010cf4b28 Fix icon color based on state
Solves #1565
2024-01-09 12:14:35 +01:00
Edward Firmo
33cce61147 ESP-IDF v5 compatibility 2024-01-09 11:38:17 +01:00
Edward Firmo
973d8ec37a Check if entity is valid before using it's values
Trying to fix #1559 and #1563
2024-01-09 00:29:44 +01:00
Edward Firmo
a520d0773c Merge pull request #1559 from Blackymas/dev
v4.2 Beta 2
2024-01-08 20:35:50 +01:00
Edward Firmo
869c8160d4 Prioritize user's selected icon color
Solves #1558
2024-01-08 20:30:36 +01:00
Edward Firmo
4bc3fdb28b Keeps relay info updated
Solves #1550
2024-01-08 18:59:10 +01:00
Edward Firmo
d71a1e1fe8 Change slider focus with click on temperature values 2024-01-08 16:04:03 +01:00
Edward Firmo
cded65a9ec Lint 2024-01-08 15:49:13 +01:00
Edward Firmo
f24ba9739d Lint 2024-01-08 15:40:33 +01:00
Edward Firmo
86acccc36b Updated install 2024-01-08 15:37:15 +01:00
Edward Firmo
cfb8352f85 Lint 2024-01-08 12:39:03 +01:00
Edward Firmo
a056106a9f Lint 2024-01-08 12:35:59 +01:00
Edward Firmo
2bc47b41d6 Merge pull request #1555 from Blackymas/dev
v4.2 Beta 1
2024-01-08 12:23:35 +01:00
Edward Firmo
eff58b978a Test against released ESPHome 2024-01-08 10:28:19 +01:00
Edward Firmo
649bc9ff0d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-08 10:26:23 +01:00
Edward Firmo
c50a6cc5e4 Lint 2024-01-08 10:26:14 +01:00
Edward Firmo
c8be47b2e5 Delete nspanel_esphome_prebuilt.bin 2024-01-08 10:24:02 +01:00
Edward Firmo
940477b1a9 Bump version to "4.2beta.1" 2024-01-08 10:23:20 +01:00
Edward Firmo
6ddac2d53f Text improvements 2024-01-08 10:15:42 +01:00
Edward Firmo
b304be171d Send both target_temp_high and target_temp_low when calling set_temperature service with range
Solves #1551
Solves #1554
Solves #1542
2024-01-07 22:41:33 +01:00
Edward Firmo
1e65a7ef05 Lint 2024-01-07 01:42:41 +01:00
Edward Firmo
4590c9e1c7 Rebuild climate sliders
Solves #1459
Solves #1510
Solves #1531
Solves #1542
Solves #1547
2024-01-07 01:33:58 +01:00
Edward Firmo
d17206c57d Set slider to be controlled by +/-
Solves #1548
2024-01-07 00:16:56 +01:00
Edward Firmo
10b323c2d6 Lint 2024-01-06 20:26:01 +01:00
Edward Firmo
88d84a8bbd Lint 2024-01-06 20:20:49 +01:00
Edward Firmo
8c4c06b067 Lint 2024-01-06 20:14:54 +01:00
Edward Firmo
6f5ebab2ed Lint 2024-01-06 20:09:31 +01:00
Edward Firmo
2422400a28 Lint 2024-01-06 20:03:14 +01:00
Edward Firmo
c77758b0f2 Uploading to Nextion 2024-01-06 15:49:04 +01:00
Edward Firmo
ef434eb3b6 Integrating your panel to Home Assistant 2024-01-06 14:04:48 +01:00
Edward Firmo
11deb78613 Add instructions for when the buttons are not available
Solves #1494
2024-01-06 08:51:12 +01:00
Edward Firmo
56be238c65 Lint 2024-01-06 08:42:02 +01:00
Edward Firmo
df1434fd34 Inform the change API Encryption breaks connection with HA
Solves #1540
2024-01-06 08:33:48 +01:00
Edward Firmo
27ca231442 Lint 2024-01-06 01:15:03 +01:00
Edward Firmo
8b2ed460b6 Lint 2024-01-06 01:11:40 +01:00
Edward Firmo
e86919afec Lint 2024-01-06 01:09:23 +01:00
Edward Firmo
9a8ff1159b Standardize heater_relay on docs
Solves #1541
2024-01-06 00:44:29 +01:00
Edward Firmo
fd3b67288c Add instruction on how-to open pages from Home Assistant
Solves #1471
Solves #1522
2024-01-05 22:47:51 +01:00
Edward Firmo
68d921c1ee Fix page name on long_press of buttons pages
Solves #1535
Solves #1534
Solves #1511
2024-01-05 13:30:19 +01:00
Edward Firmo
a259d354b3 Lint 2024-01-05 12:25:00 +01:00
Edward Firmo
02b7420798 Lint 2024-01-05 12:23:00 +01:00
Edward Firmo
5470794a17 Lint 2024-01-05 12:20:26 +01:00
Edward Firmo
f410a205e9 Lint 2024-01-05 12:18:29 +01:00
Edward Firmo
706c600c5c Lint 2024-01-05 12:10:11 +01:00
Edward Firmo
bed6d63c7a Lint 2024-01-05 12:01:21 +01:00
Edward Firmo
f77657fabb Lint 2024-01-05 11:53:50 +01:00
Edward Firmo
d4949d16d7 Lint 2024-01-05 11:51:29 +01:00
Edward Firmo
9686a62619 Lint 2024-01-05 11:49:42 +01:00
Edward Firmo
1896e4fc68 Lint 2024-01-05 11:44:19 +01:00
Edward Firmo
f12d4c1eea Lint 2024-01-05 11:41:56 +01:00
Edward Firmo
d235ddb4ac Lint 2024-01-05 11:35:07 +01:00
Edward Firmo
4d540a8b94 Lint 2024-01-05 11:33:34 +01:00
Edward Firmo
daa9142f7f Lint 2024-01-05 11:27:52 +01:00
Edward Firmo
a617a84dc7 Lint 2024-01-05 11:24:32 +01:00
Edward Firmo
c0ffb0896c Lint 2024-01-05 11:21:57 +01:00
Edward Firmo
03d04fcd6b Markdown links 2024-01-05 11:16:12 +01:00
Edward Firmo
75c2ff88b7 Run only when a -md file changes 2024-01-05 11:14:25 +01:00
Edward Firmo
3b1a704b36 Exceptions 2024-01-05 11:11:01 +01:00
Edward Firmo
c35808b560 Remove docs in German 2024-01-05 11:06:39 +01:00
Edward Firmo
9c0958dc51 Lint 2024-01-05 10:59:55 +01:00
Edward Firmo
de3ec8e3d9 Lint 2024-01-05 10:54:53 +01:00
Edward Firmo
f69b48df52 Lint 2024-01-05 10:50:55 +01:00
Edward Firmo
371803dcf3 Markdown links 2024-01-05 10:45:50 +01:00
Edward Firmo
bcc8794b19 Lint 2024-01-05 10:35:35 +01:00
Edward Firmo
c3b11eb581 Lint 2024-01-05 10:33:14 +01:00
Edward Firmo
ddbe7d9723 Lint 2024-01-05 10:29:36 +01:00
Edward Firmo
216f6f3102 Markdown links 2024-01-05 10:27:05 +01:00
Edward Firmo
db8e204fa6 Update validate_markdown.yml 2024-01-05 10:20:59 +01:00
Edward Firmo
afea2518ce Create config file 2024-01-05 10:19:16 +01:00
Edward Firmo
484fc4ba8c Update validate_markdown.yml 2024-01-05 10:13:25 +01:00
Edward Firmo
d158a801ad Update validate_markdown.yml 2024-01-05 10:11:21 +01:00
Edward Firmo
5268e214a3 Lint 2024-01-05 10:07:09 +01:00
Edward Firmo
71e33527a5 Lint 2024-01-05 10:05:38 +01:00
Edward Firmo
671145a56b Lint 2024-01-05 10:03:03 +01:00
Edward Firmo
65dc1cdf25 Lint 2024-01-05 09:59:24 +01:00
Edward Firmo
e766b8ccb9 Lint 2024-01-05 09:46:38 +01:00
Edward Firmo
bba6eb2aa6 Lint 2024-01-05 09:37:12 +01:00
Edward Firmo
ad2edfd905 Markdown lint 2024-01-05 09:30:42 +01:00
Edward Firmo
716845bd0b Markdown lint 2024-01-05 09:28:10 +01:00
Edward Firmo
8e70389fc4 Update README.md 2024-01-05 09:23:44 +01:00
Edward Firmo
c08c133a15 Revert "Use yaml for rules"
This reverts commit 70e6a88638.
2024-01-05 09:17:49 +01:00
Edward Firmo
70e6a88638 Use yaml for rules 2024-01-05 09:16:41 +01:00
Edward Firmo
469a84492c Update .markdownlint.jsonc 2024-01-05 09:14:32 +01:00
Edward Firmo
099f530947 Update validate_markdown.yml 2024-01-05 09:09:28 +01:00
Edward Firmo
f6b400aafa Update validate_markdown.yml 2024-01-05 09:08:23 +01:00
Edward Firmo
dae5d5b574 Update link to config file 2024-01-05 09:04:26 +01:00
Edward Firmo
f0661f0a6c Update validate_markdown.yml 2024-01-05 08:57:12 +01:00
Edward Firmo
8f200fbd0a Update validate_markdown.yml 2024-01-05 08:39:18 +01:00
Edward Firmo
195105e1f6 Update validate_markdown.yml 2024-01-05 08:37:47 +01:00
Edward Firmo
0cc4c4fddb Update validate_markdown.yml 2024-01-05 08:36:23 +01:00
Edward Firmo
d099d45eae Update validate_markdown.yml 2024-01-05 08:32:04 +01:00
Edward Firmo
b5115df38e Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-05 08:26:07 +01:00
Edward Firmo
797698ed4f Update Markdown validations 2024-01-05 08:25:57 +01:00
Edward Firmo
0d4c2a012b Merge pull request #1537 from tikismoke/patch-1
DOC explain relay fallback mode
2024-01-05 07:49:44 +01:00
Edward Firmo
763693c2ca Validate markdown 2024-01-05 07:48:47 +01:00
Edward Firmo
bc6be10462 Update ReleaseNotes.md 2024-01-05 07:32:14 +01:00
Edward Firmo
cbb08dc747 A bit of rewording and adding reference to the issue
Solves #1349
2024-01-05 07:20:03 +01:00
tikismoke
c4c65ebf34 Update customization.md 2024-01-05 05:04:26 +01:00
Edward Firmo
622279c732 Update install.md 2024-01-05 02:44:00 +01:00
Edward Firmo
76738b6c61 Update install.md 2024-01-05 02:43:08 +01:00
Edward Firmo
173fb22fd7 Update install.md 2024-01-05 02:39:42 +01:00
Edward Firmo
8de24eafa1 Update install.md 2024-01-05 02:16:56 +01:00
Edward Firmo
d3388f2f01 Update install.md 2024-01-05 02:16:03 +01:00
Edward Firmo
4416605d85 That is not that important 2024-01-05 01:49:42 +01:00
Edward Firmo
f28f4b59d6 Replacing highlights with blockquotes 2024-01-05 01:47:51 +01:00
Edward Firmo
ded74c787f Migrating highlights to blockquotes 2024-01-05 01:39:23 +01:00
Edward Firmo
3916649e73 Update install.md 2024-01-05 01:21:04 +01:00
Edward Firmo
c293b3b2ec Update install.md 2024-01-05 01:20:05 +01:00
Edward Firmo
ca47631472 Updated intallation instructions (partial) 2024-01-05 00:53:09 +01:00
Edward Firmo
e19520e7df Update CJK fonts
Based on new fonts from #1532
2024-01-04 23:24:02 +01:00
Edward Firmo
37f2606aed Remove redundant refresh calls
Solves #1529
2024-01-04 23:02:48 +01:00
Edward Firmo
f77c7efbd6 Fix buttons positions on US Land models
Solves #1533
2024-01-04 21:49:15 +01:00
Edward Firmo
0cc3e4fe6d Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2024-01-04 21:36:02 +01:00
Edward Firmo
b620f543a2 Add charsets to the repo 2024-01-04 21:35:48 +01:00
Edward Firmo
32b29f140f Merge pull request #1532 from bluefoxlee/dev
Update CJK fonts and T.Chinese translation
2024-01-04 21:34:55 +01:00
bluefoxlee
0467fed532 Merge branch 'Blackymas:dev' into dev 2024-01-05 03:28:08 +08:00
Edward Firmo
24eb593a29 Update install.md 2024-01-04 20:27:54 +01:00
bluefoxlee
57e2106baa Update CJK fonts
- Add HKSCS most command characters (548)
- Add fullwidth punctuation marks
- Adjust font typeface/size
2024-01-05 03:27:21 +08:00
Edward Firmo
8cbe6181f1 Update install.md 2024-01-04 20:27:05 +01:00
bluefoxlee
d694867474 Update T.Chinese translation
Very minor update.
2024-01-05 03:21:14 +08:00
Edward Firmo
f178c45d16 Update install.md 2024-01-04 20:15:59 +01:00
Edward Firmo
348763d4d6 Update installation instructions
This still draft
2024-01-04 20:02:41 +01:00
Edward Firmo
9f4b571ddf Update buttons on climate page
Solves #1515
2024-01-04 15:40:53 +01:00
Edward Firmo
77a2ab7c46 Do not update climate entity when page home is refreshed
Solves #1530
2024-01-04 15:33:06 +01:00
Edward Firmo
fe124dfe9c Handles HVAC mode auto
Solves #1459
2024-01-04 10:58:19 +01:00
Edward Firmo
8f46a44cca Store TFT file to resist power cycle 2024-01-04 10:53:06 +01:00
Edward Firmo
7414d116fd New installation manual (draft) 2024-01-04 10:51:33 +01:00
Edward Firmo
602bc03d02 Change TFT selector's saving on power cycle 2024-01-04 02:50:29 +01:00
Edward Firmo
e0d821a7ed Prevent repeated report settings in a sequence 2024-01-04 01:35:19 +01:00
Edward Firmo
795e23aba6 Support single temperature when range is null
Solves #1510
2024-01-04 01:24:58 +01:00
Edward Firmo
4979fe856e Update nspanel_esphome_prebuilt.bin 2024-01-03 23:54:29 +01:00
Edward Firmo
beae026a0b Rebuilt nspanel_us files
Solves #1509
2024-01-03 23:52:40 +01:00
Edward Firmo
3ba64b6108 Add SSID to wifi change instructions
Solves #1476
2024-01-03 23:28:59 +01:00
Edward Firmo
ffa34d67bd Rebuilt nspanel_CJK_eu.hmi
Solves #1513
The TFT was also re-generated, but has no difference to the previous one.
2024-01-03 23:19:11 +01:00
Edward Firmo
5be3692ab6 Remember wake-up page after power cycle
Solves #1520
2024-01-03 23:10:22 +01:00
Edward Firmo
10eed8723e Refining release notes 2024-01-03 22:13:17 +01:00
Edward Firmo
1afbb79402 Update ReleaseNotes.md 2024-01-03 21:47:14 +01:00
Edward Firmo
289eb8e395 Fix links 2024-01-03 20:32:20 +01:00
Edward Firmo
30ed450a4f TFT upload selectors 2024-01-03 20:16:33 +01:00
Edward Firmo
00d8cc9c94 Publish prebuilt yaml 2024-01-03 00:11:49 +01:00
Edward Firmo
cb4edd2a0f Add instrutions to change Wi-Fi password
Solves #1177
Solves #1476
2024-01-02 22:42:11 +01:00
Edward Firmo
04ea3398f9 Create nspanel_esphome_prebuilt.bin 2024-01-02 17:27:02 +01:00
Edward Firmo
295ee0e81e Set correct brightness on sleep
Solves #1492
2024-01-02 16:35:39 +01:00
Edward Firmo
adca6a7039 Prepares for pre-build 2024-01-02 16:34:24 +01:00
Edward Firmo
9c755d453a Fix reference to custom buttons on climate page
Solves #1481
2024-01-02 15:41:41 +01:00
Edward Firmo
a1fa64fdfb Fix attribute name hvac_modes 2024-01-02 14:43:37 +01:00
Edward Firmo
522c8bb8cc Yamllint 2024-01-02 14:38:16 +01:00
Edward Firmo
4ab62f817d Fix supported features engine for climate 2024-01-02 14:37:42 +01:00
Edward Firmo
e98e2612bf Fix new component names on climate page 2024-01-02 14:37:05 +01:00
Edward Firmo
e45d07cfd7 Show heat_cool icon when dual climate add-on installed 2024-01-02 13:54:32 +01:00
Edward Firmo
07fda78fdc yamllint 2024-01-02 13:45:31 +01:00
Edward Firmo
64f4399382 Fallback to legacy upload tft
To support Lovelace UI tft installed
2024-01-02 13:39:59 +01:00
Edward Firmo
98fc65debd Improve clarity on changes to icons
Solves #1504
2024-01-02 12:38:15 +01:00
Edward Firmo
7cf66890fd Yamllint 2024-01-01 22:57:53 +01:00
Edward Firmo
e3509453cd Clean-up commented code 2024-01-01 22:55:10 +01:00
Edward Firmo
944f3bf221 Fix call to set_climate with new parameters 2024-01-01 22:48:13 +01:00
Edward Firmo
a89a54bbac Fix blueprint generating invalid automation 2024-01-01 22:16:40 +01:00
Edward Firmo
f09021d859 Dual target climate page
- Solves #909
- Partially solves #1486
- Solves #1481
- Solves #1459
- Solves #1006
- Solves #1106
2024-01-01 22:04:51 +01:00
Edward Firmo
35b0c23be8 Refresh pages when new settings comes 2023-12-31 22:00:16 +01:00
Edward Firmo
d32bf23ebe Screensaver time support %p not present
Solves #1492
2023-12-31 13:38:38 +01:00
Edward Firmo
e02ee95198 Rebuilt Upload TFT
Rebuilt again, now based on the ESPHome's Nextion component instead of local code.
Still not there yet, specially when Lovelace UI tft is installed, but hopefully this solves #1383 and solves #1491.
2023-12-30 01:59:51 +01:00
Edward Firmo
05ab9a8664 Reduces invalid_cooldown to 100ms
Solves #1479
2023-12-28 12:27:46 +01:00
Edward Firmo
33a0a34938 Reorg substitutions
Makes easier custom passwords.
2023-12-28 12:27:00 +01:00
Edward Firmo
00640bd360 Add queue_size to nextion_status 2023-12-28 12:14:20 +01:00
Edward Firmo
e361284c4c Add Nextion queue info to Watchdog logs 2023-12-28 11:32:44 +01:00
Edward Firmo
a49a8fc7ba Add substitution for invalid_cooldown
Solves #1479
2023-12-28 10:34:19 +01:00
Edward Firmo
501855e777 Custom buttons icon size
Solves #1480
2023-12-28 04:37:02 +01:00
Edward Firmo
ad08c45352 Translations - Korean
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1447#discussioncomment-7961280
2023-12-28 03:31:38 +01:00
Edward Firmo
d7d249308a Reboot with Wi-Fi timeout 2023-12-28 02:16:21 +01:00
Edward Firmo
a929d88dc4 Update translations - Korean
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1447#discussioncomment-7961236
2023-12-28 02:03:54 +01:00
Edward Firmo
faed4a9111 Added entities pages
Need the borders (panel) in the pictures
2023-12-28 00:13:06 +01:00
Edward Firmo
73fba3b449 Use climate defaults from HA 2023-12-27 23:03:45 +01:00
Edward Firmo
18abbaf506 Watchdog to log baud rate 2023-12-27 22:22:18 +01:00
Edward Firmo
7fb322d4d8 New baud rate selector 2023-12-27 19:36:58 +01:00
Edward Firmo
2528d3506e Baud rate as a select control 2023-12-27 18:39:55 +01:00
Edward Firmo
60a56aade2 Selectable baud rate 2023-12-27 18:38:27 +01:00
Edward Firmo
801fc83986 Removed lovelace_custom_command
It was not in use
2023-12-27 18:18:37 +01:00
Edward Firmo
27bdc3272b Fix string value is None for dictionary value @ data['code_format']
Potentially solves #1462
2023-12-27 18:08:46 +01:00
Edward Firmo
c15179b215 Improving watchdog 2023-12-27 17:52:24 +01:00
Edward Firmo
357572d401 Extend watchdog to add-ons 2023-12-27 14:26:47 +01:00
Edward Firmo
4ad5457b0f ESPHome Watchdog
This implements a watchdog script with complementing the scripts `on_setup` and `refresh_wifi_icon` to be checking the components every minute and taking proper actions (when possible).
Solves #1464
2023-12-27 13:57:16 +01:00
Edward Firmo
29fface258 Simplifies reboot calls 2023-12-26 01:55:18 +01:00
Edward Firmo
ee76e3bd87 Turn-off Nextion on shutdown 2023-12-24 17:05:47 +01:00
Edward Firmo
c5c04ae262 Bump version to 4.2dev.2 2023-12-23 00:30:40 +01:00
Edward Firmo
c708b37b76 Add universal icons to buttons 2023-12-23 00:21:56 +01:00
Edward Firmo
eef2053a23 Fix translations - French
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-7930760
2023-12-22 21:49:40 +01:00
Edward Firmo
4621e73ec9 Icons are always forced 2023-12-22 21:19:41 +01:00
Edward Firmo
4b70d69397 Update fonts
Based on #1453
Helps with #1359
2023-12-22 21:14:53 +01:00
Edward Firmo
f251935ec6 Fix hw button indicator on Home page
Solves #1458
2023-12-22 20:11:47 +01:00
Edward Firmo
2dba0277f3 Fix harware buttons not working 2023-12-22 19:53:31 +01:00
Edward Firmo
bc2b9e8d04 Add icons for all domains
Solves #1461
2023-12-22 19:38:51 +01:00
Edward Firmo
c5155ceafa Merge pull request #1455 from Floppe/entlabels
Fix entity pages labels,
2023-12-22 15:38:45 +01:00
Edward Firmo
fa85b8129a Remove #DEBUG tag 2023-12-22 15:23:15 +01:00
Edward Firmo
0f94c3e3d3 Move fix to the shared code
So it applies globally
2023-12-22 15:22:01 +01:00
Edward Firmo
12d3ef937e Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-12-22 12:25:09 +01:00
Edward Firmo
666b1a2214 Comment out Lovelace UI commands
It was a nice UI, but wasn't helping with the TFT upload.
2023-12-22 12:25:02 +01:00
Edward Firmo
379dbfbed7 Merge pull request #1453 from bluefoxlee/dev
Update T.Chinese translation and Zi fonts.
2023-12-22 09:07:23 +01:00
Joachim Wickman
48c4cf9a89 Fix entity pages labels, was blank before. 2023-12-22 09:53:24 +02:00
bluefoxlee
8da2360798 Update Zi fonts 2023-12-22 08:47:42 +08:00
bluefoxlee
143b61bfe1 Update T.Chinese Translation 2023-12-22 08:38:58 +08:00
Edward Firmo
26d3d12236 Fix invalid reference to icon_color_rgb
Solves #963
2023-12-22 00:03:58 +01:00
Edward Firmo
2a0968e786 Fix num param update_msg 2023-12-21 23:59:16 +01:00
Edward Firmo
4f645903b2 Upload TFT improvements for Lovelace UI
Solve #1331
2023-12-21 21:41:53 +01:00
Edward Firmo
38489aa117 yamllint 2023-12-21 02:36:58 +01:00
Edward Firmo
e01b298e05 Translations to Japanese
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6002461
2023-12-21 02:23:08 +01:00
Edward Firmo
e8d41675ae Support to Korean
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-6064294
2023-12-21 02:13:27 +01:00
Edward Firmo
3f5e75ab45 ESPHome min version 2023.12.0 2023-12-21 01:44:44 +01:00
Edward Firmo
096b932daa Remove DEBUG code 2023-12-20 21:13:38 +01:00
Edward Firmo
bf60bb50ae Increased meridiem length
Solves #1359
2023-12-20 21:08:56 +01:00
Edward Firmo
8569a1b85b Fix button bar position
Solves #1459
2023-12-20 20:59:52 +01:00
Edward Firmo
040477a8c3 Fix icons mapping
Solves #1359
2023-12-20 20:55:59 +01:00
Edward Firmo
ce0035cd76 Update instructions for Lovelace UI users
Solves #1331
2023-12-20 12:49:34 +01:00
Edward Firmo
af9e081643 Splitting global_settings service
Looks like ESPHome didn't like the service calls with so many parameters.
2023-12-20 11:33:16 +01:00
Edward Firmo
cfa16bc8e2 Display time on screensaver page
Solves #1065
Solves #1439
2023-12-20 09:48:10 +01:00
Edward Firmo
fd0edd28f6 Bump version to 4.2dev.1 2023-12-19 23:02:23 +01:00
Edward Firmo
f3dc79a66f Update derived TFT files 2023-12-19 22:55:24 +01:00
Edward Firmo
2646e89a25 Update zh-tw translations
https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1359#issuecomment-1863492589
2023-12-19 22:47:52 +01:00
Edward Firmo
65c3761ff8 Add text field to screensaver
Supports #1065
Supports #1439
2023-12-19 22:15:44 +01:00
Edward Firmo
ced41b50e3 Enhanced timeout flexibility for Sleep, Page fallback, and Dimming settings
Solves #1438
2023-12-19 21:42:48 +01:00
Edward Firmo
0164de9aaa Update ReleaseNotes.md 2023-12-19 16:29:35 +01:00
Edward Firmo
0210488fe9 yamllint 2023-12-19 16:21:46 +01:00
Edward Firmo
482fe16e75 Add meridiem to translations
Solves #1359
2023-12-19 16:19:37 +01:00
Edward Firmo
a7c5533121 Clean-up add-ons engine 2023-12-19 11:55:22 +01:00
Edward Firmo
3ff0c394ce Remove script.service_call_climate
To make things simpler
2023-12-19 10:55:27 +01:00
Edward Firmo
1b13be1eaa Sort scripts by name
To make it easier to find things
2023-12-19 10:49:17 +01:00
Edward Firmo
88a49b00e4 Use back_page_id on screensaver page
Let's simplify things!
2023-12-19 10:25:07 +01:00
Edward Firmo
052fc9551c Change back_page_id
Reduces a bit the memory in TFT
Simplify the process
Open space for more pages to be used
Not visible by users
2023-12-19 09:59:42 +01:00
Edward Firmo
32d969ed3e Renamed wifi component
To distinct from `wifi_default`
2023-12-19 02:57:27 +01:00
Edward Firmo
9f570eddd7 push-button--momentary-switch 2023-12-19 02:40:17 +01:00
Edward Firmo
a6466b3c75 Push button / Momentary switch 2023-12-19 02:38:43 +01:00
Edward Firmo
a2727e77f4 Update deep_sleep instructions
Based on changes introduced by esphome/esphome#5666
2023-12-19 02:28:02 +01:00
Edward Firmo
626550a082 Add upload blank tft button to advanced package 2023-12-19 02:23:43 +01:00
Edward Firmo
41a4be4bb5 Removing trailing spaces 2023-12-19 02:05:35 +01:00
Edward Firmo
7baff2c54c Add blueprint not detected icon on home page
Helps with #1436
2023-12-19 02:01:36 +01:00
Edward Firmo
647fe27bc0 Change mode on preset home 2023-12-18 23:25:12 +01:00
Edward Firmo
6e55c61032 Implements target_low and target_high substitutions
Solves #1418
2023-12-18 23:22:36 +01:00
Edward Firmo
5877af3493 Add climate dual to validations 2023-12-18 22:45:27 +01:00
Edward Firmo
346897ac94 Initial support to addon_climate_dual 2023-12-18 22:38:32 +01:00
Edward Firmo
e8e483a92a yamllint 2023-12-18 17:54:09 +01:00
Edward Firmo
9d68ecb5ab yamllint 2023-12-18 17:52:17 +01:00
Edward Firmo
a84c428ab8 yamllint 2023-12-18 17:48:45 +01:00
Edward Firmo
98d3a9189c yamllint 2023-12-18 17:42:45 +01:00
Edward Firmo
25567fa381 Alarm page cannot be used as wake-up page
Solves #1435
2023-12-18 16:02:29 +01:00
Edward Firmo
03f7315ab8 REmove alarm from wakeup list
With new support to multiple alarms, we don't know which one to open.
Solves #1435
2023-12-18 16:00:33 +01:00
Edward Firmo
540a27e7cc Forbidden very long lines 2023-12-18 15:44:15 +01:00
Edward Firmo
4f8a69d2e7 yamllint 2023-12-18 15:42:51 +01:00
Edward Firmo
75c9246c5e yamllint 2023-12-18 15:40:13 +01:00
Edward Firmo
83c641deef yamllint 2023-12-18 15:28:42 +01:00
Edward Firmo
286e98ecef yamllint 2023-12-18 15:16:00 +01:00
Edward Firmo
d432a88a8e yamllint 2023-12-18 15:08:49 +01:00
Edward Firmo
bbbbb6b967 Yamllint 2023-12-18 15:03:26 +01:00
Edward Firmo
ffd657db9f yamllint 2023-12-18 14:58:33 +01:00
Edward Firmo
aa56ae21d5 yamllint 2023-12-18 14:48:46 +01:00
Edward Firmo
d5ea5318e0 yamllint 2023-12-18 14:43:33 +01:00
Edward Firmo
1a4dbb2b55 yamllint 2023-12-18 14:37:05 +01:00
Edward Firmo
8204c40a05 yamlint 2023-12-18 14:34:45 +01:00
Edward Firmo
540227aff8 yamllint 2023-12-18 14:26:35 +01:00
Edward Firmo
98eacf5bf5 comments-indentation yamllint 2023-12-18 14:16:11 +01:00
Edward Firmo
a608348424 Use yamllint default
More strict rules
2023-12-18 14:14:30 +01:00
Edward Firmo
e812a4e738 Fix indentation on services 2023-12-18 13:56:35 +01:00
Edward Firmo
dda34e021c Advanced mode no longer enforces esp-idf 2023-12-18 13:40:50 +01:00
Edward Firmo
b086ccc16d Support to Fahrenheit with esp-idf 2023-12-18 13:21:19 +01:00
Edward Firmo
a1e488c72f yaml lint 2023-12-18 12:58:25 +01:00
Edward Firmo
0e8736586b yaml lint 2023-12-18 12:57:07 +01:00
Edward Firmo
773de2bd51 Support internal temperature in Fahrenheit 2023-12-18 12:44:16 +01:00
Edward Firmo
c97be551c0 Enhanced control for automation entities on buttons
Solves #1291
Solves #810
Solves #1249
Solves #1291
Solves #320
Solves #331
2023-12-18 12:11:57 +01:00
Edward Firmo
b38829ae32 Add swipe control to screensaver page
Solves #665
2023-12-18 03:59:17 +01:00
Edward Firmo
e45e848501 Chips can be inverted
Solves #1365
2023-12-18 03:28:19 +01:00
Edward Firmo
9bac2c1ca8 Added support to climate on the hardware buttons
Possibly solves #1295
2023-12-18 03:15:33 +01:00
Edward Firmo
9146147438 Home page chips now supports covers
Solves #932
2023-12-18 03:05:59 +01:00
Edward Firmo
68158d96a3 Add support to remote
Solves #1434
2023-12-18 02:59:30 +01:00
Edward Firmo
85febce168 Add support to remote
Solves #1434
2023-12-18 02:58:44 +01:00
Edward Firmo
07d5f63d7c Move hw button label assignment to boot sequence
Partially solves #1409
2023-12-18 00:26:23 +01:00
Edward Firmo
e9fcc39470 Replicate latest changes 2023-12-17 23:57:35 +01:00
Edward Firmo
a3b55e341f Stop timers before upload tft 2023-12-17 23:41:18 +01:00
Edward Firmo
5f1c289f5b Fix missing ; 2023-12-17 23:01:25 +01:00
Edward Firmo
b5c8069e21 Support to alarm entities everywhere
Solves #1109
2023-12-17 22:52:30 +01:00
Edward Firmo
278baa44f9 Home page chips support to alarm 2023-12-17 22:24:49 +01:00
Edward Firmo
eb28c98da9 Review breaking changes
For improved clarity
2023-12-17 22:05:57 +01:00
Edward Firmo
857cda0552 Jump to wakeup page if blueprint isn't responding
Solves #1432
2023-12-17 21:43:14 +01:00
Edward Firmo
5999a984ba Replace bt_alarm by custom button07
Solves #1109
2023-12-17 21:33:39 +01:00
Edward Firmo
d5c7f7dc4f Try a reset first 2023-12-17 17:59:21 +01:00
Edward Firmo
b7e4a46476 Move en-docs to docs folder 2023-12-17 17:57:12 +01:00
Edward Firmo
3483f4e411 Upload baud rate selectable as substitution
Solves #1430 (or the next time something similar is found).
2023-12-17 15:15:03 +01:00
Edward Firmo
5c0eb29f21 Move on_touch logs to VERBOSE 2023-12-17 12:50:38 +01:00
Edward Firmo
a2dc5913fa Move page constructors to TFT
To reduce comms between ESPHome and Nextion, which could help with some sync issues found with 921600 bps.
2023-12-17 12:44:12 +01:00
Edward Firmo
bd99afa14b change Nextion2Text to utf-8
Using this now: https://github.com/MMMZZZZ/Nextion2Text/issues/14#issuecomment-1688084921
2023-12-17 11:01:59 +01:00
Edward Firmo
1b14e70df0 Change char encoding to utf-8
From iso-8859-1
2023-12-17 08:32:21 +01:00
Edward Firmo
d6c9d97d08 Add exit_reparse_on_start
New feature from ESPHome 2023.12.0
2023-12-16 23:25:57 +01:00
Edward Firmo
975bbb08a1 Moved CJK TFT files to advanced folder
Still to be decided if this will be supported as a normal installation, as there's no documentation indicating this files and it can cause confusion.
2023-12-16 23:05:44 +01:00
Edward Firmo
b495fc75f0 Updating error_initializing.md
Solves #1256
2023-12-16 22:47:52 +01:00
Edward Firmo
8eaec1682e Update blueprint.md
Solves #1256
2023-12-16 21:35:13 +01:00
Edward Firmo
22ed24a058 Update blueprint.md 2023-12-16 21:31:46 +01:00
Edward Firmo
884bef9774 Standardize suggested yaml between docs
Supports #1256
2023-12-16 20:36:55 +01:00
Edward Firmo
a070626ee1 Support to Chinese (Taiwan) and prepared for other CJK languages
Adds to #1359
2023-12-16 20:21:17 +01:00
Edward Firmo
f644adbb1b Sets charset variable to CJK
Adds to #1359
2023-12-16 20:05:34 +01:00
Edward Firmo
f1cf3aa3f2 Creating CJK TFT files
Solves #1359
2023-12-16 20:02:51 +01:00
Edward Firmo
d29c6382f7 Home page values update with same engine as chips
Solves #963
2023-12-16 19:43:36 +01:00
Edward Firmo
17115e09cc Selectable icon size on button pages
Solves #960
2023-12-16 18:48:34 +01:00
Edward Firmo
c8d805e174 Add zh-tw to the language list
Solves #1413 (blueprint only)
2023-12-16 09:53:50 +01:00
Edward Firmo
54638c619c Remove touchevent sensor
It was replaced by new `on_touch` trigger from Nextion component
2023-12-16 08:41:58 +01:00
Edward Firmo
6239149ec6 Don't send None as friendly name 2023-12-16 00:57:08 +01:00
Edward Firmo
31ff6b4716 Add log on touch event 2023-12-16 00:28:42 +01:00
Edward Firmo
36cad5ee4c Send component ID on touch 2023-12-16 00:21:24 +01:00
Edward Firmo
dc305d210c New on_touch event from Nextion component 2023-12-16 00:17:38 +01:00
Edward Firmo
f445be86ab Target validations to ESPHome beta 2023-12-15 23:45:48 +01:00
Edward Firmo
15d5b4cf17 Log if display is detected 2023-12-15 23:42:38 +01:00
Edward Firmo
ee98aed55d Bump min ESPHome to 2023.12.0b1
To take advantage of Nextion component improvements.
2023-12-15 23:32:01 +01:00
Edward Firmo
07cff9da83 Store display charset on ESPHome
Supports #1359
2023-12-15 23:18:18 +01:00
Edward Firmo
0cbb0b248a Send charset info on boot
Supports #1359
2023-12-15 22:30:38 +01:00
Edward Firmo
a864feec10 Add CJK source files
Supports #1359
2023-12-15 22:15:03 +01:00
Edward Firmo
f81c170e2c Update Howto to new format 2023-12-15 21:57:35 +01:00
Edward Firmo
39670e378f Updated instructions for Upload TFT troubleshooting 2023-12-15 21:36:57 +01:00
Edward Firmo
6e3edc96ac Increase txt_maxl for entity pages
Preparing to support additional languages.
Solves #1419
2023-12-15 10:33:40 +01:00
Edward Firmo
983f3d86a7 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-12-15 10:04:30 +01:00
Edward Firmo
4a45b8966a Link to page boot 2023-12-15 10:04:18 +01:00
Edward Firmo
972dba5774 Remove deep_sleep test 2023-12-14 15:58:51 +01:00
Edward Firmo
ff46e167df Remove deep_sleep from customizations tests
Please look at https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/955#issuecomment-1855395411
Related to #955
2023-12-14 10:02:20 +01:00
Edward Firmo
12a119e20e Rearrange custom buttons on page Home
To be closer to what was before
2023-12-14 09:14:22 +01:00
Edward Firmo
671b1127ec Move DE docs to repo
These docs won't be maintained from now.
2023-12-11 23:34:01 +01:00
Edward Firmo
6c23adcf6c Moving docs to repo 2023-12-11 23:28:39 +01:00
Edward Firmo
eadedd1401 Default baud rate for advanced mode is back to 115200 bps 2023-12-11 17:36:01 +01:00
Edward Firmo
f282f0203f The Wi-Fi power save mode is back to "NONE" as default 2023-12-11 17:34:33 +01:00
Edward Firmo
dd014127df Add heap info to upload logs 2023-12-11 14:01:52 +01:00
Edward Firmo
0ef83e9ba8 Climate 2-setpoints preparation 2023-12-11 13:57:36 +01:00
Edward Firmo
77bd6addc4 Climate 2-setpoints preparation 2023-12-11 13:56:54 +01:00
Edward Firmo
970f65092a Update detailed page connected to home custom buttons
Solves #1394
2023-12-08 15:04:45 +01:00
Edward Firmo
d06a15f132 Trimming home page 2023-12-08 14:24:19 +01:00
Edward Firmo
2794bf3c6b Home page trimming 2023-12-08 13:24:22 +01:00
Edward Firmo
0fe251f881 Rebuilt US land from EU model 2023-12-08 13:16:10 +01:00
Edward Firmo
6bc57455ea Reorg home page EU models 2023-12-08 12:53:01 +01:00
Edward Firmo
74ed612c15 Changed to 6 custom buttons on home page 2023-12-08 11:42:13 +01:00
Edward Firmo
f480869992 Hard coded target_temperature step
#This is hard coded for now as ESPHome isn't supporting a substitution here. In contact with support.
2023-12-08 10:57:21 +01:00
Edward Firmo
022baa8727 Update README.md 2023-12-08 10:18:44 +01:00
Edward Firmo
6af9994c0c Delete CONTRIBUTING.md
It wasn't adding any value.
2023-12-08 09:57:12 +01:00
Edward Firmo
89e566c932 set current temperature precision to 0.1
Solves #1388
2023-12-08 09:20:45 +01:00
Edward Firmo
cf79e467b3 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-12-08 09:10:50 +01:00
Edward Firmo
db814c1ab0 Link to sorted milestones 2023-12-08 09:10:44 +01:00
Edward Firmo
1b3ccfb2db Use Milestones is substitution to Roadmap
Roadmap is too far ahead
2023-12-08 08:47:11 +01:00
Edward Firmo
4f0b3728cb Add screenshot 2023-12-08 03:20:35 +01:00
Edward Firmo
83972256ed Outdoor temperature selectable font size 2023-12-08 03:18:48 +01:00
Edward Firmo
336698cb72 Additional custom button on Home page
Solves #1257
2023-12-08 02:13:55 +01:00
Edward Firmo
ceb669dfc8 Implements Update TFT display URL select
To make it easier to update new displays.
2023-12-07 15:44:14 +01:00
Edward Firmo
588de3bc03 Bump ESPHome minimum required version to 2023.11
Solves #1395
2023-12-07 14:59:20 +01:00
Edward Firmo
cd34f1885c Remove trailing spaces 2023-12-07 08:49:12 +01:00
Edward Firmo
61d061d69e Fix file reference on validation 2023-12-07 08:47:07 +01:00
Edward Firmo
07304a2dcc Don't use not released features 2023-12-07 08:15:12 +01:00
Edward Firmo
ae6ad884f7 Repo reorg 2023-12-07 08:12:38 +01:00
Edward Firmo
65408e3a44 Repo reorg 2023-12-07 07:42:01 +01:00
Edward Firmo
5780b7208a Remove reference to DEV component 2023-12-07 07:26:17 +01:00
Edward Firmo
8541b221ad Merge pull request #1392 from Blackymas/beta
Merge latest changes into DEV
2023-12-07 01:45:49 +01:00
Edward Firmo
a94d3a19c8 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into beta 2023-12-07 01:37:57 +01:00
Edward Firmo
c94a8d5f9a Additional UI log 2023-12-07 01:18:30 +01:00
Edward Firmo
34d9432651 Code clean-up 2023-12-07 00:57:03 +01:00
Edward Firmo
c57e4165d0 Merge pull request #1386 from Blackymas/beta
v4.1.4 - Supports Home Assistant 2023.12.0
2023-12-05 18:51:35 +01:00
Edward Firmo
be1c8a264e Do not test IDF v5 2023-12-05 18:08:01 +01:00
Edward Firmo
f6d8d069cc Upload TFT UI on the panel 2023-12-05 18:06:55 +01:00
Edward Firmo
2909ce6cc8 Upload TFT UI on panel 2023-12-05 18:03:34 +01:00
Edward Firmo
ba6f0264a6 This file will be moved to advanced folder soon
To avoid a breaking change
2023-12-05 17:14:49 +01:00
Edward Firmo
15e1976715 Remove extra line 2023-12-05 17:10:59 +01:00
Edward Firmo
88bb6ff176 Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into beta 2023-12-05 16:59:01 +01:00
Edward Firmo
cbdc47170f TFT Upload routine clean-up
Solves #1378
Solves #1383
2023-12-05 16:58:54 +01:00
Edward Firmo
5cb2a193c6 Fix file path 2023-12-04 23:15:11 +01:00
Edward Firmo
cf4d0f9393 Try update at 921600bps first 2023-12-04 22:49:44 +01:00
Edward Firmo
a0a17bcfa1 Shortening boot sequence a bit
As baud rate wouldn't change anymore
2023-12-04 22:45:42 +01:00
Edward Firmo
ae40f651be Set advanced baud rate to 115200
Users reported issues on #1358
2023-12-04 22:38:25 +01:00
Edward Firmo
3df926cfc1 Fix path 2023-12-04 22:35:39 +01:00
Edward Firmo
304233218a Fix relative path on workflows 2023-12-04 22:33:21 +01:00
Edward Firmo
642c680cae Fix test relative folders 2023-12-04 22:24:01 +01:00
Edward Firmo
da4b64ed95 Reorg files
To make it easier for users
2023-12-04 22:19:03 +01:00
Edward Firmo
0565f5f522 Redistribute tree 2023-12-04 18:52:02 +01:00
Edward Firmo
7d5b2b8d30 Remove manual line break from page's title
Solves #1367
2023-12-04 16:19:25 +01:00
Edward Firmo
019a882fe9 Bump version to 4.1.4 2023-12-04 16:05:26 +01:00
Edward Firmo
978df5ad75 Merge pull request #1375 from Blackymas/beta
Align branchs
2023-12-04 14:27:31 +01:00
Edward Firmo
02b94979b3 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into beta 2023-12-04 13:36:49 +01:00
Edward Firmo
c1a513610b Manual line break on multiline text with \r
Solves #1367
2023-12-04 09:30:18 +01:00
Edward Firmo
961b2c3f4d Supports new weather.get_forecasts
Solves #1377
2023-12-04 09:07:54 +01:00
Edward Firmo
bdd1726328 Merge pull request #1372 from Blackymas/beta
v4.1.3 - Bug fixing
2023-12-03 17:06:24 +01:00
Edward Firmo
f37ae5b1ce Fix climate page not updating properly 2023-12-03 16:24:12 +01:00
Edward Firmo
6a957a9099 Fix climate page not updating properly
Fixes #1284
Probably fixes #1351
2023-12-03 16:19:53 +01:00
Edward Firmo
f7de15d369 Remove tft_url reference
This is not available until ESPHome 2023.12
Partially covers issue #1330
2023-12-03 15:31:35 +01:00
Edward Firmo
b5ca2c8b60 Fix light icon color on buttons 2023-12-03 15:29:06 +01:00
Edward Firmo
4be2a84315 Fix light icon color on buttons
Solves #1356
2023-12-03 13:41:00 +01:00
Edward Firmo
647c56920e IDF v5 compatibility 2023-12-03 13:26:44 +01:00
Edward Firmo
f1c5ae505e Change temperature correction mode to box
To make it easier to adjust.
Improves #1369
2023-12-01 15:19:08 +01:00
Edward Firmo
6f857e6077 Don't show thermostat chip when auto
Solves #1265
2023-12-01 10:07:05 +01:00
Edward Firmo
b975869e1f Change baud rate manually 2023-11-30 21:46:00 +01:00
Edward Firmo
29e0e4b8ce Stop all when uploading tft 2023-11-30 21:44:43 +01:00
Edward Firmo
2c4a366d7b Change baud rate on click
Click on the baud rate info to switch between 115200 and 921600bps
2023-11-30 20:06:55 +01:00
Edward Firmo
cc10cfe0c5 Keep baud rate after connection 2023-11-30 20:02:58 +01:00
Edward Firmo
98187fe4a4 Clean-up code 2023-11-30 19:50:57 +01:00
Edward Firmo
19e4e9d5b6 Turn on screen after turn off 2023-11-30 14:11:36 +01:00
Edward Firmo
72ab301a2a Publish Nextion is off during upload TFT 2023-11-30 13:05:16 +01:00
Edward Firmo
67706293d3 Remove test blank button 2023-11-30 12:52:19 +01:00
Edward Firmo
99616d4e79 Don't exit reparse if is setup 2023-11-30 11:38:39 +01:00
Edward Firmo
bc677e6c21 Drop support to idf v5 2023-11-30 11:17:26 +01:00
Edward Firmo
309da77301 Don't use exit reparse from component 2023-11-30 09:22:10 +01:00
Edward Firmo
849e75bb6c Upload TFT remove dependency to from ESPHome Nextion component
Let's wait for those to be released before start using it.
2023-11-30 07:56:15 +01:00
Edward Firmo
9de99bcca2 Give Nextion more time at boot 2023-11-30 07:11:04 +01:00
Edward Firmo
7caac2e62c Don't update button if page changed
Solves #1358

It might be a bit slower to change between button pages now, as the blueprint checks for the page before sending to ESPHome and this one also checks before sending to Nextion, but it reduces a lot the chances of `Nextion reported variable name invalid!` and broken buttons on quick page changes.
2023-11-29 16:25:42 +01:00
Edward Firmo
1126fa03b4 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-11-28 23:26:04 +01:00
Edward Firmo
8469c5e6da Update nspanel_blueprint.yaml 2023-11-28 23:25:44 +01:00
Edward Firmo
5e9abec9dd Merge pull request #1355 from sylvinus/patch-1
Fix small typo in nspanel_blueprint.yaml
2023-11-28 22:45:15 +01:00
Edward Firmo
2b9283b336 Merge branch 'dev' into patch-1 2023-11-28 21:17:04 +01:00
Sylvain Zimmer
90a073bb39 Fix small typo in nspanel_blueprint.yaml 2023-11-28 20:35:49 +01:00
Edward Firmo
f357a58b9e Merge pull request #1347 from Blackymas/beta
v4.1.2 - Bug fixes and small enhancements
2023-11-28 16:54:05 +01:00
Edward Firmo
55f254e7a2 Revert "Remove esp-idf"
This reverts commit 58d86aeb86.
2023-11-28 16:09:39 +01:00
Edward Firmo
58d86aeb86 Remove esp-idf 2023-11-28 15:32:13 +01:00
Edward Firmo
53b3d131b6 Removed support to IDF 2023-11-28 15:29:42 +01:00
Edward Firmo
ec35a07f52 Fix call to older upload_tft() 2023-11-28 14:46:16 +01:00
Edward Firmo
d81a15195b Fix Nextion not communicating with ESPHome 2023.11.6 2023-11-28 14:42:19 +01:00
Edward Firmo
58cffafefc Remove is_detected 2023-11-28 14:36:36 +01:00
Edward Firmo
58b82b8a30 Remove reference to PR5683 2023-11-28 14:35:16 +01:00
Edward Firmo
629bf0aad1 Replace page announcement
Using "sendme" in replace to text sensor "currentpage".
2023-11-27 20:34:40 +01:00
Edward Firmo
a60ad3abd3 Fix display as a light
As per #1348
2023-11-27 19:05:36 +01:00
Edward Firmo
66c80a490b Icons standardization 2023-11-27 17:14:30 +01:00
Edward Firmo
657512a470 Bump version to 4.1.3dev 2023-11-27 16:23:23 +01:00
Edward Firmo
239406053f New entity anchor 2023-11-27 16:21:39 +01:00
Edward Firmo
93050ae34b Validate beta only on demand
To reduce number of unnecessary runs (when no beta is available)
2023-11-27 11:15:36 +01:00
Edward Firmo
da357eed7a Merge pull request #1342 from Blackymas/dev
v4.1.2 beta
2023-11-27 10:54:11 +01:00
Edward Firmo
ee50d69f03 custom buttons icons not updating on Home page 2023-11-27 10:15:53 +01:00
Edward Firmo
06f145a11c Fix custom buttons not updating
Solves #1343
2023-11-26 17:53:32 +01:00
Edward Firmo
819ba1fe04 Bump version to 4.1.2 2023-11-26 14:58:17 +01:00
Edward Firmo
4965c4ce59 Fallback to legacy forecast (attributes based) when new method (service based) fails. 2023-11-26 10:55:41 +01:00
Edward Firmo
adf356ae33 Fallback to old forecast model when new fails
Solves #1259
Solves #1335
2023-11-26 10:38:53 +01:00
Edward Firmo
c4543a73af Send component ID on page home
This will be used later with new touch detection routine
2023-11-26 10:32:01 +01:00
Edward Firmo
5f688a6949 Don't show thermostat chip when state is auto and no action is available 2023-11-26 10:03:59 +01:00
Edward Firmo
d93199968d Change chip color when "auto" 2023-11-26 09:55:54 +01:00
Edward Firmo
c7f9fb09a0 Don't show thermostat chip when auto
Solves #1265
2023-11-26 09:37:32 +01:00
Edward Firmo
20e8694566 Code clean-up 2023-11-26 08:42:47 +01:00
Edward Firmo
60b14d5315 add page_names array 2023-11-25 17:49:22 +01:00
Edward Firmo
48c5453f0a Add compatibility to IDF v5 2023-11-25 17:30:10 +01:00
Edward Firmo
8f3fc8c081 Merge pull request #1334 from bkbartk/dev
Update ReleaseNotes.md
2023-11-24 21:47:40 +01:00
Edward Firmo
578c38c418 Update ReleaseNotes.md 2023-11-24 21:47:13 +01:00
bkbartk
cb945041be Update ReleaseNotes.md 2023-11-24 21:25:52 +01:00
Edward Firmo
4096c1cf67 Merge pull request #1333 from bkbartk/dev
fix button picture fallback
2023-11-24 21:19:36 +01:00
bkbartk
0ecc8ac016 fix button picture fallback
when localfallback is enabled,
and the switch is turned off
relay_1-> state = off(false)
so the action won't be applied and it takes a second for the HA automation to update the icon.

so this check should not be here, it should only for fallback and then choose 1/0 based on the state.

remark(I cannot test off to on atm as my custom change then opens the detail page, but I have no reason to think this won't work)
2023-11-24 21:13:23 +01:00
Edward Firmo
0a3b201ee7 Merge pull request #1327 from bkbartk/dev
make screen power available in HA
2023-11-24 20:49:22 +01:00
Edward Firmo
0584b07275 Remove unnecessary code 2023-11-24 18:39:35 +01:00
Edward Firmo
dc6bc5d04f Revert back comments 2023-11-24 18:35:35 +01:00
Edward Firmo
8b5d7bfb05 Move "Nextion display - Power" to Diagnostic and disabled 2023-11-24 18:33:55 +01:00
Edward Firmo
18078ca1c0 Rename switch to "Nextion display - Power" 2023-11-24 18:33:09 +01:00
Edward Firmo
feacca7391 Wait for display setup when turning on 2023-11-24 18:22:03 +01:00
Edward Firmo
c6141b97f6 Set display not available when power off 2023-11-24 17:24:59 +01:00
Edward Firmo
be37fc3941 New switch "Screen Power" 2023-11-24 17:23:09 +01:00
bkbartk
3f9f0c00de make screen power available
sorry,

I'm stubborn, but I sometimes prefer this over the 15 sec press
2023-11-24 09:08:00 +01:00
Edward Firmo
fc4ff29533 Fix description for climate custom buttons
Solves #1267
2023-11-23 19:18:42 +01:00
Edward Firmo
12d5d88204 Add ppt with screenshots 2023-11-23 19:17:47 +01:00
Edward Firmo
47927abc8e Climate custom preset
Solves #1286
2023-11-23 16:42:59 +01:00
Edward Firmo
a34992c61e Fix calls to climate control 2023-11-23 15:29:30 +01:00
Edward Firmo
a0bc982d69 Fix scheduler conflict 2023-11-23 14:24:14 +01:00
Edward Firmo
7dcce35087 Resize pics 2023-11-23 14:16:54 +01:00
Edward Firmo
16d2906ff6 Added new screen shots with panel's frame 2023-11-23 13:52:18 +01:00
Edward Firmo
dba0aa2ee2 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-11-23 11:45:12 +01:00
Edward Firmo
c9947bc42c Create manuals_screenshots.md 2023-11-23 11:45:02 +01:00
Edward Firmo
3db5b990ce Update page settings
Solves #1322
2023-11-23 11:44:53 +01:00
Edward Firmo
04057654f9 Use ip for sntp server 2023-11-23 10:04:54 +01:00
Edward Firmo
960157cace Remove fast_connect from test 2023-11-23 09:15:10 +01:00
Edward Firmo
ec3024d132 Use a valid encryption key 2023-11-22 23:53:53 +01:00
Edward Firmo
bddfe706de Add dummy secrets file for testing 2023-11-22 23:32:47 +01:00
Edward Firmo
0199e867a8 Call the device as "panel" on inputs
To improve clarity.
Solves #1296
2023-11-22 23:11:57 +01:00
Edward Firmo
786f7795ed Close Notification page when cleared 2023-11-22 21:12:27 +01:00
Edward Firmo
9ff6e42e8e Add option to wake-up to Climate page
Solves #1321
2023-11-22 21:08:05 +01:00
Edward Firmo
0bdbb6e736 Add customizations to tests 2023-11-22 20:55:55 +01:00
Edward Firmo
6dcf47f4db Fix light icon color not being used for buttons
Solves #1317
2023-11-22 20:34:23 +01:00
Edward Firmo
b259b34768 Current temperature, not target
Solves #1298
2023-11-18 00:58:58 +01:00
Edward Firmo
a1d0343352 Merge pull request #1292 from Blackymas/beta
v4.1.1: UI Enhancements and Reintroduction of `play_rtttl` Service
2023-11-17 10:09:03 +01:00
Edward Firmo
88d047201e Merge pull request #1290 from Blackymas/dev
v4.1.1 beta
2023-11-17 08:14:48 +01:00
Edward Firmo
37e7ff8498 Bump TFT version to 4.1.1 2023-11-17 08:05:29 +01:00
Edward Firmo
67d8d941ba Merge pull request #1276 from bkbartk/dev 2023-11-15 20:29:54 +01:00
bkbartk
17b11937c3 Icons on homePAge 2023-11-15 20:08:00 +01:00
Edward Firmo
5184ed6ccb PR file specific 2023-11-15 05:02:59 +01:00
Edward Firmo
8e9c536b7c PR file specific 2023-11-15 05:01:43 +01:00
Edward Firmo
f0a684d7e1 PR file specific 2023-11-15 05:00:02 +01:00
Edward Firmo
2bfb7c7aab PR file specific 2023-11-15 04:58:46 +01:00
Edward Firmo
cbbc24636c No runs with PRs 2023-11-15 04:54:15 +01:00
Edward Firmo
118e6874cd No runs with PRs 2023-11-15 04:53:39 +01:00
Edward Firmo
543005bd37 No runs with PRs 2023-11-15 04:52:49 +01:00
Edward Firmo
ce68bb730e Merge pull request #1269 from bkbartk/dev
Dev
2023-11-15 04:50:12 +01:00
bkbartk
78aa2ee84b icons on overviewpages 2023-11-14 20:47:31 +00:00
Edward Firmo
f349f19550 Merge pull request #1268 from bkbartk/dev
climate fix
2023-11-14 21:37:29 +01:00
Edward Firmo
f9ff2edcd6 Display target temperature on buttons even when climate is off 2023-11-14 20:41:24 +01:00
Edward Firmo
9268961556 Bump version to 4.1.1 2023-11-14 20:31:51 +01:00
bkbartk
5e5c1726ed climate fix 2023-11-14 19:17:13 +00:00
Edward Firmo
7bf9e333c5 v4.1.1 patch
v4.1.1 patch
2023-11-14 07:58:29 +01:00
Edward Firmo
2656b1709e Merge branch 'beta' into dev 2023-11-14 07:44:25 +01:00
Edward Firmo
36d1ea7a05 Stop fallback to Home when Notification or Confirm shown 2023-11-14 07:41:08 +01:00
Edward Firmo
6025da2850 Stop fallback to Home when notification is shown
Solves #1261
2023-11-14 07:38:46 +01:00
Edward Firmo
bd14d7aa42 Bump version to 4.1.1 2023-11-14 07:28:37 +01:00
Edward Firmo
84edfcb8ea Add esphome.xxxxx_play_rtttl back to core
Solves #1262
2023-11-14 07:26:34 +01:00
Edward Firmo
bf96235054 Update README.md 2023-11-14 07:12:25 +01:00
Edward Firmo
0578c961a1 Update README.md 2023-11-14 07:10:00 +01:00
Edward Firmo
61a62ba452 Merge pull request #1254 from Blackymas/beta
v4.1 release
2023-11-12 16:28:35 +01:00
Edward Firmo
86a35de57c Remove build tests on beta environment 2023-11-12 10:00:40 +01:00
Edward Firmo
528c0814fb Bump version to 4.1
Ready for release
2023-11-12 10:00:40 +01:00
Edward Firmo
848db89b1a No need to reload PR every time 2023-11-12 10:00:40 +01:00
Edward Firmo
1f5a7c3a5f Fix naming 2023-11-12 10:00:40 +01:00
Edward Firmo
45a8f7f61e Add tests on ESPHome beta (temporarily) 2023-11-12 10:00:40 +01:00
Edward Firmo
e2f8a62f44 Remove references to bluetooth
It isn't stable enough.
2023-11-12 10:00:40 +01:00
Edward Firmo
9e24d2d4db Reorg things 2023-11-12 10:00:40 +01:00
Edward Firmo
c93f32837d Don't run on push 2023-11-12 10:00:40 +01:00
Edward Firmo
42db0b8502 Trigger on push 2023-11-12 10:00:40 +01:00
Edward Firmo
7d2fde6e03 Add scheduled 2023-11-12 10:00:40 +01:00
Edward Firmo
7d73841907 Create validate_esphome_beta.yml 2023-11-12 10:00:40 +01:00
Edward Firmo
e68d542ad2 Remove build tests on beta environment 2023-11-12 09:53:56 +01:00
Edward Firmo
bab945b242 Bump version to 4.1
Ready for release
2023-11-12 09:35:36 +01:00
Edward Firmo
7cac47d279 No need to reload PR every time 2023-11-12 08:15:42 +01:00
Edward Firmo
b9e23bf855 Fix naming 2023-11-12 07:42:28 +01:00
Edward Firmo
a0f749d4ab Add tests on ESPHome beta (temporarily) 2023-11-12 07:40:43 +01:00
Edward Firmo
a466d04810 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-11-12 07:27:49 +01:00
Edward Firmo
42ef838819 Remove references to bluetooth
It isn't stable enough.
2023-11-12 07:23:01 +01:00
Edward Firmo
7f9fd4c819 Reorg things 2023-11-11 23:48:40 +01:00
Edward Firmo
06ac511ae6 Don't run on push 2023-11-11 14:45:46 +01:00
Edward Firmo
d6cc901937 Trigger on push 2023-11-11 14:28:04 +01:00
Edward Firmo
40282b2e14 Add scheduled 2023-11-11 14:21:10 +01:00
Edward Firmo
55b9b9728b Create validate_esphome_beta.yml 2023-11-11 14:14:55 +01:00
Edward Firmo
d549f79aba Merge pull request #1250 from Blackymas/dev
v4.1b1
2023-11-11 11:59:49 +01:00
Edward Firmo
cef5191233 v4.1 - Easier TFT transfer 2023-11-11 11:39:22 +01:00
Edward Firmo
ba2df603c3 Bump version to 4.1b1
For beta testing
2023-11-11 11:24:09 +01:00
Edward Firmo
6f4ef58d2b Button to trigger automation
Changing behavior on button for automation from enabling/disabling to trigger the automation.
Solves #1249
2023-11-11 11:19:25 +01:00
Edward Firmo
7b4f6ac9f0 Remove old Upload TFT code
It was not in use
2023-11-11 10:20:51 +01:00
Edward Firmo
c8cf7b8046 Change parameter of display_wrapped_text
To add compatibility to ESPHome 2023.11

Solves #1247
2023-11-11 10:19:04 +01:00
Edward Firmo
035ebd64dc change notification_show parameter to message
For compatibility with ESPHome 2023.11.

Solves #1247
2023-11-11 10:13:17 +01:00
Edward Firmo
1857be65c2 Review on_boot script 2023-11-10 18:55:20 +01:00
Edward Firmo
69a13a9745 Hide brightness when button is off
Solves #1246
2023-11-10 18:52:57 +01:00
Edward Firmo
25efb93877 Removed service upload_tft
Please use this instead:
```yaml
service: esphome.xxxxx_upload_tft_url
data:
  url: "default"
```
2023-11-10 14:21:56 +01:00
Edward Firmo
889aa4fd43 Handle boot with blank tft 2023-11-10 12:30:43 +01:00
Edward Firmo
eb3a643f76 New blank tft 2023-11-10 12:05:59 +01:00
Edward Firmo
da37740ef3 Change baud_rate without restart 2023-11-10 11:31:08 +01:00
Edward Firmo
9d06a7f55a Set UART to 921600 bps 2023-11-10 10:44:29 +01:00
Edward Firmo
649c891881 Remove service show_all
To clean-up a bit the list of services.
2023-11-10 09:48:27 +01:00
Edward Firmo
860cc815fb Support for snowy-rainy from Met.no
Fixes #1245
2023-11-10 09:27:14 +01:00
Edward Firmo
e03922ef13 Button - Light - Icon follows the light rgb color
- Helps with #1184
- Helps with #935
2023-11-10 07:24:40 +01:00
Edward Firmo
ea89da4cc6 Show decimal case on button climate 2023-11-10 07:02:58 +01:00
Edward Firmo
3c3542c7d0 Add esp-idf to advanced package 2023-11-10 06:42:55 +01:00
Edward Firmo
0299014ca1 Short click to open Climate and Media Player 2023-11-10 06:38:21 +01:00
Edward Firmo
f209be7487 Home - Custom buttons - Update only when needed
Solves #1244
2023-11-09 23:49:03 +01:00
Edward Firmo
a8199ee756 Show all buttons for Music Assistant player group
Solves #1232
Solves #1221
2023-11-09 22:39:02 +01:00
Edward Firmo
dab2bb9c55 Selectable chips size 2023-11-09 21:15:48 +01:00
Edward Firmo
732109ed1f Crop image for back buttons
Helps with #1134
2023-11-09 19:49:00 +01:00
Edward Firmo
ad34c51d9d support to weather forecast service
Solves #1050
2023-11-09 19:35:05 +01:00
Edward Firmo
2616e4d5d1 Disable logger via UART
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1240#discussion-5829722
2023-11-09 16:56:33 +01:00
Edward Firmo
e4e4c3f468 Sort components 2023-11-09 15:53:41 +01:00
Edward Firmo
a59ff2495c Transparent icons & text
Makes icons and text transparent when possible.
This helps with #1134
2023-11-09 15:50:12 +01:00
Edward Firmo
63903f6d1c Buttons with Media Player or Climate will always open detailed page
There's no toggle for those entities.

Solves #1220
2023-11-09 12:58:19 +01:00
Edward Firmo
d2f4e01d30 Show alarm state even when action is not supported
There are "read only" alarms with 0 as supported features but users still wanna see the current state.

Probably solves #1146
2023-11-09 10:56:51 +01:00
Edward Firmo
d7a0aa0c04 Split service global_settings
Could be that IDF framework limits the parameters of a service in some way? To be investigated.

Hopefully this solves #1243
2023-11-09 10:29:22 +01:00
Edward Firmo
0db04942d6 Fix update of detailed page when other entity got updated
- Solves #1225
- Solves #1235
- Solves #1242
2023-11-09 09:59:02 +01:00
Edward Firmo
44ab4adc43 Revert calls to color
This is break compatibility with IDF v5.
2023-11-09 01:01:59 +01:00
Edward Firmo
e439953fdb Fix parameter name on send_command_value 2023-11-08 23:44:53 +01:00
Edward Firmo
dbc61f9ecb Use new Upload TFT for Arduino 2023-11-08 13:32:56 +01:00
Edward Firmo
6ecf19e935 Roll back embedded color565 2023-11-07 21:56:25 +01:00
Edward Firmo
c56f482516 User embedded color565 conversion 2023-11-07 21:51:41 +01:00
Edward Firmo
65f33e40d5 New sensor detailed_entity_id 2023-11-07 21:45:32 +01:00
Edward Firmo
0660ef0228 Fix string comparison 2023-11-07 21:43:34 +01:00
Edward Firmo
137539e85c Fix publish_state for new sensor 2023-11-07 21:42:26 +01:00
Edward Firmo
f0394bb5bc Ad sensor detailed_entity_id 2023-11-07 21:39:44 +01:00
Edward Firmo
bc93bc523f Change send_command_value params 2023-11-07 21:23:28 +01:00
Edward Firmo
85ca25069d Code clean-up 2023-11-07 16:10:30 +01:00
Edward Firmo
24d2ff71b2 web_server replaced by json
It takes less memory and provides the libraries needed for this project.
2023-11-07 14:15:47 +01:00
Edward Firmo
c838216c1f Fix for esp-idf types 2023-11-07 13:10:34 +01:00
Edward Firmo
eb03d33edd Support to idf v5 2023-11-07 12:35:06 +01:00
Edward Firmo
3dea13c354 Add test for idf v5 2023-11-07 09:28:28 +01:00
Edward Firmo
e9ba75b967 Add test for idf v5 2023-11-07 09:26:38 +01:00
Edward Firmo
9d32e0d027 Delay to send brightness to ESPHome
Solves #1229
2023-11-06 21:04:37 +01:00
Edward Firmo
31560787e3 Default code_arm_required is true
A per default: https://developers.home-assistant.io/docs/core/entity/alarm-control-panel/

Solves #1193
2023-11-06 20:38:53 +01:00
Edward Firmo
6b9a6dc97f Add framework info to TFT 2023-11-06 20:33:13 +01:00
Edward Firmo
5060947d16 Change idf validation to climate cool 2023-11-06 08:58:38 +01:00
Edward Firmo
e434667ad3 Fix link to idf file 2023-11-06 08:49:53 +01:00
Edward Firmo
e3a6368efa Improved name of esp-idf & bluetooth test 2023-11-06 08:21:47 +01:00
Edward Firmo
f85f87f3e6 Add bluetooth proxy to esp-idf test 2023-11-06 08:19:58 +01:00
Edward Firmo
ce814af3d3 Change framework back to default
As users should flash with serial to change framework
2023-11-06 08:16:45 +01:00
Edward Firmo
039e5e56b7 Add "Actions" 2023-11-06 01:00:12 +01:00
Edward Firmo
b679693203 Clean up names 2023-11-06 00:35:11 +01:00
Edward Firmo
c45ce32742 Allows change to the baud rate 2023-11-06 00:28:24 +01:00
Edward Firmo
8f128ac6b5 Wait for TFT version on boot sequence
This should be reviewed after https://github.com/esphome/esphome/pull/5673 is released.
2023-11-05 20:16:10 +01:00
Edward Firmo
8184ada7a1 Improved boot sequence
Restart with hw button 10s hold - Helps with #1224
Restart Nextion if not connected to ESPHome after 30s - Helps with #1224
Prepare for future support to 921600bps
2023-11-05 09:32:22 +01:00
Edward Firmo
0a26861444 Code clean-up 2023-11-03 21:10:42 +01:00
Edward Firmo
fdc8b81fd0 Exit reparse on boot 2023-11-03 19:40:57 +01:00
Edward Firmo
94db496d30 Bring back exit reparse button
Tests failed
2023-11-03 18:12:40 +01:00
Edward Firmo
5a782bbe45 Retry when Upload TFT fails 2023-11-03 18:05:43 +01:00
Edward Firmo
a80a2b7985 Add checkout to each action 2023-11-03 17:48:28 +01:00
Edward Firmo
53e4dd7b81 Fix dependencies on build_advanced 2023-11-03 17:45:35 +01:00
Edward Firmo
955a7fbd8b Remove "Exit reparse" button
It's functionality is now embedded in the Upload TFT calls.
2023-11-03 17:43:06 +01:00
Edward Firmo
9fa172ef36 Advanced validation of ESPHome 2023-11-03 17:40:43 +01:00
Edward Firmo
ffce653d16 Fix reference to external components 2023-11-03 17:14:20 +01:00
Edward Firmo
852ba63038 Use pr5667 for Nextion 2023-11-03 15:26:00 +01:00
Edward Firmo
58132cb189 Fix reference to tft_size_
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1213#issuecomment-1791035711
2023-11-02 17:55:42 +01:00
Edward Firmo
e96329f976 Handle https error nicely 2023-11-02 12:03:16 +01:00
Edward Firmo
88cf4af2a7 Add validation with arduino framework
Just to make sure we don't break support to that framework, as we might want to migrate back in the future or some user might wanna use that.
2023-11-01 22:03:21 +01:00
Edward Firmo
fce2c5e4be Set framework esp-idf by default 2023-11-01 21:29:06 +01:00
Edward Firmo
b105d83b12 Persistent http client 2023-11-01 21:22:58 +01:00
Edward Firmo
25cf9f1bb9 Update nspanel_esphome_addon_upload_tft.yaml 2023-11-01 13:31:41 +01:00
Edward Firmo
88f287aa0d Upload TFT ESP-IDF - Cleaning logs 2023-11-01 10:04:42 +01:00
Edward Firmo
34142c510f Upload TFT for ESP-IDF
Still pending some clean-up, but I would say this is a working version.
2023-11-01 09:35:51 +01:00
Edward Firmo
4701885a59 Increase QRcode length to 75 chars
Solves #1210
Solves #303
2023-11-01 08:02:03 +01:00
Edward Firmo
09275f1414 esp-idf upload tft
Still a bit buggy, but this is probably the first working version of an esp-idf upload TFT to be published.
I will work more on this, but wanna have this commit as a reference.
2023-10-31 22:48:36 +01:00
Edward Firmo
bfc18fd307 Reduce number of unnecessary executions
Currently, many triggers will start the automation and then later if a condition is not true (like a page is not visible) the automation won't be doing anything. However, each of those "false" executions will generate an entry at Logbook, which might get spammed for large systems.

Probably solves #1205
Probably helps with #1203

This also reduce the date update from every minute to every hour and handle the situation where multiple panels are updated simultaneously in a event of an automation reload, which could cause performance issues for large systems.
2023-10-31 09:12:46 +01:00
Edward Firmo
92d7fd429a Reverted back icon size 48
The removal of this font reduced the file size with impact to the UI. The reduced file size didn't made a significant impact to the TFT Upload, so reverting this.
2023-10-21 20:22:34 +02:00
Edward Firmo
007a25bb94 Split set_brightness 2023-10-21 20:12:35 +02:00
Edward Firmo
d27dc1eb4f Send embedded climate friendly_name on boot
Solves #1171
2023-10-20 10:19:09 +02:00
Edward Firmo
661e2ba8c5 Long press to open settings regardless of supported_features
Solves #1142
2023-10-20 09:17:05 +02:00
Edward Firmo
5fcb1e0785 Fix incorrect preset when addon climate cool 2023-10-19 15:57:27 +02:00
Edward Firmo
2a526f3cea Moving docs to the Wiki area 2023-10-19 15:51:40 +02:00
Edward Firmo
ff917d663e Improved split of addon climate files
To make it easier to maintain
2023-10-19 15:44:06 +02:00
Edward Firmo
8bf2b9e4cc Fix indoor temp icon when embedded temperature is used
Solves #1179
2023-10-18 14:38:02 +02:00
Edward Firmo
5446400eee Round target temp limits based on step
Solves #1150
2023-10-18 14:10:10 +02:00
Edward Firmo
0f8c2f87be Fix reference to addon climate base 2023-10-18 12:40:18 +02:00
Edward Firmo
9aba74877e Fix operator error with IP address in ESPHome 2023.10 2023-10-18 11:30:16 +02:00
Edward Firmo
137229a3ca Merge pull request #1180 from Floppe/wider_info
More wider value fields so '12.34c/kWh' fits
2023-10-18 10:03:41 +02:00
Edward Firmo
af15ec6b79 Splitting addon climate 2023-10-18 10:00:40 +02:00
Edward Firmo
280f090a67 Replicated change to US landscape 2023-10-18 09:28:19 +02:00
Joachim Wickman
8bdfe1855d More wider value fields so '12.43c/kWh' fits 2023-10-17 13:55:11 +03:00
Edward Firmo
62e755042c Removed advanced from base package 2023-10-17 09:19:55 +02:00
Edward Firmo
a2fab582d5 Removed upload_tft from core 2023-10-17 09:03:54 +02:00
Edward Firmo
b1b88e75e4 Splitting files 2023-10-17 08:52:55 +02:00
Edward Firmo
4daf567f44 Revert back to arduino
It failed tests
2023-10-16 11:59:38 +02:00
Edward Firmo
6e57a2a316 esp-idf framework
Saves memory, between other benefits.
2023-10-16 11:00:50 +02:00
Edward Firmo
c9ff45f2b9 Pages constructors on scripts
This will simplify the calls for new add-ons.
2023-10-16 10:58:47 +02:00
Edward Firmo
d89aa90d12 Fix log message 2023-10-13 22:46:10 +02:00
Edward Firmo
d9325787a0 Split ESPHome validations 2023-10-13 22:43:22 +02:00
Edward Firmo
5a0c04dc69 Remove trailing spaces 2023-10-13 22:26:12 +02:00
Edward Firmo
95f321d590 Mapping to dos 2023-10-13 22:24:00 +02:00
Edward Firmo
ef7b1520ff Update validate_esphome.yml 2023-10-13 22:21:29 +02:00
Edward Firmo
7f0657ae8f Clean up upload_tft 2023-10-13 22:17:01 +02:00
Edward Firmo
35394d5d22 Standardizing logs calls 2023-10-13 15:41:01 +02:00
Edward Firmo
4d90adc36d Merge pull request #1176 from misery/main
Add whitespace to fix typo
2023-10-13 15:20:51 +02:00
Edward Firmo
471684ad8c Merge branch 'dev' into main 2023-10-13 15:19:03 +02:00
Edward Firmo
f7bf764458 Update ReleaseNotes.md 2023-10-13 15:17:15 +02:00
Edward Firmo
de4bd9dcdd Create ReleaseNotes.md 2023-10-13 15:17:05 +02:00
Edward Firmo
a1f1a8a31d upload_tft support to esp-idf
Still needing some code clean-up
2023-10-13 15:06:28 +02:00
André Klitzing
44b7eee5ee Add whitespace to fix typo
Otherwise if someone copy+paste this it will throw this error.
ERROR Error while reading config: Invalid YAML syntax:

mapping values are not allowed here
  in "nspanel.yaml", line 25, column 13:
2023-10-13 14:13:14 +02:00
Edward Firmo
6e4e4aff7e Fix reference to addon_climate_cool 2023-10-13 11:14:50 +02:00
Edward Firmo
7ba1265d55 Add build tests
This will build ESPHome with multiple combinations of packages to make sure nothing is broken.
2023-10-13 11:03:12 +02:00
Edward Firmo
297107da28 Fix directory mapping 2023-10-13 10:51:23 +02:00
Edward Firmo
0336390a8e Fix directory reference 2023-10-13 10:49:00 +02:00
Edward Firmo
b575e77563 Update validate_esphome.yml 2023-10-13 10:45:40 +02:00
Edward Firmo
3a165886c8 Update validate_esphome.yml 2023-10-13 09:39:36 +02:00
Edward Firmo
6ba3706458 Update validate_esphome.yml 2023-10-13 09:37:06 +02:00
Edward Firmo
0b6cf684dc Moving test files 2023-10-13 09:31:40 +02:00
Edward Firmo
290140524e Use default power save mode
Just because is not needed to specify this and the default mode (LIGHT) should be enough.
2023-10-13 09:23:46 +02:00
Edward Firmo
ce2fefa5b3 Remove pre-built
I'm removing this at it is getting too complex and will require github tokens to copy the build files. Instead I will focus in solving the problems making hard to build.
2023-10-12 11:35:15 +02:00
Edward Firmo
03395131d8 Add build to ESPHome validation 2023-10-12 10:35:51 +02:00
Edward Firmo
15cc5b9486 Removed improv BLE
Due to lack of memory
2023-10-12 10:04:48 +02:00
Edward Firmo
f255df3af2 Power save mode LIGHT 2023-10-12 09:56:05 +02:00
Edward Firmo
b11baf8860 Update nspanel_esphome_prebuilt.yaml 2023-10-12 09:49:38 +02:00
Edward Firmo
954699e87f Update nspanel_esphome_prebuilt.yaml 2023-10-12 09:46:30 +02:00
Edward Firmo
1af0894820 Update to latest checkout 2023-10-12 09:42:51 +02:00
Edward Firmo
f3a17959be Add dummy SSID 2023-10-12 09:39:44 +02:00
Edward Firmo
effc26672f Fill required substitutions 2023-10-12 09:36:57 +02:00
Edward Firmo
2b16753f6b Update nspanel_esphome_prebuilt.yaml 2023-10-12 09:33:46 +02:00
Edward Firmo
ff57a39d24 Add empty line at the end 2023-10-11 12:44:57 +02:00
Edward Firmo
f635e76154 Use esphome/build-action@v1.8.0 2023-10-11 12:43:21 +02:00
Edward Firmo
119b4a6eb3 Check-out to dev first 2023-10-11 12:41:46 +02:00
Edward Firmo
73aeec2edb Change ref to dev 2023-10-11 12:06:40 +02:00
Edward Firmo
d5a73a0a60 Adds advanced components to built in 2023-10-11 11:54:08 +02:00
Edward Firmo
c703b832e2 Add advanced files to validations 2023-10-11 11:47:01 +02:00
Edward Firmo
b92d6d459a ESPHome pre-built binary
Add a pre-built binary for users with trouble compiling with ESPHome or users who don´t wanna play with ESPHome at all.
2023-10-11 11:40:04 +02:00
Edward Firmo
597b1b2abd Use exit reparse mode from Nextion library
This is part of the preparation for esp-idf framework
2023-10-06 10:49:32 +02:00
Edward Firmo
725797b5fa Updates when home page is not visible
To keep consistency with outdoor temp
2023-10-06 10:32:24 +02:00
Edward Firmo
5a9f1c1c31 Updates outdoor temp when home page is not visible
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1065#issuecomment-1750074885
2023-10-06 10:29:29 +02:00
Edward Firmo
b591944a76 Sleep & Wake-up buttons 2023-10-05 15:42:03 +02:00
Edward Firmo
93194d0f8f Prepares for esp-idf
I haven't decided for `esp-idf` framework yet, but wanna play a bit as it looks to be saving some memory, so I want to prepare the system to support both frameworks (together with `arduino`).
2023-10-05 09:32:36 +02:00
Edward Firmo
303f5361ec Move non critical components to nspanel_esphome_advanced
To free up some memory on ESPHome.
2023-10-04 10:15:46 +02:00
Edward Firmo
189b3e7dcd Fix filter on current_page 2023-10-03 19:12:09 +02:00
Edward Firmo
d7116c0c68 Removed unnecessary call to bt_notific
`notification` page is loaded right after that.
2023-10-03 14:56:48 +02:00
Edward Firmo
742e2a243d Update home page when notification changes
Solves #1136
2023-10-03 14:37:46 +02:00
Edward Firmo
b6a5ea76c0 Removed remaining time call 2023-10-03 07:45:52 +02:00
Edward Firmo
a7aafdb348 Limit max chunk_size to 32768
To leave more heap memory available.
It might slow down a bit the transfers.
2023-10-03 00:06:35 +02:00
Edward Firmo
dff7e39b07 Thanks to sairon
We rebuilt the tft upload inspired by his implementation of Nextion library.
2023-10-02 22:32:29 +02:00
Edward Firmo
e0a7cd903b After boot check-up
Check for display availability after boot and, if not available, power cycle Nextion
2023-10-02 19:19:02 +02:00
Edward Firmo
985d6b5161 Fix invalid call to page var 2023-10-02 15:03:20 +02:00
Edward Firmo
83fccfe83b Rebuilt currentpage engine 2023-10-02 14:45:34 +02:00
Edward Firmo
201428da47 Rebuilt upload_tft and replaced fonts 2023-10-01 15:05:36 +02:00
Edward Firmo
4830b58b13 Bump v4.0.3dev 2023-09-30 16:05:16 +02:00
Edward Firmo
fa04f50c9d Remove font 10
I've removed this font to reduce TFT file size, however we can add this back later by creating a new font with only the icons needed for:

Font 10 (NotoSans-Regular + MDI, h 48):

settings:
bt_reboot
bt_sleep

cover:
cover_open
cover_close
cover_stop

notification:
bt_accept
bt_clear

fan:
button_up
button_down
button_on
button_off

confirm:
bt_accept
bt_clear
2023-09-30 16:02:17 +02:00
Edward Firmo
f9a24fc43e Translations - Czech
Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-7127350
2023-09-30 15:48:37 +02:00
Edward Firmo
9283b4561d Change notification engine for current page missing 2023-09-30 15:41:12 +02:00
Edward Firmo
421dc71274 Merge pull request #1114 from Blackymas/beta
v4.0.2 patch release
2023-09-27 11:59:29 +02:00
Edward Firmo
5ea3036921 Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into beta 2023-09-27 11:50:54 +02:00
Edward Firmo
0f9c691717 Merge branch 'main' of https://github.com/Blackymas/NSPanel_HA_Blueprint into beta 2023-09-27 11:50:22 +02:00
Edward Firmo
853b7d9885 Merge pull request #1113 from Blackymas/dev
v4.0.2 patch release
2023-09-27 11:48:34 +02:00
Edward Firmo
f2c6900d7e Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-27 11:44:50 +02:00
Edward Firmo
112e52f3d4 v4.0.2 patch release 2023-09-27 11:39:38 +02:00
Edward Firmo
f72a1038cd Removed unnecessary refresh of relay's chips
Solves #1068
2023-09-27 08:55:48 +02:00
Edward Firmo
4c738bbc51 Use UTC for date in weather forecast
Probably solves #1105
2023-09-26 22:23:19 +02:00
Edward Firmo
d355002da3 Update ReleaseNotes.md 2023-09-26 20:13:52 +02:00
Edward Firmo
09630570e6 Fix link of button02 on buttonpage03
Solves #1108
2023-09-26 19:59:25 +02:00
Edward Firmo
be6df9bb30 Added compile_process_limit 2023-09-26 18:13:01 +02:00
Edward Firmo
210ee0c70e Rebuild service calls for short press on buttons
I believe this can solve #1063
2023-09-26 16:43:07 +02:00
Edward Firmo
63d37695e4 v4.0.1 patch release (#1097)
* 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>

* Beta testing v4.0.1 (#1089)

* 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

* Chpego patch 1 (#1059)

* Update nspanel_blueprint.yaml

fix some typo

* Update nspanel_blueprint.yaml

* Update README.md

* Update nspanel_blueprint.yaml

* Update nspanel_blueprint.yaml

* Started Release Notes for v4.1

---------

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

* Prevents media player crash with `media_position_updated_at`

Prevents media player crashing when called before `media_position_updated_at` is able to provide a value.

I believe this solves #1062.

* timezone

* Settings page translations - Dutch

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7073055

* Typo

* Removed `display_current_brightness`

I've removed this sensor as it was spamming the logs and taking memory without providing real benefit.

* Ignore different patch versions

Change the versioning control to major and minor only, ignoring differences on the patch version.

So components with different patch versions should be able to work with each other as soon the major and minor versions are the same.
This same logic was implemented on the blueprint before the 4.0 release.

* Code clean-up

* Flexible time format selected

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1083#issuecomment-1732228103

* Removed obsolete thermostat page pic

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1076#discussioncomment-7085967

* Add date format for Finnish

* Fix `buttonpage03` long press pointing to page 2

* Fix mute volume not working

Solves #1079 items 2 and 3

* Reset sleep timer when brightness settings changes

Solves #1087

Also removes limit to 10char on "Brightness" on Settings page.

* Bump version to `4.0.1dev`

* Update ReleaseNotes.md

Preparing for patch release.

* Review translations - Finish

Solves #1083

* Update ReleaseNotes.md

* Remove trailing space

* v4.0.1beta

---------

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: chpego <38792705+chpego@users.noreply.github.com>

* v4.0.1 patch release (#1096)

* 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

* Chpego patch 1 (#1059)

* Update nspanel_blueprint.yaml

fix some typo

* Update nspanel_blueprint.yaml

* Update README.md

* Update nspanel_blueprint.yaml

* Update nspanel_blueprint.yaml

* Started Release Notes for v4.1

---------

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

* Prevents media player crash with `media_position_updated_at`

Prevents media player crashing when called before `media_position_updated_at` is able to provide a value.

I believe this solves #1062.

* timezone

* Settings page translations - Dutch

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7073055

* Typo

* Removed `display_current_brightness`

I've removed this sensor as it was spamming the logs and taking memory without providing real benefit.

* Ignore different patch versions

Change the versioning control to major and minor only, ignoring differences on the patch version.

So components with different patch versions should be able to work with each other as soon the major and minor versions are the same.
This same logic was implemented on the blueprint before the 4.0 release.

* Code clean-up

* Flexible time format selected

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1083#issuecomment-1732228103

* Removed obsolete thermostat page pic

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1076#discussioncomment-7085967

* Add date format for Finnish

* Fix `buttonpage03` long press pointing to page 2

* Fix mute volume not working

Solves #1079 items 2 and 3

* Reset sleep timer when brightness settings changes

Solves #1087

Also removes limit to 10char on "Brightness" on Settings page.

* Bump version to `4.0.1dev`

* Update ReleaseNotes.md

Preparing for patch release.

* Review translations - Finish

Solves #1083

* Update ReleaseNotes.md

* Remove trailing space

* v4.0.1beta

* v4.0.1 patch 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: chpego <38792705+chpego@users.noreply.github.com>

* Delete ReleaseNotes.md

---------

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: chpego <38792705+chpego@users.noreply.github.com>
2023-09-25 13:52:05 +02:00
Edward Firmo
c0396766ac Delete ReleaseNotes.md 2023-09-25 13:46:10 +02:00
Edward Firmo
bf56ecdcff Merge branch 'main' into beta 2023-09-25 13:44:53 +02:00
Edward Firmo
e61efba78c Merge branch 'main' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-25 13:42:53 +02:00
Edward Firmo
26f67d7792 v4.0.1 patch release (#1096)
* 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

* Chpego patch 1 (#1059)

* Update nspanel_blueprint.yaml

fix some typo

* Update nspanel_blueprint.yaml

* Update README.md

* Update nspanel_blueprint.yaml

* Update nspanel_blueprint.yaml

* Started Release Notes for v4.1

---------

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

* Prevents media player crash with `media_position_updated_at`

Prevents media player crashing when called before `media_position_updated_at` is able to provide a value.

I believe this solves #1062.

* timezone

* Settings page translations - Dutch

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7073055

* Typo

* Removed `display_current_brightness`

I've removed this sensor as it was spamming the logs and taking memory without providing real benefit.

* Ignore different patch versions

Change the versioning control to major and minor only, ignoring differences on the patch version.

So components with different patch versions should be able to work with each other as soon the major and minor versions are the same.
This same logic was implemented on the blueprint before the 4.0 release.

* Code clean-up

* Flexible time format selected

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1083#issuecomment-1732228103

* Removed obsolete thermostat page pic

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1076#discussioncomment-7085967

* Add date format for Finnish

* Fix `buttonpage03` long press pointing to page 2

* Fix mute volume not working

Solves #1079 items 2 and 3

* Reset sleep timer when brightness settings changes

Solves #1087

Also removes limit to 10char on "Brightness" on Settings page.

* Bump version to `4.0.1dev`

* Update ReleaseNotes.md

Preparing for patch release.

* Review translations - Finish

Solves #1083

* Update ReleaseNotes.md

* Remove trailing space

* v4.0.1beta

* v4.0.1 patch 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: chpego <38792705+chpego@users.noreply.github.com>
2023-09-25 13:38:38 +02:00
Edward Firmo
eaea820658 Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-25 13:35:30 +02:00
Edward Firmo
a424c8c17b v4.0.1 patch release 2023-09-25 13:27:20 +02:00
Edward Firmo
a87fc341f2 Beta testing v4.0.1 (#1089)
* 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

* Chpego patch 1 (#1059)

* Update nspanel_blueprint.yaml

fix some typo

* Update nspanel_blueprint.yaml

* Update README.md

* Update nspanel_blueprint.yaml

* Update nspanel_blueprint.yaml

* Started Release Notes for v4.1

---------

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

* Prevents media player crash with `media_position_updated_at`

Prevents media player crashing when called before `media_position_updated_at` is able to provide a value.

I believe this solves #1062.

* timezone

* Settings page translations - Dutch

https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7073055

* Typo

* Removed `display_current_brightness`

I've removed this sensor as it was spamming the logs and taking memory without providing real benefit.

* Ignore different patch versions

Change the versioning control to major and minor only, ignoring differences on the patch version.

So components with different patch versions should be able to work with each other as soon the major and minor versions are the same.
This same logic was implemented on the blueprint before the 4.0 release.

* Code clean-up

* Flexible time format selected

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1083#issuecomment-1732228103

* Removed obsolete thermostat page pic

Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1076#discussioncomment-7085967

* Add date format for Finnish

* Fix `buttonpage03` long press pointing to page 2

* Fix mute volume not working

Solves #1079 items 2 and 3

* Reset sleep timer when brightness settings changes

Solves #1087

Also removes limit to 10char on "Brightness" on Settings page.

* Bump version to `4.0.1dev`

* Update ReleaseNotes.md

Preparing for patch release.

* Review translations - Finish

Solves #1083

* Update ReleaseNotes.md

* Remove trailing space

* v4.0.1beta

---------

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: chpego <38792705+chpego@users.noreply.github.com>
2023-09-24 15:15:20 +02:00
Edward Firmo
b5d81026cd Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-24 15:14:28 +02:00
Edward Firmo
91a1cca29c v4.0.1beta 2023-09-24 15:09:04 +02:00
Edward Firmo
b3a335dedd Remove trailing space 2023-09-24 14:56:33 +02:00
Edward Firmo
b7cd36fbdf Update ReleaseNotes.md 2023-09-24 14:43:18 +02:00
Edward Firmo
610ba939fa Review translations - Finish
Solves #1083
2023-09-24 14:41:55 +02:00
Edward Firmo
84d7f71f59 Update ReleaseNotes.md
Preparing for patch release.
2023-09-24 09:17:02 +02:00
Edward Firmo
b3c0fe3dd0 Bump version to 4.0.1dev 2023-09-23 23:03:19 +02:00
Edward Firmo
327b40ecd8 Reset sleep timer when brightness settings changes
Solves #1087

Also removes limit to 10char on "Brightness" on Settings page.
2023-09-23 22:54:20 +02:00
Edward Firmo
12f6bd75b5 Fix mute volume not working
Solves #1079 items 2 and 3
2023-09-23 22:11:06 +02:00
Edward Firmo
bf05419946 Fix buttonpage03 long press pointing to page 2 2023-09-23 20:28:42 +02:00
Edward Firmo
4bdfca3b5f Add date format for Finnish 2023-09-23 15:15:22 +02:00
Edward Firmo
3029671d53 Removed obsolete thermostat page pic
Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1076#discussioncomment-7085967
2023-09-23 08:53:08 +02:00
Edward Firmo
e31362aac4 Flexible time format selected
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1083#issuecomment-1732228103
2023-09-23 08:43:09 +02:00
Edward Firmo
17c14e9ab0 Code clean-up 2023-09-22 11:17:35 +02:00
Edward Firmo
1065fe0568 Ignore different patch versions
Change the versioning control to major and minor only, ignoring differences on the patch version.

So components with different patch versions should be able to work with each other as soon the major and minor versions are the same.
This same logic was implemented on the blueprint before the 4.0 release.
2023-09-22 10:54:48 +02:00
Edward Firmo
6ad844a9d8 Removed display_current_brightness
I've removed this sensor as it was spamming the logs and taking memory without providing real benefit.
2023-09-22 10:14:44 +02:00
Edward Firmo
83baeaacf0 Typo 2023-09-22 09:59:17 +02:00
Edward Firmo
b8c2fb9971 Settings page translations - Dutch
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7073055
2023-09-21 20:23:30 +02:00
Edward Firmo
91a77ae201 timezone 2023-09-21 16:40:02 +02:00
Edward Firmo
b7e9f1b1e8 Prevents media player crash with media_position_updated_at
Prevents media player crashing when called before `media_position_updated_at` is able to provide a value.

I believe this solves #1062.
2023-09-21 09:14:40 +02:00
chpego
05dfd69cda Chpego patch 1 (#1059)
* Update nspanel_blueprint.yaml

fix some typo

* Update nspanel_blueprint.yaml

* Update README.md

* Update nspanel_blueprint.yaml

* Update nspanel_blueprint.yaml

* Started Release Notes for v4.1

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
2023-09-20 22:43:48 +02:00
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
1096efe312 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>
2023-09-20 16:39:45 +02:00
Edward Firmo
2eefe6c8c6 Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-20 16:38:41 +02:00
Edward Firmo
a42feafa8c v4.0 release 2023-09-20 16:33:48 +02:00
Edward Firmo
e8b6d155f7 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>
2023-09-20 10:12:53 +02:00
Edward Firmo
06078396c9 Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-20 10:12:07 +02:00
Edward Firmo
c375a93d8e Bump version to 4.0b2 2023-09-20 10:08:03 +02:00
Edward Firmo
4b66528894 New versioning - not implemented 2023-09-20 09:42:48 +02:00
Edward Firmo
d4d0e19d2f Translations - Slovak
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/829#discussioncomment-7054153
- https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-7054142
2023-09-20 09:32:15 +02:00
Edward Firmo
a1c4f065a2 Customization - Deep sleep - Fix broken link 2023-09-20 07:39:15 +02:00
Edward Firmo
44aa752e70 Customizations - Deep sleep
Solves #955
2023-09-20 07:36:01 +02:00
Edward Firmo
627e0b63e7 Customizations - Blank TFT button
Probably solves #1048
2023-09-19 20:55:07 +02:00
Edward Firmo
c747ea17d5 Add customization for display sleeping/awake
Probably solves #1035
2023-09-19 20:34:19 +02:00
Edward Firmo
be493eed1f Alarm page - Translations to French
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-7046479
2023-09-19 19:50:37 +02:00
Edward Firmo
aed0fbf45a Settings page - Translations to French
From https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7045452
2023-09-19 15:07:36 +02:00
Edward Firmo
4649924c04 Fix to Slovenian translation
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-7041796
2023-09-19 12:46:09 +02:00
Edward Firmo
25ff9a0267 Update nspanel_blank.md 2023-09-19 11:33:17 +02:00
Edward Firmo
1d4fafd7c5 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-19 11:30:22 +02:00
Edward Firmo
0af0d2fbaf Add screensaver to nspanel_blank.tft
And build a new tft with latest firmware and url for instructions.
2023-09-19 11:29:55 +02:00
Edward Firmo
67fb8f2eda Update nspanel_blank.md 2023-09-19 11:28:09 +02:00
Edward Firmo
2715d32d15 Update nspanel_blank.md 2023-09-19 11:26:34 +02:00
Edward Firmo
b215f1779d Refresh docs 2023-09-19 11:20:13 +02:00
Edward Firmo
d08bddd72e Translations to Slovak on Settings page 2023-09-19 08:24:15 +02:00
Erik Larsson
88f296c90e 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>
2023-09-18 23:34:15 +02:00
Edward Firmo
1a4cb27e01 Change version to 4.0dev
To differentiate from beta.
2023-09-18 18:01:42 +02:00
Edward Firmo
9c4aad8db0 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>
2023-09-18 17:56:44 +02:00
Edward Firmo
6cbe43eb59 Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-18 17:55:04 +02:00
Edward Firmo
a653d47e3c Bump version to 4.0beta
To reduce the chance of an obsolete file in use after the release.
2023-09-18 17:51:47 +02:00
Edward Firmo
4a37de57e4 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>
2023-09-18 17:27:00 +02:00
Edward Firmo
5158fa86d3 Clean up code
- Removed commented out lines
- Removed temporary logs

Getting prepared to release
2023-09-18 17:25:37 +02:00
Edward Firmo
8f6ebd62e1 Clean-up release notes 2023-09-18 17:01:30 +02:00
Edward Firmo
ee5ccd0bff Fix climate page not opening when offline
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6834067
2023-09-18 16:39:22 +02:00
Edward Firmo
8859d8b229 Fix time duration when HA isn't updating position 2023-09-18 14:07:12 +02:00
Edward Firmo
61bf1fbcd7 Fix attribute media_position 2023-09-18 03:28:20 +02:00
Edward Firmo
88ed2ad2f6 Prepare for when attribute is not available 2023-09-18 02:52:34 +02:00
Edward Firmo
8c37001cfc Correct playing time based on updated_at attribute 2023-09-18 02:46:26 +02:00
Edward Firmo
0a1a0a811a Resolve validation 2023-09-18 02:37:53 +02:00
Edward Firmo
873eef75ca Merge branch 'beta' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-18 02:22:25 +02:00
Edward Firmo
8362447dac Add touchevents to page climate
Possibly solves #995
2023-09-17 20:20:19 +02:00
Edward Firmo
60c47ff82c Media player - Layout improvement
- Removed button "Stop"
- Increase touch area for buttons
- Redistributed buttons on page
2023-09-17 12:43:18 +02:00
Edward Firmo
581808a123 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.
2023-09-17 12:21:11 +02:00
Edward Firmo
189cbdd645 Media player roll back font 9 and timer 1s 2023-09-17 11:47:37 +02:00
Edward Firmo
c279dd7932 Media player - Volume timer & icon size
Volume timer changed from 1000 to 500ms
Icon change from font 9 to 10
2023-09-17 07:09:05 +02:00
Edward Firmo
f9872700d9 Media player minor layout changes 2023-09-17 06:58:37 +02:00
Edward Firmo
f705401896 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
2023-09-16 14:28:05 +02:00
Edward Firmo
30a0404c4a Missing nspanel_us.tft 2023-09-16 14:12:33 +02:00
Edward Firmo
00d888817f 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
2023-09-16 14:05:22 +02:00
Edward Firmo
20b672085e State based colors to home page custom buttons 2023-09-16 13:15:23 +02:00
Edward Firmo
22ba572d75 Use panel's events to reset timers
Possibly solves #1040
Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-7020153
2023-09-16 10:12:58 +02:00
Edward Firmo
aeb25f21ff Adjustments to Media Player refresh interval default values 2023-09-16 10:03:02 +02:00
Edward Firmo
c098ea4ecf Add inputs for media player refresh time 2023-09-16 01:21:04 +02:00
Edward Firmo
d4f9926079 Fallback even when button is assigned to another entity
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1013#issuecomment-1720107844
2023-09-15 21:17:23 +02:00
Edward Firmo
59b5687420 Fix constructor of Entity pages 2023-09-15 20:27:28 +02:00
Edward Firmo
813f0c4800 Fix Variable invalid on buttons pages 2023-09-15 20:07:14 +02:00
Edward Firmo
1e566ce990 Fix error when btn_label is None 2023-09-15 19:58:42 +02:00
Edward Firmo
cf2d6e7cb3 Extend domains supported by home page custom buttons
Based on #1034
2023-09-15 18:52:40 +02:00
Edward Firmo
450c5f161c Align the code for the 3 timers 2023-09-15 17:07:54 +02:00
Edward Firmo
b8294b63e0 Clean-up 2023-09-15 14:30:26 +02:00
Edward Firmo
21fb3fc395 Replace confirm var on buttons pages
Simpler and saves some memory.
2023-09-15 14:29:22 +02:00
Edward Firmo
dd2c360780 Fix call to sleep routine when timeout changes
Solves #1037
2023-09-15 10:20:37 +02:00
Edward Firmo
e8193c2bb7 Fix names on button pages
Fix names when a name is not provided in the blueprint settings.
2023-09-15 10:03:50 +02:00
Edward Firmo
76a9520557 Fix empty page climate 2023-09-15 09:46:27 +02:00
Edward Firmo
c2d94ce183 Removed trailing spaces 2023-09-15 00:24:14 +02:00
Edward Firmo
21e099bb5f New sleep flow 2023-09-14 23:59:27 +02:00
Edward Firmo
1597a2aaad Prototyping power page 2023-09-14 02:19:36 +02:00
Edward Firmo
29f9b24592 Prototyping power page
Thanks @Floppe for doing the design
#838
2023-09-14 02:18:19 +02:00
Edward Firmo
96ae6987cb 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>
2023-09-14 00:33:40 +02:00
Edward Firmo
d1638863a4 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
2023-09-13 23:36:24 +02:00
Edward Firmo
a836462df1 Prevents calls to media_player.null 2023-09-13 17:57:01 +02:00
Edward Firmo
95e1bbc439 Fix Media player missing parameters
Possibly solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1030#discussioncomment-6984573
2023-09-13 08:28:02 +02:00
Edward Firmo
db86e701e4 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.
2023-09-13 00:01:43 +02:00
Edward Firmo
7ba90fe741 Remove dimming timer for now
The funcionality isn't completed.
2023-09-12 20:09:04 +02:00
Edward Firmo
81d16343a7 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.
2023-09-12 20:06:58 +02:00
Edward Firmo
39a5fcf434 Fix unknown service: media_player.null 2023-09-11 23:49:00 +02:00
Edward Firmo
e1a078fea5 Media player first buttons actions 2023-09-11 23:21:57 +02:00
Edward Firmo
7452dfd2bb 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".
2023-09-11 12:17:10 +02:00
Edward Firmo
f1e3dc49e6 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.
2023-09-11 02:31:19 +02:00
Edward Firmo
8129e59250 Removed trailing spaces 2023-09-11 01:43:08 +02:00
Edward Firmo
beb123cd19 Improved version notification 2023-09-11 01:35:25 +02:00
Edward Firmo
605de42f67 Fix logging for global_settings
It was logging wakeup_page, which is deprecated
2023-09-10 22:51:26 +02:00
Edward Firmo
591c7aa69b 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`
2023-09-10 22:37:36 +02:00
Edward Firmo
796968122b Fix pages not updating values
Solves #1026
2023-09-10 12:56:15 +02:00
Edward Firmo
6e65ea3d03 New "Confirm" pop-up
This also removes the sensor "NSPanel Event"
2023-09-10 02:48:28 +02:00
Edward Firmo
c1bdd7da54 Added media_player page (hidden) 2023-09-09 11:14:57 +02:00
Edward Firmo
b5bb42c68d Fix entity info when calling detailed pages
Solves #1022
2023-09-09 02:58:23 +02:00
Edward Firmo
5ed58d8f24 Adjustments to settings page 2023-09-08 20:29:08 +02:00
w00zy
3620113a71 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>
2023-09-08 08:28:27 +02:00
Edward Firmo
43803dab12 Merge branch 'beta' into dev 2023-09-08 03:20:34 +02:00
Edward Firmo
680d85f1bc Fix Fan page button colors when opening
Solves #1017
2023-09-08 03:01:31 +02:00
Edward Firmo
0af51083b2 Merge branch 'main' into beta 2023-09-08 02:41:15 +02:00
Edward Firmo
626aedb18a 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>
2023-09-08 02:35:50 +02:00
Edward Firmo
6f51c67828 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-07 22:51:41 +02:00
Edward Firmo
071ee7f39a Disable restore notification_unread
This must be changed to a binary sensor in the future.
2023-09-07 22:50:40 +02:00
Edward Firmo
205a8cee2f Merge branch 'beta' into dev 2023-09-07 22:47:22 +02:00
Edward Firmo
63905025bf Improve version notification 2023-09-07 18:28:35 +02:00
Edward Firmo
c632d32b87 Clean-up docs 2023-09-07 17:33:10 +02:00
Edward Firmo
4fe8633978 version 4.0 ready for release 2023-09-07 17:22:52 +02:00
Edward Firmo
fec2824464 Minor adjustments on settings page 2023-09-07 17:10:16 +02:00
Edward Firmo
8eaead0ef5 Fix Fan page not open with long press HW button
Solves #1007
2023-09-07 13:35:03 +02:00
Edward Firmo
c819bbec9c update temp_nspanel when correction changes 2023-09-07 08:49:20 +02:00
Edward Firmo
f8cf178440 Fix display climate chip 2023-09-07 08:27:54 +02:00
Edward Firmo
79f921e99c Review temperature correction engine 2023-09-07 02:01:39 +02:00
Edward Firmo
067c173995 Handle embedded_indoor_temperature
Internal temperature display will be handled locally (ESPHome) when no other sensor is selected.
2023-09-07 00:32:20 +02:00
Edward Firmo
f093126726 Fix Nextion variable invalid 2023-09-06 21:43:18 +02:00
Edward Firmo
086a30c18a Fix Nextion reported variable name invalid! 2023-09-06 21:29:08 +02:00
Edward Firmo
e505438203 Updated translations - Italian
Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1002#discussioncomment-6926846

Thanks @MaiPiu
2023-09-06 20:19:13 +02:00
Edward Firmo
fcddc2778f Rebuilt home page status bar update 2023-09-06 16:12:53 +02:00
Edward Firmo
f0c72e663c Fix ESPHome not starting with older TFT 2023-09-06 02:48:16 +02:00
Edward Firmo
188f565409 Version mismatch notication 2023-09-06 02:32:52 +02:00
Edward Firmo
3a2da38c6f Word-wrap for Alarm page 2023-09-06 01:29:56 +02:00
Edward Firmo
4668073522 Word-wrap buttons pages
Taking advantage of the algorithm created for notifications.
2023-09-06 01:06:27 +02:00
Edward Firmo
066cd31616 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.
2023-09-06 00:52:35 +02:00
Edward Firmo
1c1cf8e959 Notification word-wrap
For EU and US_LAND only, for now.
2023-09-05 00:40:10 +02:00
Edward Firmo
7097d9bf84 Enable translations of Settings page 2023-09-04 21:13:18 +02:00
Edward Firmo
7f6b5a7115 Page settings redesign
Clean up the UI of settings page.
Prepare for translations.
2023-09-04 17:55:04 +02:00
Edward Firmo
3523ad8756 Updates to breaking changes list 2023-09-04 14:57:45 +02:00
Edward Firmo
56f21880ba Minor adjustments to page climate
And replace font 10 to size 48 (it was 64 since a few days ago).
2023-09-04 14:40:56 +02:00
Edward Firmo
d3098a7f40 Fixed buttons on settings page 2023-09-04 12:23:46 +02:00
Edward Firmo
c2ecffd775 Adjusted time for HW long click 2023-09-04 12:20:02 +02:00
Edward Firmo
ba166ac55b Fix button pages not showing 2023-09-04 07:20:10 +02:00
Edward Firmo
d569956ff2 Add service set_component_color
Deprecates the following services:
- `send_command_font_color`
- `send_command_background_color`
2023-09-03 23:52:36 +02:00
Edward Firmo
1d43f75318 Re-arrange commands list 2023-09-03 21:28:27 +02:00
Edward Firmo
0518531f02 Renamed wake_up_display to wake_up 2023-09-03 21:25:49 +02:00
Edward Firmo
806883ca34 Adding ID to components missing it 2023-09-03 21:19:54 +02:00
Edward Firmo
20ef25ecb5 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
2023-09-03 18:26:02 +02:00
Edward Firmo
9563dba722 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.
2023-09-03 18:01:47 +02:00
Edward Firmo
1dfd0e6f9a Cleanup boot sequence
Move some functionalities to ESPHome
2023-09-03 15:17:25 +02:00
Edward Firmo
45eef605ae Don't update values when page home is not visible
To reduce load on Home Assistant and the network
2023-09-03 12:05:15 +02:00
Edward Firmo
41c3b01769 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
2023-09-03 11:47:00 +02:00
Edward Firmo
6c7afe5bfe Fix button show on climate page
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891335
2023-09-02 12:14:10 +02:00
Edward Firmo
5cc19470f7 Fix climate icon update
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/995#discussioncomment-6891454
2023-09-02 11:52:31 +02:00
Edward Firmo
cc9caa7017 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.
2023-09-02 10:57:14 +02:00
Edward Firmo
98da0d4c6e Use current_page in blueprint conditions
One more step towards the phase out of `nspanelevent`.
2023-09-02 02:04:28 +02:00
Edward Firmo
b134a37408 Enable current_page sensor by default
Otherwise the system won´t update values unless the page is reloaded.
2023-09-02 01:54:20 +02:00
Edward Firmo
ef130e4c15 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-09-02 01:41:06 +02:00
Edward Firmo
4d255c1df4 Clean-up boot delay 2023-09-02 01:40:48 +02:00
Edward Firmo
2e33d94955 Clean-up Cover page
I'm preparing this page to have icons changing based on the device_class selected to a cover.
2023-09-02 00:35:32 +02:00
w00zy
52dddb800c update docs (#1003)
* updated docs

* Update ReleaseNotes.md

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
2023-09-02 00:19:15 +02:00
Edward Firmo
0a3babfbce Clean-up page settings 2023-09-01 20:27:56 +02:00
Edward Firmo
0265dd8826 Update settings page when brightness changes on HA
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702149796
2023-09-01 14:06:49 +02:00
Edward Firmo
f4f80f667b Add translation keys for settings page
#1002
2023-09-01 08:09:21 +02:00
Edward Firmo
3345394bb4 Fix Settings page element ids
Partially solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/960#issuecomment-1702109668
2023-09-01 06:09:29 +02:00
Edward Firmo
836cd1a047 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`
2023-09-01 05:02:23 +02:00
Edward Firmo
ba5db23ae6 Optimize wake_up_display service 2023-08-31 20:08:29 +02:00
Edward Firmo
32b62adc96 Support to wake-up page on wake_up_display service
This changes the behavior of a service introduced by #734.
2023-08-31 19:59:59 +02:00
Edward Firmo
7642088db0 Add "Alarm" section 2023-08-31 18:59:18 +02:00
Edward Firmo
17072c4144 Standardize close button 2023-08-31 18:48:29 +02:00
Edward Firmo
204f66a9bf Fixed background pics
- Entities pages
- Weather pages
2023-08-31 15:38:05 +02:00
Edward Firmo
960c055fb5 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
2023-08-31 14:27:25 +02:00
Edward Firmo
646152d3e1 Exported pics 2023-08-30 20:48:27 +02:00
Edward Firmo
b134eaa88a Alarm page translations - Finnish
https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6857262
2023-08-30 15:12:03 +02:00
Edward Firmo
4748739155 Move brightness control to global var
Clean up page Home
2023-08-30 15:08:28 +02:00
Edward Firmo
f29eeda845 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
2023-08-29 11:55:50 +02:00
Edward Firmo
44f233fa26 Create ReleaseNotes.md 2023-08-29 10:56:06 +02:00
w00zy
b5614bb3d8 uptime sensors (#998) 2023-08-28 19:28:30 +02:00
Edward Firmo
97109f4ba5 Phase out sensor nspanel_event (partially)
This sensor is being replaced by event calls.
2023-08-27 19:53:14 +02:00
Edward Firmo
0f49eb2f8c 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.
2023-08-27 10:50:38 +02:00
Edward Firmo
46a4b6929e Fix script call 2023-08-25 22:23:01 +02:00
Edward Firmo
15b453c3ab Removed ${verbose_log}
Use logger level `VERBOSE` instead
2023-08-25 22:19:54 +02:00
Edward Firmo
8989a65f03 Add support for addon_climate_cool 2023-08-25 22:00:46 +02:00
Edward Firmo
62d297c8a5 Simplify climate substitutions 2023-08-25 21:34:23 +02:00
Edward Firmo
71250e3d92 Rename addon_climate_heat 2023-08-25 21:26:55 +02:00
Edward Firmo
ab99a48f0a Bump version to 4.0 2023-08-25 12:02:35 +02:00
Edward Firmo
49b9ebe128 Fix Alarm page bypass icon 2023-08-25 11:46:08 +02:00
Edward Firmo
1638e2e3af New entity filter format
This new format was released with HA v2023.4 and the old one will be deprecated soon.
2023-08-25 11:45:28 +02:00
Edward Firmo
99b8b0ac11 Delete ReleaseNotes.md
Moved to the release
2023-08-25 10:14:22 +02:00
Edward Firmo
9cfd27ebf1 Adding screenshots 2023-08-25 10:13:36 +02:00
Edward Firmo
a907ff5004 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.
2023-08-24 10:18:42 +02:00
Edward Firmo
27fc5c3e89 Home buttons new format - QRcode
Modernise the button "QRcode" flow on page Home to improve performance.
2023-08-23 22:18:31 +02:00
Edward Firmo
1ad3d7ef4b Home buttons new format - Entities
Modernise the button "Entities" flow on page Home to improve performance.
2023-08-23 20:04:37 +02:00
Edward Firmo
f399d757e5 Home buttons new format - Alarm
Modernise the button Alarm flow on page Home to improve performance.
2023-08-23 10:54:56 +02:00
Edward Firmo
c389c5b20b Fix alarm icon not updating on home page 2023-08-23 08:25:48 +02:00
Edward Firmo
b83c513093 Update alarm icon on home page
Refresh icon when alarm state changes.
2023-08-22 20:02:58 +02:00
Edward Firmo
2edfeef095 Support to code_arm_required
Only shows the alarm PIN keyboard if a code is required for arming (or when disarming).
2023-08-22 08:45:39 +02:00
Edward Firmo
3975806078 Removed fast_connect 2023-08-22 00:47:25 +02:00
Edward Firmo
99759008c8 Extended chars on buttons pages (#988)
Replaces #740
Probably solves #664
Probably solves #738
Probably solves #987
2023-08-21 22:07:56 +02:00
Edward Firmo
e96e342975 Revert fast_connect back to false 2023-08-21 21:25:10 +02:00
Edward Firmo
a339ef3c8f Update alarm icon & color 2023-08-21 18:22:16 +02:00
w00zy
be9b189a61 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>
2023-08-21 15:32:29 +02:00
Edward Firmo
d8e181fdda 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.
2023-08-17 20:23:25 +02:00
Edward Firmo
ad8e7e09c3 Alarm page UI
Fixed close button
Disabled buttons are darker
2023-08-17 10:36:11 +02:00
Edward Firmo
10698fa666 Fix alarm without pin not working
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/930#issuecomment-1680981977
2023-08-16 22:38:11 +02:00
Edward Firmo
fcc0477593 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
2023-08-16 17:03:41 +02:00
Edward Firmo
cb0e2aaa4b Add keyb_num page 2023-08-16 13:19:41 +02:00
Edward Firmo
6964af008b Alarm button font color 2023-08-15 21:00:28 +02:00
Edward Firmo
a4b201a2fa Create Alarm page 2023-08-15 20:48:46 +02:00
Edward Firmo
326746552a Add link to Alarm on page Home 2023-08-15 16:56:36 +02:00
Edward Firmo
680a5439ff Add Alarm page buttons pics 2023-08-15 15:23:55 +02:00
Edward Firmo
9157854799 Creating "install.md" and update add-ons instructions 2023-08-14 12:05:24 +02:00
Edward Firmo
da6d8c1c5e Add Alarm docs
Update docs to reflect the current state (new features & changes)
2023-08-11 11:11:09 +02:00
Edward Firmo
186447109b Add page Alarm 2023-08-11 00:46:18 +02:00
Edward Firmo
eddba39d4a Create Alarm page 2023-08-11 00:30:34 +02:00
Edward Firmo
96b3a375b0 Clean-up for customizations
Clean up ESPHome in order to make easier the use of customizations.
2023-08-10 11:27:58 +02:00
Edward Firmo
028a8c4a6f Create customization.md
This will reduce the need for:
- #920
- #662
- #833
2023-08-10 11:26:16 +02:00
Edward Firmo
ebe1e7243e Bump version to 4.0 dev 2023-08-10 09:33:22 +02:00
Edward Firmo
1965bedf3a Standardize HA service calls 2023-08-10 00:08:45 +02:00
Edward Firmo
e98ca4c8d4 Fix change brightness when sleeping
Prevents the panel to change screen brightness when sleeping.

Solves #975
2023-08-09 23:53:36 +02:00
Edward Firmo
62bdb576ab Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-08-09 23:22:50 +02:00
Edward Firmo
9556262880 Fixed link to addon climate docs 2023-08-09 23:14:05 +02:00
Edward Firmo
f1456dba3a Add-on support (#977)
Moved climate settings to an add-on.
Updated documentation.
2023-08-09 19:00:09 +02:00
bkbartk
8650b0814c dutch (#974)
* small ducht translations

small ducht translations

* Dutch translations

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
2023-08-09 12:28:49 +02:00
Edward Firmo
55f84b400d 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
2023-08-09 09:43:42 +02:00
Edward Firmo
4971b7518b 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
2023-08-04 13:29:40 +02:00
Edward Firmo
9979058faf Updated translations - Spanish
Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6548961
2023-08-04 13:21:05 +02:00
Edward Firmo
21822dae37 Icons on ESPHome
Move icons from TFT/HMI to ESPHome to prevent error on Nextion2Text.
2023-08-03 23:53:06 +02:00
Edward Firmo
f7fb050e1d Fix call for fan stop button
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6622377
2023-08-03 22:46:10 +02:00
Edward Firmo
7ad95a66d8 Call a fan.turn_off when percentage is 0%
Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/791#discussioncomment-6621756
2023-08-03 22:36:03 +02:00
Edward Firmo
669ead9e79 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
2023-08-02 10:27:39 +02:00
Edward Firmo
dc787c5b0d Fix set_temperature for climate
Solves #957
2023-08-02 10:02:25 +02:00
Edward Firmo
cab3404645 Fix translations - Italian
Based on https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/940#discussioncomment-6511043
2023-07-21 19:09:33 +02:00
Edward Firmo
9aa8421117 Fix issue with restore_state and ESPHome v2023.7.0 (#941) (#943)
Solves #939
2023-07-19 18:56:15 +02:00
Edward Firmo
496392a382 Fix issue with restore_state and ESPHome v2023.7.0 (#941)
Solves #939
2023-07-19 13:54:54 +02:00
Edward Firmo
6ed378b8e0 Default embedded climate to relay_0 2023-07-19 13:08:08 +02:00
Edward Firmo
d329d92713 Fix "invalid variable" for "api"
Fix error "Nextion invalid variable name" when setting `api`.
2023-07-19 12:50:06 +02:00
Edward Firmo
2594df56ad Fix relays chips
Fix relay status indication on chips.

Solves https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/926#issuecomment-1627660273
2023-07-19 11:09:13 +02:00
Edward Firmo
66e028f950 Align nspanel_us_land
Apply all changes from EU to US_Land
2023-07-19 10:11:53 +02:00
Edward Firmo
637b7b0477 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
2023-07-19 10:01:10 +02:00
Edward Firmo
7d607f9936 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-07-19 09:49:20 +02:00
Edward Firmo
e3efb4dbe5 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
2023-07-19 09:49:09 +02:00
Edward Firmo
cbf00fec5e Update nspanel_esphome.yaml 2023-07-15 00:26:13 +02:00
Edward Firmo
a118536f4a 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
2023-07-15 00:22:47 +02:00
Edward Firmo
c2ab8caeff Update ReleaseNotes.md 2023-07-10 14:03:51 +02:00
Edward Firmo
7104cbf0e9 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.
2023-07-10 13:55:55 +02:00
Edward Firmo
9c3ae7a4f5 Update ReleaseNotes.md 2023-07-08 10:33:16 +02:00
Edward Firmo
f25ca0934c 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.
2023-07-08 09:34:09 +02:00
Edward Firmo
64659f3794 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
2023-07-03 08:14:32 +02:00
Edward Firmo
58a4575ab9 Prevents boot sequence in other pages 2023-07-03 07:15:05 +02:00
Edward Firmo
661e51671a Fixed Fan page rounding 2023-07-03 01:45:36 +02:00
Edward Firmo
d1c1dc018b Fix fan page button_on
Fixing rounding on that button.
2023-07-03 01:43:47 +02:00
Edward Firmo
ba8257e958 Fix call to screen page
Fixes the call to screen page on US panel.
Reconciliate the US landscape model from EU model.
2023-07-03 01:16:28 +02:00
Edward Firmo
3a95d5916e 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.
2023-07-02 23:55:08 +02:00
Edward Firmo
1287ff69ac Notification page bigger hotspot
Added hotspots around the buttons (Accept & Clear) on Notification page to make easier to click on those.

Solves #907
2023-07-02 22:44:02 +02:00
Edward Firmo
157472ee67 Time engine on ESPHome 2023-07-01 14:09:45 +02:00
Edward Firmo
ec99b83817 Time engine on ESPHome 2023-07-01 14:04:42 +02:00
Edward Firmo
8f81311203 Fix validation issue 2023-07-01 10:53:11 +02:00
Edward Firmo
2f6463b30a Exclude Nextion2Text
Exclude Nextion2Text
2023-07-01 09:17:52 +02:00
Edward Firmo
491472a364 "Jump to settings" on tft
Moved "Jump to settings page" routine from ESPHome to TFT in order to reduce complexity.
2023-07-01 09:14:35 +02:00
Edward Firmo
3aca4c64d2 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
2023-06-30 12:24:25 +02:00
Edward Firmo
ec48fbd335 Adding vertical bars pics 2023-06-30 11:20:26 +02:00
Edward Firmo
3b5fefe9fc Update ReleaseNotes.md 2023-06-30 02:45:28 +02:00
Edward Firmo
d018756673 Fan update engine
Change the fan update engine to follow the same patter as other settings pages.
2023-06-30 01:09:10 +02:00
Edward Firmo
ef7f3f1fa8 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
2023-06-30 01:07:44 +02:00
Edward Firmo
fe3c1ebda1 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
2023-06-29 17:20:16 +02:00
Edward Firmo
f483a52242 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
2023-06-29 17:11:49 +02:00
Edward Firmo
822157f2e6 Update instructions.md 2023-06-29 14:18:08 +02:00
Edward Firmo
2d2b11f4fc 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
2023-06-29 08:29:16 +02:00
Edward Firmo
9c6bcc07ae API status indication on the panel 2023-06-27 18:34:34 +02:00
Edward Firmo
5ff5d35833 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
2023-06-27 17:42:23 +02:00
Edward Firmo
6dd6397fde 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
2023-06-27 15:26:50 +02:00
Edward Firmo
26e41f0fc2 Fix "Button confirmation page not working correctly"
Solves #883
2023-06-27 08:55:58 +02:00
Edward Firmo
33539e8bbd 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`
2023-06-26 20:21:14 +02:00
Edward Firmo
fe7c7ead18 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
2023-06-24 13:46:10 +02:00
Edward Firmo
2f44dd1d7c 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
2023-06-23 01:26:35 +02:00
Edward Firmo
c211d3f435 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`
2023-06-22 14:16:47 +02:00
Edward Firmo
10da9a65c6 Update ReleaseNotes.md 2023-06-20 15:26:16 +02:00
Edward Firmo
47daf651e6 New language selector (#882)
* New language selector

* Update ReleaseNotes.md
2023-06-20 15:19:06 +02:00
Edward Firmo
f0b52a9e4d 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).
2023-06-20 12:45:07 +02:00
Edward Firmo
ae98178075 Filter devices to esp32 only (#881)
* Filter devices to esp32 only

Show only ESP32 devices when selecting the panel

* Filtered device list
2023-06-20 12:44:44 +02:00
Edward Firmo
36286bc457 Create ReleaseNotes.md (#879)
* Create ReleaseNotes.md

* sensor display precision
2023-06-19 19:56:36 +02:00
Blackymas
a47d8c3fbb v.3.4 - New climate page and some bug fixes
v.3.4 - New climate page and some bug fixes
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
Edward Firmo
15aab73376 Fix sorting of language names 2023-05-02 18:22:45 +02:00
Edward Firmo
fc8108fc2c Fix units showing None when not available (#767)
This solves #766
2023-05-02 10:43:25 +02:00
Edward Firmo
0c5940c341 Fixed typo in source_url 2023-05-02 10:31:49 +02:00
Blackymas
666cd14789 v3.3 - fixed some bugs, performance, improvements
v3.3 - fixed some bugs, performance, improvements
2023-05-01 21:45:28 +02:00
Edward Firmo
0370c8143e Merge branch 'main' into beta 2023-05-01 21:29:09 +02:00
Blackymas
b20e80b840 v3.3 - fixed some bugs, performance, improvements
v3.3 - fixed some bugs, performance, improvements
2023-05-01 21:08:17 +02:00
Edward Firmo
adb4c8c12f Fix crash climate without temperature attrb (#762)
The systems won't crash if the climate entity doesn't have a `temperature` attribute.
It will try to calculate target from `target_temp_high` and `target_temp_low` otherwise will keep target temperature as empty.

This solves #749
2023-05-01 10:07:35 +02:00
Edward Firmo
b856619331 Fix units on indoor temperature (#757)
* Fix units on indoor temperature

It will now show units from ùnit_of_measurement` to keep consistence with other value entities on Home page.

This solves #755

* Removing redundancy
2023-04-30 12:33:14 +02:00
Edward Firmo
3f8b5ad3aa Fix missing icons (#752)
As per https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/657#issuecomment-1527333817
2023-04-29 13:44:10 +02:00
Edward Firmo
8b06ce15aa Chips to support boolean entities (#748) 2023-04-28 13:51:01 +02:00
Edward Firmo
6bb54394a0 Moved page labels inputs to the page items (#746)
This solves #742
2023-04-28 07:58:18 +02:00
Edward Firmo
0bd3200155 Update CONTRIBUTING.md 2023-04-28 01:16:22 +02:00
Edward Firmo
8d22fdb41c Removed duplicated entry for OpenWeatherMap 2023-04-27 21:49:47 +02:00
Edward Firmo
3a08cfc583 Fixes name on cover settings page (#741)
solves #739
2023-04-27 13:35:13 +02:00
Chris
7677934244 Merge pull request #737 from deejaybeam/dev
fix: current_page does not extist anymore
2023-04-26 23:40:55 +02:00
Chris
13726fa08e Merge branch 'Blackymas:dev' into dev 2023-04-26 23:40:22 +02:00
deejaybeam
f609e92c0d fix: current_page does not exist anymore 2023-04-26 23:39:35 +02:00
Edward Firmo
085842a8e9 Removed filter from device selection
To keep compatibility with HA 2022.11.1.
2023-04-26 23:33:04 +02:00
Edward Firmo
89ad6426ed Fixes icon for unavailable (#736) 2023-04-26 23:19:01 +02:00
denes44
f3cfa2c8ed Wake up panel service call (#734)
* Add service call for waking up the display

* Option to reset the sleep and page timers
2023-04-26 23:11:05 +02:00
Edward Firmo
a34f51e6b6 Introduces show_while_loading mode (#731) 2023-04-26 22:05:15 +02:00
Edward Firmo
222ae92d36 Update README.md (#727) 2023-04-26 22:04:15 +02:00
Edward Firmo
b05633aae5 Rebuild Sleep mode switch (#719) 2023-04-26 22:03:54 +02:00
Edward Firmo
32b98e09f6 Creating CONTRIBUTING.md (#700) 2023-04-26 22:03:06 +02:00
Edward Firmo
c78ea43ea2 Fix light/cover settings page appearing on swipe 2023-04-26 13:21:06 +02:00
Edward Firmo
355a643ff7 Visual feedback for stateless entities (hw button) (#725)
Implement visual feedback for stateless entities (whatever finishes with a state other than `on`, `off`, `open` and `closed`, like scenes, automations, buttons, etc.).
This extends b18f2848f4 and solves #691.
2023-04-25 21:00:30 +02:00
Edward Firmo
a252ddf74e Fix: button not updating with external changes (#721)
* Fix: button not updating with external changes

* Removed debug code

* Revert trigger_id change
2023-04-24 20:52:05 +02:00
deejaybeam
8ca88755c1 fix: follow new default-mode esphome 2023.4 2023-04-24 17:55:36 +02:00
Edward Firmo
32f297353a Fix issue with light settings page opening with 0% 2023-04-24 13:11:45 +02:00
Edward Firmo
41d6acdf36 Changes to nextion_inited to become a sensor (#715)
* Changes to nextion_inited

Changed from `switch` named `Nextion inited` (with entity_id like `switch.xxxx_nextion_inited`) to a `binary_sensor` named `Nextion display` (`binary_sensor.xxxx_nextion_display`).
The idea is to avoid users trying to change it's state from Home Assistant (with unknown consequences) and make this entity more clear, improving usability.

* Change `nextion_inited` to a sensor
2023-04-24 12:42:06 +02:00
Edward Firmo
19e6374e03 Rename 'Sleep mode' switch (#714)
* Rename 'Sleep mode' switch

Renamed from `Sleep Modus` to `Sleep mode`.

Breaking change: This will rename the entity_id of that switch and this can affect existing automations created by users and also will require changes in the blueprint if #698 is merged.
Note: Variable names in HMI/TFT not renamed.

* Align with other PR
2023-04-24 12:40:44 +02:00
Edward Firmo
374502c6d8 Replaces the white screen by a QR code (#701)
The QR code have a link to the repository, but perhaps this could be changed later to point directly to a page with instruction of what to do if a user see that screen.
The file is growing by less than 1kb and I believe a QR code with a link gives to the users a better feeling than a totally white screen where they cannot interact with.
2023-04-24 12:35:51 +02:00
Edward Firmo
f9776463c1 Wake-up panel when sleep mode is disabled (#698)
The panel will wake-up to Home page if it is on screen saver page (sleeping) when sleep mode is disabled.

This solves #696
2023-04-24 12:34:53 +02:00
Edward Firmo
f48a58a76a Standardize inputs descriptions (#694)
* Standardize inputs descriptions

Standardize the descriptions on all inputs (visible to users when setting up the Blueprint)

* Removing trailing spaces
2023-04-24 12:34:04 +02:00
Edward Firmo
d7944855ad Fixes to translations in POL as per #695 (#705) 2023-04-23 21:41:51 +02:00
Edward Firmo
9ef8287be7 Fix error on weather pages pic
The weather picture was broken when breaking down that line of code.
2023-04-23 18:52:17 +02:00
Edward Firmo
c750971b0e Standardize yaml
To improve readability.
No changes in the code.
2023-04-23 15:42:17 +02:00
Edward Firmo
36a0811776 Standardize yaml
No changes in functionalities, just removing blank lines and indentation of comments.
2023-04-23 14:29:57 +02:00
Edward Firmo
508dbd01a8 Clean up (#704)
* Break down long lines

To improve readability.

* Update nspanel_blueprint.yaml

* Breaking down long lines

To improve readability.

* Clean-up

* Breaking down long lines
2023-04-21 14:13:59 +02:00
Edward Firmo
ebb37b85c8 Fix translations to FIN as per #703 2023-04-21 14:07:35 +02:00
Edward Firmo
8e04a34e41 Code clean-up 2023-04-21 10:42:13 +02:00
Edward Firmo
8a510086b1 Standardize the use of ' and " in the code (#702)
The new standard for code will be like this:
`var: '{{ state_attr(entity_id, "friendly_name") }}'`
2023-04-21 10:03:15 +02:00
Edward Firmo
f01f3d5e4e Used aliases for element on home page (#697)
- Removed duplicated code used to update element in the home page and used aliases instead.
- Breaking down long lined to improve readability.
2023-04-20 13:08:31 +02:00
Edward Firmo
e78b77de9e Added link to yamllint docs 2023-04-20 12:08:16 +02:00
Chris
42766724fa upd: bump to version 3.3 2023-04-19 23:50:03 +02:00
deejaybeam
2cf447f660 upd: remove trailing spaces 2023-04-19 23:37:01 +02:00
deejaybeam
b18f2848f4 fix: visual feedback for stateless entities 2023-04-19 23:30:46 +02:00
Edward Firmo
a1d1bac49f Removing unnecessary blank spaces 2023-04-19 18:03:16 +02:00
Edward Firmo
37cda13162 Breaking down long lines to make it more readable 2023-04-19 17:53:10 +02:00
Edward Firmo
1a1b190e5e Breaking down long lines to make it more readable 2023-04-19 17:45:05 +02:00
Edward Firmo
633f58d074 forbid-duplicated-anchors 2023-04-19 17:31:20 +02:00
Edward Firmo
624fd832e3 Fix inputs based on #692
Fixes items 1 & 2 of #692
2023-04-19 14:02:06 +02:00
Edward Firmo
60c43e99bd Add validation actions (#693)
* Add validation action

* Clean-up yaml

Removed trailing spaces

* Clean-up yaml

Removed trailing spaces

* Clean-up yaml

Removed trailing spaces

* Clean-up yaml

Removed trailing spaces

* Clean-up yaml

Removed trailing spaces

* Update validate_yaml.yml

* Validate on push

Only for nspanel_esphome.yaml and nspanel_blueprint.yaml

* Extending warnings for +255-char lines

* Update validate_yaml.yml

* Clean-up yaml

* Update validate_yaml.yml

* Clean-up yaml

* Clean-up yaml

* Clean-up yaml

* Clean-up yaml

* Clean-up yaml

* Update and rename validate_yaml.yml to validate_blueprint.yml

* Create validate_esphome.yml

* Clean-up yaml
2023-04-19 13:16:28 +02:00
Edward Firmo
cf5829af8f Removing extra line 2023-04-18 21:56:20 +02:00
Chris
6de0c44b14 Nspanel event (#689)
* upd: hmi2txt export

* upd: sync latest dev

* upd: currentpage

* upd: lightsettings

* upd: coversettings

* upd: touchevent

* Fix error preventing long click on button pages

* upd: climate

* upd: lastclick w.o. blueprint

* Upd: Long_press - Lights

* Update: Everything else (#688)

Still a bug with confirmation message and long press button.

* Fix: Notifications

* Fix: Button long press

* Fix: Climate page

* Fix: Indoor temp when no sensor defined

* fix: open climate from homepage triggers mulitple

---------

Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
2023-04-18 21:54:04 +02:00
Edward Firmo
736c2c777a Fix error preventing long click on button pages 2023-04-17 11:26:47 +02:00
Chris
eb748457df Merge pull request #682 from Blackymas/dev
new beta
2023-04-15 16:00:53 +02:00
deejaybeam
e597ad5c59 upd: comments 2023-04-15 15:30:08 +02:00
Edward Firmo
ec68abb7e3 Fix button showing as unavailable on HA restart
Buttons should show as `off` when state is `unknown`.
Same is valid for:
- button
- input_button
- scene
2023-04-15 14:53:02 +02:00
Chris
38272052d7 Merge pull request #681 from deejaybeam/dev
Dev
2023-04-15 14:04:29 +02:00
deejaybeam
d23f53b9d2 Merge branch 'dev' of https://github.com/deejaybeam/NSPanel_HA_Blueprint into dev 2023-04-15 14:03:03 +02:00
Chris
c031cfee22 Merge pull request #679 from Blackymas/edwardtfn-patch-3
Improved weather pages
2023-04-15 13:57:19 +02:00
Chris
12200c80c8 Merge pull request #674 from Blackymas/edwardtfn-patch-2
Change panel selector to built in device selector
2023-04-15 13:02:44 +02:00
Chris
6e4e5ab817 Merge pull request #1 from Blackymas/edwardtfn-patch-2
New Panel selector and a weather backup selection
2023-04-15 12:56:43 +02:00
Edward Firmo
d9de15be10 Improved weather pages
Tested with the following integrations:
- AccuWeather - Better when forecast is enabled
- Met.no - Better when hourly entity is enabled
- OpenMeteo
- OpenWeatherMap
- SMHI
2023-04-15 11:11:13 +02:00
Edward Firmo
576c08c658 Narrowing down the list od devices 2023-04-15 06:47:55 +02:00
Chris
d29517c127 Merge pull request #676 from deejaybeam/dev
upd: set_entity-service
2023-04-14 23:23:01 +02:00
deejaybeam
642a78364a upd: set_entity-service 2023-04-14 23:22:19 +02:00
Chris
2627d993c1 Merge pull request #675 from deejaybeam/dev
fix: button to exit reparse-mode on factory-device
2023-04-14 20:31:40 +02:00
deejaybeam
9d822e7ee9 fix: button to exit reparse-mode on factory-device 2023-04-14 20:25:13 +02:00
Edward Firmo
03c05ff084 Fix input descriptions for icons
To support the new icon format.
2023-04-14 17:32:18 +02:00
Edward Firmo
5604235ded Change panel selector to built in device selector
1. The blueprint will now ask for user to select the panel from the list of ESPHome devices instead of typing it's name, in order to reduce the chance of an error
-> The old name format still supported, so this is not a breaking change.

2. If a weather entity is not provided, the blueprint will pick one weather entity available, if any.
2023-04-14 15:14:06 +02:00
Chris
53b7d9af6f Merge pull request #667 from doron1/patch-1
Update the correct Nextion variable for sleep modus
2023-04-14 11:50:43 +02:00
Edward Firmo
433e83d931 Add support to change baud rate with Nextion (#662)
* User's defined baud_rate

* Update nspanel_esphome.yaml

* Bump version to 3.2.3
2023-04-14 00:49:25 +02:00
Edward Firmo
5d523eabd6 Supports icon from attributes for chips 2023-04-13 14:20:29 +02:00
Edward Firmo
cfb076a01b Support for icon from attributes on Entities pages 2023-04-13 13:53:35 +02:00
Edward Firmo
1d2138fefd Use Home Assistant icon selector for icons (#657)
* Use Home Assistant icon selector for icons

Replace all icon selection to Home Assistant native icon selector, improving the user experience.

Note: As not all the MDI icons are available for Nextion, if one of those icons is selected it will be displayed as a question mark `?`.

* Fix button icon when unavailable

Apply fixed from PR#660 into this branch to avoid merging conflicts in the future.

* Supports legacy icon selection

This add the support for legacy icon selection, so icons will still be shown if users install the new version in an environment where icons where previously selected.
2023-04-13 13:16:52 +02:00
EnginDzhemil
e1b1543a25 fix bulgarian translation (#669)
Co-authored-by: Engin Dzhemil <engin.dzhemil@openpayd.com>
2023-04-12 21:32:22 +02:00
Edward Firmo
13d4156ef1 Fix position of values on page home (#661)
Fix error where values in the page home could be assigned to another component if a previous component have a state unknown or unavailable.
2023-04-12 21:30:49 +02:00
Edward Firmo
877dc316ff Fix button icon when unavailable (#660)
Button pages will show a mdi:alert-circle when an entity is unavailable, just like before.
2023-04-12 21:30:09 +02:00
doron1
b0ea3ef63d Correct Nextion variable for sleep modus
Code was updating the wrong (probably old) variable name on the panel, when the "sleep" button is pressed in settings page
2023-04-12 20:49:57 +03:00
Edward Firmo
76abf9611d Update clock at the beginning of each minute
This was already implemented on #543 but it was lost later:

As it is now, using minutes: "/1", the time will update every minute, but that could happen when lots of seconds has passed on that minute, making possible the displayed time to be up to 59s late.
By changing that to seconds: 0 if forces the update in the same rate, but always in the first second of a minute, keeping the displayed time always updated.
2023-04-12 19:25:18 +02:00
Blackymas
27d1846c2b add some bug fixes and performance improvements
add some bug fixes and performance improvements
2023-04-11 00:27:38 +02:00
Edward Firmo
56f27d1a86 Reduce # of concurrent instances of blueprint
This reduces the number of parallel instances of the blueprint running. I've done several tests and couldn't see more than 10 instances, so I believe if we should limit the concurrent runs and this will probably be an indication of a problem we want to know about.
2023-04-11 00:05:01 +02:00
Edward Firmo
95ff13d831 Convert napanel_name to a valid format (#647)
This supports users mistyping the NSPanel name in the blueprint settings. One of the most common mistakes is using `-` in the name, instead of `_` and this change will try to replace that when users type the name with this invalid char.
2023-04-10 23:58:12 +02:00
Edward Firmo
59727e294d Home page: Removing unnecessary calls to panel (#629)
Trying to gain a bit on performance by not sending calls to the panel when not needed (element not available, etc.).
2023-04-10 23:57:35 +02:00
Edward Firmo
1ea041c731 Fixed translation (Spanish)
As per 342a5ae1b8 (r108312227)
2023-04-10 17:43:15 +02:00
Edward Firmo
3134f07671 Fix input descriptions to entity pages (#634)
It was incorrectly describing BUTTONPAGExx instead of ENTITYPAGExx.

This fixes #633
2023-04-07 12:12:53 +02:00
Edward Firmo
36d2cf2f21 Fixes to Croatian string formats
#628
2023-04-07 11:55:27 +02:00
Edward Firmo
adbe6a4dc6 Fix translations to Croatian
#628
2023-04-07 08:22:27 +02:00
Blackymas
6397053d25 Add time format 24h without leading zero
Add time format 24h without leading zero
2023-04-07 00:55:49 +02:00
Edward Firmo
f5781d48b3 Add "Croatian" as supported language (#632)
#628
2023-04-06 21:45:40 +02:00
Edward Firmo
cf1ed9aa66 Fix: Variable date_format missing
Moving the variable definition back to the root.
2023-04-06 12:49:18 +02:00
Edward Firmo
03498a2b79 Fix: Date format not applied when time changes 2023-04-06 12:41:19 +02:00
Edward Firmo
cee264d769 Add time format 24h without leading zero
To be consistent with the new date format added on v3.2.3.
2023-04-06 09:41:58 +02:00
Edward Firmo
c931e551c8 Bug fixed: Removed duplicated line 2023-04-06 00:36:48 +02:00
Blackymas
f4e8d3b006 Bump blueprint version to `3.2.3
Bump blueprint version to `3.2.3`
2023-04-06 00:30:13 +02:00
Edward Firmo
4fc9f98ce8 Bump blueprint version to 3.2.3 2023-04-06 00:27:00 +02:00
Edward Firmo
5a0715064d Roll back temperature units to fit screen (#625)
This should fix #617
2023-04-06 00:19:43 +02:00
Edward Firmo
124b9d87d5 Remove + from positive temperatures (#624) 2023-04-06 00:14:10 +02:00
Edward Firmo
84c9f073bd Added continue_on_error to service calls (#608)
This will make the automation more resilient, however it could hide some errors, making a bit harder to troubleshoot.
2023-04-06 00:13:08 +02:00
Blackymas
05f68816c6 change weather field temp chars 2023-04-05 23:46:42 +02:00
Blackymas
25315afe11 fix weather temp field chars 2023-04-05 23:11:00 +02:00
Blackymas
fde287199d Code optimization
Code optimization
2023-04-05 22:57:27 +02:00
Blackymas
a595600669 Support for opening & closing states on buttons
NEW: Support for `opening` & `closing` states on buttons
2023-04-05 22:56:39 +02:00
Blackymas
246eed6df3 Removed "Weather integration" selection from setup
NEW: Removed "Weather integration" selection from setup
2023-04-05 22:56:13 +02:00
Blackymas
db4ffb9c17 Fixed translation strings to Spanish & Portuguese
Fixed translation strings to Spanish & Portuguese
2023-04-05 22:54:53 +02:00
Blackymas
79c2b1533a Performance improvement: Temperature min/max
Performance improvement: Temperature min/max
2023-04-05 22:54:30 +02:00
Blackymas
9def80eae6 new temp field weather01-04 2023-04-05 22:25:35 +02:00
Edward Firmo
fa2ef5173b Performance improvement: Temperature min/max
- Merge the 3 calls needed to create the temperature min/max display on the Weather pages into just one call per page.
2023-04-05 19:26:11 +02:00
Edward Firmo
342a5ae1b8 Fixed translation strings to Spanish & Portuguese 2023-04-05 13:43:04 +02:00
Edward Firmo
92753d5ca4 Removed "Weather integration" selection from setup
The weather integration is now automatically detected by the Blueprint, based on the attributes provided by the integration itself, so an user selection is not needed anymore.
2023-04-05 13:09:43 +02:00
Edward Firmo
0eef377ca9 Support for opening &closing states on button
- Button pages now displays cover status when is is `opening` or `closing`.

This probably solves #451
2023-04-05 09:38:49 +02:00
Edward Firmo
a831d189d8 Code optimization 2023-04-05 08:58:11 +02:00
Edward Firmo
2a5f3124d5 Fix first button not responding to short press (#603) 2023-04-05 02:04:12 +02:00
Edward Firmo
f871ef84e9 Fix date format on home page (#602)
* Fix date format on home page

To use custom date format

* Remove debug call
2023-04-05 02:02:32 +02:00
Edward Firmo
383835d710 Add cover battery when not as an attribute (#601)
- It will try to find a battery sensor withing the same device.

This should fix #153
2023-04-05 02:02:04 +02:00
Edward Firmo
601568b6f0 Fix on date format (copy #568 to DEV) (#600)
https://github.com/Blackymas/NSPanel_HA_Blueprint/pull/568
2023-04-04 23:50:00 +02:00
Blackymas
60afcf60cc Merge pull request #568 from albinmedoc/main
fix: corrects date_format
2023-04-04 23:44:06 +02:00
Edward Firmo
a351eece0b Removing empty lines (merging conflicts) (#598) 2023-04-04 23:41:56 +02:00
Edward Firmo
10a9e417ea Code refactoring (#565)
* Code refactoring - Nextion constants - Colors

No changes in functionalities. Just renaming variables related to colors in order to improve readability.

* Code refactoring - Nextion constants - Icons

* Adding aliases on the first level actions

This will make easier troubleshooting as aliases are shown in the logs.

* Nextion constants - Pages

* Nextion constants - Commands

* Nextion constants - Other pics

* Fixed typo in nextion.pics.hardware.button

* Fixed " 'mui_weekday_today' is undefined"

* Code refactoring/standardization

Refactoring:
- Weather pages
 - It might support any weather integration now, including OpenWeather)
 - New string for translation (when weather info is not available for a certain day)
- Home page (partial)

* Fix bug "'home_page_values' is undefined"

* Code refactoring - Button pages

Rebuilt button pages in order to improve readability and maintainability.
No changes on functionalities,

* Changed blueprint version to v3.2.2

* Refactoring entities pages

* Reorganizing inputs to improve readability

* Bug fixes: qrcode icon & weather provider

- Fixed bug preventing to detect that QR Code was enabled in order to display the QR code icon on Home page
- Fixed weather integration detection

* Review states(entity_id) to make it more resilient

Reduce the chances of crash if a `states(entity_id)` returns an error.

* Make state_attr(entity_id, attr) more resilitent

To avoid crashes with an invalid return.

* Perf improv: Don't load weather vars unless needed

Performance improvement - don't load weather vars when those are not needed.

* Using alias for delay_value

To make easier to maintain the code.

* Code refactoring: Button press/status

Optimizing code in order to improve readability & maintainability.

* Reorganizing pages variables
2023-04-04 23:38:00 +02:00
Blackymas
787f337220 v3.2.2 - fixed some bugs performance improvement
v3.2.2 - fixed some bugs performance improvement
2023-04-04 08:37:14 +02:00
Blackymas
44aaea74ec change weather params
Change order of weather params to fit the screen (#592)
2023-04-04 08:25:30 +02:00
Edward Firmo
4a346ce2d2 Change order of weather params to fit the screen (#592) 2023-04-04 07:11:43 +02:00
Blackymas
4ead4382a2 Merge pull request #591 from Blackymas/dev
fix for wakeup sleep mode
2023-04-03 22:43:19 +02:00
Blackymas
1e64e134f9 fix for wakeup sleep mode 2023-04-03 22:37:57 +02:00
Blackymas
68190ece4b Merge pull request #589 from Blackymas/dev
v.3.2.2 - fixed some bugs
2023-04-03 21:14:34 +02:00
Blackymas
81d0bcf304 change description 2023-04-03 21:13:30 +02:00
Blackymas
94364d711e Merge pull request #585 from Blackymas/dev
v.3.2.2 - fixed some bugs
2023-04-03 16:40:51 +02:00
Chris
2953942fbd Merge pull request #584 from deejaybeam/dev
v3.2.2
2023-04-03 08:28:08 +02:00
Chris
51173352d2 Merge branch 'Blackymas:dev' into dev 2023-04-03 08:26:05 +02:00
Chris
1bec2b1160 upd: v3.2.2 2023-04-03 08:21:35 +02:00
Blackymas
4921453a1b fix variables for v3.2.2 2023-04-02 22:32:42 +02:00
Blackymas
95a4447eeb Update page_id & component_id 2023-04-02 22:30:05 +02:00
deejaybeam
350b3f4ca7 upd: use set_button on all button pages 2023-04-02 08:55:30 +02:00
deejaybeam
a8172a1b06 fix: fallback state 2023-04-02 08:49:02 +02:00
deejaybeam
df10d09736 upd: use current nextion-component 2023-04-01 02:17:04 +02:00
Chris
4f31326b8e Merge pull request #578 from deejaybeam/dev
fix: avoid "0" brightness in some cases
2023-04-01 02:12:20 +02:00
deejaybeam
f0e557b5e4 fix: avoid "0" brightness in some cases 2023-04-01 02:11:00 +02:00
Chris
80d19b1da1 Merge pull request #577 from deejaybeam/dev
upd: service set_button to improve performance
2023-03-31 23:24:33 +02:00
deejaybeam
df0855862f upd: service set_button to improve performance 2023-03-31 23:23:43 +02:00
Albin Medoc
12f22554d8 fix: corrects date_format 2023-03-30 11:06:29 +02:00
Edward Firmo
d23fe9616c fix: ignore unassigned indoor sensor
Fix for when sensor is set but unavailable.
2023-03-29 15:49:29 +02:00
Chris
76fee43d3b Merge pull request #561 from deejaybeam/dev
fix: ignore unassigned indoor sensor
2023-03-29 11:01:50 +02:00
deejaybeam
e8fd5e2020 fix: ignore unassigned indoor sensor 2023-03-29 11:00:50 +02:00
Chris
89faeb3ec1 Merge pull request #525 from edwardtfn/patch-19
Code refactoring - Weather & Climate
2023-03-28 22:35:38 +02:00
Chris
a006af2654 Merge pull request #537 from edwardtfn/patch-21
Removing empty sequences
2023-03-28 22:34:07 +02:00
Chris
4ea23c7cf5 Merge pull request #543 from edwardtfn/patch-23
Update clock at the beginning of each minute
2023-03-28 22:33:39 +02:00
Chris
1e7ead8e46 Merge pull request #556 from deejaybeam/dev
fix: typo
2023-03-28 19:16:42 +02:00
deejaybeam
d88290474e fix: typo 2023-03-28 19:11:12 +02:00
Blackymas
75f17f0d3e fix sleep button settings page 2023-03-27 22:05:17 +02:00
Edward Firmo
8a21f88df9 Merge branch 'dev' into patch-19 2023-03-27 00:51:40 +02:00
Edward Firmo
5a01431670 Resolving merging conflicts with #541 2023-03-27 00:46:20 +02:00
Blackymas
7c90677d99 Merge pull request #544 from Blackymas/beta
v3.2.1 - new features and fixes
2023-03-26 22:28:01 +02:00
Blackymas
fe65530eb5 Merge pull request #542 from Blackymas/dev
v3.2.1 - new features and fixes
2023-03-26 22:27:33 +02:00
Edward Firmo
ecd806b1c5 Update clock at the beginning of each minute
As it is now, using `minutes: "/1"`, the time will update every minute, but that could happen when lots of seconds has passed on that minute, making possible the displayed time to be up to 59s late.
By changing that to `seconds: 0` if forces the update in the same rate, but always in the first second of a minute, keeping the displayed time always updated.
2023-03-26 22:26:55 +02:00
Chris
72e59947b6 Merge pull request #541 from deejaybeam/dev
fix: remove unneeded home.hotwater.pic
2023-03-26 21:15:33 +02:00
Chris
8869eb2f67 Merge branch 'Blackymas:dev' into dev 2023-03-26 21:14:55 +02:00
deejaybeam
c7c54261cb Merge branch 'dev' of https://github.com/deejaybeam/NSPanel_HA_Blueprint into dev 2023-03-26 21:14:25 +02:00
deejaybeam
27185ea88c fix: remove unneeded home.hotwater.pic 2023-03-26 21:14:14 +02:00
Chris
bfe2c65bfd Merge pull request #540 from deejaybeam/dev
upd: blank.tft
2023-03-26 21:10:32 +02:00
Chris
45dafc3d0d Merge branch 'Blackymas:dev' into dev 2023-03-26 21:09:41 +02:00
Blackymas
c9c31bba57 size for the Date field 2023-03-26 20:54:13 +02:00
Chris
485e5cc8d2 Merge branch 'dev' of https://github.com/deejaybeam/NSPanel_HA_Blueprint into dev 2023-03-26 19:59:44 +02:00
Chris
175c927ee8 upd: blank.tft 2023-03-26 19:59:38 +02:00
Edward Firmo
4392bf251b Fix variable name hotwater_pic_on -> hotw_bt_on
Trying to avoid merging conflict with #538
2023-03-26 17:54:06 +02:00
Edward Firmo
9616ea4c8f Merging weather01 page into the others
- All the weather pages now shares the same code, increasing standardization
- Support for other forecast parameters when supported by the integration
- Removed empty rows between the forecast parameters
2023-03-26 17:21:10 +02:00
Edward Firmo
2a9162e809 Removing empty sequences
This probably isn't an issue, but a sequence shouldn't be empty.
2023-03-26 16:11:39 +02:00
Blackymas
df976b0a90 Merge pull request #533 from Blackymas/dev
v3.2.1 - new features and fixes
2023-03-26 00:44:23 +01:00
Chris
220b5fb02b Merge pull request #532 from deejaybeam/dev
fix: remove hp-bottons on disable in blueprint
2023-03-26 00:41:11 +01:00
deejaybeam
a0a0d16af7 fix: remove hp-bottons on disable in blueprint 2023-03-26 00:40:42 +01:00
Blackymas
f97b298d00 repositioning date and time 2023-03-26 00:19:18 +01:00
Chris
6feba8a56d Merge pull request #531 from deejaybeam/dev
upd: remove unneeded link
2023-03-25 23:50:25 +01:00
deejaybeam
0ff61a2e4a upd: remove unneeded link 2023-03-25 23:49:53 +01:00
Blackymas
aee6e7bb57 repositioning date 2023-03-25 23:45:05 +01:00
Chris
602a58cc40 Merge pull request #530 from deejaybeam/dev
fix: hw-button hold display
2023-03-25 23:36:57 +01:00
Chris
5e45641687 Merge branch 'Blackymas:dev' into dev 2023-03-25 23:36:19 +01:00
deejaybeam
8b2beec50c fix: hw-button long press display 2023-03-25 23:26:44 +01:00
Blackymas
3278de673a new time format 2023-03-25 23:19:11 +01:00
Blackymas
3cf5fb3eeb new time format 2023-03-25 23:15:56 +01:00
Chris
d53a34b83f Merge pull request #529 from deejaybeam/dev
upd: reload automation triggers page refresh
2023-03-25 15:29:05 +01:00
deejaybeam
e4f0dba8fa upd: reload automation triggers page refresh 2023-03-25 15:28:08 +01:00
Chris
3ea33a6dfa Merge pull request #528 from deejaybeam/dev
upd: blueprint version 3.2.1
2023-03-25 12:42:48 +01:00
deejaybeam
6b11ffb7cf upd: bluleprint version 3.2.1 2023-03-25 12:41:54 +01:00
Chris
3047204272 Merge pull request #527 from edwardtfn/patch-20
Add support to `input_boolean` to chips
2023-03-25 12:37:56 +01:00
Chris
61af338a96 Merge pull request #522 from edwardtfn/patch-18
Fix for warning "list object has no element n"
2023-03-25 12:35:25 +01:00
Chris
729414944b Merge pull request #521 from edwardtfn/patch-17
Fix "Loading..." when selected before RGB picker
2023-03-25 12:34:29 +01:00
Chris
22dbd2814b Merge pull request #519 from bakito/patch-2
Ignore IntelliJ IDEA project directory
2023-03-25 12:34:00 +01:00
Edward Firmo
44836d1e4d Add support to input_boolean to chips
- Chips now supports `input_boolean` entities (Toggle Helpers).

This resolves #479.
2023-03-25 07:37:33 +01:00
Edward Firmo
881c50dd1f Code refactoring - Weather & Climate
Code refactoring on Weather and Climate entities/pages in order to make easier to maintain and understand.
2023-03-24 23:52:45 +01:00
Edward Firmo
ce7dfb1423 Fix for warning "list object has no element n"
Fix for the following error happening when opening climate page (and maybe other pages also):
```
Template variable warning: list object has no element 3 when rendering '{%- if settings_entity_value != "unknown" and settings_entity_value.split(',') | count >= 3 -%} {{ settings_entity_value.split(',')[3] }} {%- else -%} unknown {%- endif -%}'
```
2023-03-24 18:41:41 +01:00
Edward Firmo
c45bd4057f Fix "Loading..." when selected colors before 3.2.1
- Fix for "Loading..." taking forever when a color was selected prior to the new RGB picker and was not updated.

* This is no fixing the input itself, so users still having to pick a color again with the new selector, but the panel won't get stuck on "Loading..." before the new color selection is made.
2023-03-24 11:14:15 +01:00
Marc Brugger
3401340563 Ignore IntelliJ IDEA project directory 2023-03-24 07:36:56 +01:00
Chris
7f7d496beb Merge pull request #476 from bakito/patch-1
Add Home Assistant Icon Page to blueprint
2023-03-23 22:34:38 +01:00
Chris
c7ec9f97b7 Merge pull request #510 from edwardtfn/patch-13
Support to date & time formats
2023-03-23 22:23:24 +01:00
Chris
3c58a29e73 Merge pull request #513 from edwardtfn/patch-15
Fix error related to dict not containing on/off
2023-03-23 22:04:44 +01:00
Chris
7fd5658630 Merge pull request #514 from edwardtfn/patch-16
Fix for "Error rendering data template"
2023-03-23 22:03:28 +01:00
Chris
81f6783ca1 Merge pull request #518 from deejaybeam/dev
fix: Nspanel stays on loading
2023-03-23 21:55:25 +01:00
deejaybeam
cf430fc1a8 fix: Nspanel stays on loading 2023-03-23 21:54:39 +01:00
Chris
7f6c9c696b Merge pull request #516 from deejaybeam/dev
upd: use rgb color-picker
2023-03-23 14:48:29 +01:00
deejaybeam
7580a38b4f upd: use rgb color-picker 2023-03-23 14:47:31 +01:00
Edward Firmo
14532444bc Fix for "Error rendering data template"
This fix the following error which happens when an entity with a non-numeric value ('unknown', 'unavailable', some text, etc.) is sent to the device:

```
Error: Error rendering data template: ValueError: Template error: round got invalid input 'Geen' when rendering template '{{ states(repeat.item.entity) |round(1) }}{{ state_attr(repeat.item.entity, "unit_of_measurement") }}' but no default was specified
```
This may also implement the feature requested in #490
2023-03-23 12:50:49 +01:00
Edward Firmo
f2a424027d Fix error related to dict not containing on/off
Replace dict key names where reserved names (on/off) have been used.
2023-03-23 12:17:22 +01:00
Edward Firmo
f038eaed87 Support to date & time formats
This add the support to user selected date and time formats.
The following formats are supported now:
- Date formats:
  - EU: 22.03
  - UK: 22/03
  - US: 3/22
- Time formats:
  - EU/UK: 13:30
  - US: 1:30 AM/PM (the AM7PM info will be depending on updates on TFT file)
2023-03-23 07:01:31 +01:00
Chris
3f00773927 Merge pull request #509 from edwardtfn/patch-12
Fix for slow response with "Loading..."
2023-03-22 21:44:38 +01:00
Chris
7e63a4cb18 Merge pull request #508 from edwardtfn/patch-11
Removed incorrect instance of `- choice`
2023-03-22 21:44:21 +01:00
Chris
e6fd475947 Merge pull request #498 from edwardtfn/patch-9
Optimizing Multilingual User Interface
2023-03-22 21:44:00 +01:00
Chris
1869f8023d Merge pull request #482 from edwardtfn/patch-8
Simplifying code - Input area
2023-03-22 21:43:25 +01:00
Edward Firmo
860f5ddbba Fix for slow response with "Loading..."
- Fix the error where a missing/invalid entity causes the panel to slow down when opening a new page or keeps with "Loading..." on the screen until it timeouts.

This will probably fix #493
2023-03-22 20:28:01 +01:00
Edward Firmo
218ef94c9c Removed incorrect entry of - choice
This was probably a copy/paste mistake. ;)
2023-03-22 19:39:49 +01:00
Edward Firmo
730e0acd99 Removed multiple instances of list of days 2023-03-22 16:37:16 +01:00
Marc Brugger
c8afa129b5 remove .idea 2023-03-22 11:06:11 +01:00
Blackymas
ee0c21128d Merge pull request #502 from Blackymas/beta
Fix Notifications
2023-03-21 20:29:06 +01:00
Edward Firmo
1aed46b71f Optimizing Multilingual User Interface
- Optimizing MUI (Multilingual User Interface) code in order to make easier add new languages and to read the code. It will probably consume a bit less resources by reducing the number of `if..elif...` and by removing a bunch of `string.replace`.

- Language selection list sorted alphabetically in order to make easier to find
2023-03-21 17:52:02 +01:00
Blackymas
4e38a928fc Merge pull request #488 from Blackymas/dev
Fix Notification
2023-03-20 20:46:33 +01:00
Blackymas
d58ba87dbb Fix Notification 2023-03-20 20:45:31 +01:00
Edward Firmo
640e245cf8 Simplifying code - Input area
Used YAML alias to simplify the code in the `input:` area. This will make easier to maintain as it creates single points of changes, promoting consistence.
2023-03-20 15:23:59 +01:00
Marc Brugger
f056dace88 Add Home Assistant Icon Page and link to color converter to blueprint 2023-03-19 19:16:11 +01:00
Blackymas
3211f44770 Merge pull request #468 from Blackymas/beta
v.3.2 - New features and custom configurations
2023-03-19 13:22:58 +01:00
Blackymas
bd5b1303f2 Merge pull request #466 from Blackymas/dev
fix value 03 position
2023-03-19 13:21:21 +01:00
Blackymas
8ff0cad379 fix value 03 position 2023-03-19 13:20:54 +01:00
Blackymas
fdcd37c6d0 Merge pull request #458 from Blackymas/dev
fixes
2023-03-18 00:56:56 +01:00
Blackymas
6a464325d7 remove obsolete spaces 2023-03-18 00:50:29 +01:00
Blackymas
3af0c20670 Merge pull request #456 from Floppe/homesensor
Fix so homepage works when one of home values 01-03 is unavailable.
2023-03-18 00:37:10 +01:00
Blackymas
7ee10d4ca6 Merge pull request #445 from edwardtfn/patch-4
Fix warning on settings_entity_value
2023-03-18 00:36:17 +01:00
Blackymas
884c8d91e6 Merge pull request #457 from Blackymas/dev
changed component id boot and sleep
2023-03-17 23:18:10 +01:00
Blackymas
07b8e99b01 change component id boot and sleep 2023-03-17 23:17:16 +01:00
Blackymas
d74b70f864 change component id for repot and sleep 2023-03-17 23:13:47 +01:00
Joachim Wickman
e70fcd54eb Fix so home page works when one of home values 01-03 is unavailable.
Signed-off-by: Joachim Wickman <joachim@wickman.in>
2023-03-17 09:00:34 +02:00
Blackymas
ea5b80e3b8 Merge pull request #450 from Blackymas/dev
fixed heating button
2023-03-15 20:39:13 +01:00
Blackymas
b5cd83240f fixed heating button 2023-03-15 20:37:37 +01:00
Edward Firmo
7d241d1400 Fix warning on settings_entity_value
Fix warning message: 
Template variable warning: list object has no element 3 when rendering '{%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[3] }} {%- else -%} unknown {%- endif -%}'
2023-03-15 08:29:08 +01:00
Blackymas
ee2e1d53d2 Merge pull request #441 from Blackymas/dev
fix lightslider
2023-03-14 22:18:13 +01:00
Blackymas
36e0344345 fix lightslider 2023-03-14 22:17:37 +01:00
Blackymas
eb6eebfd46 Merge pull request #427 from Blackymas/dev
fix button issue
2023-03-13 00:31:25 +01:00
Blackymas
0de7850c39 fix button issue 2023-03-13 00:31:02 +01:00
Blackymas
5f1d2b9d10 Merge pull request #424 from Blackymas/dev
rdy for 3.2
2023-03-12 21:51:17 +01:00
Blackymas
0abd5531cb bug fixes 2023-03-12 21:29:41 +01:00
Blackymas
0fdcd088ec tft rdy for v3.2 2023-03-12 21:20:56 +01:00
Blackymas
29df75263b Merge pull request #395 from Blackymas/dev
lightslider jump to page change
2023-03-06 08:50:52 +01:00
Blackymas
5035b89956 lightslider jump to page change 2023-03-06 08:48:26 +01:00
Blackymas
9de5abff25 Merge pull request #394 from Blackymas/dev
new slider function for brightness, temp color, color and cover
2023-03-06 01:12:05 +01:00
Blackymas
a113e0cd43 new function slider brightness, temp, color, cover 2023-03-06 01:11:10 +01:00
Blackymas
a2f5e69b76 new slider function brightness, temp, color, cover 2023-03-06 01:09:09 +01:00
Blackymas
0e41a87659 Merge pull request #393 from Blackymas/dev
reworked code and new functions
2023-03-05 11:32:25 +01:00
Blackymas
f6a6a7adb0 chips, values, button, reworked code 2023-03-05 11:19:48 +01:00
Blackymas
8abfee7b54 chips, free value, bugs, reworked code 2023-03-05 11:18:19 +01:00
Blackymas
70038014a2 add Wifi icon and long press settings page 2023-02-26 22:42:35 +01:00
Blackymas
268c6a7e23 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-02-22 20:27:56 +01:00
Blackymas
133165e79e chips mapping 2023-02-22 20:27:51 +01:00
Blackymas
99f2b2815d rdy for climate 2023-02-22 20:27:13 +01:00
Blackymas
d6f0958652 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-02-22 01:05:09 +01:00
Blackymas
6704e320da rebuild home page done 2023-02-22 01:05:05 +01:00
Blackymas
d0d09b93a4 finish home page 2023-02-22 00:56:47 +01:00
Blackymas
155ab33086 position change 2023-02-22 00:50:07 +01:00
Blackymas
55ed836400 home button command 2023-02-22 00:44:43 +01:00
Blackymas
6ac6a25803 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-02-22 00:36:46 +01:00
Blackymas
26844cd290 change home Button, icons, color 2023-02-22 00:36:42 +01:00
Blackymas
7dc0f49809 change font size 2023-02-21 23:31:38 +01:00
Blackymas
71cd913135 change home button to icon font 2023-02-21 23:01:32 +01:00
Blackymas
dfa3ee901a last click variable local to global 2023-02-21 08:41:51 +01:00
Blackymas
f7131aaca0 add 7 free chips with icon - change chips 01-03 2023-02-21 01:02:28 +01:00
Blackymas
fefb1374fd Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-02-20 12:50:42 +01:00
Blackymas
8f5165bd1b fix trigger wrong input home_value03 2023-02-20 12:50:38 +01:00
Blackymas
94a51da6fe outdoor temp size 2023-02-20 01:51:20 +01:00
Blackymas
e422a158ca positions home page 2023-02-20 01:45:43 +01:00
Blackymas
b43d83291b Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-02-20 01:20:06 +01:00
Blackymas
e751938cdd 3 new values on home page with icon 2023-02-20 01:19:59 +01:00
Blackymas
b8321807dc positions home page 2023-02-20 01:15:59 +01:00
Blackymas
3a42c12c00 home page portions 2023-02-20 01:09:29 +01:00
Blackymas
d552fb458b fix default icon buttons 2023-02-20 01:03:05 +01:00
Blackymas
a7b96d8582 change icon field home page 2023-02-20 00:55:47 +01:00
Blackymas
18f188bb32 change TFT Home page 2023-02-19 23:35:34 +01:00
Blackymas
f44d3fd8d1 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-02-19 22:39:42 +01:00
Blackymas
a0b8697a4f New Button Design + Weather Icon change 2023-02-19 22:39:31 +01:00
Blackymas
de8f463968 delete dim in preinit 2023-02-17 22:53:51 +01:00
deejaybeam
6642a46a04 upd: button-pages 2023-02-17 18:06:33 +01:00
Blackymas
0b856cbb83 rebuild buttons v.1 2023-02-17 08:21:55 +01:00
Blackymas
e41c02e883 v.3.2 rebuild for change from icons to font 2023-02-15 23:11:33 +01:00
Blackymas
6f3dc4a010 rebuild HMI and TFT for Font Icon
rebuild for change from icons to font for the pages -> home page, weather01-04, buttonpage01-04
2023-02-15 23:07:25 +01:00
Blackymas
d46eecc57c Merge pull request #335 from edwardtfn/patch-3
Convert "Update TFT display" into a button
2023-02-15 22:36:53 +01:00
Blackymas
7223103905 Merge pull request #343 from Blackymas/dev
update 3.1.1
2023-02-14 16:10:28 +01:00
Edward Firmo
547338c5b1 Convert "Update TFT display" into a button
* This is a breaking change. Existing automation using the Switch version will need an update to use the button version instead.

This was originally set as a switch, but in reality it behaves as a button, as when the user click it runs an action (in this case, update the TFT display file). Switches should be used only when an entity will remain in one of the two states (on/off), which is not the case here.

This is related to #328.
2023-02-13 15:56:40 +01:00
Chris
811aca8cfa Merge pull request #334 from deejaybeam/dev
fix: apply climate-settings
2023-02-13 09:08:19 +01:00
Chris
0465a9eb8b Merge branch 'Blackymas:dev' into dev 2023-02-13 09:07:24 +01:00
Chris
45907e1ce5 fix: applying climate-settings 2023-02-13 09:05:08 +01:00
Blackymas
3ff82ef8cd change Climate Label, Climate Back, Sleep QR/Noti 2023-02-12 23:40:48 +01:00
Chris
5f6cc373fe Merge pull request #330 from deejaybeam/dev
upd: use new tft multi-climate
2023-02-12 12:24:10 +01:00
deejaybeam
4801f6c6b9 upd: use new tft multi-climate 2023-02-12 12:23:41 +01:00
Blackymas
02b4f6e178 Notification and QR code wake up after sleep 2023-02-12 11:45:57 +01:00
Blackymas
b0161d41f8 new fields climate page 2023-02-12 11:36:16 +01:00
Chris
d1702ccacf Merge pull request #327 from edwardtfn/patch-2
Fix default language input
2023-02-11 21:59:19 +01:00
Edward Firmo
281be927a7 Fix default language input
Fix default language so it can be used when no selection is done (like when upgrading from earlier version when language input was not available).
2023-02-11 20:53:16 +01:00
Chris
c352047991 Merge pull request #325 from deejaybeam/dev
upd: open climate on short_press too
2023-02-11 19:03:02 +01:00
deejaybeam
c058fd4fb1 upd: open climate on short_press too 2023-02-11 19:02:19 +01:00
Chris
e4e5cb0f51 Merge pull request #324 from deejaybeam/dev
upd: multi-climate
2023-02-11 18:33:21 +01:00
deejaybeam
da611e384a upd: multi-climate 2023-02-11 18:28:41 +01:00
Chris
5292bbff8b Merge pull request #321 from deejaybeam/dev
upd: prep for release 3.1.1
2023-02-10 20:58:29 +01:00
deejaybeam
a22311c4e8 upd: prep for release 3.1.1 2023-02-10 20:56:14 +01:00
Chris
0d250fb56b Merge pull request #315 from deejaybeam/dev
fixes in blueprint
2023-02-08 22:27:25 +01:00
deejaybeam
5ba5d2fb08 fix: issue on ha-restart 2023-02-08 22:24:17 +01:00
deejaybeam
51170c514d fix: ignore unassigned hw-buttons 2023-02-07 19:33:02 +01:00
Blackymas
53cf4f1371 Merge pull request #298 from Blackymas/beta
v.3.1.0 - New features and US Version
2023-02-05 11:55:37 +01:00
Blackymas
6ab6892f5b Merge pull request #297 from Blackymas/dev
rdy for Release
2023-02-05 11:53:52 +01:00
Blackymas
a38948ad2f US Version dry 2023-02-05 11:52:55 +01:00
Blackymas
0f56e859db tft dry for stable 2023-02-04 00:55:43 +01:00
Blackymas
365f863fc2 Add files via upload 2023-02-04 00:47:58 +01:00
Blackymas
cf2e648a21 old TFT and hmi shifted 2023-02-04 00:46:56 +01:00
Chris
b7c077faad Merge pull request #295 from deejaybeam/dev
upd: change entity icon description
2023-02-03 22:09:49 +01:00
deejaybeam
44d65c3cd7 upd: change entity icon description 2023-02-03 22:08:46 +01:00
Chris
069cece05e Merge pull request #289 from deejaybeam/dev
upd: hw-button hold
2023-02-02 17:53:25 +01:00
deejaybeam
276524686a upd: hw-button hold 2023-02-02 17:52:41 +01:00
Chris
a46b3ad20b Merge pull request #284 from deejaybeam/dev
fix: unavailable entity
2023-02-01 21:49:14 +01:00
deejaybeam
295096a9d7 fix: unavailable entity 2023-02-01 21:48:26 +01:00
Chris
0c6b994161 Merge pull request #283 from deejaybeam/dev
fix: new tft ids
2023-02-01 21:15:07 +01:00
deejaybeam
63e1ab4947 fix: new tft ids 2023-02-01 21:14:27 +01:00
Chris
9ec2bac284 Merge pull request #282 from deejaybeam/dev
upd: HW-buttons hold
2023-02-01 21:08:40 +01:00
Chris
6fdbec1486 Merge branch 'Blackymas:dev' into dev 2023-02-01 21:08:03 +01:00
deejaybeam
f11215c097 upd: HW-buttons hold 2023-02-01 21:07:00 +01:00
Blackymas
7ec5bb6a04 Add files via upload 2023-02-01 20:52:32 +01:00
Blackymas
aae9bd8d8a Add files via upload 2023-02-01 20:36:37 +01:00
Chris
cdf980ee8f Merge pull request #279 from deejaybeam/dev
upd: remove global variable touchevent
2023-02-01 19:22:56 +01:00
deejaybeam
7b23050791 upd: remove global variable touchevent 2023-02-01 19:20:37 +01:00
Chris
faaa698e46 Merge pull request #278 from deejaybeam/dev
fix: exclude screensaver
2023-02-01 18:54:02 +01:00
deejaybeam
4b5c10a68e fix: exclude screensaver 2023-02-01 18:52:33 +01:00
Blackymas
b00720d465 touchevent 2023-01-31 21:43:34 +01:00
Blackymas
c4cf3049b2 chnage default delay to 1 2023-01-31 21:15:04 +01:00
Blackymas
f7e76bdbd8 dry for home timer es-home 2023-01-31 21:10:02 +01:00
Blackymas
4294fb39b2 Add files via upload 2023-01-31 00:05:05 +01:00
Blackymas
eb2f810161 Add files via upload 2023-01-30 23:51:05 +01:00
Blackymas
17e11063e3 Add files via upload 2023-01-30 23:45:21 +01:00
Blackymas
70e2f724f7 Add files via upload 2023-01-30 23:37:01 +01:00
Blackymas
f3787c812a Add files via upload 2023-01-30 23:31:50 +01:00
Blackymas
a056a13f0b Add files via upload 2023-01-30 23:28:34 +01:00
Blackymas
13d5b7a1d2 Add files via upload 2023-01-30 23:21:17 +01:00
Blackymas
2c8a45153b Add files via upload 2023-01-30 23:03:46 +01:00
Blackymas
be12633af1 Add files via upload 2023-01-30 22:02:00 +01:00
Blackymas
81e4149b11 delete home timer 2023-01-30 21:56:58 +01:00
Blackymas
4b98f4a80a Add files via upload 2023-01-30 21:08:54 +01:00
Chris
d83f37962d Merge pull request #272 from deejaybeam/dev
upd: page-timer esphome
2023-01-30 18:03:26 +01:00
Chris
33b0d0674a Merge branch 'Blackymas:dev' into dev 2023-01-30 18:02:39 +01:00
Chris
b7f2c18c85 upd: page-timer esphome 2023-01-30 18:01:42 +01:00
Blackymas
cda0e0c1d6 Add files via upload 2023-01-30 17:51:30 +01:00
Blackymas
42eb9b5d71 Add files via upload 2023-01-30 17:01:38 +01:00
Blackymas
35be40fb93 change txt_max Page label to 30 2023-01-30 11:09:31 +01:00
Blackymas
1d5c40d7a8 change lastclick 2023-01-30 11:01:23 +01:00
Blackymas
c1ea2e1810 Merge pull request #270 from Blackymas/Blackymas-patch-1
Blackymas test sponsor
2023-01-30 01:11:59 +01:00
Blackymas
f9562d495a Create FUNDING.yml 2023-01-30 01:11:25 +01:00
Blackymas
58ad89ee4e wrong entities_entity27 2023-01-29 23:27:28 +01:00
Blackymas
b4a0800929 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-01-29 21:38:19 +01:00
Blackymas
e27c92ef0e change delay to 0 2023-01-29 21:38:14 +01:00
Blackymas
936c152ca6 entity card and home icon 2023-01-29 21:35:25 +01:00
Blackymas
fadd725662 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-01-29 21:12:51 +01:00
Blackymas
ab5d30d0ce wrong entity icon, UKR trans., version to 3.1.0 2023-01-29 21:12:47 +01:00
Blackymas
12ecc30e1f Add files via upload 2023-01-29 12:13:02 +01:00
Blackymas
985cf69f0b change home entity icon mapping 2023-01-29 12:11:27 +01:00
Chris
ffa9deaf54 Merge pull request #264 from deejaybeam/dev
upd: instant update of home-buttons
2023-01-28 15:07:11 +01:00
deejaybeam
8613208b5f upd: instant update of home-buttons 2023-01-28 14:07:20 +01:00
Chris
7b1bbb704a Merge pull request #261 from deejaybeam/dev
upd: entities
2023-01-28 00:59:44 +01:00
Chris
5acbdef022 upd: entities 2023-01-28 00:58:59 +01:00
Blackymas
96f855e930 entitycards dry 2023-01-25 23:46:25 +01:00
Blackymas
c504ade7d4 Add files via upload 2023-01-25 23:42:38 +01:00
Blackymas
5941b6dab4 Add files via upload 2023-01-25 23:37:37 +01:00
Blackymas
33416b498c Add files via upload 2023-01-25 23:11:53 +01:00
Chris
beb8941c80 Merge pull request #250 from deejaybeam/dev
small changes
2023-01-25 22:05:44 +01:00
Chris
33d8487adf Merge branch 'Blackymas:dev' into dev 2023-01-25 22:02:49 +01:00
deejaybeam
cb5e9a2afe upd: add delay on boot 2023-01-25 22:00:38 +01:00
Blackymas
802a089c16 Add files via upload 2023-01-25 21:50:50 +01:00
deejaybeam
edad480e4f internal temperature sensor change upd_interval 2023-01-25 21:42:14 +01:00
Blackymas
6181cbca97 change to entitypage01 2023-01-25 09:56:30 +01:00
Blackymas
572fb9e934 Add files via upload 2023-01-25 00:10:38 +01:00
Blackymas
52dabed6ee Add files via upload 2023-01-24 23:13:36 +01:00
Blackymas
d12d8fbd86 Add files via upload 2023-01-24 23:00:59 +01:00
Chris
b0d57e63e3 Merge pull request #240 from deejaybeam/dev
upd: trigger on automation-reload
2023-01-24 16:37:50 +01:00
Chris
baf3ff4e95 Merge branch 'dev' of https://github.com/deejaybeam/NSPanel_HA_Blueprint into dev 2023-01-24 16:34:03 +01:00
Chris
c061c0bae1 upd: trigger on automation-reload 2023-01-24 16:33:56 +01:00
Chris
797c7d1a32 Merge pull request #239 from deejaybeam/dev
upd: set boot-infos
2023-01-24 13:28:08 +01:00
Chris
b1b63b11cd upd: set boot-infos 2023-01-24 13:26:37 +01:00
Chris
2ac8305eff Merge pull request #233 from deejaybeam/dev
QR-code, local fallback
2023-01-24 01:08:38 +01:00
deejaybeam
eb9d9e0f1e upd: set local fallback via blueprint 2023-01-24 01:05:09 +01:00
deejaybeam
9a1b447087 upd: change qr-code-call 2023-01-24 00:21:12 +01:00
Chris
7fb8480138 Merge pull request #231 from danwright87/dev
Update nspanel_esphome.yaml
2023-01-23 22:39:25 +01:00
danwright87
ad26272524 Update nspanel_esphome.yaml
Add relay local fallback
2023-01-23 21:16:23 +00:00
Blackymas
147cf0f497 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-01-23 00:14:04 +01:00
Blackymas
fa08f6b54a QR Code rdy 2023-01-23 00:14:00 +01:00
Blackymas
0f2d5fbd29 qr code 2023-01-22 23:38:28 +01:00
Blackymas
d645f4c02e Add files via upload 2023-01-22 16:34:55 +01:00
Blackymas
f0af3f1562 add blueprint jump qrcode page 2023-01-22 16:33:39 +01:00
Blackymas
b78699c9d5 add qrcode service 2023-01-22 16:22:33 +01:00
Blackymas
c3f2ddd499 Add files via upload 2023-01-22 01:04:57 +01:00
Blackymas
6f962ebfd0 test icon font 2023-01-22 00:40:43 +01:00
Blackymas
7f768ced45 fix entity card current page 2023-01-22 00:15:53 +01:00
Chris
37e287d253 Merge pull request #207 from X-Ryl669/dev
Simplify and remove useless code in ESP32
2023-01-21 23:19:32 +01:00
X-Ryl669
298e67a29d Fix build issue since std namespace is missing
Also fix some spelling mistakes
2023-01-21 11:58:10 +01:00
X-Ryl669
f1af69581e Remove useless test
Faster boot up by removing one useless line in UART communication
2023-01-20 14:49:13 +01:00
X-Ryl669
351b84ad96 Simplify the left/mid/right compute chain. 2023-01-20 14:46:42 +01:00
Blackymas
e050bce77e Update README.md 2023-01-19 23:56:11 +01:00
Blackymas
01de27059d first entity card page rdy 2023-01-19 23:52:25 +01:00
Blackymas
7407a2841b test design entity 2023-01-19 22:37:53 +01:00
Blackymas
2f1a947cfc test design entity 2023-01-19 22:03:06 +01:00
Blackymas
f26e5e33cc test design Entity Card 2023-01-19 21:58:44 +01:00
Blackymas
5a040cbd8e test design Entity Card 2023-01-19 21:56:53 +01:00
Blackymas
d2c383ef82 Merge pull request #199 from Blackymas/beta
change tft baud to bauds
2023-01-19 08:55:46 +01:00
Blackymas
ffc89d07e9 Merge pull request #198 from Blackymas/dev
change tft baud to bauds
2023-01-19 08:54:51 +01:00
Blackymas
2bae66f6fe new blank aft - baud -> bauds 2023-01-19 08:54:03 +01:00
Blackymas
09aaabf4c5 rdy new blank tft 2023-01-19 08:52:55 +01:00
Blackymas
5de8c739f8 change baud to bauds 2023-01-19 08:50:44 +01:00
Blackymas
1220715e9b Merge pull request #195 from Blackymas/beta
Update Readme
2023-01-16 22:40:02 +01:00
Blackymas
8cb194b3b9 Merge pull request #194 from Blackymas/dev
Update README.md
2023-01-16 22:39:15 +01:00
Blackymas
dd4f6c3b9e Update README.md 2023-01-16 22:35:18 +01:00
Blackymas
1f6eabeeee Merge pull request #189 from Blackymas/beta
Release - v.3.0.0
2023-01-15 10:23:49 +01:00
Blackymas
0309dec38d Merge pull request #188 from Blackymas/dev
Update README.md
2023-01-14 23:31:32 +01:00
Blackymas
143b80f630 Update README.md 2023-01-14 23:29:15 +01:00
Blackymas
6001ab425c Merge pull request #184 from Blackymas/dev
rdy for stable
2023-01-12 22:22:53 +01:00
Blackymas
817d187dd8 add Version number to blueprint description 2023-01-12 22:21:17 +01:00
Chris
ab0e622dd9 Merge pull request #182 from deejaybeam/dev
upd: add service upload_tft_url
2023-01-12 19:12:03 +01:00
Chris
1541c07e99 Merge branch 'Blackymas:dev' into dev 2023-01-12 19:08:55 +01:00
Chris
a823bf9739 upd: add service upload_tft_url 2023-01-12 19:07:04 +01:00
Blackymas
ec79ccf008 Merge pull request #181 from Blackymas/dev
Dev to beta
2023-01-12 16:26:52 +01:00
Blackymas
bd5fb7adc6 add fan pic 2023-01-12 08:53:23 +01:00
Blackymas
5e80691b3e add fan mapping 2023-01-12 08:51:56 +01:00
Chris
fbbb10b4e8 Merge pull request #176 from PunkRa1n/patch-2
sorted and fixed language selection
2023-01-11 21:52:49 +01:00
PunkRa1n
593a9f8592 sorted and fixed language selection 2023-01-11 21:49:06 +01:00
Chris
45f3ab2f13 Merge pull request #174 from deejaybeam/dev
fix: restore .vscode
2023-01-11 12:32:28 +01:00
Chris
3422a49973 fix: restore .vscode 2023-01-11 12:22:02 +01:00
Chris
e70a661f2f Merge pull request #163 from tikismoke/fan_entities
Fan entities
2023-01-11 12:13:15 +01:00
Blackymas
7380a485fd reboot button - boot page 2023-01-10 22:33:10 +01:00
Blackymas
ddbdf6fcab Add files via upload 2023-01-10 22:26:02 +01:00
Blackymas
e3e7b16b6a reboot button 2023-01-10 22:24:59 +01:00
Blackymas
4fc051acda add reboot button on boot page 2023-01-10 22:15:02 +01:00
tikismoke
281d284f67 Delete settings.json 2023-01-10 21:56:39 +01:00
tikismoke
f1a0cd3086 Delete .wsuo 2023-01-10 21:56:27 +01:00
tikismoke
773b39f7e5 Delete read.lock 2023-01-10 21:56:15 +01:00
tikismoke
8608b3b397 Delete 6ef87407-4c14-4dfe-9117-c8cc11aa6f4e.vsidx 2023-01-10 21:56:09 +01:00
tikismoke
8bbeace1b2 Delete 4a36059d-0d01-4a92-9922-a7a244697e7f.vsidx 2023-01-10 21:56:03 +01:00
tikismoke
cb9ba1a2ff Delete VSWorkspaceState.json 2023-01-10 21:55:54 +01:00
tikismoke
204d574457 Delete slnx.sqlite 2023-01-10 21:55:49 +01:00
Blackymas
21a8598f87 add reboot button on boot page 2023-01-10 21:53:40 +01:00
Blackymas
53dabf89fe Add files via upload 2023-01-10 21:51:29 +01:00
Chris
512189af4e Merge pull request #171 from deejaybeam/dev
upd: weather-entity, new boot-process
2023-01-10 17:49:01 +01:00
Chris
491b5cb23e upd: weather-entity, new boot-process 2023-01-10 17:46:50 +01:00
Blackymas
8ae14a4cff init boot change 2023-01-09 20:10:24 +01:00
Blackymas
c3de9950ac Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2023-01-09 18:20:30 +01:00
Blackymas
3b32ae3754 change boot hmi 2023-01-09 18:20:22 +01:00
Blackymas
471eab4e93 new boot 2023-01-09 18:15:38 +01:00
Blackymas
d44ced1cd5 fix indoor temp 2023-01-09 15:22:38 +01:00
Blackymas
2d0212b2f8 change indoor temp 2023-01-09 13:03:31 +01:00
Blackymas
b018c22922 indoor outdoor temp 2023-01-09 11:07:34 +01:00
Blackymas
bacfe4bec9 indoor temp sensor 2023-01-09 10:13:25 +01:00
Blackymas
8295284b65 indoor temp sensor 2023-01-09 09:42:30 +01:00
Blackymas
03842f1a42 add RUS translation 2023-01-09 08:55:23 +01:00
tikismoke
9363ee3b48 correct icon no update for fan 2023-01-06 17:06:47 +01:00
Blackymas
42ed489a1c translate please_confirm_mui 2023-01-06 15:21:49 +01:00
Blackymas
4993695a73 Add files via upload 2023-01-06 11:09:40 +01:00
Blackymas
a56db0170c change esphome Display Start 2023-01-06 10:27:13 +01:00
Blackymas
0ac19e4096 Add files via upload 2023-01-06 10:12:46 +01:00
Blackymas
14328846a7 Add files via upload 2023-01-06 09:43:28 +01:00
Blackymas
b3648e947d Add files via upload 2023-01-06 09:24:25 +01:00
Blackymas
ca736ac139 Add files via upload 2023-01-06 09:23:57 +01:00
Blackymas
cf7f943d82 Add files via upload 2023-01-06 09:10:59 +01:00
Blackymas
e6e286edd0 Add files via upload 2023-01-06 09:10:08 +01:00
Blackymas
6c86ed1f7f Add files via upload 2023-01-06 09:06:31 +01:00
Blackymas
3a4c3fe37d Add files via upload 2023-01-06 08:57:37 +01:00
tikismoke
ec67e93af0 button error 2023-01-05 20:56:15 +01:00
tikismoke
88472c7de1 typo 2023-01-05 19:48:57 +01:00
tikismoke
c0e8a46865 fan entities 1st test 2023-01-05 19:13:18 +01:00
Chris
a7aa574d8c Merge pull request #162 from deejaybeam/dev
upd: confirmation
2023-01-05 17:49:59 +01:00
deejaybeam
e32df95471 upd: confirmation 2023-01-05 17:47:14 +01:00
Chris
c19cdd3703 Merge pull request #161 from deejaybeam/dev
upd: Notification
2023-01-05 01:06:56 +01:00
Chris
1fafff21b9 Merge branch 'Blackymas:dev' into dev 2023-01-05 01:05:07 +01:00
deejaybeam
bf11e4c6e6 upd: notification 2023-01-05 01:01:08 +01:00
Blackymas
37750c642b Add files via upload 2023-01-05 01:00:28 +01:00
Blackymas
9340e3c6cd Add files via upload 2023-01-05 00:04:48 +01:00
Blackymas
280f88de2e change button08release 2023-01-04 01:39:08 +01:00
Chris
5b8f19b425 Merge pull request #157 from deejaybeam/dev
upd: new home-page and prep notify
2023-01-04 01:01:05 +01:00
deejaybeam
fe7da90f30 upd: new home-page and prep notify 2023-01-04 00:59:14 +01:00
Blackymas
2b1cf79f46 Add files via upload 2023-01-03 23:55:20 +01:00
Blackymas
5513f1d1ab dry for Notification 2023-01-03 23:43:29 +01:00
Blackymas
fae2f043e7 New Home Page and notification 2023-01-03 17:03:46 +01:00
Blackymas
8e9aa4efc1 Add files via upload 2023-01-03 16:02:23 +01:00
Blackymas
3871a97d8a Merge pull request #154 from naofireblade/dev
Added binary_sensor to supported button entities
2023-01-03 15:33:29 +01:00
Blackymas
3f634e3eb5 Add files via upload 2023-01-03 12:40:41 +01:00
Blackymas
e0455e1635 Add files via upload 2023-01-03 12:22:37 +01:00
Blackymas
71935d37f8 Add files via upload 2023-01-03 11:57:15 +01:00
Blackymas
34f057dba4 Add files via upload 2023-01-03 09:23:02 +01:00
Arne Blumentritt
7c42431143 Added binary_sensor to supported button entities 2023-01-02 23:04:51 +01:00
Blackymas
cd766c2cad Add files via upload 2023-01-02 16:05:28 +01:00
Blackymas
1d12f87a5e Add files via upload 2023-01-02 15:50:15 +01:00
Blackymas
1305284855 Add files via upload 2023-01-02 15:23:42 +01:00
Blackymas
24a415f773 Merge pull request #148 from Blackymas/beta
Add baud rate 115200 by default
2023-01-02 11:34:44 +01:00
Blackymas
d6d8de0b8e Merge pull request #147 from Blackymas/dev
Add baud rate 115200 by default
2023-01-02 11:34:19 +01:00
Blackymas
50e53ae596 new blank tft´s 2023-01-02 11:02:54 +01:00
Blackymas
92f52be4f1 Add baud rate 115200 by default 2023-01-02 11:02:10 +01:00
Blackymas
3d01355b75 add baud rate 115200 by default in TFT File 2023-01-02 10:41:03 +01:00
Blackymas
fffc70e733 Merge pull request #135 from Blackymas/beta
change description
2022-12-30 01:04:57 +01:00
Blackymas
79427157a8 Merge pull request #134 from Blackymas/dev
change description
2022-12-30 01:04:24 +01:00
Blackymas
942bacdc28 Update README.md 2022-12-30 01:03:26 +01:00
Blackymas
415465ee62 Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2022-12-30 01:02:53 +01:00
Blackymas
a21dc7524c change description 2022-12-30 01:02:47 +01:00
Blackymas
0e417e5e91 Update README.md 2022-12-30 01:00:41 +01:00
Blackymas
1a36d9bf36 Merge pull request #132 from Blackymas/beta
25 languages added
2022-12-30 00:12:21 +01:00
Blackymas
3d7564b003 Merge pull request #131 from Blackymas/dev
25 languages added
2022-12-30 00:11:46 +01:00
Chris
7bebb0e8bf Merge pull request #129 from deejaybeam/dev
fix: ignore entities with state unknown
2022-12-29 17:37:54 +01:00
deejaybeam
34daabcaad fix: ignore entities with state unknown 2022-12-29 17:35:48 +01:00
Blackymas
817aa011cf language font size 2022-12-29 16:09:26 +01:00
Blackymas
7f2ecd360e add Language 2022-12-28 13:08:01 +01:00
Blackymas
f259e202bd Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev 2022-12-28 12:50:33 +01:00
Blackymas
045c1ed939 add language 2022-12-28 12:50:25 +01:00
Chris
532f0f5ffe Merge pull request #120 from deejaybeam/dev
add script-domain, hw-buttons, small fix
2022-12-22 17:39:14 +01:00
Chris
805317e865 upd: additional domains for hw-buttons 2022-12-22 14:59:24 +01:00
Chris
a1e420e2cf upd: add script domain for buttons 2022-12-22 14:44:42 +01:00
Chris
549a978736 fix: no exec on unavailable state 2022-12-22 13:56:10 +01:00
Blackymas
184f25cb3f Merge pull request #112 from chpego/add_french_language
Add french language
2022-12-19 08:55:55 +01:00
Blackymas
dd14d6f88c change fonts for new languages 2022-12-15 10:12:39 +01:00
chpego
7a4f9f6f70 add french language 2022-12-12 12:09:33 +01:00
Blackymas
e7df0e5099 Merge pull request #98 from Blackymas/beta
add new pic in Readme
2022-12-11 00:42:59 +01:00
Blackymas
bda5a311c6 Merge pull request #97 from Blackymas/dev
add new pic in Readme
2022-12-11 00:42:34 +01:00
Blackymas
e5c44c9510 add new pic 2022-12-11 00:41:59 +01:00
Blackymas
387376a36b Merge pull request #96 from Blackymas/beta
v.2.1.0 - add new Domains, Buttons and Button Page Label
2022-12-10 22:46:13 +01:00
Blackymas
4c53f18d5b Add files via upload 2022-12-10 22:43:35 +01:00
Blackymas
919a4fe707 Update README.md 2022-12-10 22:42:54 +01:00
Blackymas
d30557a3a6 Update README.md 2022-12-10 22:41:17 +01:00
Blackymas
bc453a917f Merge pull request #93 from Blackymas/dev
New Domains, Icons and Button Page Label
2022-12-10 22:37:53 +01:00
Blackymas
e0a1117a4a Add files via upload 2022-12-10 22:33:15 +01:00
Blackymas
62a73ad255 Update README.md 2022-12-10 22:31:17 +01:00
Blackymas
55de07ecde Update README.md 2022-12-10 22:30:42 +01:00
Blackymas
c60aca7e54 change some button pics 2022-12-10 22:27:40 +01:00
Blackymas
d8cf4fbd2b Update README.md 2022-12-10 21:33:08 +01:00
Blackymas
795260ccaf Merge pull request #90 from chpego/patch-1
fix some typo
2022-12-10 21:27:26 +01:00
chpego
5d1ab726ae fix some typo
on README file
2022-12-10 06:32:55 +00:00
Chris
c3b4eb8a87 Merge pull request #89 from deejaybeam/dev
upd: add page-labels
2022-12-10 01:32:28 +01:00
deejaybeam
46582e3010 upd: add page-labels 2022-12-10 01:31:42 +01:00
Chris
592200e7d6 Merge pull request #88 from deejaybeam/dev
upd: additional domains for buttons
2022-12-10 00:40:50 +01:00
deejaybeam
dcd60b8cc4 upd: assign correct pics for new domains 2022-12-10 00:38:30 +01:00
Chris
a63c4f1412 Merge branch 'Blackymas:dev' into dev 2022-12-09 23:12:07 +01:00
Blackymas
b1579c7ea9 new button page label and domains 2022-12-09 21:25:27 +01:00
Blackymas
f5b9b1714a new version for new domains and button page label 2022-12-09 21:22:41 +01:00
deejaybeam
95ad152139 upd: additonal domains for buttons 2022-12-09 18:45:02 +01:00
Blackymas
fbc35f697f fix issues with HW buttons 2022-12-09 08:34:22 +01:00
511 changed files with 98529 additions and 26742 deletions

13
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2

136
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,136 @@
---
name: Bug Report
description: If something isn't working as expected, let us know here.
title: "`Bug` "
labels: [Bug]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out a bug report!
We aim to keep everything working perfectly, so your detailed reports are crucial.
Report only one specific issue per submission. If you encounter another issue, create a new report for effective tracking and resolution.
The more detail you provide, the quicker we can help.
> [!WARNING]
> Omit any private or sensitive information, as this bug report will be publicly visible.
- type: markdown
attributes:
value: |
## Version Information
Provide version numbers for TFT, ESPHome, and Blueprint. These can be found on your device's boot screen and in the automation where the blueprint is set.
- type: input
attributes:
label: TFT Version
description: Enter the TFT version number.
placeholder: e.g., 4.3.2
validations:
required: false
- type: input
attributes:
label: ESPHome Version
description: Enter the ESPHome version number.
placeholder: e.g., 4.3.2
validations:
required: false
- type: input
attributes:
label: Blueprint Version
description: Enter the Blueprint version number.
placeholder: e.g., 4.3.2
validations:
required: false
- type: dropdown
attributes:
label: Panel Model
description: Select your NSPanel model.
options:
- EU
- US
- US (Landscape)
validations:
required: false
- type: markdown
attributes:
value: |
## Bug Details
- type: textarea
attributes:
label: What is the bug?
description: Describe the bug clearly and concisely.
placeholder: e.g., When I try this, I get this result, but I expected that...
- type: textarea
attributes:
label: Steps to Reproduce
description: Detail the steps to reproduce the behavior. Include screenshots or other relevant information.
placeholder: |
1. Go to '...'
2. Click on '...'
3. See error on '...'
- type: markdown
attributes:
value: |
## Additional Information (Optional)
- type: textarea
attributes:
label: Your Panel's YAML
description: Provide your panel's YAML configuration.
render: yaml
placeholder: |
# Example YAML configuration
# ...
- type: textarea
attributes:
label: ESPHome Logs
description: >
Access these logs via the **Logs** button on the ESPHome Dashboard.
These logs are crucial for diagnosing issues with your device.
Please follow the guidelines below to ensure the logs are comprehensive:
- **Boot Issues**: If the problem occurs during boot, capture the logs from the start of your device to a minute or two after the boot completes.
Look for errors or unusual messages during this period.
- **TFT File Update Issues**: For problems related to TFT file updates,
include logs from the moment you press the **Update TFT Display** button until a few seconds after the device restarts.
Pay attention to any error messages or warnings during the update process.
- **Other Issues**: For other types of problems, include logs that encompass the issue's onset and continue for a short duration thereafter.
This will help in pinpointing the exact moment and nature of the issue.
Remember, the more detailed the logs, the easier it is to identify and resolve the problem.
- type: textarea
attributes:
label: Home Assistant Logs
description: >
To access Home Assistant logs, navigate to **Settings** > **System** > [**Logs**](https://my.home-assistant.io/redirect/logs/).
When reporting an issue, please focus on providing logs specifically relevant to the problem:
- **NSPanel Blueprint Automation**: If your issue is related to automation using the NSPanel blueprint, include only those logs that directly pertain to this process.
- **Panel and ESPHome**: For issues involving your panel and ESPHome, carefully select and share logs that show interactions or errors between these components.
- **Relevancy is Key**: To expedite troubleshooting, avoid including logs that are not related to the issue at hand. This helps in focusing on the pertinent information.
Your attention to sharing targeted and relevant log data is greatly appreciated and aids in efficient problem resolution.
...

20
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
---
blank_issues_enabled: false
contact_links:
- name: Questions & General Discussions
url: https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions
about: Join our Discussions for community chats, questions, idea sharing, and collaboration. Use Issues for reporting bugs or requesting enhancements.
- name: Troubleshooting TFT Transfer Issues
url: https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/tft_upload.md
about: Having trouble transferring a TFT file? Our guide might have the solution.
- name: Resolve Compiling Errors
url: https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/error_compiling.md
about: Check this guide if you're experiencing compile errors.
- name: Getting Started Guide
url: https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/install.md
about: New to NSPanel HA Blueprint? Start here for installation and setup instructions.
...

32
.github/ISSUE_TEMPLATE/enhancement.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: Enhancement Request
description: Suggest an idea for this project
title: "`Enhancement` "
labels: [Enhancement]
body:
- type: markdown
attributes:
value: "Thank you for taking the time to suggest an enhancement!"
- type: input
attributes:
label: Enhancement Summary
description: A brief summary of the enhancement.
placeholder: e.g., Add support for XYZ feature...
validations:
required: true
- type: textarea
attributes:
label: Detailed Description
description: Please provide a detailed description of the enhancement. Include any specific use cases or functionality you envision.
placeholder: "Describe the enhancement in detail..."
validations:
required: true
- type: textarea
attributes:
label: Additional Context
description: "Provide any additional context or screenshots that might help us understand the enhancement better."
placeholder: "Add any other context or screenshots about the enhancement request here."
...

32
.github/workflows/release_tag.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: Update Tags
# yamllint disable-line rule:truthy
on:
release:
types: [published]
jobs:
update-tags:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Set up Git
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
- name: Move and push stable tag
run: |
git tag -f stable ${{ github.event.release.tag_name }}
git push -f origin stable
- name: Move and push latest tag
run: |
git tag -f latest ${{ github.event.release.tag_name }}
git push -f origin latest
...

View File

@@ -0,0 +1,24 @@
---
name: Validate Blueprint YAML
# yamllint disable-line rule:truthy
on:
push:
paths:
- "nspanel_blueprint.yaml"
pull_request:
paths:
- "nspanel_blueprint.yaml"
workflow_dispatch:
jobs:
code_scan:
name: Validate Blueprint YAML
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Validate nspanel_blueprint.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_blueprint.yaml
...

View File

@@ -0,0 +1,26 @@
---
name: Validate C++ (Clang Format)
# yamllint disable-line rule:truthy
on:
push:
paths:
- '**/*.h'
- '**/*.c'
- '**/*.cpp'
pull_request:
paths:
- '**/*.h'
- '**/*.c'
- '**/*.cpp'
workflow_dispatch:
jobs:
clang-format-checking:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: RafikFarhad/clang-format-github-action@v3
with:
sources: "components/nspanel_ha_blueprint/*.h,components/nspanel_ha_blueprint/*.cpp,components/nspanel_ha_blueprint_upload_tft/*.h,components/nspanel_ha_blueprint_upload_tft/*.cpp"
...

373
.github/workflows/validate_esphome.yml vendored Normal file
View File

@@ -0,0 +1,373 @@
---
name: Validate and Build ESPHome
# yamllint disable-line rule:truthy
on:
push:
paths:
- "nspanel_esphome*.yaml"
- "esphome/nspanel_esphome*.yaml"
- "prebuilt/nspanel_esphome*.yaml"
- "prebuilt/wall_display*.yaml"
- ".test/*.yaml"
- "*.h"
- "*.c"
- "*.cpp"
- "*.py"
pull_request:
paths:
- "nspanel_esphome*.yaml"
- "esphome/nspanel_esphome*.yaml"
- "prebuilt/nspanel_esphome*.yaml"
- "prebuilt/wall_display*.yaml"
- ".test/*.yaml"
- "*.h"
- "*.c"
- "*.cpp"
- "*.py"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
setup_dependencies:
name: Setup & Cache Dependencies
runs-on: ubuntu-latest
outputs:
cache-hit-idf-v4: ${{ steps.cache-idf-v4.outputs.cache-hit }}
cache-hit-idf-v5: ${{ steps.cache-idf-v5.outputs.cache-hit }}
cache-hit-arduino: ${{ steps.cache-arduino.outputs.cache-hit }}
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Cache ESP-IDF v4 Dependencies
id: cache-idf-v4
uses: actions/cache@main
with:
path: |
~/.esphome/cache
~/.platformio/packages
~/.platformio/platforms
key: ${{ runner.os }}-esp-idf-v4-${{ hashFiles('**/esphome_idf_basic.yaml') }}
restore-keys: |
${{ runner.os }}-esp-idf-v4-
- name: Cache ESP-IDF v5 Dependencies
id: cache-idf-v5
uses: actions/cache@main
with:
path: |
~/.esphome/cache
~/.platformio/packages
~/.platformio/platforms
key: ${{ runner.os }}-esp-idf-v5-${{ hashFiles('**/esphome_idf5_basic.yaml') }}
restore-keys: |
${{ runner.os }}-esp-idf-v5-
- name: Cache Arduino Dependencies
id: cache-arduino
uses: actions/cache@main
with:
path: |
~/.esphome/cache
~/.platformio/packages
~/.platformio/platforms
key: ${{ runner.os }}-arduino-${{ hashFiles('**/esphome_ard_basic.yaml') }}
restore-keys: |
${{ runner.os }}-arduino-
code_scan:
name: Code scan (YAML)
runs-on: "ubuntu-latest"
needs: setup_dependencies
steps:
- name: Checkout Code
uses: actions/checkout@main
- name: Setup Python
uses: actions/setup-python@main
with:
python-version: '3.8'
- name: Install Yamllint
run: pip install yamllint
- name: Validate YAML files
run: find . -name "*.yaml" -exec yamllint -c ./.rules/yamllint.yml {} +
build_cores:
name: Core
needs: [code_scan, setup_dependencies]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- id: idf_v4
yaml_file: ".test/esphome_idf_basic.yaml"
cache-hit: ${{ needs.setup_dependencies.outputs.cache-hit-idf-v4 }}
- id: idf_v5
yaml_file: ".test/esphome_idf5_basic.yaml"
cache-hit: ${{ needs.setup_dependencies.outputs.cache-hit-idf-v5 }}
- id: ard
yaml_file: ".test/esphome_ard_basic.yaml"
cache-hit: ${{ needs.setup_dependencies.outputs.cache-hit-arduino }}
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Firmware
if: steps.matrix.outputs.cache-hit != 'true'
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_advanced:
name: Advanced
needs: build_cores
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_advanced.yaml"
- id: idf_v5
base: idf_v5
yaml_file: ".test/esphome_idf5_advanced.yaml"
- id: ard
base: ard
yaml_file: ".test/esphome_ard_advanced.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build Advanced Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_ble_tracker:
name: BLE Tracker
needs: build_cores
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_ble_tracker.yaml"
- id: idf_v5
base: idf_v5
yaml_file: ".test/esphome_idf5_ble_tracker.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build BLE Tracker Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_bluetooth_proxy:
name: Bluetooth Proxy
needs: build_cores
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_bluetooth_proxy.yaml"
- id: idf_v5
base: idf_v5
yaml_file: ".test/esphome_idf5_bluetooth_proxy.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build Bluetooth Proxy Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_climate_cool:
name: Climate Cool
needs: build_cores
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_climate_cool.yaml"
- id: idf_v5
base: idf_v5
yaml_file: ".test/esphome_idf5_climate_cool.yaml"
- id: ard
base: ard
yaml_file: ".test/esphome_ard_climate_cool.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build Climate Cool Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_climate_heat:
name: Climate Heat
needs: build_cores
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_climate_heat.yaml"
- id: idf_v5
base: idf_v5
yaml_file: ".test/esphome_idf5_climate_heat.yaml"
- id: ard
base: ard
yaml_file: ".test/esphome_ard_climate_heat.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build Climate Heat Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_climate_dual:
name: Climate Dual
needs: build_cores
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_climate_dual.yaml"
- id: idf_v5
base: idf_v5
yaml_file: ".test/esphome_idf5_climate_dual.yaml"
- id: ard
base: ard
yaml_file: ".test/esphome_ard_climate_dual.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build Climate Dial Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_customizations:
name: Customizations
needs:
- build_advanced
- build_climate_heat
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_advanced_climate_heat_customizations.yaml"
- id: ard
base: ard
yaml_file: ".test/esphome_ard_advanced_climate_heat_customizations.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build Customizations Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_climate_ble_proxy:
name: Climate Cool + Bluetooth Proxy
needs:
- build_climate_cool
- build_bluetooth_proxy
runs-on: ubuntu-latest
strategy:
matrix:
include:
- id: idf_v4
base: idf_v4
yaml_file: ".test/esphome_idf_climate_cool_bluetooth_proxy.yaml"
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Build Customizations Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: ${{ matrix.yaml_file }}
build_prebuilt_firmware:
name: Prebuilt Firmware
runs-on: ubuntu-latest
needs: code_scan
if: github.ref == 'refs/heads/dev' || github.base_ref == 'dev'
steps:
- uses: actions/checkout@main
- name: Build ESPHome Prebuilt Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: prebuilt/nspanel_esphome_prebuilt.yaml
- name: Move and Rename Firmware File - nspanel_esphome_prebuilt
run: |
mkdir -p prebuilt
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware.bin prebuilt/nspanel_esphome_prebuilt.bin || true
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware-factory.bin prebuilt/nspanel_esphome_prebuilt-factory.bin || true
- name: Build ESPHome Prebuilt Wall Display Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: prebuilt/wall_display.yaml
- name: Move and Rename Firmware File - wall_display
run: |
mkdir -p prebuilt
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware.bin prebuilt/wall_display.bin || true
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware-factory.bin prebuilt/wall_display-factory.bin || true
- name: Generate checksum for Firmware Files
run: |
md5sum prebuilt/nspanel_esphome_prebuilt.bin > prebuilt/nspanel_esphome_prebuilt.bin.md5
md5sum prebuilt/nspanel_esphome_prebuilt-factory.bin > prebuilt/nspanel_esphome_prebuilt-factory.bin.md5
md5sum prebuilt/wall_display.bin > prebuilt/wall_display.bin.md5
md5sum prebuilt/wall_display-factory.bin > prebuilt/wall_display-factory.bin.md5
- name: Commit and Push Firmware Files
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email 'actions@github.com'
git add prebuilt/*.bin prebuilt/*.md5
git commit -m "Pre-built firmware update: ${{ github.run_id }}"
git push
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
...

View File

@@ -0,0 +1,198 @@
---
name: Validate ESPHome (beta)
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
concurrency:
# yamllint disable-line rule:line-length
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
code_scan:
name: Code scan (YAML)
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Validate nspanel_esphome.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome.yaml
build_core:
name: Core
runs-on: "ubuntu-latest"
needs:
- code_scan
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_basic.yaml"
version: beta
build_advanced:
name: Advanced
runs-on: "ubuntu-latest"
needs:
- build_core
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+advanced
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_advanced.yaml"
version: beta
build_climate_heat:
name: Climate (heat)
runs-on: "ubuntu-latest"
needs:
- build_core
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+climate_heat
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_climate_heat.yaml"
version: beta
build_climate_cool:
name: Climate (cool)
runs-on: "ubuntu-latest"
needs:
- build_core
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+climate_cool
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_climate_cool.yaml"
version: beta
build_climate_dual:
name: Climate (dual)
runs-on: "ubuntu-latest"
needs:
- build_core
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+climate_dual
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_climate_dual.yaml"
version: beta
build_climate_heat_advanced:
name: Advanced+climate (heat)
runs-on: "ubuntu-latest"
needs:
- build_climate_heat
- build_advanced
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+advanced+climate_heat
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_advanced_climate_heat.yaml"
version: beta
build_climate_cool_advanced_arduino:
name: Arduino
runs-on: "ubuntu-latest"
needs:
- build_climate_cool
- build_advanced
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+advanced+climate_cool+arduino
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_advanced_climate_cool_arduino.yaml"
version: beta
build_climate_dual_esp_idf5:
name: esp-idf v5 & Climate Dual & Bluetooth proxy
runs-on: "ubuntu-latest"
needs:
- build_advanced
- build_climate_dual
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+climate_dual+bt_proxy+esp_idf5
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_advanced_climate_dual_esp_idf5.yaml"
version: beta
build_climate_heat_advanced_customization:
name: Customizations
runs-on: "ubuntu-latest"
needs:
- code_scan
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+advanced+climate_heat+customizations
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_advanced_climate_heat_customizations.yaml"
version: beta
build_prebuilt_firmware:
name: Prebuilt Firmware
runs-on: ubuntu-latest
needs: code_scan
if: github.ref == 'refs/heads/dev' || github.base_ref == 'dev'
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build ESPHome Prebuilt Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: prebuilt/nspanel_esphome_prebuilt.yaml
version: beta
- name: Build ESPHome Prebuilt Wall Display Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: prebuilt/wall_display.yaml
version: beta
build_climate_cool_bluetooth_proxy:
name: Climate cool & BLE proxy
runs-on: "ubuntu-latest"
needs:
- build_climate_cool
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Build core+climate_cool+bluetooth_proxy
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: "./.test/esphome_climate_cool_bluetooth_proxy.yaml"
version: beta
...

58
.github/workflows/validate_markdown.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
---
name: Validate Markdown
# yamllint disable-line rule:truthy
on:
pull_request:
paths:
- '**/*.md'
push:
paths:
- '**/*.md'
workflow_dispatch:
jobs:
markdown-lint:
name: Markdown Lint
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@main
with:
fetch-depth: '0'
# https://github.com/marketplace/actions/markdownlint-cli2-action
- name: Identify changed files
uses: tj-actions/changed-files@v41
id: changed-files
with:
files: '**/*.md'
separator: ","
# https://github.com/marketplace/actions/markdownlint-cli2-action
- name: Markdown Lint
uses: DavidAnson/markdownlint-cli2-action@v14
if: steps.changed-files.outputs.any_changed == 'true'
with:
globs: ${{ steps.changed-files.outputs.all_changed_files }}
separator: ","
config: '.rules/.markdownlint.jsonc'
fix: true
markdown-links:
name: Check links
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@main
with:
fetch-depth: '0'
# https://github.com/gaurav-nelson/github-action-markdown-link-check
- name: Markdown links
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
# yamllint disable-line rule:truthy
check-modified-files-only: yes
config-file: '.rules/mlc_config.json'
base-branch: 'main'
...

30
.github/workflows/validate_python.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
---
name: Validate Python (flake8)
# yamllint disable-line rule:truthy
on:
push:
paths:
- '*.py'
pull_request:
paths:
- '*.py'
workflow_dispatch:
jobs:
flake8-lint:
runs-on: ubuntu-latest
name: Lint
steps:
- name: Check out source repository
uses: actions/checkout@main
- name: Set up Python environment
uses: actions/setup-python@main
with:
python-version: "3.11"
- name: flake8 Lint
uses: py-actions/flake8@v2
with:
max-line-length: "200"
path: "components/nspanel_ha_blueprint"
...

49
.github/workflows/validate_yamllint.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
---
name: Validate YAML (secondary files)
# yamllint disable-line rule:truthy
on:
push:
paths:
- '**/*.yml'
- '**/*.yaml'
pull_request:
paths:
- '**/*.yml'
- '**/*.yaml'
workflow_dispatch:
jobs:
code_scan:
name: Validate YAML
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@main
with:
fetch-depth: '0'
- name: Identify changed files
uses: tj-actions/changed-files@v41
id: changed-files
with:
files: '**/*.y*ml'
separator: ","
- name: Validate YAML
if: steps.changed-files.outputs.any_changed == 'true'
run: |
IFS=',' read -ra FILES <<< "${{ steps.changed-files.outputs.all_changed_files }}"
for file in "${FILES[@]}"; do
if [[ "$file" =~ ^nspanel_esphome.*\.yaml$ ]] || \
[[ "$file" =~ ^esphome/nspanel_esphome.*\.yaml$ ]] || \
[[ "$file" =~ ^prebuilt/nspanel_esphome.*\.yaml$ ]] || \
[[ "$file" == "nspanel_blueprint.yaml" ]]; then
echo "Skipping $file"
continue
fi
echo "::group::Validating $file"
yamllint -c "./.rules/yamllint.yml" "$file"
echo "::endgroup::"
done
...

10
.gitignore vendored
View File

@@ -1,3 +1,13 @@
# Ignore Mac DS_Store files
.DS_Store
**/.DS_Store
Nextion2Text.*
*.cmd
*.bat
# Ignore IntelliJ IDEA project directory
.idea
# Ignore dev folder
dev

View File

@@ -0,0 +1,4 @@
{
"MD013": { "line_length": 200 }
}

2
.rules/markdownlint.yml Normal file
View File

@@ -0,0 +1,2 @@
MD013:
line_length: 200

13
.rules/mlc_config.json Normal file
View File

@@ -0,0 +1,13 @@
{
"ignorePatterns": [
{
"pattern": "^http://homeassistant\\.local.*$"
},
{
"pattern": "^https://sonoff.tech/product/central-control-panel/nspanel/$"
},
{
"pattern": "^https://sonoff.tech/wp-content/uploads/2021/11/%E4%BA%A7%E5%93%81%E5%8F%82%E6%95%B0%E8%A1%A8-NSPanel-20210831.pdf$"
}
]
}

42
.rules/yamllint.yml Normal file
View File

@@ -0,0 +1,42 @@
# https://yamllint.readthedocs.io/en/stable/configuration.html#default-configuration
---
yaml-files:
- '*.yaml'
- '*.yml'
- '.yamllint'
rules:
anchors:
forbid-undeclared-aliases: true
forbid-duplicated-anchors: true
braces: enable
brackets: enable
colons: enable
commas: enable
comments:
level: warning
comments-indentation:
level: warning
document-end:
level: warning
document-start:
level: warning
empty-lines: enable
empty-values: disable
float-values:
level: warning
hyphens: enable
indentation: enable
key-duplicates: enable
key-ordering: disable
line-length:
max: 200
new-line-at-end-of-file: enable
new-lines: enable
octal-values:
level: warning
quoted-strings: disable
trailing-spaces: enable
truthy:
level: warning
...

View File

@@ -0,0 +1,15 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
esp32:
framework:
type: arduino
...

View File

@@ -0,0 +1,240 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_blank_url: "http://homeassistant.local:8123/local/nspanel_blank.tft"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
esp32:
framework:
type: arduino
##### Customizations from Wiki #####
api:
# Encrypt the communication between ESPHome and Home Assistant
encryption:
key: !secret api_encryption_key
# Reboot if HA is not connected for 15 minutes
reboot_timeout: 15min
binary_sensor:
# Is display awake?
- name: ${device_name} Display state
id: display_state
platform: template
lambda: |-
return (current_page->state != "screensaver");
button:
# Adds a button to put the panel to sleep
- name: ${device_name} Sleep
id: force_sleep
platform: template
icon: mdi:sleep
on_press:
then:
- logger.log: Button Sleep pressed
- lambda: |-
goto_page->execute("screensaver");
# Adds a button to wake-up the panel (similar to the existing service)
- name: ${device_name} Wake-up
id: force_wake_up
platform: template
icon: mdi:alarm
on_press:
then:
- logger.log: Button Wake-up pressed
- lambda: |-
if (current_page->state == "screensaver") id(disp1).goto_page(id(wakeup_page_name).state.c_str());
// timer_page->execute(); // enable this if you want page timeout to be reset
timer_sleep->execute();
timer_dim->execute();
# Add custom presets to your climate (heat in this example)
climate:
- id: !extend thermostat_embedded
heat_deadband: 0.3
heat_overrun: 0.0
default_preset: "Home"
preset:
- name: "Off"
default_target_temperature_low: ${temp_min} ${temp_units}
mode: "off"
- name: Home
default_target_temperature_low: 21 ${temp_units}
mode: "heat"
- name: Away
default_target_temperature_low: 16.5 ${temp_units}
mode: "heat"
- name: Sleep
default_target_temperature_low: 17.5 ${temp_units}
mode: "heat"
esphome:
# change OTA password, remove after flashing
on_boot:
- priority: 601.0
then:
- lambda: |-
id(my_ota).set_auth_password("New password");
# Limit the amount of resources used for compiling
compile_process_limit: 1
light:
# Add the display as a light in Home Assistant
- name: ${device_name} Display
id: display_light
icon: mdi:tablet-dashboard
platform: monochromatic
output: display_output
default_transition_length: 0s
on_turn_on:
then:
- lambda: |-
ESP_LOGD("light.display_light", "Turn-on");
if (current_page->state == "screensaver") disp1->goto_page(wakeup_page_name->state.c_str());
timer_reset_all->execute();
on_turn_off:
then:
- lambda: |-
ESP_LOGD("light.display_light", "Turn-off");
goto_page->execute("screensaver");
logger:
# Enable hardware UART serial logging
baud_rate: 115200
ota:
# change OTA password, remove after flashing
password: !secret wifi_password
id: my_ota
output:
# Output required by `display_light` to send the commands to Nextion
- id: display_output
platform: template
type: float
write_action:
- lambda: |-
ESP_LOGV("output.display_output", "state: %f", state);
uint8_t current_brightness = int(round(display_light->current_values.is_on() ? (display_light->current_values.get_brightness() * 100.0f) : 0.0));
ESP_LOGV("output.display_output", "current_brightness: %i%%", current_brightness);
set_brightness->execute(current_brightness);
script:
# Updates the existing `page_changed` script to update the `display_light` status when a page changes
- id: !extend page_changed
then:
- lambda: |-
ESP_LOGD("script.page_changed(custom)", "page: %s", current_page->state.c_str());
ESP_LOGV("script.page_changed(custom)", "is_on(): %s", display_light->current_values.is_on() ? "True" : "False");
if (current_page->state == "screensaver" and display_light->current_values.is_on()) {
auto call = display_light->turn_off();
call.perform();
} else if (current_page->state != "screensaver" and (not display_light->current_values.is_on())) {
auto call = display_light->turn_on();
call.perform();
}
# Updates the existing `set_brightness` script to update the `display_light` status when a new brightness level is set
- id: !extend set_brightness
then:
- lambda: |-
ESP_LOGD("script.set_brightness(custom)", "brightness: %.0f%%", brightness);
uint8_t current_light_brightness = int(round(display_light->current_values.is_on() ? (display_light->current_values.get_brightness() * 100.0f) : 0.0));
ESP_LOGV("script.set_brightness(custom)", "current_light_brightness: %i%%", current_light_brightness);
if (brightness != current_light_brightness) {
if (current_page->state != "screensaver" and brightness > 0) {
auto call = display_light->turn_on();
call.set_brightness(current_brightness->state / 100.0f);
call.perform();
} else if (display_light->current_values.is_on()) {
auto call = display_light->turn_off();
call.set_brightness(0);
call.perform();
}
}
time:
- id: !extend time_provider
timezone: "America/Cancun"
# Use my own local network time server
platform: sntp
servers:
- !secret mysntpserver
- europe.pool.ntp.org
- 0.pool.ntp.org
# Scheduled relay
on_time:
- hours: 7
minutes: 30
seconds: 0
then:
- switch.turn_on: relay_1
- hours: 12
minutes: 15
seconds: 0
then:
- switch.turn_off: relay_1
- hours: 19
minutes: 30
seconds: 0
then:
- switch.turn_on: relay_1
- hours: 23
minutes: 30
seconds: 0
then:
- switch.turn_off: relay_1
# Scheduled climate
- hours: 7
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 22°C
- hours: 19
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 20°C
- hours: 23
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 18°C
web_server:
# Custom web server credentials
auth:
username: !secret web_server_username
password: !secret web_server_password
wifi:
networks:
- id: !extend wifi_default
# Set IP address manually
manual_ip:
static_ip: 192.168.0.123
gateway: 192.168.0.1
subnet: 255.255.255.0
# Set dual network
priority: 10
- ssid: !secret wifi_ssid_backup
password: !secret wifi_password_backup
priority: 0
...

View File

@@ -0,0 +1,14 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Basic package
esp32:
framework:
type: arduino
...

View File

@@ -0,0 +1,15 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
esp32:
framework:
type: arduino
...

View File

@@ -0,0 +1,15 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml
esp32:
framework:
type: arduino
...

View File

@@ -0,0 +1,15 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
esp32:
framework:
type: arduino
...

View File

@@ -0,0 +1,17 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
esp32:
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
...

View File

@@ -0,0 +1,16 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Basic package
esp32:
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
...

View File

@@ -0,0 +1,17 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_ble_tracker: !include ../esphome/nspanel_esphome_addon_ble_tracker.yaml
esp32:
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
...

View File

@@ -0,0 +1,17 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_bluetooth_proxy: !include ../esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
esp32:
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
...

View File

@@ -0,0 +1,17 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
esp32:
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
...

View File

@@ -0,0 +1,17 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml
esp32:
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
...

View File

@@ -0,0 +1,17 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
esp32:
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
...

View File

@@ -0,0 +1,11 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
...

View File

@@ -0,0 +1,14 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cold: !include ../esphome/nspanel_esphome_addon_climate_cold.yaml
# addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml
...

View File

@@ -0,0 +1,238 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_blank_url: "http://homeassistant.local:8123/local/nspanel_blank.tft"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
advanced_package: !include ../esphome/nspanel_esphome_advanced.yaml
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
# addon_climate_cold: !include ../esphome/nspanel_esphome_addon_climate_cold.yaml
# addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml
##### Customizations from Wiki #####
api:
# Encrypt the communication between ESPHome and Home Assistant
encryption:
key: !secret api_encryption_key
# Reboot if HA is not connected for 15 minutes
reboot_timeout: 15min
binary_sensor:
# Is display awake?
- name: ${device_name} Display state
id: display_state
platform: template
lambda: |-
return (current_page->state != "screensaver");
button:
# Adds a button to put the panel to sleep
- name: ${device_name} Sleep
id: force_sleep
platform: template
icon: mdi:sleep
on_press:
then:
- logger.log: Button Sleep pressed
- lambda: |-
goto_page->execute("screensaver");
# Adds a button to wake-up the panel (similar to the existing service)
- name: ${device_name} Wake-up
id: force_wake_up
platform: template
icon: mdi:alarm
on_press:
then:
- logger.log: Button Wake-up pressed
- lambda: |-
if (current_page->state == "screensaver") id(disp1).goto_page(id(wakeup_page_name).state.c_str());
// timer_page->execute(); // enable this if you want page timeout to be reset
timer_sleep->execute();
timer_dim->execute();
# Add custom presets to your climate (heat in this example)
climate:
- id: !extend thermostat_embedded
heat_deadband: 0.3
heat_overrun: 0.0
default_preset: "Home"
preset:
- name: "Off"
default_target_temperature_low: ${temp_min} ${temp_units}
mode: "off"
- name: Home
default_target_temperature_low: 21 ${temp_units}
mode: "heat"
- name: Away
default_target_temperature_low: 16.5 ${temp_units}
mode: "heat"
- name: Sleep
default_target_temperature_low: 17.5 ${temp_units}
mode: "heat"
esphome:
# change OTA password, remove after flashing
on_boot:
- priority: 601.0
then:
- lambda: |-
id(my_ota).set_auth_password("New password");
# Limit the amount of resources used for compiling
compile_process_limit: 1
light:
# Add the display as a light in Home Assistant
- name: ${device_name} Display
id: display_light
icon: mdi:tablet-dashboard
platform: monochromatic
output: display_output
default_transition_length: 0s
on_turn_on:
then:
- lambda: |-
ESP_LOGD("light.display_light", "Turn-on");
if (current_page->state == "screensaver") disp1->goto_page(wakeup_page_name->state.c_str());
timer_reset_all->execute();
on_turn_off:
then:
- lambda: |-
ESP_LOGD("light.display_light", "Turn-off");
goto_page->execute("screensaver");
logger:
# Enable hardware UART serial logging
baud_rate: 115200
ota:
# change OTA password, remove after flashing
password: !secret wifi_password
id: my_ota
output:
# Output required by `display_light` to send the commands to Nextion
- id: display_output
platform: template
type: float
write_action:
- lambda: |-
ESP_LOGV("output.display_output", "state: %f", state);
uint8_t current_brightness = int(round(display_light->current_values.is_on() ? (display_light->current_values.get_brightness() * 100.0f) : 0.0));
ESP_LOGV("output.display_output", "current_brightness: %i%%", current_brightness);
set_brightness->execute(current_brightness);
script:
# Updates the existing `page_changed` script to update the `display_light` status when a page changes
- id: !extend page_changed
then:
- lambda: |-
ESP_LOGD("script.page_changed(custom)", "page: %s", current_page->state.c_str());
ESP_LOGV("script.page_changed(custom)", "is_on(): %s", display_light->current_values.is_on() ? "True" : "False");
if (current_page->state == "screensaver" and display_light->current_values.is_on()) {
auto call = display_light->turn_off();
call.perform();
} else if (current_page->state != "screensaver" and (not display_light->current_values.is_on())) {
auto call = display_light->turn_on();
call.perform();
}
# Updates the existing `set_brightness` script to update the `display_light` status when a new brightness level is set
- id: !extend set_brightness
then:
- lambda: |-
ESP_LOGD("script.set_brightness(custom)", "brightness: %.0f%%", brightness);
uint8_t current_light_brightness = int(round(display_light->current_values.is_on() ? (display_light->current_values.get_brightness() * 100.0f) : 0.0));
ESP_LOGV("script.set_brightness(custom)", "current_light_brightness: %i%%", current_light_brightness);
if (brightness != current_light_brightness) {
if (current_page->state != "screensaver" and brightness > 0) {
auto call = display_light->turn_on();
call.set_brightness(current_brightness->state / 100.0f);
call.perform();
} else if (display_light->current_values.is_on()) {
auto call = display_light->turn_off();
call.set_brightness(0);
call.perform();
}
}
time:
- id: !extend time_provider
timezone: "America/Cancun"
# Use my own local network time server
platform: sntp
servers:
- !secret mysntpserver
- europe.pool.ntp.org
- 0.pool.ntp.org
# Scheduled relay
on_time:
- hours: 7
minutes: 30
seconds: 0
then:
- switch.turn_on: relay_1
- hours: 12
minutes: 15
seconds: 0
then:
- switch.turn_off: relay_1
- hours: 19
minutes: 30
seconds: 0
then:
- switch.turn_on: relay_1
- hours: 23
minutes: 30
seconds: 0
then:
- switch.turn_off: relay_1
# Scheduled climate
- hours: 7
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 22°C
- hours: 19
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 20°C
- hours: 23
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 18°C
web_server:
# Custom web server credentials
auth:
username: !secret web_server_username
password: !secret web_server_password
wifi:
networks:
- id: !extend wifi_default
# Set IP address manually
manual_ip:
static_ip: 192.168.0.123
gateway: 192.168.0.1
subnet: 255.255.255.0
# Set dual network
priority: 10
- ssid: !secret wifi_ssid_backup
password: !secret wifi_password_backup
priority: 0
...

View File

@@ -0,0 +1,10 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Basic package
...

View File

@@ -0,0 +1,11 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_ble_tracker: !include ../esphome/nspanel_esphome_addon_ble_tracker.yaml
...

View File

@@ -0,0 +1,11 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_bluetooth_proxy: !include ../esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
...

View File

@@ -0,0 +1,11 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
...

View File

@@ -0,0 +1,12 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_cool: !include ../esphome/nspanel_esphome_addon_climate_cool.yaml
addon_bluetooth_proxy: !include ../esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
...

View File

@@ -0,0 +1,11 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_dual: !include ../esphome/nspanel_esphome_addon_climate_dual.yaml
...

View File

@@ -0,0 +1,11 @@
---
substitutions:
device_name: nspanel
wifi_ssid: "nspanel"
wifi_password: "NSPanel_HA_Blueprint"
nextion_update_url: "https://github.com/Blackymas/NSPanel_HA_Blueprint/dummy"
packages:
basic_package: !include ../nspanel_esphome.yaml # Core package
addon_climate_heat: !include ../esphome/nspanel_esphome_addon_climate_heat.yaml
...

9
.test/secrets.yaml Normal file
View File

@@ -0,0 +1,9 @@
---
api_encryption_key: MSANehPIH8kCp/vGcpPcKPSkYnv3zchyxkXCleXJinM=
mysntpserver: 192.168.0.1
web_server_password: NotASecret01
web_server_username: NotASecret01
wifi_password: NotASecret01
wifi_password_backup: NotASecret01
wifi_ssid_backup: NotASecret01
...

279
README.md
View File

@@ -1,170 +1,225 @@
# NSPanel Custom with HA Blueprint
This innovative solution is designed to revolutionize how you interact with your Sonoff NSPanel.
Our goal? To make the customization of your NSPanel seamless, intuitive, and completely code-free!
*Are you happy with our version for NSPanel? Please consider supporting us with a donation.*
[![Paypal](https://user-images.githubusercontent.com/41958506/212499642-b2fd097a-0938-4bfc-b37b-74df64592c58.png)](https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2)
[![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://my.home-assistant.io/badges/blueprint_import.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml)
This project allows you to configure your complete NSPanel via a Blueprint with UI.
## Table of Contents
### *That means you don't have to customize any code or change any lines in the code.*
1. [Project Highlights](#-project-highlights)
2. [Documentation & Resources](#-documentation--resources)
3. [Features](#-features)
4. [Pages Overview](#-pages-overview)
5. [Contributing](#-contributing)
6. [Community & Support](#-community--support)
7. [Acknowledgements](#-acknowledgements)
8. [Donations](#-donations)
So you have a nice graphical interface where you can build your NSPanel.
And the best thing is, the installation takes only a few minutes.
## 🌟 Project Highlights
The goal was to create a version that allows everyone to use the NSpanel fully local without having to deal with programming or reading hours of documentation - *AND YES WE DID IT!!!!* ;)
- **No Coding Required:** Customize your NSPanel without touching a single line of code. It's all about intuitive, user-friendly experiences!
- **Quick Setup:** Get your NSPanel up and running in minutes with our easy-to-follow graphical interface.
- **Local Control:** Embrace full local control of your NSPanel, steering clear of cloud dependencies.
- **Community-Driven:** A project for the users, by the users. Your contributions shape the future of this project!
📕 Full documentation and installation is available here [NSPanel Configuration, Setup and HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki).
## 📚 Documentation & Resources
🚀 How to create "Issues" when I have a problem [WIKI HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki)
- **Getting Started:** Dive into our comprehensive [Documentation and Setup Guide](docs/README.md) for detailed instructions.
- **Video Tutorial:** Prefer visual learning? Check out our [Step-by-Step Setup Video](docs/README.md).
- **Troubleshooting:** Encounter an issue? Here's how to report it: [WIKI HowTo](docs/README.md).
- **Feature Requests:** Got ideas? Share them [here](https://github.com/Blackymas/NSPanel_HA_Blueprint/labels/new%20feature%20request).
- **What's Next?:** Discover what's next and what we are working on right now in our [Milestones](https://github.com/Blackymas/NSPanel_HA_Blueprint/milestones?direction=asc&sort=due_date)
⭐ All Feature Requests can be found here [All Feature Request](https://github.com/Blackymas/NSPanel_HA_Blueprint/labels/new%20feature%20request)
## 🚀 Features
🎉 Roadmap Roadmap can be found here [Roadmap](https://github.com/Blackymas/NSPanel_HA_Blueprint/labels/roadmap)
🙋 WE ARE LOOKING FOR YOU! _**We are always looking for people who would like to support this project. We are looking for help with "programming new features, writing documentation or translating documentation to EN. If you are interested then please contact us :)**_
## NSPanel:
![2 Home](https://user-images.githubusercontent.com/41958506/203653897-cf96a7af-2b92-4ad9-a375-987decad5aa7.png)
![3 Buttonpage](https://user-images.githubusercontent.com/41958506/203654022-c6d81263-ce56-4a84-917a-9d4911f19f55.png)
(Home and Buttonpage)
![4 lightsetting 1](https://user-images.githubusercontent.com/41958506/203654055-943d1910-7673-4d9f-ad81-7ef00d155e5a.png)
![5 Lightsetting 2](https://user-images.githubusercontent.com/41958506/203654076-93e110df-f314-4cf1-8500-ed667f2202fd.png)
(Lightsettings - Brightness and TEMP Color)
![6 Lightsetting 3](https://user-images.githubusercontent.com/41958506/203654179-f7303b02-c886-4890-b976-cb498940a627.png)
![7 Thermostat](https://user-images.githubusercontent.com/41958506/203654189-4294b634-430f-423c-b170-9f1680f94b0e.png)
(Colorwheel and Thermostat)
![8 Cover](https://user-images.githubusercontent.com/41958506/203654290-c6ec2f2f-7924-492c-914c-0d96dc3907e0.png)
![9 Weather](https://user-images.githubusercontent.com/41958506/203654307-24000d00-b7e1-47eb-bd64-9e97b508db52.png)
(Coversetting and Weather Forcast)
![10 Settings](https://user-images.githubusercontent.com/41958506/203654386-e4e574ad-8674-4268-84dd-1c4e40f98eb9.png)
![1 Boot](https://user-images.githubusercontent.com/41958506/203667473-d33523a4-3197-4838-9099-cccebfc727db.png)
(NSPanel Settings and Boot Screen)
![Device Setting 1](https://user-images.githubusercontent.com/41958506/203723223-8afc0e44-51cf-49ed-8a49-8ba713716639.png)
![Device Setting 2](https://user-images.githubusercontent.com/41958506/203724491-53ecd93d-bc7c-4c2d-850b-f106691e2639.png)
(HA Device Seeting for Example temperature correction)
## Blueprint:
![Blueprint 1](https://user-images.githubusercontent.com/41958506/203655004-a11f5a1c-d098-4e1a-958a-0293e50000b2.png)
![Blueprint 2](https://user-images.githubusercontent.com/41958506/203655014-e6cae9df-aaf8-4537-8165-b8f44a177d3b.png)
## Features:
- easy to use and simple configuration via Blueprint - no change in the code is necessary
- Easy to use and simple configuration via Blueprint - no change in the code is necessary
- 32 buttons on 4 button pages with long press function for settings (more buttons are also possible)
- Button design is automatically generated based on the selected entity
- Buttons show current brightness and cover position in the button itself
- Buttons label can be assigned via blueprint
- Weather + 5 days weather forcast
- Thermostat + Touch + Relay control for floor heating
- Light control (brightness-slider, colorwheel, TempColor-slider) - via Long Press
- Cover control (open, close, position-slider) - via long press
- Settings page (display brightness, display dim brightness, auto-dim, sleep mode, reboot NSPanel)
- Weather + 5 days weather forecast
- Thermostat + Touch + [Relay control for floor heating](docs/addon_climate.md)
- Light control (brightness, color and temperature) - via long Press
- Cover control (open, close and position) - via long press
- Settings page (display brightness, display dim brightness, sleep mode, reboot NSPanel)
- Swipe between pages
- Top menu with 10 icons for specific states
- Heating control (hot water)
- modern design - design easy to change via Adobe Express (free + design template)
- 2 pysical switches
- Modern design - design easy to change via Adobe Express (free + design template)
- 2 physical switches with optional fallback mode
- and much more ;)
## 📖 Pages Overview
# Pages
### Home
## Home
- current weather with button to Weather Forcast page
![Home EU](docs/pics/eu_home.png)
![Home US](docs/pics/us_home.png)
- Current weather with button to Weather Forcast page
- Hardware buttons can be freely assigned
- Hardware button label or without label
- Blue line indicates on or off of the entity
- Temperature outside
- Hardware button label (optional)
- Blue line indicates the entity's states (`on` or `off`)
- Outside temperature
- Status icons at the top
- Room temperature with button to thermostat page
- Room humidity
- Hot water temperature
- Button to display settings page
- Up to 3 user's selectable entities
### Buttons Pages
## Button Page
- 32 Button
- 4 Button pages
![3 Buttonpage](https://user-images.githubusercontent.com/41958506/203654022-c6d81263-ce56-4a84-917a-9d4911f19f55.png)
![NEW Domains](https://user-images.githubusercontent.com/41958506/206879659-3aea30c1-b126-4d52-a869-abf6adfc8fa1.png)
- Up to 8 buttons per page, across 4 different pages, totaling 32 buttons
- Button design is automatically generated based on the selected entity
- Buttons show current brightness and cover position in the button itself
- Buttons label can be assigned via blueprint
- all buttons with long press function
- automatic detection by long press if it is a light or cover for submenu
- swipe between all pages
- swipe also down and up for fast access to certain pages
- Buttons display current brightness and cover position directly on the button
- Button labels can be assigned via blueprint
- All buttons feature a long-press function
- Automatic detection of light, cover, fan, media player, alarm or climate entities for submenus through long press
- Swipe between all pages
- Swipe up and down for quick access to specific pages
### Entities Pages
![Entities EU](docs/pics/eu_entities.png)
![Entities US](docs/pics/us_entities.png)
- Up to 8 entities per page, across 4 different pages, totaling 32 entities
- Icons and labels can be individually configured via blueprint or automatically detected for each entity
- Flexible alignment options for values as per user preference
### Light Settings
![4 lightsetting 1](https://user-images.githubusercontent.com/41958506/203654055-943d1910-7673-4d9f-ad81-7ef00d155e5a.png)
![5 Lightsetting 2](https://user-images.githubusercontent.com/41958506/203654076-93e110df-f314-4cf1-8500-ed667f2202fd.png)
![6 Lightsetting 3](https://user-images.githubusercontent.com/41958506/203654179-f7303b02-c886-4890-b976-cb498940a627.png)
## Light Settings
- Light current state
- Brightness Slider
- Colorwheel
- TempColor slider
- Brightness slider
- RGB color wheel
- Color temperature slider
- Jump back to the right button page
### Cover Settings
![8 Cover](https://user-images.githubusercontent.com/41958506/203654290-c6ec2f2f-7924-492c-914c-0d96dc3907e0.png)
## Cover Settings
- Open and close cover
- Cover position via slider
- Cover battery value if available (I use Ikea roller blind)
- Cover battery value (when available)
- jump back to the right button page
### Thermostat / Climate
## Thermostat
- Touch Temp control
- Outside temperature
- Hot water
- heating on, off and idle
- Hot water button
- Target temperature control slider
- Current temperature
- 4 user's selectable values (for water and external temperatures, etc.)
- All the standard climate controls from Home Assistant (`heat`, `fan`, `cool`, `auto`, `dry`)
- 2 user's selectable buttons
- [Can be used for local control (even when Wi-Fi is unavailable) when your panel's relays are used to control your cooler/heater](docs/addon_climate.md)
### Fan speed
## Weather Forcast
- 5 days Weather Forcast via swipe (Integration Accuweather - but should also go with another integration)
- Lowest and highest temperature outside
- Turn-on and turn-off fan
- Set speed via slider or buttons
- jump back to the right button page
### Alarm
- Arm/disarm an alarm (standard modes supported by Home Assistant)
- Support to numeric pin for arming or disarming
### Weather Forecast
![9 Weather](https://user-images.githubusercontent.com/41958506/203654307-24000d00-b7e1-47eb-bd64-9e97b508db52.png)
- 5 days weather forecast via swipe (supports most used weather integrations)
- Min and max outside temperatures
- Date
- Rain probability
- Sunshine hours
- Sun pressure
- Thunderstorm probability
- Wind speed
- Night thunderstorm probability and wind speed
- Other weather parameters (when provided by your integration):
- Rain probability
- Sunshine hours
- UV index
- Thunderstorm probability
- Wind speed
### Display Settings
![Settings EU](docs/pics/eu_settings.png)
![Settings US](docs/pics/us_settings.png)
## Display Settings
- Restart NSPanel
- Sleep mode - display off after time X
- Display brightness slider
- Display dim brightness slider
- Status Brightness in %
### Boot
![Boot EU](docs/pics/eu_boot.png)
![Boot US](docs/pics/us_boot.png)
## Thanks to:
SmartHome Yourself: https://www.youtube.com/c/SmarthomeyourselfDe_DIY
## Home Assistant interface
Masto: https://github.com/masto/NSPanel-Demo-Files
## Device's page
Marcfager: https://github.com/marcfager/nspanel-mf
On the device's page under "Devices & Services" you can set the global configuration of your device and see the value of it's sensors and relays:
lovejoy77: https://github.com/lovejoy777/NSpanel
![Device Setting - Controls](docs/pics/ha_device_controls.png)
Hellis81: https://github.com/Hellis81/NS-panel
![Device Setting - Sensors](docs/pics/ha_device_sensors.png)
![Device Setting - Configuration](docs/pics/ha_device_configuration.png)
![Device Setting - Diagnostic](docs/pics/ha_device_diagnostic.png)
## Automation (Blueprint)
In your automations you use the blueprint's inputs to define what will be shown on your panel and how it should behave:
![Blueprint 01](docs/pics/ha_blueprint_01.png)
![Blueprint 02](docs/pics/ha_blueprint_02.png)
![Blueprint 03](docs/pics/ha_blueprint_03.png)
![Blueprint 04](docs/pics/ha_blueprint_04.png)
![Blueprint 05](docs/pics/ha_blueprint_05.png)
## 🚀 Contributing
- **Pull Requests:** Please direct all pull requests to the `DEV` branch, not the `main` branch.
- **Join Our Team:** We're on the lookout for enthusiasts in programming, documentation, and translation. Interested? Please let us know.
## 🌍 Community & Support
Join our vibrant community! Whether you're seeking support, wanting to contribute, or just looking to share your NSPanel journey, we're here for you.
- **[Issues & Feature requests](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues)**
- **[Discussion Forum](https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions)**
- **[Home Assistant Community](https://community.home-assistant.io/t/sonoff-nspanel-blueprint-configure-your-own-custom-nspanel-easy-via-a-blueprint/500577)**
## 🎉 Acknowledgements
A huge thank you to everyone who has contributed to making this project a reality. Your support, feedback, and contributions have been invaluable.
And special thanks for the other projects which inspired us:
- [Hellis81](https://github.com/Hellis81/NS-panel)
- [Jimmyboy83](https://github.com/Jimmyboy83/nspanel)
- [joBr99](https://github.com/joBr99/Generate-HASP-Fonts)
- [lovejoy77](https://github.com/lovejoy777/NSpanel)
- [Marcfager](https://github.com/marcfager/nspanel-mf)
- [Masto](https://github.com/masto/NSPanel-Demo-Files)
- [sairon](https://github.com/sairon/esphome-nspanel-lovelace-ui)
- [SmartHome Yourself](https://www.youtube.com/c/SmarthomeyourselfDe_DIY)
## 💖 Donations
Are you happy with our version for NSPanel? Please consider supporting us with a donation.
[![Paypal](https://user-images.githubusercontent.com/41958506/212499642-b2fd097a-0938-4bfc-b37b-74df64592c58.png)](https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2)

834
ReleaseNotes.md Normal file
View File

@@ -0,0 +1,834 @@
# v4.3 - Welcome to Framework ESP-IDF, an Utilities Dashboard and Enhanced Localization
## General
This milestone release is not just about adopting a new technical foundation;
it's about enhancing the capabilities and experiences of our users through significant performance improvements,
more comprehensive API documentation, customizable user interfaces and improved localization.
And with a nice Utilities Dashboard as a bonus!!
Our dedication to refining the user experience and expanding customization options continues, with this release featuring:
- **Utilities Dashboard**: A new addition, offering a customizable overview for essential utility metrics such as solar production,
wind energy, EV charging status, battery levels, and water or gas consumption.
- **Comprehensive API Documentation**: Simplifying customization and integration for developers and users, enabling tailored experiences with detailed service documentation.
- **Localization and Personalization**: Advances in user-defined settings, like decimal separators and value translations, contribute to a more intuitive interface.
Weve also streamlined the display to exclude empty pages, making navigation more efficient.
- **Performance and Functionality**: The shift to the ESP-IDF framework not only boosts performance but also paves the way for future enhancements,
keeping NSPanel at the forefront of smart control technology.
As we embrace the ESP-IDF framework, we're excited to explore the new horizons it brings to the NSPanel firmware. Dive into v4.3 and discover the advancements that await.
## ESP-IDF Framework Transition
With this release, we've officially transitioned to the **ESP-IDF** framework.
This move is part of our ongoing efforts to enhance the memory capacity and expand the features available on the ESP, facilitating broader customization and new functionalities.
For users updating to this version:
- **Flashing Required**: To adopt the ESP-IDF framework, flashing your device using a serial cable is necessary. This step mirrors the initial custom firmware setup process.
- **Arduino Framework Still Available**: For those who prefer the `arduino` framework or require Over-The-Air (OTA) updates, it remains an option.
Detailed guidance on how to choose your framework is provided in our [customization documentation](https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/customization.md#frameworks).
This transition is a significant milestone for us, promising a robust platform for our community.
We're here to help with any questions or assistance needed during this change.
For more details and support, visit our [community discussion](https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1756).
## Updating
Please review your settings post-update to ensure compatibility.
Refer to the update procedures [here](https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/howto.md#update-blueprint).
## Breaking Changes and Guidance
With this release, we're implementing several important changes.
While we strive to improve the panel, we understand that changes can affect your setups.
Here's a detailed overview and guidance for a smooth transition:
1. **Home Assistant v2024.3.0 is required**. You can see the full version compatibility list [here](docs/version_compatibility.md).
2. **Transition to ESP-IDF Framework**: This release marks the official switch to the ESP-IDF framework, enhancing performance and allowing for more complex features.
- **What to Do**: You'll need to flash your device with the new firmware using a serial connection.
Detailed instructions are available in our [installation guide](docs/install.md#flashing-the-device-for-the-first-time).
- **Support for Arduino Framework**: If you're not ready to make the switch or prefer the Arduino framework, it's still supported for OTA updates.
See our [framework customization documentation](https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/customization.md#frameworks) for details on how to select your preferred framework.
3. **Several Services Changed**: In our pursuit to enhance integration capabilities and future-proof our services, we've undertaken a comprehensive restructuring of our API.
This change is aimed at improving functionality and compatibility but may require adjustments to your current automations.
- **What to Do**: We strongly encourage you to review our updated [API documentation](docs/api.md).
This resource has been meticulously updated to assist you in updating your automation scripts accordingly.
Pay special attention to the examples section, which offers valuable insights and practical guidance for adapting your existing setups seamlessly.
4. **15s Hardware Button Press No Longer Restarts the Device**: This feature was removed to repurpose the hardware button for more versatile uses.
- **What to Do**: If you relied on this feature, see our [customization guide](https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/customization.md#restart-with-15s-button-press) for alternatives.
Additionally, the reset pin remains an option for manual resets.
5. **Relay Fallback Switches Removed**: These switches were deprecated and have now been removed to streamline the firmware and reduce memory usage.
- **What to Do**: For users who utilized customizations to expose these switches, refer to our updated customization guide.
Alternatively, use the `esphome.xxxxx_init_hardware` service for a similar functionality without the memory overhead.
6. **Home Page Redesign**: We've redesigned the Home page layout to incorporate an additional value (sensor) and a utilities button, resulting in a minor repositioning of some components.
This change enhances the page's functionality, offering you a broader overview of your smart home at a glance.
While adjusting to the new layout, you might find some of your usual indicators or controls have shifted places, but they're all still readily accessible, designed with intuitive interaction in mind.
We appreciate your understanding and patience during this transition.
Our goal is to ensure NSPanel continues to evolve in a way that enhances your experience and meets future needs.
Our community and support channels are open for any questions or assistance you may require.
## Overview of noteworthy changes
- [Transition to ESP-IDF as Default Framework](#transition-to-esp-idf-as-default-framework)
- [New API documentation](#new-api-documentation)
- [Selectable font size for screensaver time display](#selectable-font-size-for-screensaver-time-display)
- [Enhanced Visibility of Hardware Button Bars Across Pages](#enhanced-visibility-of-hardware-button-bars-across-pages)
- [User-Defined Decimal Separator](#user-defined-decimal-separator)
- [Page Light with Power Button](#page-light-with-power-button)
- [Page Fan with Oscillate Button](#page-fan-with-oscillate-button)
- [Streamlined Interface: No More Empty Pages](#streamlined-interface-no-more-empty-pages)
- [Enhanced Localization: Translated Values](#enhanced-localization-translated-values)
- [Expanded Entity Selection for Home and Climate Pages](#expanded-entity-selection-for-home-and-climate-pages)
- [Introducing the Utilities Dashboard](#introducing-the-utilities-dashboard)
- [Expanded Support for "Lock" Entities on Buttons and Chips](#expanded-support-for-lock-entities-on-buttons-and-chips)
- [Additional Value on Home Page](#additional-value-on-home-page)
- [Automatic Font Size Adjustment for Entity Page Values](#automatic-font-size-adjustment-for-entity-page-values)
## Details of noteworthy changes
### Transition to ESP-IDF as Default Framework
We've transitioned to ESP-IDF, enhancing our platform's performance and capabilities.
This change promises new possibilities for your projects.
Those continuing with the Arduino framework can find instructions for setting framework preferences.
For more information, visit our [discussion](https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1756).
### New API documentation
Now all the services available are listed in a comprehensive documentation, making easier for people who want to customize their systems,
integrate to other automations and to encourage new collaborators to our repository.
For more details, please visit our [API documentation](docs/api.md).
### Selectable font size for screensaver time display
Now you can chose the font size for your clock display in the screen saver. There are 3 sizes available:
![Image](docs/pics/ha_blueprint_sreensaver.png)
#### 72px
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/030ba092-69d4-467d-b5ab-52979c94e742)
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/ae56276f-10be-420c-a156-87f33d1fc322)
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/0aecb76b-c7b1-4257-b2eb-caed513a1f06)
### 112px
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/689f7fa3-afe5-43e0-839c-a16ca32d0657)
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/5093d1e7-be6b-4042-8e2d-84bf10d0bd2f)
### 192px
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/3060bea9-4804-45d3-940e-64767e1f3577)
<!-- markdownlint-disable MD028 -->
> [!IMPORTANT]
> For this time to be displayed you must select a brightness higher than 0 on the device's page (under **Settings** > **Devices & Services** > **ESPHome**).
> [!WARNING]
> Some fonts may not support all the languages.
> [!WARNING]
> Bigger fonts may not fit well on your display and the selected time format.
> Please select a different font in that case.
<!-- markdownlint-enable MD028 -->
### Enhanced Visibility of Hardware Button Bars Across Pages
The hardware button bars, which display the status of entities linked to physical buttons, are now configurable to appear across all pages,
including the screensaver, providing a constant visual reference to your system's status.
This update introduces a new setting within the blueprint, allowing you to customize the visibility of these bars according to your preferences.
Whether you need continuous monitoring on certain pages or want to maintain a cleaner look on others, this flexibility enhances your control.
Additionally, we've introduced the option to personalize the color of these bars, offering further customization to match your panel's aesthetic or to signify different statuses at a glance.
![Hardware Button Bars Color Customization](docs/pics/ha_blueprint_hw_buttons_colors.png)
This feature enhances the NSPanel's functionality by ensuring important status indicators are always within view, tailored precisely to how you use your smart home.
### User-Defined Decimal Separator
You can now select the decimal separator for displaying numbers on your NSPanel.
This feature allows for consistency with your regional number format preferences, improving the clarity of numerical information.
Simply go to the settings to choose between the dot (.) and comma (,) as your decimal separator for a display that matches your preference.
![User-Defined Decimal Separator Setting](docs/pics/ha_blueprint_decimal_separator.png)
This update aims to enhance the flexibility and usability of the NSPanel interface for users worldwide.
### Page Light with Power Button
The page Light has been updated to include a power button, simplifying the process of toggling your light on or off.
This intuitive addition allows for quick adjustments directly from the page Light, enhancing the user experience by providing a straightforward control mechanism.
![Page Light Power Button](docs/pics/eu_light.png)
This enhancement streamlines light management, making it more accessible and convenient for everyday use.
### Page Fan with Oscillate Button
The Fan page now features an oscillate button, making it easier to control your fan's oscillation settings.
This convenient update enables users to activate or deactivate the oscillation function with a single tap, directly from the Fan page itself.
It's designed to improve the user experience by offering a simple and effective control option.
![Page Fan Oscillate Button](docs/pics/us_fan.png)
This update simplifies fan operation, enhancing accessibility and usability for all users.
### Streamlined Interface: No More Empty Pages
We've improved the NSPanel interface by ensuring that only populated pages are displayed, both for button and entities pages.
This update creates a more intuitive and clutter-free experience, automatically hiding any pages without assigned entities.
There's no need for additional setup; if a page has no entities linked to it, it simply won't appear on your panel, making navigation smoother and more efficient.
### Enhanced Localization: Translated Values
In a significant step towards a more localized user experience, the values displayed on the NSPanel are now translated using Home Assistant's `state_translated` function, introduced in HA v2024.3.0.
This means that not only are the project's strings translated, but also values provided by Home Assistant, such as those from text sensors or binary sensors.
This enhancement simplifies readability and usability for users interacting with the panel in different languages.
> [!NOTE]
> The translations are managed by Home Assistant and will correspond to the language settings
> specified under [**Settings** > **System** > **General**](https://my.home-assistant.io/redirect/general/).
### Expanded Entity Selection for Home and Climate Pages
With the latest update, we've significantly broadened the range of entities that can be incorporated into the Home and Climate pages,
aligning these sections with the extensive capabilities of the Entities pages.
This enhancement enables a more versatile and detailed representation of your smart home's metrics directly on your NSPanel,
from environmental sensors to energy monitors, offering a tailored view of your home's status at a glance.
When combined with the [Translated Values](#enhanced-localization-translated-values),
this expanded entity selection not only allows for a more personalized dashboard but also ensures that the information displayed is accessible and understandable,
regardless of your preferred language.
Together, these features elevate the NSPanel's functionality, providing you with a richer, more contextually relevant interface that adapts to your specific monitoring needs and preferences.
### Introducing the Utilities Dashboard
The "Utilities Dashboard" is a versatile feature tailored to offer a straightforward overview of your chosen utility metrics.
It's designed for flexibility, allowing you to customize up to six data points, such as solar production, wind energy, EV charging status,
battery levels, water, and gas consumption, according to what's relevant to your home.
This customization ensures that the dashboard only displays the utilities you're monitoring, maintaining a clean and uncluttered interface.
![US model - Utilities Dashboard](docs/pics/us_page_utilities.png) ![EU model - Utilities Dashboard](docs/pics/eu_page_utilities.png)
![Blueprint - Utilities](docs/pics/ha_blueprint_utilities.png)
### Expanded Support for "Lock" Entities on Buttons and Chips
We're enhancing the NSPanel's integration capabilities by extending support for "lock" entities to both buttons and chips.
This development significantly broadens your ability to interact with and control lock mechanisms directly from the NSPanel.
Whether securing your home or managing access to different areas, these updates streamline the control process, integrating seamlessly with your smart home's security setup.
### Additional Value on Home Page
In our continuous effort to enhance the NSPanel's utility and efficiency, we're pleased to announce that the Home page now accommodates a fourth value, complete with its icon.
This addition allows for a more comprehensive at-a-glance view of your essential metrics directly from the home screen, ensuring that crucial information is always just a glance away.
### Automatic Font Size Adjustment for Entity Page Values
We've enhanced the entities pages with an automatic font size adjustment feature to improve the display of values, especially for longer strings or values with lengthy units.
This smart adjustment reduces the occurrence of truncated values by dynamically resizing the font based on the string length.
While the selection of fonts for the panel remains limited, this automatic resizing significantly enhances readability,
ensuring that all displayed information is clear and fully visible at a glance.
## v4.3.1 - Ensuring Compatibility with ESPHome v2024.3.0 and Enhancing Stability
Patch v4.3.1 focuses primarily on ensuring full compatibility with the latest ESPHome v2024.3.0 IP address format changes, crucial for the smooth compilation and operation of the NSPanel project.
This timely update addresses critical compatibility issues, alongside implementing key bug fixes and optimizations.
It underscores our ongoing commitment to enhancing stability and ensuring a reliable experience for all NSPanel users, keeping pace with the evolving ESPHome ecosystem.
### Support for ESPHome v2024.3.0 IP Address Format
- **Criticality:** Critical (required for compiling with ESPHome 2024.3.0)
- **Affected Components:** ESPHome
- **Description:** This update introduces necessary adjustments to accommodate the new IP address format introduced by ESPHome v2024.3.0,
ensuring uninterrupted project compilation and enhancing compatibility.
This critical update is the cornerstone of patch v4.3.1, deployed simultaneously with ESPHome to ensure NSPanel users experience no disruption in service.
This adaptation ensures that NSPanel firmware remains fully functional and up-to-date with ESPHome's latest advancements,
reaffirming our commitment to providing a seamless and stable user experience.
### Button Bars Visibility Enhancement and Configuration Change
- **Criticality:** Breaking Change (with Enhancement)
- **Affected Components:** Blueprint
- **Description:** The visibility of button bars, indicating the status of entities linked to hardware buttons,
has been updated to be visible across all pages by default, including the screensaver.
This enhancement improves the accessibility of crucial status information.
Users who previously customized the visibility settings for button bars will need to review and adjust their configurations to align with the new default behavior.
This change enables users to selectively exclude button bars from specific pages if desired, providing greater flexibility and control over the interface's appearance.
### Service `hw_button_state` Update
- **Criticality:** Breaking Change (with Enhancement)
- **Affected Components:** Blueprint and ESPHome
- **Description:** The method for controlling the state of hardware buttons has been refined with the introduction of a `button_mask` parameter.
This update simplifies the process of simultaneously updating the visual state of multiple hardware buttons,
enhancing user interaction by providing a more intuitive interface for managing button states.
Users can now specify the buttons they wish to control using a single `button_mask` parameter,
offering a streamlined approach for activating or deactivating the on-screen indication bars of the hardware buttons.
This change fosters a more flexible and efficient user experience in configuring the visual feedback for button states.
### Celsius Display Issue for Embedded Temperature Sensor Resolved (#1834)
- **Criticality:** Medium
- **Affected Components:** ESPHome
- **Description:** Addressed an issue where the NSPanel's built-in temperature sensor incorrectly displayed temperature readings in Celsius, even when Fahrenheit was expected.
This fix ensures temperature readings are accurately represented according to the user's settings, improving usability and consistency across the system.
### Resolution for Panel Naming When `device_name` Is Not Provided (#1907)
- **Criticality:** Medium
- **Affected Components:** ESPHome
- **Description:** Corrected a bug that caused the new "Device Name" sensor to report "nspanel"
and therefore fail on defining services names when a `device_name` substitution was not specified by the user.
### External Temperature Sensor Selection Now Correctly Overrides Embedded Sensor Value (#1911)
- **Criticality:** Medium
- **Affected Components:** Blueprint and ESPHome
- **Description:** Fixed a display issue where the built-in sensor's temperature reading persisted despite configuration for an external sensor.
### Utilities Dashboard Now Correctly Omits Default Labels When Customized (#1899)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Description:** Enhanced the utilities dashboard by ensuring custom labels properly replace or remove default ones for a personalized display.
### Clarification and Improvements to `rtttl_play` Service Documentation (#1901 and #1912)
- **Criticality:** Minor
- **Affected Components:** Documentation
- **Description:** Updated documentation for clearer guidance on using the `rtttl_play` service for custom sounds and alerts.
### Correction of Missing Icon Display Issue on Entities Page 3 (#1902)
- **Criticality:** Minor
- **Affected Components:** TFT
- **Description:** Addressed a bug preventing certain icons from displaying on the third Entities page, ensuring a consistent user interface.
### Icons No Longer Appear "Disabled" for Sensor Values of 0.0 (#1902)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Description:** Resolved an incorrect icon color display issue where they appeared disabled at a sensor value of exactly 0.0.
### Vertical Alignment Improvements on Entities Pages for Enhanced Readability (#1903)
- **Criticality:** Minor
- **Affected Components:** TFT
- **Description:** Adjusted the vertical alignment of text and icons on Entities pages for a more visually appealing presentation.
### Enhanced Guidance on Handling Duplicated Entities on the Device's Page (#1905)
- **Criticality:** Minor
- **Affected Components:** Documentation
- **Description:** Updated documentation to better address and resolve issues related to entity duplication on the device's page on Home Assistant.
### Compilation Guidance Updated for Customizations with the Latest Version (#1914)
- **Criticality:** Minor
- **Affected Components:** Documentation
- **Description:** Resolved documentation issues leading to compilation errors during customization, facilitating smoother custom feature implementation.
### Elimination of Transient Icon Flashes on the Home Page During Page Transitions (#1915)
- **Criticality:** Minor
- **Affected Components:** Blueprint, ESPHome and TFT
- **Description:** Fixed a visual glitch where icons briefly flashed during transitions, streamlining the visual experience.
### Real-Time Brightness Adjustment Now Effective Even During Sleep Mode (#1919)
- **Criticality:** Minor
- **Affected Components:** ESPHome
- **Description:** Ensured brightness settings changes are immediately applied, even when the panel is in sleep mode.
### Smooth Cursor Movement on Utilities Page Near Zero Sensor Readings (#1926)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Description:** Ensured cursor movement on the Utilities page is smooth and accurate, even with sensor readings defining the cursor direction is between 0 and 1.
### Notification Screen Clearing Now Functional with `notification_clear` Service Call (#1931)
- **Criticality:** Minor
- **Affected Components:** ESPHome
- **Description:** Enabled clear display of notifications from the screen upon invoking the `notification_clear` service, enhancing display control.
### Page Indicator Removed for Single-Page Views (#1883)
- **Criticality:** Enhancement
- **Affected Components:** TFT
- **Description:** Improved UI by removing unnecessary page indicators when only one page is present, simplifying navigation.
### Entities Page Font Adjustment for CJK Fonts Improved (#1884)
- **Criticality:** Enhancement
- **Affected Components:** ESPHome
- **Description:** Optimized font sizing and display on Entities pages for CJK fonts, addressing readability issues.
### User Option Added to Disable Entities Page Icons for a Text-Focused View (#1885)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Description:** Introduced an option to disable icons on Entities pages, allowing for a simplified, text-only display.
### Utilities Page Line Cursor Size Customization Option Added (#1910)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Description:** Provided customization options for cursor size on the Utilities dashboard, enhancing data visualization.
### Temperature Measurement Sampling Enhancement (#1918)
- **Criticality:** Enhancement
- **Affected Components:** ESPHome
- **Description:** Enhanced the temperature reporting mechanism of the NSPanel's built-in temperature sensor by implementing a sampling method.
Now, the sensor collects 12 intermediate measurements and calculates their average before reporting the temperature.
This enhancement, which does not alter the 1-minute measurement interval, aims to provide smoother and more stable temperature readings,
improving accuracy and reliability for users monitoring their environment.
### Boot Page Visual Feedback Enhancements for Clearer System Status Display (#1923)
- **Criticality:** Enhancement
- **Affected Components:** ESPHome and TFT
- **Description:** Updated the Boot page to offer clearer visual feedback on version information and system status, with a new progress bar.
## v4.3.2 - Enhancements and Critical Fixes for a Seamless Experience
In this patch, we focus on enhancing the NSPanel experience by introducing critical fixes and requested enhancements to improve overall system stability and user interaction.
This update addresses key issues, such as the incorrect display of the "boot" page upon wake-up, and optimizes the performance of the Utilities Dashboard to prevent potential overload states.
With updates across firmware, user interface, and documentation, v4.3.2 underscores our dedication to delivering a seamless and robust smart home control solution.
### Device Reboot Issue on Wake Up Resolved (#1947 and #1976)
- **Criticality:** Medium
- **Affected Components:** Blueprint
- **Issue Number:** #1947 and #1976
- **Description:** Resolved a critical issue causing the NSPanel to boot to the "boot" page rather than the "home" page under certain conditions, such as upon waking.
This correction ensures the panel directly accesses the "home" page, streamlining user interaction by promptly presenting the main interface.
Effective implementation of this fix necessitates clearing the build files before updating.
The procedure below guides you through cleaning build files in the ESPHome Dashboard, an essential step to actualize this update.
### Utilities Dashboard Performance Bug Resolved (#1949 and #1964)
- **Criticality:** Medium
- **Affected Components:** Blueprint and ESPHome
- **Issue Number:** #1949 and #1964
- **Description:** Fixed a significant performance bug in the "Utilities Dashboard" related to sensors with high update frequencies.
Previously, sensors updating frequently could overload the Home Assistant host, causing the blueprint execution to delay.
As updates persisted, this led to multiple instances of the blueprint being triggered, eventually hitting the limit of 50 concurrent instances.
This update minimizes the issue, ensuring smooth operation and reducing the chances of a overload state, thereby maintaining efficient and reliable dashboard performance.
#### How to Clean-up Build Files
1. Navigate to your ESPHome Dashboard.
2. Select the 3-dot menu adjacent to your device's listing.
3. Choose "**Clean Build Files**".
![Clean Build Files Instruction](https://raw.githubusercontent.com/Blackymas/NSPanel_HA_Blueprint/dev/docs/pics/esphome_dashboard_clean_build_files.png)
> [!IMPORTANT]
> Cleaning build files is a mandatory step for this update to apply successfully.
> It ensures your NSPanel operates smoothly with the new improvements post-update.
### Fix for Inverted Chip Icon Color Issue (#1928)
- **Criticality:** Minor
- **Affected Components:** Blueprint, TFT
- **Issue Number:** #1928
- **Description:** Resolved an issue where the color of icons on inverted chips did not display correctly on the home page, affecting the visual distinction and readability of these elements.
This fix ensures that icons on inverted chips are now properly rendered, maintaining consistency and enhancing the overall aesthetic of the user interface.
This correction contributes to a more intuitive and visually appealing experience for users, reinforcing the clarity of information presented on the NSPanel.
### Fix for Numeric Button Page Labels Not Displaying (#1961)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #1961
- **Description:** Resolved an issue where button page labels consisting solely of numbers were not being displayed, ensuring that numeric titles are now properly shown.
This fix enhances interface clarity by allowing users to utilize numerical identifiers for their button pages, thereby improving navigation and usability within the NSPanel environment.
### Automatic Update for Weather Icon at Sunrise and Sunset (#1971)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #1971
- **Description:** Addressed a bug where the weather icon on the home page did not automatically update to reflect changes at sunrise and sunset, necessitating a manual page reload.
With this fix, the icon now refreshes automatically to provide an accurate representation of the weather conditions in relation to the day and night cycle.
This improvement ensures a more dynamic and responsive user interface, enhancing the visual experience by seamlessly integrating natural environmental changes.
### Fix for Missing Titles and Icons on Detailed Entities Pages (#1978)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #1978
- **Description:** Resolved an issue on detailed entities pages where page titles and icons were not being displayed, leading to a lack of clarity and navigation challenges for users.
This fix ensures that each detailed page now correctly showcases its respective title and icon,
enhancing the overall user interface by providing immediate context and visual cues for better usability and navigation within the NSPanel environment.
### Swipe Functionality Restored on Button and Home Pages (#1980 and #1994)
- **Criticality:** Minor
- **Affected Components:** TFT
- **Issue Number:** #1980 and #1994
- **Description:** Addressed issues impacting swipe functionality on button pages and the home page, which previously hindered smooth navigation through swipe gestures.
This update restores proper swipe operation, allowing users to effortlessly switch between pages with a simple gesture.
Enhancing swipe responsiveness contributes to a more fluid and intuitive user experience, reinforcing the ease of navigating the NSPanel's interface.
### Typo Correction in Blueprint Inputs (#2003)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #2003
- **Description:** Corrected a minor typo in the blueprint inputs to ensure accuracy and clarity in the configuration options.
This adjustment, made in the description for the `hw_buttons_bar_color_off` input, showcases our commitment to detail and high-quality documentation,
enhancing user experience by providing clear and precise instructions.
- **Special Thanks:** Our thanks go to @colincachia for this attentive correction.
This action highlights the importance of community involvement and the collective effort to maintain the project's high standards, even in the smallest details.
### Immediate Brightness Adjustment from Home Assistant Fixed
- **Criticality:** Minor
- **Affected Components:** ESPHome
- **Issue Number:** #2006
- **Description:** Resolved a minor issue affecting brightness adjustments made from Home Assistant.
Previously, when the brightness target was reduced via Home Assistant, the change was not immediately reflected on the NSPanel.
This update ensures that any adjustments to brightness settings are promptly applied,
maintaining consistency between the Home Assistant interface and the NSPanel's display for a more synchronized and responsive user experience.
### Custom Binary State Entities for Hardware Button Status Display Enhancement (#1904, #1933, #1959, #1973)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #1904, #1933, #1959, #1973
- **Description:** This update introduces the capability to assign custom binary state entities to the hardware button status display.
This significant enhancement allows for the hardware button bar to reflect the status of a different entity than the one assigned to the button itself,
providing users with greater customization and flexibility in their interface interactions.
This development enriches user feedback mechanisms, enabling more intuitive and dynamic control options within the NSPanel environment.
- **Special Thanks:** Our heartfelt appreciation goes to @lafriks for their invaluable contribution and initiative in developing this feature.
These efforts have notably advanced the customization potential of NSPanel, fostering a more versatile and user-centric experience.
### Enhanced Temperature Measurement Strategy (#1918)
- **Criticality:** Enhancement
- **Affected Components:** ESPHome
- **Issue Number:** #1918
- **Description:** Thanks to the dedicated efforts and thorough testing by our community,
the NSPanel's built-in temperature sensor now employs a more sophisticated measurement strategy for enhanced accuracy and responsiveness.
By integrating a combination of four samples per measurement and employing a `sliding_window_moving_average` filter with a window size of six,
the sensor's reporting frequency has been adjusted to every 10 seconds.
This methodological enhancement, chiefly proposed and tested by community members @andythomas and @grigi,
ensures a smoother temperature curve and faster response to environmental changes such as opening a window.
While the adjusted frequency means data is reported more often, ESPHome's efficient data transmission only when changes occur ensures that the impact on Home Assistant's data processing is minimal.
This significant improvement, sparked by proactive community involvement,
not only enhances the NSPanel's functionality but also broadens the scope for more dynamic and responsive environmental automations.
- **Special Thanks:** To @andythomas and @grigi for their exceptional work in testing and proposing these adjustments, truly embodying the spirit of community-driven development.
Your active participation and contributions have been instrumental in refining this feature.
### Enhanced Version Mismatch Notifications for Comprehensive System Compatibility (#1966 and #1968)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #1966 and #1968
- **Description:** The version mismatch notification system has been significantly improved to cover all critical components of the NSPanel project,
including the ESPHome firmware, Home Assistant blueprint, and Nextion TFT file.
This update ensures that notifications are more descriptive, pinpointing which component is out of sync and providing specific instructions for resolution.
This targeted approach helps users quickly identify and rectify compatibility issues, maintaining the system's overall harmony and preventing disruptions in functionality.
### Documentation Improvement for TFT Upload Process (#1969)
- **Criticality:** Enhancement
- **Affected Components:** Documentation
- **Issue Number:** #1969
- **Description:** Enhanced the documentation to clarify the necessity of DNS for downloading TFT files from GitHub during the TFT upload process.
This update addresses confusion encountered when manually setting IP addresses as part of customizations, emphasizing that a DNS server must be specified to enable remote TFT downloads.
For setups lacking DNS configuration, the documentation now highlights the alternative of using local TFT transfer via the `nextion_update_url` substitution.
This clarification aims to streamline the TFT update process, ensuring users have a clear understanding of the requirements for successful TFT file downloads and uploads,
thereby enhancing the overall setup experience.
### Documentation Update for "Folder-Watcher" Engine Use (#1974)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #1974
- **Description:** Updated documentation to provide clearer instructions on the "folder-watcher" engine's use within the NSPanel project.
This engine, which triggers TFT updates upon changes in a user-specified folder, may not be widely used but offers valuable functionality for those who do.
The documentation now more accurately describes how to leverage this feature for automated TFT updates, aiming to improve understanding and ease of use for interested users.
### Close Icon Visibility Enhancement (#1984)
- **Criticality:** Enhancement
- **Affected Components:** TFT
- **Issue Number:** #1984
- **Description:** Enhanced the visibility of the "close" icon (represented as an "x" sign) located at the top right corner of various pages.
By slightly increasing the size of this icon, users can now more easily identify and interact with it, improving the overall usability of the NSPanel interface.
This minor yet impactful adjustment ensures a smoother, more intuitive navigation experience for all users.
### Alarm Control with Hardware Button Enhancement (#1995)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #1995
- **Description:** Enhanced the functionality of hardware buttons for a more intuitive interaction with alarm control panels.
Now, a short click on a hardware button assigned to an entity from the `alarm_control_panel` domain will open its detailed page, aligning with the behavior for `climate` and `media_player` entities.
This update facilitates quicker access to alarm controls directly from the NSPanel, streamlining user interactions.
Long clicks continue to open the detailed page for these and other domains, maintaining a consistent and user-friendly experience across various controls.
### Documentation Updates for Arduino References (#1997)
- **Criticality:** Enhancement
- **Affected Components:** Documentation
- **Issue Number:** #1997
- **Description:** Comprehensive updates and refinements were made to the project documentation, with a particular focus on correcting and clarifying references related to the Arduino framework.
This effort led to a thorough review and subsequent enhancement of various sections of the documentation, improving clarity, accuracy, and usefulness across the board.
Special thanks to the author of this PR, @andythomas, whose dedicated work went beyond just addressing
Arduino framework references to include minor fixes and overall improvements to the documentation.
These contributions have significantly elevated the quality of information available to users, ensuring that the documentation remains a reliable and up-to-date resource for the community.
### Expanded Wake-Up Sensor Support (#1998)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #1998
- **Description:** The range of supported device classes for wake-up sensors on the NSPanel has been significantly expanded.
Now, in addition to the previously supported door, motion, and occupancy sensors, the NSPanel firmware accommodates a wider variety of sensor types.
These enhancements enable the panel to wake up from sleep mode upon detecting various environmental changes, improving responsiveness and user interaction.
The newly supported device classes include:
- door
- garage_door
- lock
- motion
- occupancy
- opening
- smoke
- sound
- vibration
- window
This update broadens the NSPanel's integration capabilities with home automation systems, allowing for a more dynamic and reactive smart home environment.
### Hebrew Translation Text Reversal Fix (#1999)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #1999
- **Description:** Addressed a specific issue with the Hebrew translation where text was displayed in reverse order, hindering readability and user experience.
This fix ensures that Hebrew text is correctly aligned and presented, enhancing the interface for Hebrew-speaking users.
The commitment to support diverse languages and correct such localization issues underscores our dedication to providing a user-friendly experience for all NSPanel users,
regardless of their language.
### Enhanced TFT Update Reliability in ESPHome Nextion Component
- **Criticality:** Enhancement
- **Affected Components:** ESPHome
- **Description:** Improved the reliability of TFT updates within the ESPHome Nextion component.
This enhancement optimizes the process of updating the NSPanel's display, ensuring smoother transitions and reducing the potential for update failures.
The upgrade targets the underlying mechanisms of the Nextion component in ESPHome,
refining its functionality to offer a more dependable and efficient update experience for users implementing TFT changes.
## v4.3.3 - Enhancing Flexibility and User Experience
With the v4.3.3 update, we're focused on refining the NSPanel's usability and customization capabilities, addressing user feedback to enhance the intuitive interaction with the panel.
From streamlining light entity controls to expanding text length for entities on the home page, each change is aimed at improving the user experience.
This patch also introduces experimental features, such as prebuilt firmware updates and PSRAM use, pushing the boundaries of what's possible with NSPanel,
while also ensuring a smoother, more reliable interface across different languages and configurations.
### Simplified Light Entity Control on Custom Buttons (#1844)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #1844
- **Description:** Addressed an inconsistency where light entities with only on/off capabilities erroneously showed an extended screen with a brightness slider.
This fix streamlines the control interface for such light entities, aligning with their actual capabilities.
### Deletion of Button Icons from Home Page Enabled (#1992)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #1992
- **Description:** Resolved an issue preventing the removal of button icons from the home page.
Users can now delete or change button icons as needed, providing flexibility in customizing the panel's appearance.
### Correction of Missing Characters on Button Pages for Multi-Byte Languages (#2000)
- **Criticality:** Minor
- **Affected Components:** Blueprint, ESPHome, and TFT
- **Issue Number:** #2000
- **Description:** Resolved a display issue affecting multi-byte languages, where specific characters were missing on the button pages.
This fix ensures complete and accurate representation of all languages across the NSPanel interface, including Hebrew and others where a character may occupy more than a single byte.
### Entity Display Persistence on Home Page Addressed (#2018)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #2018
- **Description:** Fixed a bug where entities removed from the blueprint continued to display on the home page.
This update ensures that the home page accurately reflects the current configuration, removing any unassigned entities.
### Resolved Unintended Climate Control Page Access (#2021)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #2021
- **Description:** Fixed an issue where touching the temperature display on the home page erroneously opened the climate control page, even in the absence of configured climate entities.
This update ensures that interactions with the temperature display are consistent with the available configurations, enhancing the intuitive use of the NSPanel.
### Internal Temperature Reporting Fix After Sleep (#2030)
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Issue Number:** #2030
- **Description:** Resolved an issue where the internal temperature indicator disappeared for a few seconds upon waking the panel from sleep mode.
This fix ensures the internal temperature, especially when sourced from the panel's internal sensor,
remains consistently displayed without interruption when transitioning from sleep to the home page, enhancing the stability and reliability of environmental monitoring on the NSPanel.
### Advanced Settings Page Entity Name Enhancement (#1909)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #1909
- **Description:** Improved the advanced settings page by providing clearer entity names when opened from a custom button,
enhancing user navigation and configuration understanding within the NSPanel settings.
### Support for `mdi:void` Icon on Homepage for Blank Display (#2019)
- **Criticality:** Enhancement
- **Affected Components:** Blueprint
- **Issue Number:** #2019
- **Description:** Implemented support for the `mdi:void` icon on the homepage, allowing for a blank display where no icon is preferred.
This enhancement provides users with greater customization flexibility, enabling a cleaner and more minimalistic interface by opting not to show any icon.
### Extended Text Length for Entities on Home Page (#2020)
- **Criticality:** Enhancement
- **Affected Components:** TFT
- **Issue Number:** #2020
- **Description:** Enhanced the home page by allowing for longer text for entities values.
This improvement accommodates more detailed values, improving clarity and user understanding of displayed data and controls.
### Timezone Selector Added to Blueprint
- **Criticality:** Enhancement
- **Affected Components:** Blueprint and ESPHome
- **Description:** Introduced a timezone selector within the Blueprint configuration, streamlining the setup process and enhancing user convenience.
This addition simplifies the configuration of the NSPanel, significantly reducing the need for YAML customizations related to timezone settings.
By providing a direct method to specify the timezone, this enhancement ensures that time displays and other time-sensitive features on the NSPanel accurately reflect the user's local time,
contributing to a more personalized and accurate user experience.
### Prebuilt Firmware Updates (#2024) - EXPERIMENTAL
- **Criticality:** Enhancement
- **Affected Components:** ESPHome
- **Issue Number:** #2024
- **Description:** The prebuilt firmware has been updated to incorporate the latest fixes and enhancements,
ensuring users have access to the most current and stable version without the need for manual compilation.
This is another important step in our goal torwards [Simplifying User Experience for NSPanel Firmware](https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions/1602),
allowing users to directly download the firmware from GitHub without the need of compiling it locally.
- **Special Thanks:** To @MichaelHeimann for trimming this feature, fixing bugs and reviving this idea.
### Use of PSRAM (#1815, #1946, and #1983) - EXPERIMENTAL
- **Criticality:** Enhancement
- **Affected Components:** ESPHome
- **Issue Number:** #1815, #1946, and #1983
- **Description:** We are introducing the use of PSRAM memory available on the NSPanel.
This will possibly open space for additional features to be developed in the future and the use of more customizations for your panel.
- **Special Thanks:** To @Bascht74 and @olicooper for giving the directions to enable the use of non-standard pins for PSRAM used in NSPanel,
and to @X-Ryl669 and @MichaelHeimann for all the tests, tips, and feedback around this.
## v4.3.4 - Urgent Fix for Home Screen Interaction
This patch release addresses a critical issue from the v4.3.3 update that affected the touch functionality on the Home screen, specifically impacting the ability to navigate to the climate page.
### Critical Touch Interaction Bug Fixed (#2040)
- **Criticality:** Critical
- **Affected Components:** Blueprint
- **Issue Number:** #2040
- **Description:** Fixed an issue where users were unable to navigate to the climate control page by touching the temperature display on the Home screen.
This bug was inadvertently introduced in the v4.3.3 update and has been promptly resolved to restore full functionality.
Users can now interact with the temperature display as intended, facilitating seamless access to the climate controls.
This update is essential for ensuring that the NSPanel functions correctly, maintaining the quality and reliability expected by our users.
We apologize for any inconvenience caused and thank you for your continued support.
## v4.3.5 - Experimenting with Bluetooth Capabilities
This patch release v4.3.5 introduces experimental Bluetooth features alongside critical fixes and enhancements.
The new Bluetooth capabilities leverage the previously untapped potential of the NSPanel's Bluetooth modem, enabled by the increased memory availability in the ESP-IDF framework.
### New Bluetooth Features (Experimental)
- **BLE Tracker Add-on**
- **Description:** This add-on enables the NSPanel to act as a Bluetooth Low Energy (BLE) tracker, allowing it to detect and report the presence of BLE devices in its vicinity.
This feature is instrumental for presence detection and smart home automation scenarios.
- **Bluetooth Proxy Add-on**
- **Description:** The Bluetooth Proxy add-on allows the NSPanel to act as a bridge or proxy for other Bluetooth devices, facilitating communication between BLE devices and Home Assistant.
This can significantly extend the functionality of Home Assistant in managing Bluetooth devices without direct connectivity.
### Temperature Display and Control Fixes
- **Temperature Increment Error in Climate Card Resolved (#2076)**
- **Criticality:** Medium
- **Affected Components:** ESPHome
- **Description:** Corrected a rounding error in the climate card, which caused temperature set points to adjust in increments of 0.9 degrees.
This fix ensures temperature adjustments are now rounded to the nearest whole number, aligning with expected control behavior.
- **Consistent Temperature Unit Display Across Panels (#2056)**
- **Criticality:** Medium
- **Affected Components:** ESPHome
- **Description:** Resolved an issue where the internal temperature sensor did not convert temperatures from Celsius to Fahrenheit for display on the home screen,
despite displaying correctly on the climate page. Temperatures are now consistently shown in the user-defined units across all NSPanel displays.
### Control and Interface Enhancements
- **Improved Custom Button Response for Dimmable Color Lights (#2072)**
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Description:** Fixed a bug where custom buttons for dimmable color lights only toggled the lights on/off.
The buttons now correctly adjust brightness and color settings, enhancing user control.
- **Homepage Weather and Climate Control Delay Minimized (#2056)**
- **Criticality:** Minor
- **Affected Components:** ESPHome and TFT
- **Description:** Introduced a minor delay optimization for weather updates and climate control interactions on the home page, improving the responsiveness and user experience.
- **Consistent Icon Color Display on Home Page (#2043)**
- **Criticality:** Minor
- **Affected Components:** Blueprint
- **Description:** Addressed an issue where icons on the home page always displayed in white, regardless of the set color.
Icons now correctly reflect the specified colors, enhancing visual consistency and user interface aesthetics.
### System Stability and Functionality
- **Restoration of Webserver Functionality Post-Upgrade (#2054, #2050)**
- **Criticality:** Critical
- **Affected Components:** ESPHome
- **Description:** Fixed issues that caused the webserver component to stop functioning following recent upgrades.
This repair restores full webserver functionality, essential for user access and system configuration via a web interface.
- **Reliability Improvements for TFT Uploads with Bluetooth Components (#1946, #1815)**
- **Criticality:** Medium
- **Affected Components:** ESPHome
- **Description:** Enhanced the reliability of TFT file uploads when the Bluetooth proxy or the BLE Tracker are enabled.
This fix addresses disruptions previously experienced during TFT updates, ensuring smoother and more reliable firmware installations.
This update, v4.3.5, is a significant step towards harnessing the full potential of the NSPanel's hardware capabilities, especially its Bluetooth functionality,
while continuing to refine the user experience and system stability.
We appreciate the community's active involvement in identifying these issues and thank everyone for their contributions to improving the firmware.
## v4.3.6 - Critical Fixes for Custom Buttons
This release of v4.3.6 is an urgent patch to address critical issues affecting the functionality of custom buttons on the NSPanel.
These fixes ensure that custom buttons properly trigger actions for climate and alarm controls, and correct the integration with external thermostat entities.
### Fixes for Custom Button Functionality
- **Climate Page Accessibility Restored (#2067)**
- **Criticality:** Critical
- **Affected Components:** Blueprint
- **Description:** Resolved an issue where the climate page was not opening when triggered from a custom button.
Users can now access the climate controls directly from the home screen without interruption.
- **Alarm Control from Custom Button Restored (#2081)**
- **Criticality:** Critical
- **Affected Components:** Blueprint
- **Description:** Fixed a malfunction where custom buttons configured for alarm control were unresponsive.
This update restores full functionality, allowing for immediate access and control of alarm settings from the home page.
- **Integration of External Thermostat Entities Fixed (#2080)**
- **Criticality:** Critical
- **Affected Components:** ESPHome
- **Description:** Corrected an issue introduced in v4.3.5 where external thermostat entities (the ones controlled by Home Assistant) linked to custom buttons were not functioning correctly.
With this fix, users can again utilize custom buttons to control their external thermostats effectively.
This patch release v4.3.6 ensures that custom buttons on the NSPanel are fully operational, addressing urgent issues that impacted user interaction and control of climate and alarm systems.
We thank our community for their prompt reporting and patience as we continue to enhance the NSPanel experience.
## v4.3.7 - Quick Fix for Captive Portal Compile Error
This patch addresses a critical compile error related to the captive portal feature, ensuring smooth and successful firmware compilations for users utilizing this feature.
### Captive Portal Compile Error Resolved (#2088)
- **Criticality:** Critical
- **Affected Components:** ESPHome
- **Issue Number:** #2088
- **Description:** Fixed a critical issue where users faced a compilation error due to an undeclared reference to 'ap_captive_portal'.
This fix corrects the reference error, restoring the ability to compile with the captive portal enabled.
Users who do not utilize the captive portal can continue without modification, while those who do should see successful compilations without further adjustments.
This release ensures that all users, regardless of their use of the captive portal feature, can compile and update their firmware without interruption.
We apologize for any inconvenience caused and appreciate your patience as we continue to improve the NSPanel firmware.
## Support
For support or more information about this update,
visit our [GitHub repository](https://github.com/Blackymas/NSPanel_HA_Blueprint)
or our [online documentation](https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/README.md).
## What's Next?
Discover our upcoming projects in our [Milestones](https://github.com/Blackymas/NSPanel_HA_Blueprint/milestones?direction=asc&sort=title&state=open).
## Special Thanks
We extend our heartfelt thanks to the contributors who have played a pivotal role in enhancing the NSPanel's capabilities and documentation in this release:
- **@shing6326**: For diligently addressing and fixing issues related to the new Fan oscillating feature.
Your efforts have significantly improved its functionality and reliability (#1839).
- **@andythomas**: For the comprehensive enhancements made to our documentation.
Your contributions have made our guides more informative and accessible, enriching the user experience for everyone (#1865).
## Previous releases
- [v4.3.6 - Critical Fixes for Custom Buttons](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.6)
- [v4.3.5 - Experimenting with Bluetooth Capabilities](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.5)
- [v4.3.4 - Urgent Fix for Home Screen Interaction](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.4)
- [v4.3.3 - Enhancing Flexibility and User Experience](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.3)
- [v4.3.2 - Enhancements and Critical Fixes for a Seamless Experience](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.2)
- [v4.3.1 - Ensuring Compatibility with ESPHome v2024.3.0 and Enhancing Stability](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.1)
- [v4.3 - Welcome to Framework ESP-IDF, an Utilities Dashboard and Enhanced Localization](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.0)
- [v4.2.6 - Enhancing Stability and User Experience](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.2.6)
- [v4.2.5 - Celebrating 1000 Stars with Enhanced Functionality and UI Improvements](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.2.5)
- [v4.2.4 - Critical bug fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.2.4)
- [v4.2.3 - Bug fixes and minor enhancements](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.2.3)
- [v4.2.2 - Bug fixes and minor enhancements](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.2.2)
- [v4.2.1 - Bug fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.2.1)
- [v4.2 - Multi-Alarm Control, Dual Thermostat Functionality, and More](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.2)
- [v4.1.4 - Support to Home Assistant 2023.12.0](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1.4)
- [v4.1.3 - Bug fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1.3)
- [v4.1.2 - Bug fixes and minor enhancements](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1.2)
- [v4.1.1 - UI Enhancements and Reintroduction of `play_rtttl` Service](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1.1)
- [v4.1 - Easier TFT transfer](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.1)
- [v4.0.2 - Bug fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.0.2)
- [v4.0.1 - Bug fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.0.1)
- [v4.0 - Alarm and Media player pages, Climate add-ons and a more robust panel](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.0)
- [v3.4.1 - Patch for issues when compiling with ESPHome 2023.7.0](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v3.4.1)
- [v3.4 - New climate page and some bug fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v3.4)
- [v3.3 - New improvements and some issues fixed](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v.3.3)
- [v3.2.2 - fixed some bugs performance improvement](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v3.2.2)
- [v3.2.1 - New features and some fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v3.2.1)
- [v3.2 - New features and custom configurations](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v.3.2)
- [v3.1.0 - New features and US Version](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v.3.1.0)
- [v3.0.0 - major update with many features and improvements](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v.3.0.0)
- [v2.2.0 - 25 new languages added](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v.2.2.0)
- [v2.1.0 - New Domains, Buttons and Button Page Label](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v2.1.0)
- [v2.0.2](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v2.0.2)
- [v2.0.1 - Bug Fixes](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v2.0.1)
- [v2.0.0](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v2.0.0)

View File

@@ -0,0 +1,45 @@
# __init__.py
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome.components.esp32 import add_idf_sdkconfig_option
from esphome.core import CORE, coroutine_with_priority
# from esphome.cpp_tools import CppFile
CODEOWNERS = ["@edwardtfn"]
nspanel_ha_blueprint_ns = cg.esphome_ns.namespace('nspanel_ha_blueprint')
# MdiIcons = nspanel_ha_blueprint_ns.class_('MdiIcons', cg.Component)
CONFIG_SCHEMA = cv.All(
cv.Schema({}),
)
@coroutine_with_priority(1.0)
async def to_code(config):
if CORE.using_arduino:
cg.add_build_flag("-DCONFIG_D0WD_PSRAM_CLK_IO=5")
cg.add_build_flag("-DCONFIG_D0WD_PSRAM_CS_IO=18")
if CORE.using_esp_idf:
add_idf_sdkconfig_option("CONFIG_D0WD_PSRAM_CLK_IO", 5)
add_idf_sdkconfig_option("CONFIG_D0WD_PSRAM_CS_IO", 18)
add_idf_sdkconfig_option("CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST", True)
add_idf_sdkconfig_option("CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY", True)
add_idf_sdkconfig_option("CONFIG_ESP32_REV_MIN_3", True)
# add_idf_sdkconfig_option("CONFIG_LWIP_MAX_SOCKETS", 5) # This breakes web_server
add_idf_sdkconfig_option("CONFIG_MBEDTLS_DYNAMIC_BUFFER", True)
add_idf_sdkconfig_option("CONFIG_MBEDTLS_DYNAMIC_FREE_CA_CERT", True)
add_idf_sdkconfig_option("CONFIG_MBEDTLS_DYNAMIC_FREE_CONFIG_DATA", True)
add_idf_sdkconfig_option("CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC", True)
add_idf_sdkconfig_option("CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY", True)
add_idf_sdkconfig_option("CONFIG_SPIRAM_RODATA", True)
add_idf_sdkconfig_option("CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP", True)
cg.add_define("USE_NSPANEL_HA_BLUEPRINT")
cg.add_global(nspanel_ha_blueprint_ns.using)
# Setup the MdiIcons class instance
# mdi_icons = cg.new_Pvariable('mdi_icons')
# yield cg.register_component(mdi_icons, config)

View File

@@ -0,0 +1,24 @@
// ha_components.cpp
#include "ha_components.h"
namespace nspanel_ha_blueprint {
// Function Definition
HomeAssistantEntity extractHomeAssistantEntity(const std::string& entity_id) {
size_t dotPos = entity_id.find(".");
HomeAssistantEntity result;
if (dotPos != std::string::npos) {
// Extract domain and id from the entity_id string
result.domain = entity_id.substr(0, dotPos);
result.id = entity_id.substr(dotPos + 1);
} else {
// No dot found, the entire entity_id is considered as id.
result.domain = "invalid";
result.id = entity_id;
}
return result;
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,36 @@
// ha_components.h
#pragma once
#include <string>
// Defines structures and functions related to Home Assistant entities within the nspanel_ha_blueprint namespace.
namespace nspanel_ha_blueprint {
// Represents a Home Assistant entity with a domain and an identifier.
struct HomeAssistantEntity {
std::string domain; // The domain part of the entity, like "light" or "switch".
std::string id; // The unique identifier of the entity within its domain.
};
/**
* Extracts the domain name and unique ID from a given Home Assistant entity string.
*
* This function parses a Home Assistant entity string to extract and separate the domain
* and ID components of the entity. If the string does not contain a valid entity format
* (i.e., "domain.id"), the function will mark the domain as "invalid" and treat the entire
* string as the ID. It also handles a special case where "alarm_control_panel" should be
* shortened to "alarm", though the implementation of this feature needs to be added in the
* function's definition in the corresponding .cpp file.
*
* Usage example:
* auto entity = extractHomeAssistantEntity("light.kitchen");
* // entity.domain would be "light"
* // entity.id would be "kitchen"
*
* @param entity_id The input string containing either the combined domain and unique ID or just the unique ID.
* @return A HomeAssistantEntity struct containing the extracted domain and the unique ID.
*/
HomeAssistantEntity extractHomeAssistantEntity(const std::string& entity_id);
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,21 @@
// hardware.cpp
#include "hardware.h"
namespace nspanel_ha_blueprint {
template<typename SettingsEnum>
void update_bitwise_setting(uint8_t& settings, bool condition, SettingsEnum flag) {
if (condition) {
settings |= flag; // Set bit
} else {
settings &= ~flag; // Clear bit
}
}
// Explicit template instantiation
// Note: You need to explicitly instantiate templates for all enums used as SettingsEnum
template void update_bitwise_setting<ButtonSettings>(uint8_t& settings, bool condition, ButtonSettings flag);
template void update_bitwise_setting<RelaySettings>(uint8_t& settings, bool condition, RelaySettings flag);
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,73 @@
// hardware.h
#pragma once
#include <cstdint>
// Namespace for nspanel_ha_blueprint, encapsulating definitions related to hardware settings.
namespace nspanel_ha_blueprint {
/**
* @enum ButtonSettings
* Represents the settings for hardware buttons using individual bits within a uint8_t value.
* This allows efficient storage and manipulation of settings for multiple buttons in a compact form.
*
* The bit allocations are as follows:
* - Bit 0: Left button enabled.
* - Bit 1: Left button state (0 for `off`, 1 for `on`).
* - Bits 2-3: Reserved for future use.
* - Bit 4: Right button enabled.
* - Bit 5: Right button state (0 for `off`, 1 for `on`).
* - Bits 6-7: Reserved for future use.
*
* These settings facilitate easy manipulation of button states and configurations through bitwise operations.
*/
enum ButtonSettings {
ButtonLeft_Enabled = 1 << 0, ///< Enables left button visualization on screen.
ButtonLeft_State = 1 << 1, ///< Indicates current state of the left button.
// Bits 2 and 3 are reserved for future expansion.
ButtonRight_Enabled = 1 << 4, ///< Enables right button visualization on screen.
ButtonRight_State = 1 << 5, ///< Indicates current state of the right button.
// Bits 6 and 7 are reserved for future expansion.
};
/**
* @enum RelaySettings
* Represents the settings for relays using individual bits within a uint8_t value.
* This approach allows for the efficient storage and manipulation of settings for multiple
* relays in a single byte, enabling compact representation and ease of setting manipulation.
*
* The bit allocations are as follows:
* - Bit 0: Relay 1 local control enabled.
* - Bit 1: Relay 1 fallback mode enabled.
* - Bits 2-3: Reserved for future use.
* - Bit 4: Relay 2 local control enabled.
* - Bit 5: Relay 2 fallback mode enabled.
* - Bits 6-7: Reserved for future use.
*
* These settings support flexible relay configuration and state management through bitwise operations.
*/
enum RelaySettings {
Relay1_Local = 1 << 0, ///< Enables local control for Relay 1.
Relay1_Fallback = 1 << 1, ///< Enables fallback mode for Relay 1.
// Bits 2 and 3 are reserved for future expansion.
Relay2_Local = 1 << 4, ///< Enables local control for Relay 2.
Relay2_Fallback = 1 << 5, ///< Enables fallback mode for Relay 2.
// Bits 6 and 7 are reserved for future expansion.
};
/**
* Updates a settings byte according to a specified condition and flag.
*
* This function template applies a bitwise operation to modify the settings byte based on
* the provided condition and flag. If the condition is true, the bit corresponding to the flag
* is set; otherwise, it's cleared. This method enables dynamic and conditional settings updates.
*
* @param settings Reference to the settings byte to be modified.
* @param condition Boolean condition determining how the settings byte is modified.
* @param flag The specific bit flag (from ButtonSettings or RelaySettings) to modify.
*/
template<typename SettingsEnum>
void update_bitwise_setting(uint8_t& settings, bool condition, SettingsEnum flag);
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,61 @@
// icons.cpp
#include "icons.h"
#include <vector>
#ifdef USE_PSRAM
#ifdef USE_ARDUINO
#include <esp32-hal-psram.h>
#else // ESP-IDF
#include <esp_heap_caps.h> // Required for heap capabilities functions
#endif // ARDUINO vs ESP-IDF
#endif // USE_PSRAM
namespace nspanel_ha_blueprint {
std::vector<Icon> icons; // This declaration may not be necessary; see below
bool initializeIconsVector() {
Icon* allocatedMemory = nullptr;
// Try to allocate the vector in PSRAM
#ifdef USE_PSRAM
#if defined(USE_ARDUINO)
if (psramFound())
allocatedMemory = static_cast<Icon*>(ps_malloc(10 * sizeof(Icon)));
#else // ESP-IDF
allocatedMemory = static_cast<Icon*>(heap_caps_malloc(10 * sizeof(Icon), MALLOC_CAP_SPIRAM));
#endif
if (allocatedMemory != nullptr) {
new (&icons) std::vector<Icon>(allocatedMemory, allocatedMemory + 10); // Placement new to initialize vector
return true; // Successfully allocated in PSRAM
}
#endif
// Fallback to DRAM if PSRAM allocation fails or if PSRAM is not used
allocatedMemory = static_cast<Icon*>(malloc(10 * sizeof(Icon)));
if (allocatedMemory != nullptr) {
new (&icons) std::vector<Icon>(allocatedMemory, allocatedMemory + 10); // Placement new to initialize vector
return true; // Successfully allocated in DRAM
}
return false; // Allocation failed
}
void Icon::updateIcon(const char* code, uint16_t color, bool vis) {
if (strcmp(last_icon_code, code) != 0 || last_icon_color != color || visible != vis) {
strncpy(last_icon_code, code, 4);
last_icon_code[4] = '\0';
last_icon_color = color;
visible = vis;
}
}
Icon* findIcon(uint8_t page_id, const char* comp) {
for (auto& icon : icons) {
if (icon.page_id == page_id && strcmp(icon.component, comp) == 0) {
return &icon;
}
}
return nullptr;
}
}

View File

@@ -0,0 +1,32 @@
// icons.h
#pragma once
#include <cstdint>
#include <cstring> // For strncpy and strcmp
#include <vector>
namespace nspanel_ha_blueprint {
struct Icon {
uint8_t page_id; // Page ID, placed logically before the component
char component[15]; // Component name (max 14 chars + null terminator)
char last_icon_code[5]; // UTF-8 code (4 bytes + null terminator)
uint16_t last_icon_color; // Color value
bool visible; // Visibility of the icon
// Constructor with default values
Icon(uint8_t pid, const char* comp, const char* code = "\xEF\xBF\xBF", uint16_t color = UINT16_MAX, bool vis = true)
: page_id(pid), last_icon_color(color), visible(vis) {
strncpy(const_cast<char*>(component), comp, 14); // Use const_cast to bypass const for initialization
const_cast<char*>(component)[14] = '\0'; // Ensure null termination safely
strncpy(last_icon_code, code, 4);
last_icon_code[4] = '\0';
}
void updateIcon(const char* code, uint16_t color, bool vis);
};
extern std::vector<Icon> icons; // Global list of icons
Icon* findIcon(uint8_t page_id, const char* component);
}

View File

@@ -0,0 +1,64 @@
// mdiicons.cpp
#include "mdiicons.h"
#include "esphome/core/log.h"
using namespace esphome;
MdiIcons::MdiIcons() : iconPool(nullptr), iconPoolSize(0), iconPoolCapacity(100) {}
void MdiIcons::setup() {
iconPool = new MdiIcon[iconPoolCapacity];
if (!iconPool) {
ESP_LOGE("MdiIcons", "Failed to allocate memory for icons in PSRAM");
return;
}
memset(iconPool, 0, iconPoolCapacity * sizeof(MdiIcon));
ESP_LOGI("MdiIcons", "Icon pool initialized with capacity %u", iconPoolCapacity);
}
void MdiIcons::dump_config() {
ESP_LOGCONFIG("MdiIcons", "MDI Icons: Initialized with pool capacity %u", iconPoolCapacity);
}
const MdiIcon* MdiIcons::find_icon(const char* name) const {
for (size_t i = 0; i < iconPoolSize; ++i) {
if (strcmp(iconPool[i].name, name) == 0) {
return &iconPool[i];
}
}
return nullptr;
}
bool MdiIcons::add_icon(const char* name, const char* code) {
if (find_icon(name) != nullptr) {
ESP_LOGW("MdiIcons", "Icon '%s' is already in the pool. Not adding again.", name);
return false;
}
if (iconPoolSize >= iconPoolCapacity) {
resize_pool();
}
strncpy(iconPool[iconPoolSize].name, name, sizeof(MdiIcon::name) - 1);
strncpy(iconPool[iconPoolSize].code, code, sizeof(MdiIcon::code) - 1);
iconPool[iconPoolSize].name[sizeof(MdiIcon::name) - 1] = '\0';
iconPool[iconPoolSize].code[sizeof(MdiIcon::code) - 1] = '\0';
iconPoolSize++;
ESP_LOGI("MdiIcons", "New icon '%s' added to the pool.", name);
return true;
}
void MdiIcons::resize_pool() {
size_t newCapacity = iconPoolCapacity * 2;
MdiIcon* newPool = new MdiIcon[newCapacity];
if (!newPool) {
ESP_LOGE("MdiIcons", "Failed to resize the icon pool");
return;
}
memcpy(newPool, iconPool, iconPoolSize * sizeof(MdiIcon));
delete[] iconPool;
iconPool = newPool;
iconPoolCapacity = newCapacity;
ESP_LOGI("MdiIcons", "Icon pool resized to %u.", iconPoolCapacity);
}

View File

@@ -0,0 +1,33 @@
// mdiicons.h
#ifndef MDI_ICONS_H
#define MDI_ICONS_H
#include "esphome/core/component.h"
#include "esphome/core/log.h"
#include <cstring>
struct MdiIcon {
char name[32]; // Icon name, assuming max length of 31 characters + null terminator
char code[5]; // Icon code, 4 bytes + null terminator (UTF-8 characters)
};
class MdiIcons : public esphome::Component {
public:
MdiIcons(); // Constructor declaration
void setup() override; // Setup method declaration
void dump_config() override; // Dump config method declaration
const MdiIcon* find_icon(const char* name) const; // Method to find an icon by name
bool add_icon(const char* name, const char* code); // Method to add an icon
private:
MdiIcon* iconPool; // Dynamic array of MdiIcons
size_t iconPoolSize; // Number of icons currently in the pool
size_t iconPoolCapacity; // Current capacity of the pool
void resize_pool(); // Method to resize the icon pool
};
#endif // MDI_ICONS_H

View File

@@ -0,0 +1,36 @@
// nextion_components.cpp
#include "nextion_components.h"
#include <algorithm>
#include <cstring>
namespace nspanel_ha_blueprint {
NextionComponent extractNextionComponent(const std::string& input, const std::string& defaultPage) {
NextionComponent result{};
size_t dotPos = input.find(".");
if (dotPos != std::string::npos) {
// Handling special case and standard extraction
strncpy(result.page, input.substr(0, std::min<size_t>(dotPos, 14)).c_str(), 14);
result.page[14] = '\0'; // Ensure null termination
strncpy(result.component_id, input.substr(dotPos + 1, 14).c_str(), 14);
result.component_id[14] = '\0'; // Ensure null termination
result.is_current_page = false;
} else {
// Default page case
strncpy(result.page, defaultPage.c_str(), 14);
result.page[14] = '\0'; // Ensure null termination
strncpy(result.component_id, input.c_str(), 14);
result.component_id[14] = '\0'; // Ensure null termination
result.is_current_page = true;
}
if (strcmp(result.page, defaultPage.c_str()) == 0) {
result.is_current_page = true;
}
return result;
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,49 @@
// nextion_components.h
#pragma once
#include <string>
#include <vector>
#include <cstdint>
namespace nspanel_ha_blueprint {
struct NextionComponent {
char page[15]; // 14 characters + null terminator, representing the Nextion display page
char component_id[15]; // 14 characters + null terminator, representing the component ID within the page
bool is_current_page; // Flag indicating whether the component is on the current page
};
/**
* Extracts the page name and component ID from a given input string.
* If the input string omits the page, a default page name is used.
* Handles a special case for "alarm_control_panel" by shortening it to "alarm".
*
* @param input The input string containing the component ID, optionally prefixed by the page name and a dot.
* @param defaultPage The default page name to use if the input string does not specify a page.
* @return A NextionComponent struct with the extracted or default page name, component ID, and current page status.
*/
NextionComponent extractNextionComponent(const std::string& input, const std::string& defaultPage);
/**
* Converts an RGB color represented as a vector of integers to the 16-bit 5-6-5 format supported by Nextion displays.
*
* This function takes a vector containing three integer values representing
* the red, green, and blue components of an RGB color, each in the range 0-255.
* It then converts these values into a single uint16_t value in 5-6-5 format,
* commonly used for color displays. The conversion process masks and shifts
* the components to fit into the 5 bits for red, 6 bits for green, and 5 bits for blue.
*
* @param rgb A vector of integers with exactly three elements: [red, green, blue].
* @return The color encoded in 16-bit 5-6-5 format, or UINT16_MAX if the input vector
* does not contain at least three elements.
*/
template <typename Container>
inline uint16_t rgbTo565(const Container& rgb) {
if (rgb.size() != 3) {
return UINT16_MAX; // Use UINT16_MAX as an error indicator
}
return ((rgb[0] & 0xF8) << 8) | ((rgb[1] & 0xFC) << 3) | (rgb[2] >> 3);
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,26 @@
// pages.cpp
#include "pages.h"
#include <cstring>
namespace nspanel_ha_blueprint {
uint8_t get_page_id(const std::string& page_name) {
for (uint8_t i = 0; i < page_names.size(); ++i) {
if (strcmp(page_names[i], page_name.c_str()) == 0) {
return i;
}
}
return UINT8_MAX;
}
bool isStringInList(const std::string& strToSearch, std::initializer_list<std::string> list) {
for (const auto& str : list) {
if (strToSearch == str) {
return true;
}
}
return false;
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,72 @@
// pages.h
#pragma once
#include <array>
#include <cstdint>
#include <string>
#include <initializer_list>
namespace nspanel_ha_blueprint {
/**
* @file pages.h
* Defines constants and functions related to page names for the NSPanel HA Blueprint project.
*/
// Constants
/**
* A compile-time constant array containing the names of pages.
* These names correspond to various pages of the Nextion TFT file in use,
* such as settings, home, weather information, and more.
*/
constexpr std::array<const char*, 28> page_names = {
"boot",
"home",
"weather01",
"weather02",
"weather03",
"weather04",
"weather05",
"climate",
"settings",
"screensaver",
"light",
"cover",
"buttonpage01",
"buttonpage02",
"buttonpage03",
"buttonpage04",
"notification",
"qrcode",
"entitypage01",
"entitypage02",
"entitypage03",
"entitypage04",
"fan",
"alarm",
"keyb_num",
"media_player",
"confirm",
"utilities"
};
/**
* Retrieves the index of a given page name within the page_names array.
*
* @param page_name The name of the page to find.
* @return The index of the page_name in the page_names array. If the page_name
* is not found, returns UINT8_MAX as an indicator that no matching page was found.
*/
uint8_t get_page_id(const std::string& page_name);
/**
* Checks if a given string is present within a list of strings.
*
* @param strToSearch The string to search for within the list.
* @param list An initializer list of strings to search within.
* @return `true` if the target string is found within the list, `false` otherwise.
*/
bool isStringInList(const std::string& strToSearch, std::initializer_list<std::string> list);
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,49 @@
// text.cpp
#include "text.h"
#include <algorithm>
#include <cctype>
#include <cstring>
namespace nspanel_ha_blueprint {
template <unsigned int N>
void copyStringToCharArray(char (&dest)[N], const std::string& src) {
size_t length = std::min(src.size(), static_cast<size_t>(N - 1));
std::strncpy(dest, src.c_str(), length);
dest[length] = '\0';
}
// Explicit template instantiation might be needed depending on usage
// template void copyStringToCharArray<YOUR_SIZE_HERE>(char (&)[YOUR_SIZE_HERE], const std::string&);
bool isNumberChar(char c) {
return std::isdigit(static_cast<unsigned char>(c)) || c == '.' || c == '-' || c == ',';
}
std::string adjustDecimalSeparator(const std::string& input, char decimalSeparator) {
if (decimalSeparator == '.') {
return input;
}
size_t numericEnd = 0;
for (; numericEnd < input.size() && isNumberChar(input[numericEnd]); ++numericEnd);
std::string numericPart = input.substr(0, numericEnd);
std::string suffix = input.substr(numericEnd);
char* end;
double val = strtod(numericPart.c_str(), &end);
if (end != numericPart.c_str() && *end == '\0') {
size_t decimalPointPos = numericPart.find('.');
if (decimalPointPos != std::string::npos) {
numericPart[decimalPointPos] = decimalSeparator;
}
return numericPart + suffix;
} else {
return input;
}
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,40 @@
// text.h
#pragma once
#include <string>
namespace nspanel_ha_blueprint {
/**
* Copies the contents of a std::string to a fixed-size char array, ensuring
* null termination. The destination array size is automatically deduced.
* Designed for fixed-size char arrays only.
*
* @param dest A reference to the destination char array.
* @param src The source std::string to copy.
*/
template <unsigned int N>
void copyStringToCharArray(char (&dest)[N], const std::string& src);
/**
* Determines if a character is part of a numeric string. This includes digits,
* a period (.), a minus sign (-), or a comma (,).
*
* @param c The character to check.
* @return True if the character is part of a number; false otherwise.
*/
bool isNumberChar(char c);
/**
* Adjusts the decimal separator in a numeric string to the specified character.
* Only the first occurrence is replaced if it's a valid number followed by text.
* Returns the original string if it doesn't start with a valid number.
*
* @param input The string containing a numeric value followed by text.
* @param decimalSeparator The character to use as the decimal separator.
* @return A string with the adjusted decimal separator if valid; otherwise, the original string.
*/
std::string adjustDecimalSeparator(const std::string& input, char decimalSeparator);
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,32 @@
// upload_tft.cpp
#ifdef NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
#include "upload_tft.h"
namespace nspanel_ha_blueprint {
std::string construct_tft_url(const std::string& branch, const std::string& model,
const std::string& defaultUrl, const std::string& baseUrl) {
std::string relative_branch = branch.find("b") != std::string::npos ? "beta" : branch.find("d") != std::string::npos ? "dev" : branch;
std::string file_name;
if (model == "NSPanel Blank") file_name = "nspanel_blank.tft";
else if (model == "NSPanel EU") file_name = "nspanel_eu.tft";
else if (model == "NSPanel US") file_name = "nspanel_us.tft";
else if (model == "NSPanel US Landscape") file_name = "nspanel_us_land.tft";
else if (model == "NSPanel EU (CJK languages)") file_name = "nspanel_CJK_eu.tft";
else if (model == "NSPanel US (CJK languages)") file_name = "nspanel_CJK_us.tft";
else if (model == "NSPanel US Landscape (CJK languages)") file_name = "nspanel_CJK_us_land.tft";
return file_name.empty() ? defaultUrl : baseUrl + relative_branch + "/hmi/" + file_name;
}
std::string getNSPanelText(int displayMode, int charset) {
if (displayMode < 1 || displayMode > 3 || charset < 1 || charset > 2) return "";
std::string text = (displayMode == 1) ? "NSPanel EU" : (displayMode == 2) ? "NSPanel US" : "NSPanel US Landscape";
if (charset == 2) text += " (CJK languages)";
return text;
}
} // namespace nspanel_ha_blueprint
#endif // NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT

View File

@@ -0,0 +1,34 @@
// upload_tft.h
#pragma once
#ifdef NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
#include <string>
namespace nspanel_ha_blueprint {
/**
* Constructs the TFT file URL based on branch, model, default URL, and base URL.
*
* @param branch The branch version input, potentially containing keywords like "beta" or "dev".
* @param model The device model, determining the specific TFT file name.
* @param defaultUrl The fallback URL if no specific file is associated with the model.
* @param baseUrl The base URL, to which branch and file names are appended to create the full URL.
* @return A string representing the fully constructed URL.
*/
std::string construct_tft_url(const std::string& branch, const std::string& model,
const std::string& defaultUrl, const std::string& baseUrl);
/**
* Generates a descriptive text for the NSPanel based on display mode and charset.
*
* @param displayMode Numeric code for the NSPanel's display mode: 1 for "EU", 2 for "US", 3 for "US Landscape".
* @param charset Numeric code for the character set: 1 for "International (original)", 2 for "CJK languages".
* @return A string describing the NSPanel configuration, or an empty string if inputs don't match any configuration.
*/
std::string getNSPanelText(int displayMode, int charset);
} // namespace nspanel_ha_blueprint
#endif // NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT

View File

@@ -0,0 +1,73 @@
// utilities.cpp
#include "utilities.h"
#include <cstdlib> // For malloc/free
#ifdef USE_ESP_IDF
#include "esp_heap_caps.h"
#elif defined(USE_ARDUINO)
#include "esp32-hal-psram.h"
#endif
namespace nspanel_ha_blueprint {
UtilitiesGroupValues *UtilitiesGroups = nullptr;
void resetUtilitiesGroups() {
// Dynamically allocate the UtilitiesGroups array in PSRAM
#ifdef USE_ESP_IDF
UtilitiesGroups = static_cast<UtilitiesGroupValues*>(heap_caps_malloc(8 * sizeof(UtilitiesGroupValues), MALLOC_CAP_SPIRAM));
#elif defined(USE_ARDUINO)
UtilitiesGroups = static_cast<UtilitiesGroupValues*>(ps_malloc(8 * sizeof(UtilitiesGroupValues)));
#endif
if (!UtilitiesGroups) UtilitiesGroups = new UtilitiesGroupValues[8]; // Fallback to internal SRAM if PSRAM is not available or not supported
if (!UtilitiesGroups) return; // Fail nicely if no memory is available
// Initialize UtilitiesGroups with default values
const UtilitiesGroupValues initialUtilitiesGroups[8] = {
{"grid", "\0", "\0", 0},
{"group01", "\0", "\0", 0},
{"group02", "\0", "\0", 0},
{"group03", "\0", "\0", 0},
{"group04", "\0", "\0", 0},
{"group05", "\0", "\0", 0},
{"group06", "\0", "\0", 0},
{"home", "\0", "\0", 0}
};
for (size_t i = 0; i < 8; ++i) {
std::strcpy(UtilitiesGroups[i].group_id, initialUtilitiesGroups[i].group_id);
std::strcpy(UtilitiesGroups[i].value1, initialUtilitiesGroups[i].value1);
std::strcpy(UtilitiesGroups[i].value2, initialUtilitiesGroups[i].value2);
UtilitiesGroups[i].direction = initialUtilitiesGroups[i].direction;
}
}
void cleanupUtilitiesGroups() {
if (UtilitiesGroups != nullptr) {
free(UtilitiesGroups); // Compatible with both heap_caps_malloc and ps_malloc
UtilitiesGroups = nullptr; // Prevent dangling pointers
}
}
uint8_t findUtilitiesGroupIndex(const char* group_id) {
int low = 0;
int high = 7; // Directly use the number of elements in UtilitiesGroups - 1
while (low <= high) {
int mid = low + (high - low) / 2;
int cmp = std::strcmp(UtilitiesGroups[mid].group_id, group_id);
if (cmp < 0) {
low = mid + 1;
} else if (cmp > 0) {
high = mid - 1;
} else {
return static_cast<uint8_t>(mid); // Found
}
}
return UINT8_MAX; // Not found
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,44 @@
// utilities.h
#pragma once
#include <cstdint>
#include <cstring> // For std::strcpy
#include <string>
namespace nspanel_ha_blueprint {
struct UtilitiesGroupValues {
char group_id[8]; // 7 characters + null terminator
char value1[11]; // 10 characters + null terminator
char value2[11]; // 10 characters + null terminator
int8_t direction;
};
extern UtilitiesGroupValues *UtilitiesGroups;
void resetUtilitiesGroups();
void cleanupUtilitiesGroups();
uint8_t findUtilitiesGroupIndex(const char* group_id);
/**
* Copies the contents of a std::string to a fixed-size char array, ensuring
* null termination. The destination array size is automatically deduced.
* Designed for fixed-size char arrays only.
*
* @param dest A reference to the destination char array.
* @param src The source std::string to copy.
*/
template <unsigned int N>
void copyStringToCharArray(char (&dest)[N], const std::string& src) {
// Ensure we do not exceed the buffer size, leaving space for the null terminator
size_t length = std::min(src.size(), N - 1);
// Copy the string data into the destination buffer
std::strncpy(dest, src.c_str(), length);
// Explicitly null-terminate the destination buffer
dest[length] = '\0';
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,20 @@
// versioning.cpp
#include "versioning.h"
#include <cstdio> // For sscanf
namespace nspanel_ha_blueprint {
bool compare_versions(const char* version1, const char* version2) {
int major1 = 0, minor1 = 0;
int major2 = 0, minor2 = 0;
// Parse the version strings into major and minor numbers
sscanf(version1, "%d.%d", &major1, &minor1);
sscanf(version2, "%d.%d", &major2, &minor2);
// Compare the parsed major and minor numbers
return (major1 == major2) && (minor1 == minor2);
}
} // namespace nspanel_ha_blueprint

View File

@@ -0,0 +1,19 @@
// versioning.h
#pragma once
namespace nspanel_ha_blueprint {
/**
* Compares two version strings by major and minor version numbers, assuming the version
* strings are formatted as "major.minor". This function parses both version strings and
* compares their major and minor components.
*
* @param version1 The first version string to compare, in "major.minor" format.
* @param version2 The second version string to compare, in "major.minor" format.
* @return True if both the major and minor versions of version1 and version2 are equal,
* false otherwise.
*/
bool compare_versions(const char* version1, const char* version2);
} // namespace nspanel_ha_blueprint

View File

@@ -1,5 +0,0 @@
{
"files.associations": {
"*.yaml": "home-assistant"
}
}

View File

@@ -1,159 +0,0 @@
# NSPanel Custom with HA Blueprint
Custom Firmware for NsPanel (esphome) and HA Blueprint with configuration of button, light settings, thermostate, colorwheel, colortemp, cover, weather preview, automatic TFT upload etc.
Why another version for the NSPanel?
Well - all versions I've seen have been missing something everywhere.
That's why I decided to create something myself.
My thanks to Masto, Marcfager, lovejoy777, Hellis81 and SmartHome yourself ( link see below) for sharing your code. Give them the credit they deserve, I'm merely a copy paste ninja. XDD
### GOAL:
My goal was to create a version that could be quickly adopted for multiple NSPanels.
In addition, the configuration should be as simple as possible. Therefore I decided to put most of it into a HA Blueprint
In addition, another NSPanel can be configured very quickly. But have a look yourself ;)
![My project-1-16](https://user-images.githubusercontent.com/41958506/192649717-6b04cd1a-1829-4fd5-8ba4-09eaf32f85d0.png)
![My project-1-18](https://user-images.githubusercontent.com/41958506/192650810-c7210d15-a07e-4f70-a593-af0a51c7f4bb.png)
(Home / Thermostat - more pictures see below)
## Features:
- easy to use and simple configuration via Blueprint
- 40 buttons on 5 button pages with long press function for settings (more buttons are also possible)
- Weather + 5 days weather forcast
- Thermostat + Touch + Relay control for floor heating
- Light control (brightness-slider, colorwheel, TempColor-slider) - via Long Press
- Cover control (open, close, position-slider) - via long press
- Settings page (display brightness, display dim brightness, auto-dim, sleep mode, reboot NSPanel)
- Swipe between pages
- Top menu with 10 icons for specific states
- Heating control (hot water)
- Auto Upload TFT File to Nextion Display
- Swipe between pages
- modern design - design easy to change via Adobe Express (free + design template)
- 2 pysical switches
- and much more ;)
## NSPanel:
![My project-1-16](https://user-images.githubusercontent.com/41958506/192649717-6b04cd1a-1829-4fd5-8ba4-09eaf32f85d0.png)
![My project-1-17](https://user-images.githubusercontent.com/41958506/192650793-9b657fa2-8056-46d7-aca3-065cde291df8.png)
(Home / Weather Forcast)
![My project-1-18](https://user-images.githubusercontent.com/41958506/192650810-c7210d15-a07e-4f70-a593-af0a51c7f4bb.png)
![My project-1-20](https://user-images.githubusercontent.com/41958506/192652078-ec4f3268-c00b-42a8-b1f9-c4da3e53d7a5.png)
(Thermostat / Settings Page)
![My project-1-22](https://user-images.githubusercontent.com/41958506/192652105-23baac1d-9dee-40c1-8596-9cae8827cf1c.png)
![My project-1-23](https://user-images.githubusercontent.com/41958506/192652116-93b850d3-553b-4f14-bb0f-78dff959e2fd.png)
(Light Settings Colorwheel / Light Settings TempColor)
![My project-1-24](https://user-images.githubusercontent.com/41958506/192652126-91b0aae9-75ae-44a0-842d-0a78d93f2da5.png)
![My project-1-25](https://user-images.githubusercontent.com/41958506/192652131-604c0636-0f96-44b8-ae6a-793bde56d0e1.png)
(Cover Settings / Button Page)
![My project-1-26](https://user-images.githubusercontent.com/41958506/192652263-297cda87-3eff-452c-9ec3-3cd76da94de7.png)
## Blueprint:
![Bildschirmfoto 2022-09-27 um 23 13 33](https://user-images.githubusercontent.com/41958506/192652755-069f91c9-927e-4aea-9569-d596cdfa0e56.png)
# Pages
## Home
- current weather with button to Weather Forcast page
- Temperature outside
- Status icons at the top
- Room temperature with button to thermostat page
- Room humidity
- Hot water temperature
- Button to display settings page
## Weather Forcast
- 5 days Weather Forcast via swipe (Integration Accuweather - but should also go with another integration)
- Lowest and highest temperature outside
- Date
- Rain probability
- Sunshine hours
- Sun pressure
- Thunderstorm probability
- Wind speed
- Night thunderstorm probability and wind speed
## Thermostat
- Touch Temp control
- Outside temperature
- Hot water
- Floor heating on, off and idle
- Hot water button
- Status icons
## Display Settings
- Restart NSPanel
- Sleep mode - display off after time X
- Display brightness slider
- Display dim brightness slider
- Status Brightness in %
## Light Settings
- Light on and off (alignment with HA)
- Light color with Colorwheel
- Light color with TempColor slider
- Brightness Slider
- Brightness in %.
- Tempcolor value
- Jump back to the right button page
## Cover Settings
- Open and close cover
- Cover position via slider
- Cover battery value (I use Ikea roller blind)
- jump back to the right button page
## Button Page
- 40 Button
- 5 Button pages
- all buttons with long press function
- automatic detection by long press if it is a light or cover for submenu
- swipe between all pages
- swipe also down and up for fast access to certain pages
- number of buttons and button pages can be extended - functions like long press, light settings and cover settings stay the same
## Upcoming Features
- Shorten Esphome code and transfer to Blueprint
- Cover page with window open status as image
- small design adjustments
- Notifications on Home Page
- Energy and Gas consumption on home page
- Extra page for energy dashboard
- Garbage plan with icon on home page
- Let's see what ideas I still have ;)
## HowTo Deutsch
1. den Code aus der Datei esphome.yaml kopieren und in HA unter esphome einfügen. Vorher muss natürlich ein Device erstellt werden.
1.2 in der ESPhome Datei müssen Passwörter eingesetzt werden. Entweder in der ESPHome Secret oder einfach in der ESPhome Datei
1.3 Einige Entities sind aktuell noch in der Esphome Datei angegeben (direkt unter den Passwörtern. Diese Entities müssen noch angepasst werden. In zukunft will ich aber auch diese ins Bluebrint einbauen
3. den Code aus der Datei blueprint.yaml kopieren und eine neue yaml Datei unter config/blueprints erstellen und den Code einfügen
4. HA Automationen neu starten -> Enticklerwerkzege -> YAML -> Automatisierungen
5. den Code aus der Datei sensor.yaml und climate.yaml kopieren und eine eigenen yaml Datei erstellen. Der Code wird in zukunft direkt im Blueprint eingebaut.
6. den Code aus der Datei folder_wather kopieren und in der coniguration.yaml einfügen
7. TFT File auf Home Assistant hochladen (Der Pfad kann später im Blueprint angegeben werden
8. Blueprint unter Automationen auswählen und und Felder ausfüllen.
## Thanks to:
SmartHome yourself: https://www.youtube.com/c/SmarthomeyourselfDe_DIY
Masto: https://github.com/masto/NSPanel-Demo-Files
Marcfager: https://github.com/marcfager/nspanel-mf
lovejoy77: https://github.com/lovejoy777/NSpanel
Hellis81: https://github.com/Hellis81/NS-panel

View File

@@ -1,18 +0,0 @@
climate:
- platform: generic_thermostat
unique_id: cf308990-0dbd-4e8a-be77-aec56d7a5aa4
name: NSPanel Büro
heater: switch.nspanel_buro_relay_2
target_sensor: sensor.nspanel_buro_temperature
min_temp: 13
max_temp: 27
ac_mode: false
target_temp: 22
cold_tolerance: 0.5
hot_tolerance: 0.5
min_cycle_duration:
seconds: 60
keep_alive:
minutes: 3
initial_hvac_mode: "heat"
precision: 0.5

View File

@@ -1,7 +0,0 @@
# Please insert into the default file "configuration.yaml
# Folder must be changed to the directory where the tft file (Nextion Editor) will be uploaded
###########
#
#Folder watcher for NS panel auto upload tft
folder_watcher:
- folder: /config/www/nspanel/

View File

@@ -1,78 +0,0 @@
##### Sensor ######
sensor:
- platform: template
sensors:
wochentag:
friendly_name: "Wochentag"
unique_id: 6ac64850-8563-456c-b562-92343dd96f0b
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,'] %}
{{ now().timestamp() | timestamp_custom(days[now().weekday()] ~ ' %d.%m')}}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag01:
friendly_name: "Wochentag+1"
unique_id: 6b2aad54-3eb0-48cc-ae32-ee3574197f1b
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,'] %}
{{(as_timestamp(now())+ (86400)) | timestamp_custom(days[now().weekday()+1] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag02:
friendly_name: "Wochentag+2"
unique_id: edbddaf0-2791-4774-b8d4-aa706f75cc7a
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,'] %}
{{(as_timestamp(now())+ (172800)) | timestamp_custom(days[now().weekday()+2] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag03:
friendly_name: "Wochentag+3"
unique_id: ad592622-db86-40f7-9961-4c1ffd21c711
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,'] %}
{{(as_timestamp(now())+ (259200)) | timestamp_custom(days[now().weekday()+3] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag04:
friendly_name: "Wochentag+4"
unique_id: dcb3ed45-2b89-4672-a04f-a55f025ac745
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,'] %}
{{(as_timestamp(now())+ (345600)) | timestamp_custom(days[now().weekday()+4] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag05:
friendly_name: "Wochentag+5"
unique_id: 77e642a5-de54-452d-9f4a-febe3a7851c2
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,'] %}
{{(as_timestamp(now())+ (432000)) | timestamp_custom(days[now().weekday()+ 5] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
###### NSPanel Büro - climate target temperature #####
- platform: template
sensors:
nspanel_buro_target_temp:
unique_id: 2393ab74-21ce-42d3-b15e-ec162b9d6f31
friendly_name: NSPanel Buro Target Temp
value_template: "{{ state_attr('climate.nspanel_buro', 'temperature') }}"
###### NSPanel Büro - climate target temperature #####
- platform: template
sensors:
nspanel_lea_target_temp:
unique_id: e8e61ff7-3a41-47ad-bd6c-303f730de96f
friendly_name: NSPanel Lea Target Temp
value_template: "{{ state_attr('climate.nspanel_lea', 'temperature') }}"

View File

@@ -1,159 +0,0 @@
# NSPanel Custom with HA Blueprint
Custom Firmware for NsPanel (esphome) and HA Blueprint with configuration of button, light settings, thermostate, colorwheel, colortemp, cover, weather preview, automatic TFT upload etc.
Why another version for the NSPanel?
Well - all versions I've seen have been missing something everywhere.
That's why I decided to create something myself.
My thanks to Masto, Marcfager, lovejoy777, Hellis81 and SmartHome yourself ( link see below) for sharing your code. Give them the credit they deserve, I'm merely a copy paste ninja. XDD
### GOAL:
My goal was to create a version that could be quickly adopted for multiple NSPanels.
In addition, the configuration should be as simple as possible. Therefore I decided to put most of it into a HA Blueprint
In addition, another NSPanel can be configured very quickly. But have a look yourself ;)
![My project-1-16](https://user-images.githubusercontent.com/41958506/192649717-6b04cd1a-1829-4fd5-8ba4-09eaf32f85d0.png)
![My project-1-18](https://user-images.githubusercontent.com/41958506/192650810-c7210d15-a07e-4f70-a593-af0a51c7f4bb.png)
(Home / Thermostat - more pictures see below)
## Features:
- easy to use and simple configuration via Blueprint
- 40 buttons on 5 button pages with long press function for settings (more buttons are also possible)
- Weather + 5 days weather forcast
- Thermostat + Touch + Relay control for floor heating
- Light control (brightness-slider, colorwheel, TempColor-slider) - via Long Press
- Cover control (open, close, position-slider) - via long press
- Settings page (display brightness, display dim brightness, auto-dim, sleep mode, reboot NSPanel)
- Swipe between pages
- Top menu with 10 icons for specific states
- Heating control (hot water)
- Auto Upload TFT File to Nextion Display
- Swipe between pages
- modern design - design easy to change via Adobe Express (free + design template)
- 2 pysical switches
- and much more ;)
## NSPanel:
![My project-1-16](https://user-images.githubusercontent.com/41958506/192649717-6b04cd1a-1829-4fd5-8ba4-09eaf32f85d0.png)
![My project-1-17](https://user-images.githubusercontent.com/41958506/192650793-9b657fa2-8056-46d7-aca3-065cde291df8.png)
(Home / Weather Forcast)
![My project-1-18](https://user-images.githubusercontent.com/41958506/192650810-c7210d15-a07e-4f70-a593-af0a51c7f4bb.png)
![My project-1-20](https://user-images.githubusercontent.com/41958506/192652078-ec4f3268-c00b-42a8-b1f9-c4da3e53d7a5.png)
(Thermostat / Settings Page)
![My project-1-22](https://user-images.githubusercontent.com/41958506/192652105-23baac1d-9dee-40c1-8596-9cae8827cf1c.png)
![My project-1-23](https://user-images.githubusercontent.com/41958506/192652116-93b850d3-553b-4f14-bb0f-78dff959e2fd.png)
(Light Settings Colorwheel / Light Settings TempColor)
![My project-1-24](https://user-images.githubusercontent.com/41958506/192652126-91b0aae9-75ae-44a0-842d-0a78d93f2da5.png)
![My project-1-25](https://user-images.githubusercontent.com/41958506/192652131-604c0636-0f96-44b8-ae6a-793bde56d0e1.png)
(Cover Settings / Button Page)
![My project-1-26](https://user-images.githubusercontent.com/41958506/192652263-297cda87-3eff-452c-9ec3-3cd76da94de7.png)
## Blueprint:
![Bildschirmfoto 2022-09-27 um 23 13 33](https://user-images.githubusercontent.com/41958506/192652755-069f91c9-927e-4aea-9569-d596cdfa0e56.png)
# Pages
## Home
- current weather with button to Weather Forcast page
- Temperature outside
- Status icons at the top
- Room temperature with button to thermostat page
- Room humidity
- Hot water temperature
- Button to display settings page
## Weather Forcast
- 5 days Weather Forcast via swipe (Integration Accuweather - but should also go with another integration)
- Lowest and highest temperature outside
- Date
- Rain probability
- Sunshine hours
- Sun pressure
- Thunderstorm probability
- Wind speed
- Night thunderstorm probability and wind speed
## Thermostat
- Touch Temp control
- Outside temperature
- Hot water
- Floor heating on, off and idle
- Hot water button
- Status icons
## Display Settings
- Restart NSPanel
- Sleep mode - display off after time X
- Display brightness slider
- Display dim brightness slider
- Status Brightness in %
## Light Settings
- Light on and off (alignment with HA)
- Light color with Colorwheel
- Light color with TempColor slider
- Brightness Slider
- Brightness in %.
- Tempcolor value
- Jump back to the right button page
## Cover Settings
- Open and close cover
- Cover position via slider
- Cover battery value (I use Ikea roller blind)
- jump back to the right button page
## Button Page
- 40 Button
- 5 Button pages
- all buttons with long press function
- automatic detection by long press if it is a light or cover for submenu
- swipe between all pages
- swipe also down and up for fast access to certain pages
- number of buttons and button pages can be extended - functions like long press, light settings and cover settings stay the same
## Upcoming Features
- Shorten Esphome code and transfer to Blueprint
- Cover page with window open status as image
- small design adjustments
- Notifications on Home Page
- Energy and Gas consumption on home page
- Extra page for energy dashboard
- Garbage plan with icon on home page
- Let's see what ideas I still have ;)
## HowTo Deutsch
1. den Code aus der Datei esphome.yaml kopieren und in HA unter esphome einfügen. Vorher muss natürlich ein Device erstellt werden.
1.2 in der ESPhome Datei müssen Passwörter eingesetzt werden. Entweder in der ESPHome Secret oder einfach in der ESPhome Datei
1.3 Einige Entities sind aktuell noch in der Esphome Datei angegeben (direkt unter den Passwörtern. Diese Entities müssen noch angepasst werden. In zukunft will ich aber auch diese ins Bluebrint einbauen
3. den Code aus der Datei blueprint.yaml kopieren und eine neue yaml Datei unter config/blueprints erstellen und den Code einfügen
4. HA Automationen neu starten -> Enticklerwerkzege -> YAML -> Automatisierungen
5. den Code aus der Datei sensor.yaml und climate.yaml kopieren und eine eigenen yaml Datei erstellen. Der Code wird in zukunft direkt im Blueprint eingebaut.
6. den Code aus der Datei folder_wather kopieren und in der coniguration.yaml einfügen
7. TFT File auf Home Assistant hochladen (Der Pfad kann später im Blueprint angegeben werden
8. Blueprint unter Automationen auswählen und und Felder ausfüllen.
## Thanks to:
SmartHome Yourself: https://www.youtube.com/c/SmarthomeyourselfDe_DIY
Masto: https://github.com/masto/NSPanel-Demo-Files
Marcfager: https://github.com/marcfager/nspanel-mf
lovejoy77: https://github.com/lovejoy777/NSpanel
Hellis81: https://github.com/Hellis81/NS-panel

View File

@@ -1,18 +0,0 @@
climate:
- platform: generic_thermostat
unique_id: cf308990-0dbd-4e8a-be77-aec56d7a5aa4
name: NSPanel Büro
heater: switch.nspanel_buro_relay_2
target_sensor: sensor.nspanel_buro_temperature
min_temp: 13
max_temp: 27
ac_mode: false
target_temp: 22
cold_tolerance: 0.5
hot_tolerance: 0.5
min_cycle_duration:
seconds: 60
keep_alive:
minutes: 3
initial_hvac_mode: "heat"
precision: 0.5

View File

@@ -1,7 +0,0 @@
# Please insert into the default file "configuration.yaml
# Folder must be changed to the directory where the tft file (Nextion Editor) will be uploaded
###########
#
#Folder watcher for NS panel auto upload tft
folder_watcher:
- folder: /config/www/nspanel/

View File

@@ -1,78 +0,0 @@
##### Sensor ######
sensor:
- platform: template
sensors:
wochentag:
friendly_name: "Wochentag"
unique_id: 6ac64850-8563-456c-b562-92343dd96f0b
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,'] %}
{{ now().timestamp() | timestamp_custom(days[now().weekday()] ~ ' %d.%m')}}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag01:
friendly_name: "Wochentag+1"
unique_id: 6b2aad54-3eb0-48cc-ae32-ee3574197f1b
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,'] %}
{{(as_timestamp(now())+ (86400)) | timestamp_custom(days[now().weekday()+1] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag02:
friendly_name: "Wochentag+2"
unique_id: edbddaf0-2791-4774-b8d4-aa706f75cc7a
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,'] %}
{{(as_timestamp(now())+ (172800)) | timestamp_custom(days[now().weekday()+2] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag03:
friendly_name: "Wochentag+3"
unique_id: ad592622-db86-40f7-9961-4c1ffd21c711
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,'] %}
{{(as_timestamp(now())+ (259200)) | timestamp_custom(days[now().weekday()+3] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag04:
friendly_name: "Wochentag+4"
unique_id: dcb3ed45-2b89-4672-a04f-a55f025ac745
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,'] %}
{{(as_timestamp(now())+ (345600)) | timestamp_custom(days[now().weekday()+4] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag05:
friendly_name: "Wochentag+5"
unique_id: 77e642a5-de54-452d-9f4a-febe3a7851c2
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,'] %}
{{(as_timestamp(now())+ (432000)) | timestamp_custom(days[now().weekday()+ 5] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
###### NSPanel Büro - climate target temperature #####
- platform: template
sensors:
nspanel_buro_target_temp:
unique_id: 2393ab74-21ce-42d3-b15e-ec162b9d6f31
friendly_name: NSPanel Buro Target Temp
value_template: "{{ state_attr('climate.nspanel_buro', 'temperature') }}"
###### NSPanel Büro - climate target temperature #####
- platform: template
sensors:
nspanel_lea_target_temp:
unique_id: e8e61ff7-3a41-47ad-bd6c-303f730de96f
friendly_name: NSPanel Lea Target Temp
value_template: "{{ state_attr('climate.nspanel_lea', 'temperature') }}"

View File

@@ -1,18 +0,0 @@
climate:
- platform: generic_thermostat
unique_id: cf308990-0dbd-4e8a-be77-aec56d7a5aa4
name: NSPanel Büro
heater: switch.nspanel_buro_relay_2
target_sensor: sensor.nspanel_buro_temperature
min_temp: 13
max_temp: 27
ac_mode: false
target_temp: 22
cold_tolerance: 0.5
hot_tolerance: 0.5
min_cycle_duration:
seconds: 60
keep_alive:
minutes: 3
initial_hvac_mode: "heat"
precision: 0.5

View File

@@ -1,7 +0,0 @@
# Please insert into the default file "configuration.yaml
# Folder must be changed to the directory where the tft file (Nextion Editor) will be uploaded
###########
#
#Folder watcher for NS panel auto upload tft
folder_watcher:
- folder: /config/www/nspanel/

View File

@@ -1,78 +0,0 @@
##### Sensor ######
sensor:
- platform: template
sensors:
wochentag:
friendly_name: "Wochentag"
unique_id: 6ac64850-8563-456c-b562-92343dd96f0b
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,'] %}
{{ now().timestamp() | timestamp_custom(days[now().weekday()] ~ ' %d.%m')}}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag01:
friendly_name: "Wochentag+1"
unique_id: 6b2aad54-3eb0-48cc-ae32-ee3574197f1b
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,'] %}
{{(as_timestamp(now())+ (86400)) | timestamp_custom(days[now().weekday()+1] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag02:
friendly_name: "Wochentag+2"
unique_id: edbddaf0-2791-4774-b8d4-aa706f75cc7a
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,'] %}
{{(as_timestamp(now())+ (172800)) | timestamp_custom(days[now().weekday()+2] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag03:
friendly_name: "Wochentag+3"
unique_id: ad592622-db86-40f7-9961-4c1ffd21c711
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,'] %}
{{(as_timestamp(now())+ (259200)) | timestamp_custom(days[now().weekday()+3] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag04:
friendly_name: "Wochentag+4"
unique_id: dcb3ed45-2b89-4672-a04f-a55f025ac745
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,'] %}
{{(as_timestamp(now())+ (345600)) | timestamp_custom(days[now().weekday()+4] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
- platform: template
sensors:
wochentag05:
friendly_name: "Wochentag+5"
unique_id: 77e642a5-de54-452d-9f4a-febe3a7851c2
value_template: >
{% set days = ['Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,', 'Samstag,', 'Sonntag,', 'Montag,', 'Dienstag,', 'Mittwoch,', 'Donnerstag,', 'Freitag,'] %}
{{(as_timestamp(now())+ (432000)) | timestamp_custom(days[now().weekday()+ 5] ~ ' %d.%m') }}
icon_template: mdi:calendar-range
###### NSPanel Büro - climate target temperature #####
- platform: template
sensors:
nspanel_buro_target_temp:
unique_id: 2393ab74-21ce-42d3-b15e-ec162b9d6f31
friendly_name: NSPanel Buro Target Temp
value_template: "{{ state_attr('climate.nspanel_buro', 'temperature') }}"
###### NSPanel Büro - climate target temperature #####
- platform: template
sensors:
nspanel_lea_target_temp:
unique_id: e8e61ff7-3a41-47ad-bd6c-303f730de96f
friendly_name: NSPanel Lea Target Temp
value_template: "{{ state_attr('climate.nspanel_lea', 'temperature') }}"

24
docs/README.md Normal file
View File

@@ -0,0 +1,24 @@
# Manuals:
## Setup
- [First Steps | Installation and Setup](install.md)
- [Blueprint | Setup and explanation of the Blueprint](blueprint.md)
- [HowTo | All important things you should know](howto.md)
- [Version compatibility matrix](version_compatibility.md)
## Common issues
- [Panel startup issues](error_initializing.md)
- [Compiling Errors](error_compiling.md)
- [TFT Upload](tft_upload.md)
## Advanced settings
- [Customization](customization.md)
- [Add-on Bluetooth Proxy](addon_bluetooth_proxy.md)
- [Add-on Climate](addon_climate.md)
- [Alarm Control Panel](alarm.md)
- [API](api.md)
- [Using Different Versions of This Project](different_version.md)
## Setup and overview videos:
- **_[Overview and features](https://www.youtube.com/watch?v=b7vW4YtUaTs) - Mark Watt Tech_**
- **_[How to setup](https://www.youtube.com/watch?v=jpSTA_ILB8g) - Mark Watt Tech_**
- **_[(DE) Einrichtungs und konfigurations video](https://www.youtube.com/watch?v=3afPFg6kUdc) - SmartHome yourself_**

64
docs/addon_ble_tracker.md Normal file
View File

@@ -0,0 +1,64 @@
# Add-on: BLE Tracker
## Description
This add-on enables your NSPanel to use its internal Bluetooth module to track nearby Bluetooth Low Energy (BLE) devices
using the [ESPHome BLE Tracker component](https://esphome.io/components/esp32_ble_tracker.html).
> [!IMPORTANT]
> Configuring the BLE Tracker on your NSPanel is crucial for enabling device discovery and presence detection functionalities efficiently.
This component should be managed with careful consideration of ESP32's memory capabilities, especially when other Bluetooth components are used concurrently.
## Prerequisites
- The `esp-idf` framework is recommended for the [ESP32 Platform](customization.md#framework-esp-idf) to ensure optimal operation and compatibility when using BLE features.
The `arduino` framework is not advised as it may increase memory usage and impact the performance negatively.
> [!WARNING]
> Using the `arduino` framework can lead to high memory consumption which might interfere with the stability of BLE operations on the NSPanel.
It is crucial to use the `esp-idf` framework to avoid such issues.
## Configuration Steps
1. **Edit Your ESPHome YAML File**: Incorporate the BLE Tracker component into your NSPanel's configuration by adding the necessary entries under the `esp32_ble_tracker:` section as shown below:
```yaml
substitutions:
device_name: "YOUR_NSPANEL_NAME" # Set your NSPanel's device name
friendly_name: "Your Friendly Name" # Set a friendly display name
wifi_ssid: !secret wifi_ssid # Your Wi-Fi SSID
wifi_password: !secret wifi_password # Your Wi-Fi password
# Optional configurations (uncomment if needed)
## Add-on for specific tracked devices or automation triggers
# sensor:
# - platform: ble_rssi
# mac_address: MAC_ADDRESS_OF_DEVICE
# name: "BLE Device RSSI"
## If you wanna set non-standard parameters to your BLE tracker, just add like this:
# esp32_ble_tracker:
# scan_parameters:
# interval: 1100ms
# window: 1100ms
# active: true
# Package Configuration
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic NSPanel package
# Optional packages for advanced features and other add-ons
- esphome/nspanel_esphome_addon_ble_tracker.yaml # BLE Tracker add-on package
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
# - esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
```
2. **Update Substitutions**: Customize `"YOUR_NSPANEL_NAME"` and `"Your Friendly Name"` to appropriate identifiers for your device and its Bluetooth functionality.
3. **Save and Upload**: After making the necessary changes, save your configuration file and upload it to your NSPanel via the ESPHome dashboard.
> [!NOTE]
> The first time this component is enabled for an ESP32, the code partition needs to be resized.
> Please flash the ESP32 via USB when adding this to your configuration. After that, you can use OTA updates again.
This configuration allows your NSPanel to efficiently manage Bluetooth connections, acting as a proxy for various BLE operations.

View File

@@ -0,0 +1,65 @@
# Add-on: Bluetooth Proxy
## Description
This add-on enables your NSPanel to function as a Bluetooth Low Energy (BLE) proxy utilizing its internal Bluetooth module
along with the [ESPHome Bluetooth Proxy component](https://esphome.io/components/bluetooth_proxy.html).
> [!IMPORTANT]
> It is crucial to configure the Bluetooth Proxy using this add-on for optimal memory management, which involves releasing the Bluetooth stack prior to any TFT updates.
### Prerequisites
- Ensure the `esp-idf` framework is utilized for the [ESP32 Platform](customization.md#framework-esp-idf) when enabling Bluetooth features.
Avoid switching to the `arduino` framework as it significantly increases memory usage, potentially causing installation failures on your panel.
> [!WARNING]
> The `arduino` framework, while compatible, should not be used for Bluetooth-intensive applications on the NSPanel due to its higher memory consumption.
### Configuration Steps
1. **Edit Your ESPHome YAML File**: Add the Bluetooth Proxy add-on to your configuration by including the `remote_package` entry under the `packages` section as illustrated below:
```yaml
substitutions:
device_name: "YOUR_NSPANEL_NAME" # Set your NSPanel's device name
friendly_name: "Your Friendly Name" # Set a friendly display name
wifi_ssid: !secret wifi_ssid # Your Wi-Fi SSID
wifi_password: !secret wifi_password # Your Wi-Fi password
# Optional configurations (uncomment if needed)
## Add-on for climate control
# heater_relay: "1" # Options: "1" or "2"
# Begin Customization Section
##### Customization - Start #####
## If you wanna set non-standard parameters to your Bluetooth proxy just add like this:
# esp32_ble_tracker:
# scan_parameters:
# interval: 1100ms
# window: 1100ms
# active: true
#
# bluetooth_proxy:
# active: true
##### Customization - End #####
# Package Configuration
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic NSPanel package
# Optional packages for advanced features and other add-ons
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
- esphome/nspanel_esphome_addon_bluetooth_proxy.yaml # Bluetooth Proxy add-on package
# - esphome/nspanel_esphome_addon_climate_cool.yaml
# - esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
```
2. **Update Substitutions**: Customize `"YOUR_NSPANEL_NAME"` and `"Your Friendly Name"` to appropriate identifiers for your device and its Bluetooth functionality.
3. **Save and Upload**: After making the necessary changes, save your configuration file and upload it to your NSPanel via the ESPHome dashboard.
> [!NOTE]
> The first time this component is enabled for an ESP32, the code partition needs to be resized.
> Please flash the ESP32 via USB when adding this to your configuration. After that, you can use OTA updates again.
This configuration allows your NSPanel to efficiently manage Bluetooth connections, acting as a proxy for various BLE operations.

255
docs/addon_climate.md Normal file
View File

@@ -0,0 +1,255 @@
# Add-on: Climate
## Description
This add-on enables the use of your panel's relays to act as a thermostat (either cooler or heater)
using the internal temperature sensor and independent of the network availability.
### Attention
1. The NSPanel is limited to 2A per relay.
Don't use it for directly power your cooler/heater if exceeding the panel specifications:
- 150W/110V/Gang, 300W/110V/Total
- 300W/220V/Gang, 600W/220V/Total
2. A target temperature must be set on the climate entity in Home Assistant or the page Climate in your panel.
> [!NOTE]
> More details on the [Sonoff NSPanel's page](https://sonoff.tech/product/central-control-panel/nspanel/)
> and the [product specifications document](https://sonoff.tech/wp-content/uploads/2021/11/%E4%BA%A7%E5%93%81%E5%8F%82%E6%95%B0%E8%A1%A8-NSPanel-20210831.pdf).
## Installation
You will need to add the reference to `addon_climate_heat`, `addon_climate_cool` or `addon_climate_dual` files on your ESPHome settings in the `package` section
and after the `remote_package` (base code), as shown below (for `heat` in this example):
> [!NOTE]
> Occasionally, ESPHome updates may result in the `entity_id` of embedded thermostats being appended with `_2`.
> If you experience this change, refer to this [forum post](https://community.home-assistant.io/t/esphome-devices-all-renamed-with-2-added/388146) on the Home Assistant Forum for guidance.
```yaml
substitutions:
# Settings - Editable values
device_name: "YOUR_NSPANEL_NAME"
friendly_name: "Your panel's friendly name"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
# Add-on configuration (if needed)
## Add-on climate
heater_relay: "1" # Possible values: "1" or "2"
# Customization area
##### My customization - Start #####
##### My customization - End #####
# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
# - esphome/nspanel_esphome_advanced.yaml
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
- esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
```
## Configuration
The following keys are available to be used in your `substitutions`:
<!-- markdownlint-disable MD013 MD033 -->
Key|Required|Supported values|Default|Description
:-|:-:|:-:|:-:|:-
cooler_relay|Mandatory for *cool* and *dual*|`1` or `2`|`0` (disabled)|Relay used for control the cooler. User `1` for "Relay 1" or `2` for "Relay 2".
heater_relay|Mandatory for *heat* and *dual*|`1` or `2`|`0` (disabled)|Relay used for control the heater. User `1` for "Relay 1" or `2` for "Relay 2".
temp_units|Optional|`°C` or `°F`|`°C`|Temperature unit.
min_off_time|Optional|Positive integer representing the number of seconds|`300`|Minimum duration (in seconds) the cooling/heating action must be disengaged before it may be engaged.
min_run_time|Optional|Positive integer representing the number of seconds|`300`|Minimum duration (in seconds) the cooling/heating action must be engaged before it may be disengaged.
min_idle_time|Optional|Positive integer representing the number of seconds|`30`|Minimum duration (in seconds) the idle action must be active before calling another climate action.
target_low|Optional|Number representing a temperature in the selected unit|`18`|The initial lower treshold for the target temperature.
target_high|Optional|Number representing a temperature in the selected unit|`24`|The initial higher treshold for the target temperature.
temp_min|Optional|Number representing a temperature in the selected unit|*cool: `15`*<br>*heat: `7`*<br>*dual: `7`* |The minimum temperature the climate device can reach. Used to set the range of the frontend gauge.
temp_max|Optional|Number representing a temperature in the selected unit|*cool: `45`*<br>*heat: `35`*<br>*dual: `45`* |The maximum temperature the climate device can reach. Used to set the range of the frontend gauge.
temp_step|Optional|Number representing a temperature in the selected unit|`0.5`|The granularity with which the target temperature can be controlled.
cool_deadband|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (temperature above the set point) before engaging cooling.
cool_overrun|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (cooling beyond the set point) before disengaging cooling.
heat_deadband|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (temperature below the set point) before engaging heat.
heat_overrun|Optional|Number representing a temperature hysteresis in the selected unit|`0.5`|The minimum temperature differential (heating beyond the set point) before disengaging heat.
<!-- markdownlint-enable MD013 MD033 -->
- All values must be delimited with `""`
- For more details on the keys, please take a look at [ESPHome Base Climate Configurations](https://esphome.io/components/climate/index.html#base-climate-configuration)
and [ESPHome Climate Thermostat - Additional actions behavior](https://esphome.io/components/climate/thermostat.html#additional-actions-behavior).
## Examples
### Cooler
```yaml
substitutions:
# Settings - Editable values
device_name: "YOUR_NSPANEL_NAME"
friendly_name: "Your panel's friendly name"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
# Add-on configuration (if needed)
## Add-on climate
cooler_relay: "1" # Possible values: "1" or "2"
temp_units: "°F" # Temperatures in Fahrenheit
temp_min: "40" # Min supported temperature is 40°F
temp_max: "80" # Max supported temperature is 80°F
temp_step: "1" # Temperature granularity is 1°F
cool_deadband: "1.2" # Temperature delta before engaging cooling
cool_overrun: "1.2" # Temperature delta before disengaging cooling
# Customization area
##### My customization - Start #####
##### My customization - End #####
# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
# - esphome/nspanel_esphome_advanced.yaml
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
- esphome/nspanel_esphome_addon_climate_cool.yaml
# - esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
```
### Heater
```yaml
substitutions:
# Settings - Editable values
device_name: "YOUR_NSPANEL_NAME"
friendly_name: "Your panel's friendly name"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
# Add-on configuration (if needed)
## Add-on climate
heater_relay: "1" # Possible values: "1" or "2"
temp_units: "°F" # Temperatures in Fahrenheit
temp_min: "40" # Min supported temperature is 40°F
temp_max: "80" # Max supported temperature is 80°F
temp_step: "1" # Temperature granularity is 1°F
heat_deadband: "1.2" # Temperature delta before engaging heat
heat_overrun: "1.2" # Temperature delta before disengaging heat
# Customization area
##### My customization - Start #####
##### My customization - End #####
# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
# - esphome/nspanel_esphome_advanced.yaml
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
- esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
```
### Dual
```yaml
substitutions:
# Settings - Editable values
device_name: "YOUR_NSPANEL_NAME"
friendly_name: "Your panel's friendly name"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
# Add-on configuration (if needed)
## Add-on climate
heater_relay: "1" # Possible values: "1" or "2"
cooler_relay: "2" # Possible values: "1" or "2"
temp_units: "°F" # Temperatures in Fahrenheit
temp_min: "40" # Min supported temperature is 40°F
temp_max: "80" # Max supported temperature is 80°F
temp_step: "1" # Temperature granularity is 1°F
cool_deadband: "1.2" # Temperature delta before engaging cooling
cool_overrun: "1.2" # Temperature delta before disengaging cooling
heat_deadband: "1.2" # Temperature delta before engaging heat
heat_overrun: "1.2" # Temperature delta before disengaging heat
# Customization area
##### My customization - Start #####
##### My customization - End #####
# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
# - esphome/nspanel_esphome_advanced.yaml
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
# - esphome/nspanel_esphome_addon_climate_heat.yaml
- esphome/nspanel_esphome_addon_climate_dual.yaml
```
### Real Use Case Example: Water Underfloor Heating with NSPanel
The NSPanel works nicely as a replacement for existing water underfloor heating controllers, installed at eye level and often powered by 100-240VAC.
In my specific use case, the control valve is of the 'normally closed' type, meaning that an open relay indicates 'no heating.'
I have utilized relay #1 for this purpose. It's important to note that this setup does not act as a PID controller, but operates on a simple on-off mechanism.
The system initiates heating at a preset value below and turns it off at a value above the set point.
I have set these values to `0.1°C` below and `0.1°C` above the target temperature, respectively.
These adjustments have been effectively maintaining the desired temperature in all of our four rooms.
The thermostat's settings range from a minimum of `15°C` to a maximum of `22°C`, with a granularity of `0.1°C` for adjustments.
Furthermore, I have selected `18.3°C` as the default target temperature.
```yaml
##### addon-configuration #####
## addon_climate ##
heater_relay: "1" #Use relay 1
temp_min: "15"
temp_max: "22"
temp_step: "0.1"
cold_tolerance: "0.1"
hot_tolerance: "0.1"
##### CHANGE ME END #####
climate:
- id: !extend thermostat_embedded
visual:
temperature_step: ${temp_step}
preset:
- name: Home
default_target_temperature_low: 18.3
mode: "heat"
```
Please note that employing any filter to smooth the temperature readings, such as averaging, is discouraged if the relevant timescale exceeds 1min.
Such filtering methods can delay the response times of an already slow underfloor heating system.
Despite this, the temperature stability achieved is quite satisfactory, as illustrated in the graph below.
![Temperature vs Time](pics/addon_underfloor.png)
*On March 24th (around 9:20 PM) and March 25th (around 7:30AM) a window was opened, and all heaters were set to 'off.' for 30min*

75
docs/alarm.md Normal file
View File

@@ -0,0 +1,75 @@
# Alarm Control Panel
You can control an Alarm Control Panel from your NSPanel, which allows you to set the alarm mode to standard
modes supported by Home Assistant (Home, Away, Night, Vacation, or Custom bypass) or disarm the alarm.
Currently, the NSPanel supports alarms without a code or with a numeric code. For alarms using a text code,
the NSPanel will display it, but interactions (like button clicks) will send service calls to Home Assistant
without the code, leading to failed operations that require a code.
> [!IMPORTANT]
> **Security advisory**
> The default communication between your NSPanel (ESPHome) and Home Assistant (HA) is not encrypted. This
> could allow someone with network access to monitor and replicate the service calls. This risk is
> particularly relevant when controlling your alarm system.
>
> To enhance security, we strongly recommend enabling API encryption for NSPanel users managing an Alarm
> system. Follow the instructions in the ["API encryption" example here](customization.md#api-encryption)
> to implement this security measure.
## Configuration
### Allow the device to make Home Assistant service calls
First, you need to configure your Home Assistant to permit your NSPanel to make service calls. While
most services are handled via the Blueprint, ESPHome needs to send events with all necessary data in
plain text for these service calls. To mitigate any security risks, alarm-related calls are managed
directly by the panel.
To enable this:
1. Go to your ESPHome integrations panel (Settings > Devices and Services > ESPHome).
2. Click "Configure" next to your panel's entry.
![Configure option in ESPHome integrations panel](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/37bfc622-c0cd-4941-a397-3eeb2ddbe6a2)
3. Select the "Allow the device to make Home Assistant service calls" option.
![Allow service calls option in ESPHome configuration](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/9b20a1b6-94ad-4fff-aef2-eb3599db9bf1)
### Blueprint settings
To assign Alarm Control Panel entities to buttons:
1. Open the NSPanel Blueprint automation.
2. Find the button configuration section.
3. Choose a button and select your alarm control panel entity.
4. Click "Save" to complete setup.
![Assigning Alarm Control Panel entities in Blueprint](pics/ha_blueprint_home_custom_buttons_alarm.png)
Follow these steps to ensure your NSPanel is correctly configured for controlling your alarm system.
## Controlling your alarm from your panel
When an alarm control panel is configured in your Blueprint automation, the alarm icon appears on your
NSPanel's Home page or the respective button page. This icon changes based on the alarm state, detailed
in the following table.
Clicking this button opens the Alarm Control Panel page. Here, you can adjust alarm settings with a
single click or return to the Home page.
![View of the Alarm Control Panel page on NSPanel](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/bc312981-3d5a-42c7-b0b4-203457ff549f)
### Description of states shown with the alarm icon
<!-- markdownlint-disable MD013 -->
State | Color | Icon | Icon Name | Description
-- | -- | -- | -- | --
disarmed | White | ![shield-off-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/5b1c8219-3958-4096-9100-0b4ef47e7dac) | mdi:shield-off-outline | The alarm is disarmed (off).
armed_home | Green | ![shield-home-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/1ed9347b-139a-4729-a795-b08934b56581) | mdi:shield-home-outline | The alarm is armed in home mode.
armed_away | Green | ![shield-lock-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/998db33c-3ec5-47dd-9686-c28eee81e9eb) | mdi:shield-lock-outline | The alarm is armed in away mode.
armed_night | Green | ![shield-moon-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/84528bca-577d-4a43-8366-e6f9e41bc7b4) | mdi:shield-moon-outline | The alarm is armed in night mode.
armed_vacation | Green | ![shield-airplane-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/067218de-ec8c-4fce-a427-7848a7ae9f27) | mdi:shield-airplane-outline | The alarm is armed in vacation mode.
armed_custom_bypass | Green | ![shield-half-full](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/af7ed346-28eb-4796-b62b-2a51e9cb6272) | mdi:shield-half-full | The alarm is armed in bypass mode.
pending | Amber | ![shield-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/31bcd613-04d6-455a-a443-3299211d487e) | mdi:shield-outline | The alarm is pending (towards triggered).
arming | Amber | ![shield-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/31bcd613-04d6-455a-a443-3299211d487e) | mdi:shield-outline | The alarm is arming.
disarming | Amber | ![shield-off-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/37c02584-dd65-4575-8d95-c7346de599e4) | mdi:shield-off-outline | The alarm is disarming.
triggered | Red | ![shield-alert-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/ee1ec55b-e671-4aa0-9baa-77eb2a8c8c7f) | mdi:shield-alert-outline | The alarm is triggered.
unknown/unavailable | White | ![shield-alert-outline](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/a382e5ab-2e16-453c-bc9b-b3dcd3825de7) | mdi:shield-alert-outline | The alarm state is unknown or unavailable.
<!-- markdownlint-enable MD013 -->

843
docs/api.md Normal file
View File

@@ -0,0 +1,843 @@
# API
This document provides details on custom services designed for integration with Home Assistant, including their usage, parameters, and examples.
## Summary
- [Service Documentation](#service-documentation)
- [Button Service (`button`)](#button-service-button): Configures properties and state of buttons on a specified button page.
- [Command Service (`command`)](#command-service-command): Sends a custom command directly to the display.
- [Component Color Service (`component_color`)](#component-color-service-component_color): Changes the foreground color of a specified component on the display.
- [Component Text Service (`component_text`)](#component-text-service-component_text): Updates the text of a specified component on the display.
- [Component Value Service (`component_val`)](#component-value-service-component_val): Updates the value of a specified component on the display.
- [Components Visibility Service (`components_visibility`)](#components-visibility-service-components_visibility): Hides or shows a specified component on the display.
- [Entity Details Show Service (`entity_details_show`)](#entity-details-show-service-entity_details_show): Displays detailed information for a specific entity.
- [Hardware Button State Indication Service (`hw_button_state`)](#hardware-button-state-indication-service-hw_button_state):
Updates the visual state (on/off) of the left and right hardware button indicators on the panel.
- [Icon Service (`icon`)](#icon-service-icon): Updates a chip or custom button's icon, color, and visibility.
- [Initialization Service: Global (`init_global`)](#initialization-service-init_global): Transfers global settings on initialization.
- [Initialization Service: Hardware (`init_hardware`)](#initialization-service-init_hardware): Transfers NSPanel hardware settings during initialization.
- [Initialization Service: Home Page (`init_page_home`)](#initialization-service-init_page_home): Transfers settings for the "Home" page on initialization.
- [Initialization Service: Settings Page (`init_page_settings`)](#initialization-service-init_page_settings): Transfers settings for the "Settings" page on initialization.
- [Notification Clear Service (`notification_clear`)](#notification-clear-service-notification_clear): Clears the current notification from the screen.
- [Notification Show Service (`notification_show`)](#notification-show-service-notification_show): Displays a notification-message on the screen.
- [QR Code Service (`qrcode`)](#qr-code-service-qrcode): Displays a QR code on the panel or updates the QR code information for local control.
- [RTTTL Play Service (`rtttl_play`)](#rtttl-play-service-rtttl_play): Plays melodies encoded in the RTTTL format.
- [Upload TFT Service (`upload_tft`)](#tft-file-update-service-upload_tft): Enables TFT file updates from a URL, requiring the "Upload TFT" add-on.
- [Value Service (`value`)](#value-service-value): Updates an entity to display specific values.
- [Wake Up Service (`wake_up`)](#wake-up-service-wake_up): Activates the display from a screensaver or low-brightness state.
- [Alarm Settings Page Service (`page_alarm`)](#alarm-settings-page-service-page_alarm): Updates the Alarm page with current state information.
- [Climate Page Service (`page_climate`)](#climate-page-service-page_climate): Updates the Climate page with current state information.
- [Media Player Page Service (`page_media_player`)](#media-player-page-service-page_media_player): Updates the Media Player page with current state information.
- [Screen Components](#screen-components)
- [Home page - Chips](#home-page---chips)
- [User-defined Chips](#user-defined-chips)
- [Relays Chips](#relays-chips)
- [Climate Chip](#climate-chip)
- [Home page - Custom Buttons](#home-page---custom-buttons)
- [Home page - Values](#home-page---values)
- [Entities Pages - Values](#entities-pages---values)
## Service Documentation
### General Guidance
In general, there's no validation on the content of the parameters in a service call.
Please make sure to fulfill the validation from the service caller side, otherwise it can drive to a crash in the ESPHome side, it will most likely restart the panel.
One example is with colors. In almost all cases, it is expected an array with 3 unsigned integers between 0 to 255.
If you send anything different, the conversion to the RGB565 used by Nextion will crash.
### Table of Contents
<!-- markdownlint-disable MD013 -->
| Service ID | Service Name | Description |
|------------|--------------|-------------|
| [`button`](#button-service-button) | [Button Service](#button-service-button) | Configures properties and state of buttons on a specified button page. |
| [`command`](#command-service-command) | [Command Service](#command-service-command) | Sends a custom command directly to the display. |
| [`component_color`](#component-color-service-component_color) | [Component Color Service](#component-color-service-component_color) | Changes the foreground color of a specified component on the display. |
| [`component_text`](#component-text-service-component_text) | [Component Text Service](#component-text-service-component_text) | Updates the text of a specified component on the display. |
| [`component_val`](#component-value-service-component_val) | [Component Value Service](#component-value-service-component_val) | Updates the value of a specified component on the display. |
| [`components_visibility`](#components-visibility-service-components_visibility) | [Components Visibility Service](#components-visibility-service-components_visibility) | Hides or shows a specified component on the display. |
| [`entity_details_show`](#entity-details-show-service-entity_details_show) | [Entity Details Show Service](#entity-details-show-service-entity_details_show) | Displays detailed information for a specific entity. |
| [`hw_button_state`](#hardware-button-state-indication-service-hw_button_state) | [Hardware Button State Indication Service](#hardware-button-state-indication-service-hw_button_state) | Updates the visual state (on/off) of the left and right hardware button indicators on the panel. |
| [`icon`](#icon-service-icon) | [Icon Service](#icon-service-icon) | Updates a chip or custom button's icon, color, and visibility. |
| [`init_global`](#initialization-service-init_global) | [Initialization Service](#initialization-service-init_global) | Transfers global settings on initialization. |
| [`init_hardware`](#initialization-service-init_hardware) | [Initialization Service](#initialization-service-init_hardware) | Transfers NSPanel hardware settings during initialization. |
| [`init_page_home`](#initialization-service-init_page_home) | [Initialization Service](#initialization-service-init_page_home) | Transfers settings for the "Home" page on initialization. |
| [`init_page_settings`](#initialization-service-init_page_settings) | [Initialization Service](#initialization-service-init_page_settings) | Transfers settings for the "Settings" page on initialization. |
| [`notification_clear`](#notification-clear-service-notification_clear) | [Notification Clear Service](#notification-clear-service-notification_clear) | Clears the current notification from the screen. |
| [`notification_show`](#notification-show-service-notification_show) | [Notification Show Service](#notification-show-service-notification_show) | Displays a notification-message on the screen. |
| [`page_alarm`](#alarm-settings-page-service-page_alarm) | [Alarm Settings Page Service](#alarm-settings-page-service-page_alarm) | Updates the Alarm page with current state information. |
| [`page_climate`](#climate-page-service-page_climate) | [Climate Page Service](#climate-page-service-page_climate) | Updates the Climate page with current state information. |
| [`page_media_player`](#media-player-page-service-page_media_player) | [Media Player Page Service](#media-player-page-service-page_media_player) | Updates the Media Player page with current state information. |
| [`qrcode`](#qr-code-service-qrcode) | [QR Code Service](#qr-code-service-qrcode) | Displays a QR code on the panel or update the QR code information for local control. |
| [`rtttl_play`](#rtttl-play-service-rtttl_play) | [RTTTL Play Service](#rtttl-play-service-rtttl_play) | Plays melodies encoded in the RTTTL format. |
| [`upload_tft`](#tft-file-update-service-upload_tft) | [Upload TFT Service](#tft-file-update-service-upload_tft) | Enables TFT file updates from a URL, requiring the "Upload TFT" add-on. |
| [`value`](#value-service-value) | [Value Service](#value-service-value) | Updates an entity to display specific values. |
| [`wake_up`](#wake-up-service-wake_up) | [Wake Up Service](#wake-up-service-wake_up) | Activates the display from a screensaver or low-brightness state. |
<!-- markdownlint-enable MD013 -->
### Button Service: `button`
Configures the properties and state of buttons on a specified button page, allowing for dynamic updates to button appearance and behavior based on specified parameters.
**Usage:**
This service is designed for dynamic user interface adjustments, enabling the customization of button states, icons, colors, and labels.
It's particularly useful for reflecting changes in device states or user interactions within the UI.
**Parameters:**
- `page` (string): The page identifier where the button is located.
- `id` (string): The button's unique identifier.
- `state` (bool): The state of the button, which can affect its background picture and other visual elements.
- `icon` (string): Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html).
Example: "\uE6E8" for `mdi:lightbulb-on-outline`.
- `icon_color` (int[]): The RGB color array for the icon.
- `icon_font` (int): The Nextion font identifier for the icon (default is 8).
- `bri` (string): Brightness level or other dynamic information to display on the button close to the icon.
- `label` (string): The main text label displayed on the button.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_button
data:
page: "buttonpage01"
id: "button08"
state: true
icon: "\uE6E8" # Example for mdi:lightbulb-on-outline
icon_color: [255, 0, 0] # Red
icon_font: 2
bri: "75%"
label: "Living Room"
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> This service dynamically updates the specified button's properties to match the provided parameters.
### Command Service: `command`
Sends a custom command directly to the display, enabling direct interaction and dynamic content updates.
**Usage:**
This service is particularly useful for advanced customizations and direct display manipulations, such as showing messages, updating statuses, or any other display-centric commands.
**Parameters:**
- `cmd` (string): The command string to be sent to the display. Please refer to [The Nextion Instruction Set](https://nextion.tech/instruction-set/) for a comprehensive list of commands supported.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_command
data:
cmd: "page home" # Go to page "Home"
```
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant to ensure correct service execution.
>
> Ensure the command string (`cmd`) is properly formatted according to your display's command processing capabilities.
### Component Color Service: `component_color`
Changes the foreground color of a specified component on the display, enabling dynamic color updates for user interface customization.
**Usage:**
This service is ideal for creating visually dynamic interfaces, allowing elements to change color based on conditions,
events, or user actions, such as indicating status changes or highlighting specific UI components.
**Parameters:**
- `id` (string): Identifier of the component whose color will be updated. It is essential that this matches the component's ID in your display layout to ensure the correct element is targeted.
- `color` (int[]): The new color for the component, specified as an RGB array (e.g., `[255, 0, 0]` for red).
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_component_color
data:
id: "home.time"
color: [255, 0, 0] # Changes the component's color to red
```
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant to ensure correct service execution.
>
> Ensure the `id` and color parameters accurately target and define the new color for the component.
### Component Text Service: `component_text`
Updates the text of a specified component on the display, enabling dynamic text content updates.
**Usage:**
Ideal for user interfaces that require real-time text updates, such as status messages, labels, or any text-based information display.
**Parameters:**
- `id` (string): Identifier of the component whose text will be updated. Ensure this matches the component's ID in your display layout.
- `txt` (string): The new text content to display. This can include static text or dynamic information passed at runtime.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_component_text
data:
id: "home.time"
txt: "12:34"
```
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant to ensure correct service execution.
>
> Make sure the `id` corresponds to the correct component on your display for the text update to work as intended.
### Component Value Service: `component_val`
Updates the value of a specified component on the display, enabling dynamic value updates.
**Usage:**
Ideal for interfaces requiring real-time updates of numerical values, such as counters, temperature readings, or any numeric indicators.
**Parameters:**
- `id` (string): Identifier of the component whose value will be updated. It's crucial this matches the component's ID in your display layout accurately.
- `val` (int): The new integer value to be set for the component. This can represent various data types, depending on the component's purpose (e.g., temperature, humidity levels).
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_component_val
data:
id: "cover.coverslider"
val: 25
```
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant to ensure correct service execution.
>
> Ensure the `id` accurately matches the component on your display to successfully update its value.
### Components Visibility Service: `components_visibility`
Hides or shows a list of component on the display, allowing for dynamic interface changes.
**Usage:**
This service is ideal for creating interactive user interfaces that adapt by hiding or showing certain elements based on user actions, conditions, or events.
**Parameters:**
- `ids` (string[]): Array of identifiers of the components to be hidden/shown. It is crucial that this matches the component's ID in your display layout to ensure the correct element is hidden/shown.
- `visible` (bool): Set to true to show the component, or false to hide it.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_component_hide
data:
ids: [ "date", "time" ] # Hides the date and time display on Home page
visible: false
```
<!-- markdownlint-disable MD028 -->
> [!NOTE]
> Replace <your_panel_name> with your specific panel name as configured in Home Assistant to ensure correct service execution.
>
> Ensure the ids matches the component on your display you wish to hide or show.
> [!IMPORTANT]
> This command only works when the page is visible.
>
> If a component being hidden/shown is not part of the current page, the command will fail and an error message will be logged.
<!-- markdownlint-enable MD028 -->
### Entity Details Show Service: `entity_details_show`
This service is designed to display detailed information about a specific entity within the panel's interface.
It enables users to navigate to a dedicated page showing extensive details about an entity, such as a light or a climate,
and provides a structured way to return to either the home page or a specific button page.
**Usage:**
Ideal for interfaces requiring detailed entity information across various contexts.
By specifying the `entity` and `back_page`, users are offered a seamless navigation experience,
ensuring they can easily access detailed information and return to their initial navigation point within the interface.
**Parameters:**
- `entity` (string): The unique identifier of the entity (`entity_id` in Home Assistant) for which details are displayed.
- `back_page` (string): The page identifier to return to after viewing entity details.
Valid options are `home` for the home page or `buttonpage01` to `buttonpage04` for button pages.
No other pages are supported to maintain navigation consistency.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_entity_details_show
data:
entity: "light.living_room"
back_page: "buttonpage01"
```
> [!NOTE]
> Ensure to replace <your_panel_name> with the specific name of your panel configured in Home Assistant.
> This setup provides a direct and user-friendly way to access and return from detailed entity information, enhancing the interface's usability.
### Hardware Button State Indication Service: `hw_button_state`
This service dynamically updates the on-screen indication bars for the hardware buttons, reflecting the current state of the entities they control.
It's designed to provide immediate visual feedback, enhancing the user interface by showing the active/inactive state of the left and right hardware button indicators on the panel.
**Usage:**
Utilize this service to modify the visual state (on/off) of hardware button indicators on the panel, corresponding to the state of entities controlled by these buttons.
This allows for visual feedback that matches the operational state of the buttons.
**Parameters:**
- `button_mask` (int): A bitwise identifier for buttons. Use `1` for the left button, `2` for the right button, and `3` for both buttons.
- `state` (bool): The state to apply to the button(s) indicated by `button_mask`. True for on (active), false for off (inactive).
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_hw_button_state
data:
button_mask: 3 # Targets both the left (1) and right (2) buttons
state: true # Turns the indication bars on for both buttons
```
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant.
> This service leverages a bitmask (`button_mask`) for flexible control over multiple hardware buttons simultaneously, offering a streamlined method for updating their visual states.
### Icon Service: `icon`
Updates a chip or custom button's icon, color, and visibility within Home Assistant.
**Usage:**
This service is ideal for dynamically updating icons on your Panel, allowing for a customizable and interactive user interface.
**Parameters:**
- `id` (string): Identifier of the chip or button component. Refer to "[Screen components](#screen-components)" for more details.
- `icon` (string): Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html).
Example: "\uE6E8" for `mdi:lightbulb-on-outline`.
- `icon_color` (int[]): RGB color array for the icon. Example: `[0, 255, 0]` for green.
- `visible` (bool): Flag indicating whether the icon should be visible (`true`) or hidden (`false`).
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_icon
data:
id: "home.chip03"
icon: "\uE6E8" # Example for mdi:lightbulb-on-outline
icon_color: [0, 255, 0] # Green
visible: true
```
> [!NOTE]
> Ensure the placeholder `<your_panel_name>` is replaced with the specific panel name you will need to reference in your Home Assistant configuration.
### Initialization Service: `init_global`
Transfers global settings from the blueprint to ESPHome,
ensuring that ESPHome is configured with the necessary parameters for operation according to the blueprint specifications.
**Usage:**
This service is crucial during the initialization phase or when global settings need to be updated to reflect changes in the blueprint.
It configures ESPHome with settings that affect overall functionality and user interface aspects.
**Parameters:**
- `blueprint_version` (string): Specifies the version of the blueprint being used.
- `ent_value_xcen` (int): Alignment of values on entities pages (0 for right (default), 1 for center or 2 for left).
- `mui_please_confirm` (string): Localized (language based) message used for asking for confirmation in the UI.
- `mui_unavailable` (string): Localized (language based) message used for indicating unavailability in the UI.
- `screensaver_time` (bool): Enables or disables the screensaver time display.
- `screensaver_time_font` (int): Specifies the font id for the screensaver time display.
- `screensaver_time_color` (int[]): Specifies the RGB color array for the screensaver time display.
- `decimal_separator` (string): The char to be used as decimal separator.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_init_global
data:
blueprint_version: "4.2.5"
ent_value_xcen: 0
mui_please_confirm: "Confirme, por favor."
mui_unavailable: "Indisponível"
screensaver_time: true
screensaver_time_font: 11
screensaver_time_color: [165, 42, 42] # Reddish-brown
decimal_separator: ","
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
>
> This service should be called to update ESPHome with the latest global settings as specified in your blueprint.
### Initialization Service: `init_hardware`
Configures NSPanel hardware settings in ESPHome according to the specifications provided in the blueprint,
ensuring each component operates with the correct parameters for control, appearance, and fallback behavior.
**Usage:**
This service is essential for initializing or updating button and relay configurations to reflect changes in the blueprint.
It tailors ESPHome's hardware operations for specific use cases, including local control capabilities, iconography, color indications, and fallback states.
**Parameters:**
- `relay1_local_control` (bool): Enables or disables local control for Relay 1.
- `relay1_icon` (string):
Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html) for Relay 1.
- `relay1_icon_color` (int[]): The RGB color array for Relay 1's icon.
- `relay1_fallback` (bool): Determines the fallback state for Relay 1 in case of communication loss.
- `relay2_local_control` (bool): Enables or disables local control for Relay 2.
- `relay2_icon` (string):
Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html) for Relay 2.
- `relay2_icon_color` (int[]): The RGB color array for Relay 2's icon.
- `relay2_fallback` (bool): Determines the fallback state for Relay 2 in case of communication loss.
- `button_left` (bool): Enable/disable left button status visualization.
- `button_right` (bool): Enable/disable right button status visualization.
- `button_bar_color_on` (int[]): RGB color array for the hardware button bar when the status is `On`.
- `button_bar_color_off` (int[]): RGB color array for the hardware button bar when the status is `Off`.
- `embedded_climate` (bool): Indicates whether climate control is embedded in the panel.
- `embedded_climate_friendly_name` (string): Provides a friendly name for the embedded climate control.
- `embedded_indoor_temperature` (bool): Determines if indoor temperature display is enabled.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_init_hardware
data:
relay1_local_control: true
relay1_icon: "\uE3A5" # Example for mdi:numeric-1-box-outline
relay1_icon_color: [248, 0, 0] # Red
relay1_fallback: false
relay2_local_control: true
relay2_icon: "\uE3A8" # Example for mdi:numeric-2-box-outline
relay2_icon_color: [0, 252, 0] # Green
relay2_fallback: true
button_left: true
button_right: true
button_bar_color_on: [31, 169, 255] # Blueish
button_bar_color_off: [44, 44, 44] # Dark gray
embedded_climate: true
embedded_climate_friendly_name: "Termostato da Sala"
embedded_indoor_temperature: true
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> This service initializes buttons and relay settings based on the provided parameters, customizing relay functionality and presentation as defined in the blueprint.
### Initialization Service: `init_page_home`
Configures the "Home" page settings and user interface elements in ESPHome,
aligning with the blueprint specifications to create a personalized and functional home screen.
**Usage:**
This service plays a crucial role in the initial setup and ongoing updates of the "Home" page,
facilitating dynamic adjustments to layout, appearance, and interactive elements.
It accommodates extensive customizations, impacting both visual appeal and functionality of UI components.
**Parameters:**
- `date_color` (int[]): RGB color array for the date display.
- `time_format` (string): Format string for displaying time, supporting standard time formatting symbols.
- `time_color` (int[]): RGB color array for the time display.
- `meridiem` (string[]): Array of strings for AM/PM labels, applicable if the time format includes meridiem.
- `chip_font` (int): Font Id for icons or chips displayed on the "Home" page.
- `custom_buttons_font` (int): Font Id for custom button icons on the "Home" page.
- `qrcode` (bool): Flag indicating whether the QR code button is enabled.
- `qrcode_icon` (string):
Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html)
for the QR code button.
- `qrcode_icon_color` (int[]): RGB color array for the QR code button icon.
- `entities_pages_icon` (string):
Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html)
for the entities page button.
- `entities_pages_icon_color` (int[]): RGB color array for the entities page button icon.
- `utilities` (bool): Flag indicating whether the utilities page button is enabled.
- `utilities_icon` (string):
Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html)
for the utilities page button.
- `utilities_icon_color` (int[]): RGB color array for utilities page button icon.
- `outdoor_temp_font` (int): Font Id for outdoor temperature indication on the "Home" page.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_init_page_home
data:
date_color: [255, 255, 255] # White
time_format: "HH:mm"
time_color: [255, 255, 255] # White
meridiem: ["AM", "PM"]
chip_font: 8
custom_buttons_font: 9
qrcode: true
qrcode_icon: "\uE432" # Example for mdi:qrcode-scan
qrcode_icon_color: [0, 255, 0] # Green
entities_pages_icon: "\uEDCF" # Example for mdi:format-list-bulleted-square
entities_pages_icon_color: [0, 0, 255] # Blue
utilities: true
utilities_icon: "\uE299" # Example for mdi:gauge
utilities_icon_color: [255, 255, 255] # White
outdoor_temp_font: 5
```
> [!NOTE]
> Ensure to replace `<your_panel_name>` with the actual name of your panel configured in Home Assistant.
> This service customizes the "Home" page with specified settings, enhancing the panel's interface based on the project's blueprint.
### Initialization Service: `init_page_settings`
Populates the "Settings" page with configurable options in the panel,
tailored according to the project's blueprint to create a user-friendly and cohesive settings interface.
**Usage:**
This service is crucial for the initial configuration and subsequent updates of the "Settings" page.
It facilitates the customization of labels and functionalities, including reboot actions and screen brightness adjustments, directly from the panel's interface.
This customization ensures that the settings are not only accessible but also intuitive for end-users.
**Parameters:**
- `reboot` (string): Text label for the reboot button, guiding users on the action to restart the device.
- `brightness` (string): Description label for adjusting the screen's brightness.
- `bright` (string): Label preceding the slider for selecting the high brightness level, indicating the option for a brighter screen setting.
- `dim` (string): Label preceding the slider for selecting the dimmed brightness level, indicating the option for a lower light setting.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_init_page_settings
data:
reboot: "Restart Device"
brightness: "Screen Brightness"
bright: "Bright Mode:"
dim: "Dim Mode:"
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> This service customizes the "Settings" page according to specified labels, enhancing user interaction with device settings.
### Notification Clear Service: `notification_clear`
Removes any displayed notification from the screen, allowing the display to return to its normal state or view.
**Usage:**
This service is essential after displaying notifications or alerts.
It ensures the user interface remains clean and uncluttered by clearing messages once they are no longer needed or have been acknowledged.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_notification_clear
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant to ensure the service executes correctly.
This simple action clears the current notification from the display, maintaining a tidy interface.
### Notification Show Service: `notification_show`
Displays a notification message on the screen, enabling dynamic presentation of information or alerts.
**Usage:**
Designed for scenarios requiring immediate feedback or notification on the display,
this service is suitable for showing alerts, informational messages, or updates directly on the screen interface.
**Parameters:**
- `label` (string): A brief title or label for the notification, typically displayed in a prominent, bold format.
- `message` (string): The detailed message or content of the notification, providing the main information or alert to the user.
The system will automatically wrap text to fit the display unless `\r` is used to insert manual line breaks. When `\r` is present,
the system respects only the line breaks provided by the user, enhancing message formatting control.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_notification_show
data:
label: "Security Alert"
message: "Front door opened at 10:30 PM\rPlease check the entrance."
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> The action ensures the service executes correctly, displaying the notification with the specified `label` and `message`.
>
> Utilize `\r` within the message for custom line breaks, offering precise formatting control.
### Alarm Settings Page Service: `page_alarm`
Populates the alarm settings page with the current configuration and state information,
seamlessly integrating with the panel's interface to reflect the latest settings and statuses of the alarm system.
**Usage:**
The `page_alarm` service is specifically designed to dynamically update the alarm settings page, providing users with immediate access to the alarm system's controls and information.
It plays a crucial role in ensuring a responsive and user-friendly interface for alarm management, allowing for real-time interaction with the alarm system directly from the panel.
**Parameters:**
- `page_title` (string): The title displayed at the top of the alarm settings page.
- `state` (string): The current state of the alarm system, such as "armed_home" or "disarmed".
- `supported_features` (int): A bitmask indicating the features supported by the alarm system.
This determines the controls and options available on the alarm settings page.
The bitmask values are aligned with the
[Home Assistant Alarm Control Panel Supported Features](https://github.com/home-assistant/core/blob/33ff6b5b6ee3d92f4bb8deb9594d67748ea23d7c/homeassistant/components/alarm_control_panel/const.py#L32).
- `code_format` (string): Specifies the code format required for arming/disarming the alarm system, such as numeric or alphanumeric.
- `code_arm_required` (bool): Indicates whether a code is required to arm the system.
- `entity` (string): The entity ID of the alarm system, used for state updates and control actions.
- `mui_alarm` (string[]): An array of localized text strings for the alarm control buttons, supporting various alarm states and actions.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_page_alarm
data:
page_title: "Home Security System"
state: "disarmed"
supported_features: 31 # Example: Supports arm/disarm, home/away modes, etc.
code_format: "number"
code_arm_required: true
entity: "alarm_control_panel.home_alarm"
mui_alarm:
- "Zuhause"
- "Abwesend"
- "Nacht"
- "Urlaub"
- "Umgehen"
- "Entwaffnen"
```
> [!NOTE]
> Ensure to replace `<your_panel_name>` with the actual name of your panel configured in Home Assistant.
> This service configuration allows for the alarm settings page to dynamically reflect the current features, state, and control options of your alarm system, enhancing the overall user experience.
### Climate Page Service: `page_climate`
Updates the climate page with the current state information, seamlessly integrating with the panel's interface to display the latest climate settings and statuses.
**Usage:**
Designed to dynamically update the climate page, this service ensures users have instant access to climate control settings and information.
It's crucial for maintaining a responsive and informative interface for efficient climate management.
**Parameters:**
- `current_temp` (float): The current temperature.
- `supported_features` (int): Bitmask indicating the climate device's supported features.
These features determine the available climate controls and settings on the device.
The bitmask values correspond to features such as temperature control, mode setting, fan speed adjustment, etc., as defined in Home Assistant's climate component constants.
For detailed descriptions of each feature and its corresponding bitmask value, refer to the
[Home Assistant Climate Component Constants](https://github.com/home-assistant/core/blob/33ff6b5b6ee3d92f4bb8deb9594d67748ea23d7c/homeassistant/components/climate/const.py#L156C7-L156C27).
- `target_temp` (float): The set target temperature.
- `target_temp_high` (float): The high end of the target temperature range, for devices that support temperature ranges.
- `target_temp_low` (float): The low end of the target temperature range.
- `temp_step` (int): Increment step for temperature adjustment, effectively the granularity of temperature change allowed.
- `total_steps` (int): Total number of steps for temperature adjustment, calculated as ((temp_max - temp_min) / temp_step).
- `temp_offset` (int): Offset applied to the temperature reading for calibration.
- `climate_icon` (string): Icon representing the current climate status,
selected from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html).
- `embedded_climate` (bool): Flag indicating if climate controls are embedded within the interface.
- `entity` (string): Entity ID for the climate device.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_page_climate
data:
current_temp: 22.5
supported_features: 1 | 4 # Assuming '1' is for temperature control and '4' is for fan mode, as an example.
target_temp: 24.0
target_temp_high: 25.0
target_temp_low: 19.0
temp_step: 5 # Adjust in 0.5°C increments.
total_steps: 56 # Calculated based on the device's temperature range and step.
temp_offset: 70 # Applied as a calibration offset.
climate_icon: "\uE392" # mdi:thermostat
embedded_climate: true
entity: "climate.living_room"
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> This service ensures the climate page reflects the latest in climate control settings, enhancing the user experience by providing up-to-date information.
### Media Player Page Service: `page_media_player`
Updates the media player page with current configuration and state information,
integrating seamlessly with the panel's interface to display the latest media playback status and controls.
**Usage:**
The `page_media_player` service is specifically tailored to dynamically update the media player page, ensuring users have immediate access to media playback controls and information.
This service is essential for providing a responsive and user-friendly interface for media management, allowing real-time interaction with the media player directly from the panel.
**Parameters:**
- `entity` (string): The entity ID of the media player.
- `state` (string): The current state of the media player (e.g., playing, paused, stopped).
- `is_volume_muted` (bool): Indicates whether the volume is currently muted.
- `friendly_name` (string): The friendly name of the media player to be displayed as the page title.
- `volume_level` (int): The current volume level of the media player.
- `media_title` (string): The title of the currently playing media.
- `media_artist` (string): The artist of the currently playing media.
- `media_duration` (float): The total duration of the currently playing media in seconds.
- `media_position` (float): The current playback position within the media in seconds.
- `media_position_delta` (float): The amount of time in seconds since the last update of the media position.
- `supported_features` (int): A bitmask indicating the features supported by the media player, such as play/pause, next/previous track, volume control, etc.
The bitmask values correspond to the
[Home Assistant Media Player Supported Features](https://github.com/home-assistant/core/blob/33ff6b5b6ee3d92f4bb8deb9594d67748ea23d7c/homeassistant/components/media_player/const.py#L177).
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_page_media_player
data:
entity: "media_player.living_room"
state: "playing"
is_volume_muted: false
friendly_name: "Living Room Player"
volume_level: 40
media_title: "Favorite Song"
media_artist: "Famous Artist"
media_duration: 180
media_position: 30
media_position_delta: 0.5
supported_features: 84 # Example: Play, Pause, Next, Previous
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> This service ensures the media player page reflects the latest in media playback settings and status, enhancing the user experience by providing up-to-date information.
### QR Code Service: `qrcode`
Displays a QR code on the display, which can be used for various purposes such as sharing a WiFi password or linking to a website.
**Usage:**
This service enables the dynamic display of QR codes on a specified page of the ESPHome user interface, allowing for the convenient sharing of information.
It's particularly useful for settings where quick, scannable access to data is beneficial.
**Parameters:**
- `title` (string): The title or heading to display above the QR code, providing context or instructions.
- `qrcode` (string): The actual data or URL to be encoded into the QR code.
- `show` (bool): A flag that determines whether to immediately display the QR code page upon calling the service.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_qrcode
data:
title: "Wi-Fi Access"
qrcode: "WIFI:T:WPA;S:mynetwork;P:mypass;;"
show: true
```
<!-- markdownlint-disable MD028 -->
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> This service will generate and display the QR code based on the provided data, navigating to the QR code page if `show` is set to `true`.
> [!NOTE]
> This service is typically invoked during initialization to preload QR Code information based on blueprint settings,
> ensuring the data is accessible on the panel even without Wi-Fi connectivity.
> To update the QR Code information without immediately displaying it, call this service with `show: false`.
> This allows for seamless updates to the QR Code content without disrupting the current user interface.
<!-- markdownlint-enable MD028 -->
### RTTTL Play Service: `rtttl_play`
Plays melodies encoded in the RTTTL format, enabling the integration of audio feedback or alerts with simple text-based melody strings.
**Usage:**
This service is perfect for projects requiring audio signals, such as notifications, alerts, or simple melodies, by interpreting RTTTL (Ring Tone Text Transfer Language) strings.
RTTTL is a compact format for storing melody sequences in a text-based format, making it ideal for simple audio devices like buzzers.
**Parameters:**
- `tone` (string): The RTTTL string representing the melody to be played.
This string must conform to the RTTTL format, which includes the melody's name, default settings, and a sequence of notes.
**Example Tones:**
For example tones and further inspiration, you can visit examples of RTTTL songs [here](https://codebender.cc/sketch:109888#RTTTL%20Songs.ino).
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_rtttl_play
data:
tone: "The Simpsons:d=4,o=5,b=160:c.6,e6,f#6,8a6,g.6,e6,c6,8a,8f#,8f#,8f#,2g,8p,8p,8f#,8f#,8f#,8g,a#.,8c6,8c6,8c6,c6"
```
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant to ensure correct service execution.
>
> Ensure the `tone` parameter contains a valid RTTTL string to successfully play the melody.
### TFT File Update Service: `upload_tft`
Enables the remote update of the panel's TFT file from a specified URL or a default location, available exclusively with the "Upload TFT" add-on installed.
This service is valuable for downloading alternative TFT files for customization or addressing file access issues.
**Usage:**
This service is crucial for dynamically updating the TFT file, facilitating seamless transitions between different configurations or updates.
It's particularly useful for applying custom interface designs or updates when direct access to the repository is limited.
**Parameters:**
- `url` (string): The URL for downloading the TFT file.
If set to "default", it utilizes the URL from the "**Update TFT - Display Model**" selection in Home Assistant (**Settings** > **Devices & Services** > **ESPHome**).
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_upload_tft
data:
url: "http://homeassistant.local:8123/local/custom_tft_file.tft" # URL to the new TFT file
```
<!-- markdownlint-disable MD028 -->
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant.
> Using "default" fetches the URL associated with the selected display model in Home Assistant settings, simplifying updates or customizations.
> [!ATTENTION]
> The "Upload TFT" add-on must be installed for this service to be available, enhancing the panel's flexibility for interface customization or troubleshooting.
<!-- markdownlint-enable MD028 -->
### Value Service: `value`
Updates an entity to display specific values, allowing for dynamic updates of icons, names, and value colors within Home Assistant.
**Usage:**
This service is intended for entities that need to display information dynamically, such as sensor readings or state values, with customized icons, names, and color coding for both icon and value.
**Parameters:**
- `id` (string): Identifier of the entity being updated. For details on entity identifiers, refer to "[Screen components](#screen-components)".
- `icon` (string): Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html).
Indicates the icon displayed next to the value.
- `icon_color` (int[]): RGB color array for the icon, allowing for custom icon colors.
- `name` (string): The display name for the entity, useful for labeling the value displayed.
- `value` (string): The actual value to be displayed next to the icon and name.
- `value_color` (int[]): RGB color array for the value text, enabling custom coloring of the displayed value.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_value
data:
id: "sensor.temperature"
icon: "\uE6E8" # Example for mdi:thermometer
icon_color: [255, 0, 0] # Red
name: "Temperature"
value: "75°F"
value_color: [255, 255, 0] # Yellow
```
> [!NOTE]
> Replace `<your_panel_name>` with your specific panel name as configured in Home Assistant to ensure correct service execution.
### Wake Up Service: `wake_up`
Activates the display from a screensaver or low-power state, enabling dynamic interface adjustments based on user interactions or automated triggers.
**Usage:**
Ideal for scenarios requiring the display to become active upon certain events, such as motion detection, thereby conserving energy while ensuring the display is available when needed.
**Parameters:**
- `reset_timer` (bool): Determines whether to reset the sleep and dimming timers upon waking up the display.
Setting this to `true` ensures the display remains active during user presence, while `false` retains the existing timer durations.
**Home Assistant Example:**
```yaml
service: esphome.<your_panel_name>_wake_up
data:
reset_timer: true
```
> [!NOTE]
> Replace `<your_panel_name>` with the specific name of your panel configured in Home Assistant.
> This action ensures the service is executed correctly, waking the display and optionally resetting timers based on the reset_timer parameter.
**Practical Use Case: Motion Sensor Activation:**
This service can be seamlessly integrated with a motion sensor to wake the display when motion is detected, making it instantly usable.
Additionally, if the display is already awake, calling this service with `reset_timer: true` can reset the sleep timer,
keeping the display active as long as there is movement and allowing it to sleep normally once no motion is detected.
The example bellow integrates the `wake_up` service with a motion sensor to ensure the display wakes or remains awake during periods of activity, reverting to sleep mode after inactivity.
```yaml
automation:
- alias: "Wake Display on Motion"
trigger:
- platform: state
entity_id: binary_sensor.motion_sensor_123
to: 'on'
action:
- service: esphome.<your_panel_name>_wake_up
data:
reset_timer: true
mode: restart
```
> [!NOTE]
> Adjust `<your_panel_name>` and `binary_sensor.motion_sensor_123` to your actual panel and sensor entity IDs.
> This setup ensures the display is responsive to environmental conditions, enhancing user interaction while managing energy consumption efficiently.
## Screen components
### Home Page - Chips
![Image](pics/Nextion_Components_Home_Chips_EU.png)
![Image](pics/Nextion_Components_Home_Chips_US.png)
#### User-defined Chips
- **Description**: Chips are icons that are shown in specific situations or hidden. Their behaviour is controlled by the blueprint.
- **Type**: Icon only with no touch commands.
- **Availability**: Global (available even when page is not visible).
- **Ids**: `home.chip01` to `home.chip07`.
#### Relays Chips
- **Description**: Icons representing each of the relays states.
- **Type**: Icon only with no touch commands.
- **Availability**: Global (available even when page is not visible).
- **Ids**: `home.chip_relay1` and `home.chip_relay2`.
#### Climate Chip
- **Description**: Icon representing the state of the main climate entity.
- **Type**: Icon only with no touch commands.
- **Availability**: Global (available even when page is not visible).
- **Ids**: `home.chip_relay1` and `home.chip_relay2`.
### Home Page - Custom buttons
![Image](pics/Nextion_Components_Home_Custom_Buttons_EU.png)
![Image](pics/Nextion_Components_Home_Custom_Buttons_US.png)
### Home Page - Values
![Image](pics/Nextion_Components_Home_Values_EU.png)
![Image](pics/Nextion_Components_Home_Values_US.png)
This is a multi-component system, with names `value01` to `value03` containing the state of the entity,
where `value01_icon` to `value03_icon` supports the icons.
### Entities Pages - Values
Just like in "[Home Page - Values](#home-page---values)", this is a multi-component system, with names `value01` to `value08` containing the state of the entity,
where `value01_icon` to `value08_icon` supports the icons and, exclusivelly in the Entities pages, `value01_label` to `value08_label`,
which will contain the friendly name or some alternative label for the entities.
Each to these sets are sent using the [Value Service (`value`)](#value-service-value), with up to 8 individual calls to this service for each page construction.

252
docs/blueprint.md Normal file
View File

@@ -0,0 +1,252 @@
# Blueprint Automation
This article covers the settings in the Blueprint Automation.
The Blueprint Automation is the central configuration element of this solution for the NSPanel.
In principle, the setup of the automation is self-explanatory.
The individual elements of the Blueprint are described below.
It is possible to change both the color of the labels and the icons for most of the elements on each screen.
On the blueprint settings, you will be able to select any of the MDI icons supported by Home Assistant, however, your panel will only support the icons available on the [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html).
For an easier overview, the menu items "Icon Color" and "Label Color" will not be described separately in the following documentation.
## Basic settings
### NSPanel device (REQUIRED)
You will be presented with a list of all of your ESPHome ESP32 devices and you must select your panel from the list.
This is technically the only required field, as basic functionality will be available when the Blueprint knows to which panel it has to send the settings.
> [!NOTE]
> You cannot have more than one blueprint based automation per each panel
### Language for NSPanel
The language can be selected via the drop-down menu.
Currently around 30 languages are supported, but if you cannot find your language there,
please create a [new feature request](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/new) and we will be happy to help.
### Date format
Select how you want to see the date displayed on your panel (Home page and weather pages are affected).
### Time format
Select how you want to see the time displayed on your panel's Home page.
### Timezone
Select the timezone for this panel. Default (nothing) sets the timezone of the machine the firmware was compiled on. Important to set for prebuilt firmware.
## Weather and Temperature
### Weather entity from HA
Select a Weather entity to use.
Most of the weather integrations are supported, however some may be able to provide more information than others.
We run all of our tests with "Accuweather", so the parameters shown on the panel are targetting this integration and will be shown with your integration when available.
### Outdoor temperature Sensor (Optional)
Optionally, the value of an outdoor temperature sensor can be used here.
If no separate sensor is used, the value of the weather integration will be used.
### Indoor Temperature Sensor (Optional)
An indoor temperature sensor is not necessary.
Leave the field empty if you want to use the temperature sensor of the NSPanel.
If the value of the sensor needs to be corrected, this can be done via the temperature correction for the NSPanel under HA Devices.
## Home page - Entities States
### Home page - Entity 01-04 (Optional)
Up to four entities can be displayed on the home screen.
Select the corresponding HA entity.
## Home page - Chips
### Chip 01-07 - Entity (Optional)
Used to display HA entities on the home screen.
For example to display the status of a specific switch on the NSPanel.
## Home page - Custom buttons
### Custom button 01-06 - Entity (Optional)
Your panel will show 10 buttons on the Home page.
4 of those are fixed for Notifications, QR Code, Entities pages and Alarm, but you have additional 6 custom buttons that can be assigned to different entities from your Home Assistant.
The behavior of these buttons will depend on the entity's domain (light, media player, etc).
## Alarm Control Panel
An alarm control panel entity can be controlled by your panel.
When you assign the entity here, its icon will be shown as a button on the Home page.
## Climate
### Climate to Control (Optional)
Here you select the main climate entity controlled by your panel.
Its temperature will be used on the Home page and by clicking on that value you will be able to control the climate settings.
You can optionally use your panel to control a climate system locally, using its temperature sensor and relays.
You will find more details about this on the Add-on Climate documentation.
If you are using the climate add-on, it will create a climate entity in your panel's device page.
You still have to select that entity on this field in the blueprint settings to have it used as your main climate.
Additional climate entities can be assigned to buttons and will be explained later in this document.
On the blueprint settings, you will also find settings for sensors and custom buttons to be shown on all the climate pages.
## QR Code
### Activate QR Code (Optional)
Activates the QR Code page and shows the QR Code button on the Home page.
### QR Code content (Optional)
String, which is shown as a QR Code on the NSPanel.
This can be a simple text, an URL or could also be used for a simplified login to the Wi-Fi.
Here is an example (simply change SSID and password to your credentials and either use "WPA" or "WEP"):
`WIFI:S:SSID;T:WPA/WEP;P:PASSWORD;;`
#### Example:
For a network with the following parameters:
- **SSID:** my_ssid
- **Pass:** MySecurePa$$w0rd
- **Type:** WPA
Your QR code string will look like this:
`WIFI:S:my_ssid;T:WPA;P:MySecurePa$$w0rd;;`
For more details about these specifications, please visit the [WPA3™ Specification v3.1, chapter 7](https://www.wi-fi.org/system/files/WPA3%20Specification%20v3.1.pdf#page=24).
## Hardware Buttons
### Visibility Pages
Choose the pages where the bars, indicating the status of entities linked to hardware buttons, will be displayed.
### Activate Relay x local Fallback (Optional)
Normally, the internal relays of the NSPanels are triggered via HA.
If the NSPanel loses Wi-Fi connection or HA is down, the hardware button can then switch the corresponding relay directly.
### Left/Right Hardware Button - Entity (Optional)
The entity that should be switched with the left/right hardware button.
### Left/Right Hardware Button Name - Label (Optional)
Text on the screen above the corresponding hardware button (home screen).
### Left/Right Hardware Button hold assignment - VALUE (optional)
Selection of what action should happen when the button is pressed for a longer time.
### Left/Right Hardware Button custom hold action - VALUE (Optional)
Selection of the action to start when holding the button.
## Button Page 01-04
### Button Page 01-04 name - LABEL (Optional)
Text on the respective button screens.
### Buttons 01 - 32 (Optional)
The buttons can be accessed by swiping on the Home Screen and their functions are completely identical.
Either the individual button pages can be accessed one after the other by swiping to the left, or the button pages can be accessed directly by swiping up, down or to the right.
The buttons are numbered as follows:
#### EU and US landscape models:
| | Button Page 1 | Button Page 2 | Button Page 3 | Button Page 4 |
| :--: | :--: | :--: | :--: | :--: |
| Row 1 | 01 02 03 04 | 09 10 11 12 | 17 18 19 20 | 25 26 27 28 |
| Row 2 | 05 06 07 08 | 13 14 15 16 | 21 22 23 24 | 29 30 31 32 |
#### US model:
| | Button Page 1 | Button Page 2 | Button Page 3 | Button Page 4 |
| :--: | :--: | :--: | :--: | :--: |
| Row 1 | 01 &nbsp;&nbsp;&nbsp; 02 | 09 &nbsp;&nbsp;&nbsp; 10 | 17 &nbsp;&nbsp;&nbsp; 18 | 25 &nbsp;&nbsp;&nbsp; 26 |
| Row 2 | 03 &nbsp;&nbsp;&nbsp; 04 | 11 &nbsp;&nbsp;&nbsp; 12 | 19 &nbsp;&nbsp;&nbsp; 20 | 27 &nbsp;&nbsp;&nbsp; 28 |
| Row 3 | 05 &nbsp;&nbsp;&nbsp; 06 | 13 &nbsp;&nbsp;&nbsp; 14 | 21 &nbsp;&nbsp;&nbsp; 22 | 29 &nbsp;&nbsp;&nbsp; 30 |
| Row 4 | 07 &nbsp;&nbsp;&nbsp; 08 | 15 &nbsp;&nbsp;&nbsp; 16 | 23 &nbsp;&nbsp;&nbsp; 24 | 31 &nbsp;&nbsp;&nbsp; 32 |
When the respective button is pressed, a toggle action is executed or the corresponding page is automatically opened, e.g.
the cover control for covers, etc.
For 2 state buttons (where toggle is the default action), a long press in the button will open it's corresponding page, when supported.
For each button an own name can be specified optionally.
All buttons offer the possibility to optionally confirm the execution of the action.
This can be activated or deactivated separately for each button via *"Confirm execution of the button press"*.
## Entity Page 01-04
### Activate Entity Page (Optional)
This option activates the entity pages on the Home Screen.
The entity pages can be used for example to display values or statuses of entities on the individual pages.
### Entity Page 01-04 name - LABEL (Optional)
Naming of the corresponding Entity Screens.
### Entity 01 - 32 (Optional)
The entity pages can be accessed by pressing the symbol on the Home Screen and their functions are completely identical.
The entities are numbered as follows:
| Entity page | Entities shown |
| :--: | :--: |
| 1 | 01 to 08 |
| 2 | 09 to 16 |
| 3 | 17 to 24 |
| 4 | 25 to 32 |
Additionally there is the possibility to choose an icon of your choice for the Entities button on the Home page.
Of course there is also the possibility to enter a label for each of the 4 pages and the aligment for the values on the entities pages.
## Advanced Settings
### System settings - Decimal Separator
Choose the decimal separator for displaying numbers.
### Delay to avoid synchronization problems
If the Wi-Fi signal is poor, you may have issues when loading some pages.
If this happens, try to increase this delay as that may help.
### Nextion TFT File Folder (Optional)
Specify the path to the folder containing the Nextion TFT file. This is to be used together with the option nextion_upload_tft on the "Update TFT Display - Model" option on the device's page.
## Example Screenshots
![Blueprint 01](pics/ha_blueprint_01.png)
![Blueprint 02](pics/ha_blueprint_02.png)
![Blueprint 03](pics/ha_blueprint_03.png)
![Blueprint 04](pics/ha_blueprint_04.png)
![Blueprint 05](pics/ha_blueprint_05.png)

750
docs/customization.md Normal file
View File

@@ -0,0 +1,750 @@
# Customization
Table of contents:
- [Description](#description)
- [Instructions](#instructions)
- [Memory Management](#memory-management)
- [Removing Standard Settings](#removing-standard-settings)
- [Examples](#examples)
- [API encryption](#api-encryption)
- [Custom OTA password](#custom-ota-password)
- [Web server credentials](#web-server-credentials)
- [Reboot when API fails](#reboot-when-api-fails)
- [Manual IP](#manual-ip)
- [Hidden Wi-Fi](#hidden-wi-fi)
- [Connect to multiple networks](#connect-to-multiple-networks)
- [SNTP (time) server](#sntp-time-server)
- [Sensor for display awake vs sleeping](#sensor-for-display-awake-vs-sleeping)
- [Deep sleep](#deep-sleep)
- [Enforce time zone](#enforce-time-zone)
- [Compiling ESPHome on lower powered machines](#compiling-esphome-on-lower-powered-machines)
- [Sleep & Wake-up buttons](#sleep--wake-up-buttons)
- [Set display as a light](#set-display-as-a-light)
- [Scheduled actions](#scheduled-actions)
- [Scheduled relay](#scheduled-relay)
- [Scheduled climate](#scheduled-climate)
- [Frameworks](#frameworks)
- [Framework `arduino`](#framework-arduino)
- [Framework `esp-idf`](#framework-esp-idf)
- [Bluetooth proxy](#bluetooth-proxy)
- [BLE tracker](#ble-tracker)
- [Logger via UART](#logger-via-uart)
- [Climate custom presets](#climate-custom-presets)
- [Push button / Momentary switch](#push-button--momentary-switch)
- [Expose relay fallback switch](#expose-relay-fallback-switch)
- [Relay Interlocking](#relay-interlocking)
- [Remove non-essential components](#remove-non-essential-components)
&nbsp;
&nbsp;
## Description
This project adds lots of functionalities to your NSPanel and we are constantly adding new features based on user's feedback.
However, you might have some specific case that are not included on the current implementation or is not a common case for other users.
You can take advantage of [ESPHome Configuration Types](https://esphome.io/guides/configuration-types.html) to add your custom functionality
or even to customize an existing functionality with minimum effort and this document intents to clarify how to use this and give some examples of customization.
Please feel free to add your own customation to this document by creating a PR in the `dev` branch.
***IMPORTANT:***
- *Use customization at your own risk. Custom/advanced systems won't be supported by this project's team.*
- *Please monitor the memory consumption when using customizations. Getting closer to the full memory can drive to errors in the system or prevent your system to support the future updates.*
&nbsp;
## Instructions
There's nothing particular for this project, so you can just use any of the [ESPHome Configuration Types](https://esphome.io/guides/configuration-types.html)
and only edit your local ESPHome yaml settings.
Most of the ESPHome components in this project contains an `Id`, which can be used together with the `!extend` key to add or replace existing code.
You should add your customizations at the end of your ESPHome yaml, as in the example bellow:
```yaml
substitutions:
# Settings - Editable values
device_name: "YOUR_NSPANEL_NAME"
friendly_name: "Your panel's friendly name"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
# Add-on configuration (if needed)
## Add-on climate
# heater_relay: "1" # Possible values: "1" or "2"
# Customization area
##### My customization - Start #####
# Encrypt the communication between ESPHome and Home Assistant
api:
encryption:
key: !secret api_encryption_key
# More detailed log (for troubleshooting only)
logger:
level: VERBOSE
##### My customization - End #####
# Basic and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
# - esphome/nspanel_esphome_advanced.yaml
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
# - esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
```
## Memory Management
When adding new components or code to your ESP32, it's important to be mindful of memory usage.
Your device has limited memory, and every addition uses some of this precious resource.
### Understanding Memory Usage
After compiling your firmware, you'll see a summary showing how much memory your firmware needs.
Here's what it might look like:
```log
Successfully created esp32 image.
Linking .pioenvs/office-workstation-panel/firmware.elf
RAM: [= ] 10.5% (used 34484 bytes from 327680 bytes)
Flash: [======= ] 67.5% (used 1239253 bytes from 1835008 bytes)
Building .pioenvs/office-workstation-panel/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
```
- **Static Memory**: This is the memory required to load your firmware.
Running your firmware requires additional memory.
- **Dynamic Memory**: This is the memory allocated while your firmware is running.
ESPHome checks if your static memory usage exceeds your device's limits to prevent installation issues, but it doesn't check dynamic memory usage.
**Aim to keep static RAM usage below 20% and static Flash usage below 75%** to ensure there's enough room for dynamic operations.
### Risks of Exceeding Memory Limits
Exceeding memory limits can lead to issues:
- **During Compilation**: ESPHome might prevent firmware installation if static memory is too high.
- **During Runtime**: Exceeding dynamic memory can cause unexpected restarts.
- **During Startup**: If your device runs out of memory at startup, it may not load the firmware, resulting in a black screen and an unresponsive device.
The solution is to use a serial cable to reflash your device with a lighter firmware.
### Tips for Managing Memory
- Be cautious when adding memory-intensive components like `bluetooth_proxy`.
- Compile your firmware with the option to download it before installation.
This lets you check static memory usage without risking wireless installation issues.
## Removing Standard Settings
You can use customizations to remove certain default components or settings from this project.
This is useful for altering standard settings or freeing up memory for additional components.
Here's how you might remove some default settings:
```yaml
# Removes the `captive_portal` component
captive_portal: !remove
# Removes the OTA password
ota:
password: !remove
```
> [!ATTENTION]
> Be aware of the implications before removing components or settings.
> Some of them are crucial for allowing your panel to interact correctly with the blueprint or for enabling ESPHome to install the firmware Over The Air.
> Incorrect removals could render your panel unusable, potentially requiring a reflash via a serial cable.
## Examples
### API encryption
> [!IMPORTANT]
> Changing the API encryption can break the connection to Home Assistant,
> requiring the device to be removed from integrations (**Settings** > **Devices & Services** > **ESPHome**) and then re-added.
This is highly recommended when you are transfer sensitive information between your panel and Home Assistant,
as when you use your panel to enter the PIN for an Alarm Control Panel.
```yaml
# Encrypt the communication between ESPHome and Home Assistant
api:
encryption:
key: !secret api_encryption_key
```
### Custom OTA password
By default, the Wi-Fi password will be used as your OTA password, but you can replace it.
First, you need to change the default password using this code.
```yaml
# change OTA password, remove after flashing
esphome:
on_boot:
- priority: 601.0
then:
- lambda: |-
id(my_ota).set_auth_password("New password");
ota:
password: !secret wifi_password
id: my_ota
```
After flashing the device, you must remove the code above and replace it with the code below to start using this customization.
```yaml
# Use my global OTA password
ota:
password: !secret ota_password
```
### Web server credentials
By default, the web server credentials are defined by this project using `admin` as `username` and your `Wi-Fi password` as `password`, but you can replace it using this customization:
```yaml
# Custom web server credentials
web_server:
auth:
username: !secret web_server_username
password: !secret web_server_password
```
### Reboot when API fails
Reboot your panel if it loses it's connection to Home Assistant for more than a certain time (15 minutes in this example).
Sometimes the low level ESP functions could report that the ESP is connected to the network, when in fact it is not and only a full reboot fixes it.
To support long times without Wi-Fi, this is disabled by default in this project, but you can set a reasonable interval to restart, based on your network reliability.
```yaml
# Reboot if HA is not connected for 15 minutes
api:
reboot_timeout: 15min
```
### Manual IP
Set IP address manually.
> [!ATTENTION]
> At least one DNS server is required to enable TFT transfer direcly from GitHub, otherwise use `nextion_update_url`.
```yaml
# Set IP address manually
wifi:
networks:
- id: !extend wifi_default
manual_ip:
static_ip: 192.168.0.123
gateway: 192.168.0.1
subnet: 255.255.255.0
dns1: 1.1.1.1 # At least one DNS server is required to enable TFT transfer direcly from GitHub, otherwise use `nextion_update_url`.
dns2: 8.8.8.8
```
### Hidden Wi-Fi
Connect to a hidden Wi-Fi network.
```yaml
# Connect to a hidden Wi-Fi network.
wifi:
networks:
- id: !extend wifi_default
hidden: true
fast_connect: true
```
### Connect to multiple networks
NSPanel will attempt to connect to the one with the highest signal strength or, if you set a priority, it will try to connect to the highest priority.
After failing it will connect to the second network.
```yaml
# Set dual network
wifi:
networks:
- id: !extend wifi_default
priority: 10
- ssid: !secret wifi_ssid_backup
password: !secret wifi_password_backup
priority: 0
```
### SNTP (time) server
ESPHome takes it's time from Home Assistant, however you can configure it to use a Network Time Server instead.
```yaml
# Use my own local network time server
time:
- id: !extend time_provider
platform: sntp
servers:
- !secret mysntpserver
- europe.pool.ntp.org
- 0.pool.ntp.org
```
### Sensor for display awake vs sleeping
Creates a binary sensor to indicate either when the display is showing some page (`on`) or sleeping (`off`).
```yaml
# Is display awake?
binary_sensor:
- name: Display state
id: display_state
platform: template
lambda: |-
return (current_page->state != "screensaver");
```
You can easily invert the meaning to have a sensor for display sleeping:
```yaml
# Is display sleeping?
binary_sensor:
- name: Display sleeping
id: display_sleeping
platform: template
lambda: |-
return (current_page->state == "screensaver");
```
### Deep sleep
In this example, the panel will deep sleep for 7 hours, starting at 23:00:00 every day, for its maximum energy saving.
During this time, nothing will be shown, the screen will be off and therefore no response to touch, and the panel will be disconnected from Wi-Fi,
but you can still wake-up the panel by pressing one of the hardware buttons (the left one in this example):
```yaml
# Define the wake-up button. Use pin 14 for left button or pin 27 for right button
deep_sleep:
wakeup_pin:
number: 14
allow_other_uses: true
wakeup_pin_mode: INVERT_WAKEUP
binary_sensor:
- id: !extend left_button
pin:
allow_other_uses: true
time:
- id: !extend time_provider
on_time:
- hours: 23
minutes: 0
seconds: 0
then:
- deep_sleep.enter:
sleep_duration: 7h
```
You can find more ideas around this on [#955](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/955).
### Enforce time zone
Until v3.4 (including), the time was coming from Home Assistant with it's timezone, so the Blueprint was sending the info with no transformation, to the panel.
From v4.0, the time reference still coming from HA (or optionally from a time server), but is calculated in ESPHome, which will try to detect the timezone from the server.
From v4.3.3 or later, the time still calculated on ESPHome side, however, you can select the timezone on the Blueprint, making this customization obsolete.
If your system is not showing the time in the correct timezone, it's probabily ESPHome not succeeding on finding your time zone.
You can easily force a timezone by adding this to your ESPHome settings:
```yaml
time:
- id: !extend time_provider
timezone: "America/Cancun"
```
### Compiling ESPHome on lower powered machines
For systems with lower CPU or memory capabilities, like an RPi 3 or systems with less than 2GB of RAM, this could help preventing errors caused by lack of resources when compiling ESPHome firmware.
More datails on the [ESPHome docs](https://esphome.io/changelog/2022.11.0.html#running-esphome-on-lower-powered-machines).
```yaml
# Limit the amount of resources used for compiling
esphome:
compile_process_limit: 1
```
### Sleep & Wake-up buttons
There are several ways to wake-up or put your panel to sleep, but in this example we tried a simple approach by adding two buttons (you can implement only one of those if you want):
```yaml
button:
# Adds a button to put the panel to sleep
- name: Sleep
id: force_sleep
platform: template
icon: mdi:sleep
on_press:
then:
- logger.log: Button Sleep pressed
- lambda: |-
goto_page->execute("screensaver");
# Adds a button to wake-up the panel (similar to the existing service)
- name: Wake-up
id: force_wake_up
platform: template
icon: mdi:alarm
on_press:
then:
- logger.log: Button Wake-up pressed
- lambda: |-
if (current_page->state == "screensaver") id(disp1).goto_page(id(wakeup_page_name).state.c_str());
// timer_page->execute(); // enable this if you want page timeout to be reset
timer_sleep->execute();
timer_dim->execute();
```
### Set display as a light
You can set your display as a light in Home Assistant, so you can control the brightness and turn on/off just like any other light,
and even use this in your automation to control when your panel is on with the same automation you use for your lights:
```yaml
light:
# Add the display as a light in Home Assistant
- name: Display
id: display_light
icon: mdi:tablet-dashboard
platform: monochromatic
output: display_output
default_transition_length: 0s
on_turn_on:
then:
- lambda: |-
ESP_LOGD("light.display_light", "Turn-on");
if (current_page->state == "screensaver") disp1->goto_page(wakeup_page_name->state.c_str());
timer_reset_all->execute();
on_turn_off:
then:
- lambda: |-
ESP_LOGD("light.display_light", "Turn-off");
goto_page->execute("screensaver");
output:
# Output required by `display_light` to send the commands to Nextion
- id: display_output
platform: template
type: float
write_action:
- lambda: |-
ESP_LOGV("output.display_output", "state: %f", state);
uint8_t current_brightness = int(round(display_light->current_values.is_on() ? (display_light->current_values.get_brightness() * 100.0f) : 0.0));
ESP_LOGV("output.display_output", "current_brightness: %i%%", current_brightness);
set_brightness->execute(current_brightness);
script:
# Updates the existing `page_changed` script to update the `display_light` status when a page changes
- id: !extend page_changed
then:
- lambda: |-
ESP_LOGD("script.page_changed(custom)", "page: %s", current_page->state.c_str());
ESP_LOGV("script.page_changed(custom)", "is_on(): %s", display_light->current_values.is_on() ? "True" : "False");
if (current_page->state == "screensaver" and display_light->current_values.is_on()) {
auto call = display_light->turn_off();
call.perform();
} else if (current_page->state != "screensaver" and (not display_light->current_values.is_on())) {
auto call = display_light->turn_on();
call.perform();
}
# Updates the existing `set_brightness` script to update the `display_light` status when a new brightness level is set
- id: !extend set_brightness
then:
- lambda: |-
ESP_LOGD("script.set_brightness(custom)", "brightness: %.0f%%", brightness);
uint8_t current_light_brightness = int(round(display_light->current_values.is_on() ? (display_light->current_values.get_brightness() * 100.0f) : 0.0));
ESP_LOGV("script.set_brightness(custom)", "current_light_brightness: %i%%", current_light_brightness);
if (brightness != current_light_brightness) {
if (current_page->state != "screensaver" and brightness > 0) {
auto call = display_light->turn_on();
call.set_brightness(static_cast<float>(current_brightness->state) / 100.0f);
call.perform();
} else if (display_light->current_values.is_on()) {
auto call = display_light->turn_off();
call.set_brightness(0);
call.perform();
}
}
```
### Scheduled actions
Although ESPHome doesn't have a Scheduler component, it is possible to use the timer to schedule actions and this is entirely managed in the device,
so it will work even if Home Assistant and/or the Wi-Fi are unavailable.
Following some examples:
#### Scheduled relay
```yaml
# Scheduled relay
time:
- id: !extend time_provider
on_time:
- hours: 7
minutes: 30
seconds: 0
then:
- switch.turn_on: relay_1
- hours: 12
minutes: 15
seconds: 0
then:
- switch.turn_off: relay_1
- hours: 19
minutes: 0
seconds: 0
then:
- switch.turn_on: relay_1
- hours: 23
minutes: 30
seconds: 0
then:
- switch.turn_off: relay_1
```
#### Scheduled climate
> [!NOTE]
> This requires add-on climate to be installed
```yaml
# Scheduled climate
time:
- id: !extend time_provider
on_time:
- hours: 7
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 22°C
- hours: 19
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 20°C
- hours: 23
minutes: 0
seconds: 0
then:
- climate.control:
id: thermostat_embedded
mode: auto
target_temperature: 18°C
```
### Frameworks
> [!IMPORTANT]
> When switching between frameworks, make sure to update the device with a serial cable as the partition table is different between the two frameworks
as [OTA Update Component](https://esphome.io/components/ota) updates will not change the partition table. While it will appear to work, the device will boot the old framework after a reset.
This project currently uses `esp-idf` as default framework.
You can overlap the settings with this customization.
> [!NOTE]
> For more info about frameworks, please visit [ESPHome docs](https://esphome.io/components/esp32).
`esp-idf` is maintained by EspressIF and is kept updated,
more boards are supported and the memory management is better, making it ideal if you wanna customize your panel to support memory consumption functionalities,
like `bluetooth_proxy` or [Improv](https://www.improv-wifi.com/). Consequently, this project uses `esp-idf` as the default framework since `v4.3`.
However, the `arduino` protocol still very popular and, therefore, more components are available and the project allows to switch between the frameworks
by adding the following lines in your panel's yaml file.
#### Framework `arduino`
```yaml
# Change framework to `arduino`
esp32:
framework:
type: arduino
```
#### Framework `esp-idf`
```yaml
# Change framework to `esp-idf`
# (should not be required)
esp32:
framework:
type: esp-idf
```
### Bluetooth Proxy
Please refer to the "[Add-on: Bluetooth Proxy](addon_bluetooth_proxy.md)" guide.
### BLE Tracker
Please refer to the "[Add-on: BLE Tracker Proxy](addon_ble_tracker.md)" guide.
### Logger via UART
By default, the logging via hardware UART is disable in this project.
You can enable it by setting the baud rate accordingly to your interface:
```yaml
# Enable hardware UART serial logging
logger:
baud_rate: 115200
```
### Climate custom presets
```yaml
# Add custom presets to your climate (heat in this example)
climate:
- id: !extend thermostat_embedded
default_preset: "Home"
preset:
- name: "Off"
default_target_temperature_low: ${temp_min} ${temp_units}
mode: "off"
- name: Home
default_target_temperature_low: 21 ${temp_units}
mode: "heat"
- name: Away
default_target_temperature_low: 16.5 ${temp_units}
mode: "heat"
- name: Sleep
default_target_temperature_low: 17.5 ${temp_units}
mode: "heat"
```
### Push button / Momentary switch
You can set the physical relays to be `on` only while the hardware buttons are pressed, and then back to `off` when the buttons are released:
```yaml
binary_sensor:
# Left button custom action: Push button / Momentary switch - Relay 1
- id: !extend left_button
on_click:
then:
on_press:
then:
switch.turn_on: relay_1
on_release:
switch.turn_off: relay_1
# Right button custom action: Push button / Momentary switch - Relay 2
- id: !extend right_button
on_click:
then:
on_press:
then:
switch.turn_on: relay_2
on_release:
switch.turn_off: relay_2
```
### Expose Relay Fallback Switch
You can configure a local fallback relay to integrate with Home Assistant.
This is particularly useful for devices like WiFi-connected lights.
For instance, you can program it to cut the power to a connected light under certain conditions, directly via a switch.
#### Use Case
One application, as utilized by @tikismoke and detailed in [#1349](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/1349), is in response to fluctuating energy prices.
When the energy price is high, an automation can change the fallback mode to cut off the relay.
This ensures that the bulb does not consume energy in standby mode. However, it will still function normally with `light.toggle` from the blueprint in all other cases.
Local control is reinstated when the power price returns to normal.
On the next switch activation, the relay turns `on`, powering up the bulb.
Subsequent activations will trigger `light.toggle` from the blueprint, as this functionality is already embedded in the ESPHome YAML code.
> [!NOTE]
> In this scenario, the bulb must be set to turn `on` automatically when power is restored.
```yaml
# Expose relay local control switch to Home Assistant
switch:
- name: Relay 1 Local
platform: template
id: relay1_local
entity_category: config
internal: false
lambda: |-
return (id(relay_settings) & nspanel_ha_blueprint::RelaySettings::Relay1_Local);
turn_on_action:
- lambda: nspanel_ha_blueprint::update_bitwise_setting(id(relay_settings), true, RelaySettings::Relay1_Local);
on_turn_on:
- logger.log: "Relay 1 Local turned On!"
turn_off_action:
- lambda: nspanel_ha_blueprint::update_bitwise_setting(id(relay_settings), false, RelaySettings::Relay1_Local);
on_turn_off:
- logger.log: "Relay 1 Local turned Off!"
- name: Relay 2 Local
platform: template
id: relay2_local
entity_category: config
internal: false
lambda: return (id(relay_settings) & nspanel_ha_blueprint::RelaySettings::Relay2_Local);
turn_on_action:
- lambda: nspanel_ha_blueprint::update_bitwise_setting(id(relay_settings), true, RelaySettings::Relay2_Local);
on_turn_on:
- logger.log: "Relay 2 Local turned On!"
turn_off_action:
- lambda: nspanel_ha_blueprint::update_bitwise_setting(id(relay_settings), false, RelaySettings::Relay2_Local);
on_turn_off:
- logger.log: "Relay 2 Local turned Off!"
```
### Relay Interlocking
This is using ESPHome capability to prevents the two relays to be active at the same time, which could be useful in some cases,
like to control a cover like discussed in [#965](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues/965).
> [!ATTENTION]
> There are some considerations about using software interlocking on the [ESPHome GPIO Switch documentation](https://esphome.io/components/switch/gpio.html#interlocking).
Please read that carefully to understand what this is doing.
```yaml
switch:
# Prevents the two relays to be on simultaneously
- id: !extend relay_1
interlock: [relay_1, relay_2]
interlock_wait_time: 500ms # Please adjust this accordingly
- id: !extend relay_2
interlock: [relay_1, relay_2]
interlock_wait_time: 500ms # Please adjust this accordingly
```
### Remove non-essential components
This can be useful to free-up memory, so other custom components could be used instead.
```yaml
# Removes captive portal
captive_portal: !remove
# Removes embedded web server
web_server: !remove
```
### Restart with 15s button press
This could be used to have an easy way to restart your panel locally in addition to the [reset pin in the bottom of your panel](pics/eu_reset_button.png).
```yaml
binary_sensor:
# Restarts the Nextion display after pressing and holding the left button for 15s
- id: !extend left_button
on_multi_click:
- timing:
- ON for at least 15.0s
invalid_cooldown: ${invalid_cooldown}
then: # Restart the display
- switch.turn_off: screen_power
- delay: 5s
- switch.turn_on: screen_power
- delay: 2s
- lambda: disp1->soft_reset();
- delay: 2s
- script.execute: setup_sequence
# Restarts ESPHome after pressing and holding the right button for 15s
- id: !extend right_button
on_multi_click:
- timing:
- ON for at least 15.0s
invalid_cooldown: ${invalid_cooldown}
then: # Restart the panel
- button.press: restart_nspanel
```

99
docs/different_version.md Normal file
View File

@@ -0,0 +1,99 @@
# Guide to Using Different Versions of This Project
## Introduction
This guide provides instructions on how to switch between different versions for each component of this project:
Blueprint, ESPHome, and Nextion TFT, allowing users to access development (`dev`), beta, or previous versions.
<!-- markdownlint-disable MD028 -->
> [!WARNING]
> Use non-main versions at your own risk. Only the `main`/latest release is officially supported.
> [!IMPORTANT]
> Ensure all three components (Blueprint, ESPHome, TFT) are synchronized at the same version for system stability.
<!-- markdownlint-enable MD028 -->
## Suggested Update Order
1. **ESPHome**: Start with ESPHome for its straightforward update process.
2. **TFT**: Then proceed with Nextion TFT.
3. **Blueprint**: Finally, update Blueprint, as it requires more manual effort and careful handling.
## Finding Available Versions
For available versions and branches, visit: [NSPanel_HA_Blueprint Tags](https://github.com/Blackymas/NSPanel_HA_Blueprint/tags).
Take note of the branch (`dev`, `beta`, or `main`) or version name exactly as it is published, as this is case-sensitive.
> [!NOTE]
> **Understanding Tags in GitHub**
> Tags on GitHub mark specific versions of a project, akin to bookmarks.
They're created for each new release, allowing easy access to different project stages.
### Special Versions
- **dev**: The development version, containing the latest code but potentially unstable.
- **beta**: The pre-release version, more stable than `dev` but still undergoing final testing.
- **main**: The default latest version, where you will find the most recent release code.
> [!NOTE]
> When using `dev` or `beta`, report findings in the [issues](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues) section, clearly stating the version.
>
> **Please do not report issues related to old released versions.**
## Instructions
### For ESPHome Component
1. Open your device's YAML config and find the key `ref:`, which is under `remote_package:` in the `packages:` area:
![Image](pics/esphome_dashboard_yaml_ref_main.png)
2. Change the value of `ref:` to the version you want to install, like `ref: dev` or `ref: v4.1.4`:
![Image](pics/esphome_dashboard_yaml_ref_v414.png)
3. Save your settings and then install it.
<!-- markdownlint-disable MD028 -->
> [!IMPORTANT]
> Older versions may require `arduino` framework.
> Please refer to this guide for setting the framework properly: [Change framework](customization.md#frameworks)
> [!WARNING]
> Older versions of the components may not be compatible with the latest ESPHome compiler or Home Assistant.
>
> Ensure you are using a compatible version of Home Assistant and the compiler when working with older project versions to avoid potential issues.
> You can use our [Version compatibility matrix](version_compatibility.md) to identify the minimum requirement per version as a reference for possible version incompatibility,
> although we don't have a register of the "Maximum version" supported.
<!-- markdownlint-enable MD028 -->
### For Nextion TFT Component
The instructions to upload TFT will vary depending on the version you are installing and the framework you are using.
#### v4.2 or later (if you are using ESP-IDF) or v4.2.5 or later (if you are using Arduino)
1. Go to your device's page under **Settings** > **Devices & Services** > **ESPHome**.
2. On the **Configuration** group, press **Update TFT display** and wait for the upload to complete. The system will automatically find the right TFT file for the ESPHome version you are running.
#### v4.1 or earlier (in either case) or v4.2.4 or earlier (if you are using Arduino)
1. On the GitHub repository, click on your chosen version name on the [NSPanel_HA_Blueprint Tags](https://github.com/Blackymas/NSPanel_HA_Blueprint/tags) list, then select the tab **Code**.
2. Double-check that the correct version is shown below the repository name:
![Image](pics/GitHub_repo_select_tag_tft_files.png)
3. Locate the TFT file related to your model and download it to your local http server.
4. Double check your `nextion_update_url` substitution is pointing to the right URL where the file you just downloaded is available.
![Image](pics/esphome_dashboard_yaml_nextion_update_url.png)
5. Go to your device's page under **Settings** > **Devices & Services** > **ESPHome**.
6. On the **Configuration** group, press **Update TFT display** and wait for the upload to complete.
### For Blueprint Component
1. Use your preferred code editor to edit the blueprint file under `/homeassistant/blueprints/automation/Blackymas/nspanel_blueprint.yaml`.
2. Go to the GitHub repository and select the [branch (`main`, `beta` or `dev`)](https://github.com/Blackymas/NSPanel_HA_Blueprint/branches)
or the [tag](https://github.com/Blackymas/NSPanel_HA_Blueprint/tags) (for previous versions) you want to use.
3. Find the file `nspanel_blueprint.yaml` in the root of the branch/tag, then click on it to open the file content visualization.
4. Click the button "**Copy raw file**" in the top right area of the code box. This will copy the entire code to the clipboard.
5. Go back to your code editor in Home Assistant and replace the entire old code by the one in your clipboard (typically CTRL+A & CTRL+V).
6. Go to **Developer Tools**, select the tab **YAML** and click the button to reload **AUTOMATIONS**.
## Additional Notes
- Please note that the images provided in this guide might become outdated as the project evolves.
It's always a good idea to refer to the latest version of the project for current details.
- For the most up-to-date information and updates,
refer to the [project's documents](README.md)
and check the [issues](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues)
and [discussions](https://github.com/Blackymas/NSPanel_HA_Blueprint/discussions) sections on our GitHub repository.

45
docs/error_compiling.md Normal file
View File

@@ -0,0 +1,45 @@
# Compiling Errors Guide
The most common cases for compiling errors are related to build files needing to be cleaned up and the lack of resources on your ESPHome compiler host.
These are our suggestions for both cases:
## Clean-up build files
Go to your ESPHome Dashboard, click the 3-dot menu related to your device and then "**Clean Build Files**":
![image](https://raw.githubusercontent.com/Blackymas/NSPanel_HA_Blueprint/dev/docs/pics/esphome_dashboard_clean_build_files.png)
## Limited resources on ESPHome compiler host
### Free Up Server Resources
1. First, please check the available memory of the ESPHome compiler host. 4GB of memory are recommended if you are installing ESPHome as a Home Assistant add-on.
Therefore, a RasPi 4 with 4GB RAM is the minimum if you are using a Raspberry Pi.
A manual installation requires at least 2GB of memory and 500MB of swap space or 3GB of memory.
With less memory the compiler will crash!
2. Add the following to your device's YAML to reduce resource usage (this may slow down the compilation process):
```yaml
# Limit the amount of resources used for compiling
esphome:
compile_process_limit: 1
```
> [!TIP]
> Place this in a dedicated customization section in your YAML for easier maintenance,
similar to [this example](https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/customization.md#instructions).
3. Restart your host system, not just Home Assistant. Use the advanced options to **Reboot system**, which also restarts add-ons and can free up memory.
4. Temporarily stop non-essential add-ons in Home Assistant, especially resource-intensive ones like Studio Code Server.
5. [Clean up build files](#clean-up-build-files)
6. Try compiling again.
7. After completion, restart your host system to reactivate the stopped add-ons.
### Compile Using Your Computer
1. Install ESPHome on your computer (Windows, Mac, or Linux) following this guide: [Installing ESPHome Manually](https://esphome.io/guides/installing_esphome.html).
2. With ESPHome installed locally, you can use the ESPHome Dashboard or the [ESPHome Command Line Interface](https://esphome.io/guides/cli.html#command-line-interface) for compilation.

104
docs/error_initializing.md Normal file
View File

@@ -0,0 +1,104 @@
# Panel startup issues
When your panel starts, a number of different things needs to be set and the ESPHome must establish connection to the Nextion display used by your panel
and also to your Home Assistant, which will provide the proper settings required by your panel.
If everything goes right, the boot page will be shown for just a few seconds, then the wake-up page will be shown.
If something happens during this process, your panel may get stuck on this page.
In many cases, restarting your panel can resolve the issue, but if it is still showing the boot page after a reboot, this guide may help you.
Understanding what is shown on the boot page can be useful to find the cause of the problem or when you are looking for help.
## Understanding the boot page
Your boot page probably looks like this:
**Before Home Assistant/ESPHome is connected:**
![Boot page Initializing](pics/eu_boot_initializing.png)
**When Home Assistant/ESPHome is connected:**
![Boot page with IP](pics/eu_boot_with_ip_address.png)
### What is shown on the screen
#### Initializing or IP address
In the top, you will see the message "Initializing..." while the display is executing it's boot sequence or waiting for a connection from ESPHome.
Once ESPHome is connected to both the display and the Wi-Fi network, that text will be replace by the IP address, which can be useful for troubleshooting.
#### Baud rate (bps)
On the top right corner, it's shown the baud rate used by the display to communicate to ESPHome.
By default, all the communication should happens at 115200 bps, but as 921600 bps is also supported, the display will alternate between these 2 rates every 30 seconds until ESPHome gets connected.
#### Framework
Right bellow the baud rate information, you may see the framework used by ESPHome, which is either `esp-idf` (default for new installations) or `arduino` (default for installations prior v4.1.4).
That information will be available only when ESPHome establishes communication with the display.
If you cannot see that information after a couple of seconds then you may have an issue on the communication between ESPHome and the display (explained later).
#### Versions
Here you may see the version of TFT, ESPHome and Blueprint used by this project.
If some of those versions are not shown, you can have an indication of where a possible communication issue is.
- **TFT** version will always be shown, as that is part of the display itself.
- **ESPHome** version will be shown as soon the ESPHome establishes the communication with the display.
- **Blueprint** version requires both ESPHome and the Blueprint (in Home Assistant) to establish communication to be shown.
In normal situation, all the versions should be displayed and should be the same. Different patch versions are supported.
#### Reboot button
You can use this button to force a reboot of your panel. This button is available when ESPHome establishes communication with the display.
## Common issues
### ESPHome cannot establish communication to your panel's Nextion display
**Symptoms:** The ESPHome version (and other info) won't be shown in the boot page.
<!-- markdownlint-disable MD013 MD033 -->
| Possible causes | Suggestions |
| :-- | :-- |
| You may have an older version of ESPHome installed or ESPHome is not installed. | Make sure you have the latest version of ESPHome and flash your device again. |
| Baud rate mismatch. | The default baud rate for this project is 115200 bps, however your device might be set with a different baud rate. Use the baud rate selector under your device's page to adjust to the same baud rate as the display, then change it back to 115200 bps, which will instruct the display to start using that. |
<!-- markdownlint-enable MD013 MD033 -->
### Blueprint is not detected
**Symptoms:** The ESPHome version is shown, but not the blueprint version or, the Home page is shown, but the Home Assistant icon is shown in red and typically the functionality is very limited:
![Blueprint icon on red](pics/us_home_blueprint_icon_red.png)
In some cases you can also see duplicate entities on the device's page in Home Assistant, and some of these entities may have the `entity_id` ending with `_2`, `_3`, etc.
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/9100568/51a5fce4-89cc-43e8-9d92-1f83d7ea2ee5)
<!-- markdownlint-disable MD013 MD033 -->
| Possible causes | Suggestions |
| :-- | :-- |
| You may have an older version of the blueprint installed or the blueprint isn't installed into your Home Assistant. | [Install the blueprint](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml).<br>[Update the blueprint](howto.md#update-blueprint).|
| You don't have an automation created using the blueprint. | On Home Assistant, go to **Settings** --> **Automations & Scenes** --> **Blueprints** --> **NSPanel Configuration** --> **CREATE AUTOMATION** and follow the [instructions to setup your automation](blueprint.md).<br>**Attention!!** You need one automation per panel, if you have more than one panel set. |
| Your panel is not selected in the automation. | Open the automation related to your panel and make sure the right device is set on the **NSPanel device** field. |
| Your panel's connection to Home Assistant may have issues.<br>This could be from an invalid entity Id (e.g. ending with `_2`), or some service missing registration. | Reconnect the Panel's device to Home Assistant:<br>1. Go to **Settings** --> **Devices & Services** --> **ESPHome**<br>2. Delete the device<br>3. Restart Home Assistant host<br>4. Go back to **Settings** --> **Devices & Services**<br>5. Click **Add integration**<br>6. Select **ESPHome**<br>7. Enter your panel's hostname or IP address.|
<!-- markdownlint-enable MD013 MD033 -->
## Additional Tips and Resources
After troubleshooting, if issues persist, consult the [Issues](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues) and feel free to create a new one asking for more personalized assistance.
Please share as much info as possible, like:
1. Describing (or a picture of) what is on your screen
2. Are you updating from a previous version of this project, or you coming from another NSPanel customization (which one?) or are you customizing for the first time a panel with the original Sonoff settings?
3. Please share the ESPHome logs from when your panel starts to the moment the upload fails.
4. Describe what you have already tried.
## Important note
Remember, these steps are a guideline and might vary slightly based on your specific setup and previously installed system.

388
docs/howto.md Normal file
View File

@@ -0,0 +1,388 @@
# How-to
In this document, we collect important information, tips, and solutions related to various topics noticed over time.
This is a community-driven resource, and we encourage everyone to contribute their knowledge.
## Community Contribution
If you have a solution or tip to share, please contribute! Your knowledge can significantly help others in the community.
You can write a short message with your findings, and we'll include it here.
## Topics and Solutions
Below are the topics covered in this document, each with relevant tips and solutions.
1. [How do I create "Issues" when I have a problem ](#how-to-create-issues-when-i-have-a-problem)
2. [Update Blueprint](#update-blueprint)
3. [Update ESPHome](#update-esphome)
4. [Update TFT](#update-tft)
5. [Notification via HA](#notification-via-ha)
6. [Climate control with relays](#climate-control-with-relays)
7. [Call a page directly](#call-a-page-directly)
8. [Play RTTTL Sound](#play-rtttl-sound)
9. [Start automations via Input_Boolean](#start-automations-via-input_boolean)
10. [Updating Wi-Fi and OTA passwords in ESPHome with this project](#updating-wi-fi-settings-and-ota-passwords-in-esphome-with-this-project)
## How to create "issues" when I have a problem
> _**To be able to solve your problem, it is important for us to have as much information as possible**_.
* Describe your problem as detailed as possible.
* Please write your ESPHome and Home Assistant version, as the version of files of this project (TFT, ESPHome and Blueprint).
* Please go to your automation and then to the "3 dots" and then to _**Edit as YAML**_.
Copy the complete code and attach it to the ticket
* An important "helper" for solving problems is the trace of an automation.
You can find the trace under _**Settings --> Automations & Scenes --> your NSPanel automation --> Traces (top right)**_
<!-- markdownlint-disable MD028 -->
> [!NOTE]
> TRACES! Please execute again what does not work and open the trace immediately afterwards.
> Often you have to open the trace after the reboot too.
> During the start up, most things are loaded.
> [!IMPORTANT]
> In the trace you can see by the _**"orange "**_ lines which way the automation has gone.
> Please tell us this path.
> Also, please take one or more screenshots and add them to your ticket.
> Especially important for us is where the _**"Orange "**_ line ends, because most of the time this is also where the problem is.
> [!IMPORTANT]
> When you have opened the trace, there is a _**"timestamp "**_ at the top.
> It is important that you select the correct timestamp.
<!-- markdownlint-enable MD028 -->
### Example trace after reboot
![Bildschirmfoto 2022-11-27 um 14 54 58](https://user-images.githubusercontent.com/41958506/204139082-70d3a8d1-1c82-43cb-88f2-573f2e276a48.png)
### Example automations Blueprint
```yaml
alias: YYXYYXYYX - NSPanel Configuration
description: ""
use_blueprint:
path: nspanel_configuration.yaml
input:
nspanel_name: nspanel_dev
language: DE
sync_value_ha: select_no
sync_slider_ha: select_no
weather: AccuWeather
accuweather: home_wetter
outdoortemp: sensor.terrasse_garage_motion_sensor_temperature
humidity: sensor.kinderzimmer_lea_temperatur_sensor_humidity
climate: climate.nspanel_buro
left_button_entity: light.haustur_spot_2
right_button_entity: light.haustur_spot_1
entity01: light.buro_sideboard
entity01_name: Sideboard
entity02: cover.kuche_rollo
entity02_name: Küche Rollo
entity03: switch.buro_dart_beleuchtung
entity03_name: Dart Licht
delay: 2
right_button_name: Test 1
left_button_name: Test 2
```
## Update Blueprint
> [!IMPORTANT]
> To install a new version of the NSPanel, the Blueprint, ESPHome and the TFT must be updated!
1. In Home Assistant, go to Settings > Automation & Scenes, select the tab Blueprints and find the blueprint named "NSPanel Configuration"
2. Click the 3-dot menu and select "Re-import blueprint":
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/afb433e8-f29c-4b3f-8d6b-16a12b181422)
3. Click "Re-import" button:
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/1db36411-e5a4-4cef-bcef-575a08019a67)
4. Reload automations or restart Home Assistant.
5. The new Blueprint is now available.
Settings that have already been made are adopted.
6. Please review the blueprint settings (under Automations tab) for new settings available with the new version.
## Update ESPHome
<!-- markdownlint-disable MD028 -->
> [!IMPORTANT]
> To install a new version of the NSPanel, the Blueprint, ESPHome and the TFT must be updated!
> [!IMPORTANT]
> These instructions are for updating a panel where an older version of these files are already installed.
<!-- markdownlint-enable MD028 -->
These are the steps to flash your panel with an updated version from this project:
1. Go to the ESPHome dashboard (in your Home Assistant) and find the device you want to update.
Then click the 3-dot menu and select the option "Clean Build Files" to make sure you clean-up your system from the previous versions files:
![Clean Build Files menu](pics/esphome_dashboard_clean_build_files.png)
2. When the clean-up process is done, click on **Install** button:
![Install button on Clean Build Files dialog](pics/esphome_dashboard_clean_build_files_install_button.png)
3. As your panel is probably already connected to the Wi-Fi, you may select to install **Wirelessly**,
as it is much easier and you don't have to unassemble your panel.
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/c9b53549-c78a-4a02-bcde-31582905d0c4)
The new firmware will be built and then flashed to your panel, which will restart at the end of this process and start sending logs again:
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/e63dcb4a-ef74-4665-9897-455e02950964)
## Update TFT
> [!IMPORTANT]
> These instructions are for updating a panel where an older version of these files are already installed.
1. Go to ***Settings --> Devices & Services --> Integrations***, select the display under the ESPHome integration.
2. Select the "**Update TFT Display - Model**" accordingly, under **Configuration**.
3. Press the button "**Update TFT Display**".
4. The display starts the update process and then restarts.
## Notification via HA
To show a notification on the NSPanel, the following service call can be used:
```yaml
service: esphome.panelname_notification_show
data:
label: Example label text
message: Example message text
```
> [!NOTE]
> For more details about this service call, please refer to our [API documentation](api.md#notification-show-service-notification_show).
To clear any notifications, the following service call can be used:
```yaml
service: esphome.panelname_notification_clear
```
> [!NOTE]
> For more details about this service call, please refer to our [API documentation](api.md#notification-clear-service-notification_clear).
To use the notifications in an automation, again simply use the service call as shown in the example below:
```yaml
description: ""
mode: single
trigger:
- platform: state
entity_id:
- binary_sensor.motion_detector
to: "on"
condition: []
action:
- service: esphome.panelname_notification_show
data:
label: Motion Detected
message: Example for a Notification on the Panel Screen
```
## Climate control with Relays
> [!ATTENTION]
> Although these instructions are still valid, since v4.0 there is a better way to setup a climate control using the panel's relays an the [add-on climate](addon_climate.md),
> which will continue to work even if Home Assistant and/or WiFi are not available.
> You probably only want to use this approach, if you are not using the build-in thermometer.
In order to use the NSPanel to control a radiator or underfloor heating, at least one Generic Thermostat must be created in the HA.
More information can be found here: https://www.home-assistant.io/integrations/generic_thermostat/
Example configuration Generic Thermostat:
```yaml
climate:
- platform: generic_thermostat
name: Study
heater: switch.study_heater ## Wenn das NSPanel Relays den Heizkreis Regler schaltet, kann dieses hier definiert werden
target_sensor: sensor.study_temperature ## Hier kann der NSPanel Sensor verwendet werden
min_temp: 15
max_temp: 21
ac_mode: false
target_temp: 17
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "off"
away_temp: 16
precision: 0.1
```
Afterwards, the climate.entity must be assigned accordingly in the panel configuration.
## Call a Page Directly
In user-created automations within Home Assistant, there are scenarios where you might want to automatically display a specific page on your device's screen.
The following services enable this functionality:
### Basic Pages
To open a specific page, you can utilize the `esphome.xxxxxx_command` service.
Here's an example that demonstrates how to open the `home` page:
```yaml
service: esphome.xxxxx_command
data:
cmd: page home
```
Currently, the following pages can be accessed using this method:
- `buttonpage01`
- `buttonpage02`
- `buttonpage03`
- `buttonpage04`
- `entitypage01`
- `entitypage02`
- `entitypage03`
- `entitypage04`
- `home`
- `qrcode`
- `screensaver`
- `utilities`
For instance, to directly navigate to button page 2, replace `home` in the command with `buttonpage02`:
```yaml
service: esphome.xxxxx_command
data:
cmd: page buttonpage02
```
> [!NOTE]
> For more details about this service call, please refer to our [API documentation](api.md#command-service-command).
### Entity-Specific Pages
For entity-specific pages, a more detailed call is required as it involves specifying the entity.
You can use the service `esphome.xxxxx_entity_details_show` as shown in the following example:
```yaml
service: esphome.xxxxx_entity_details_show
data:
entity_id: climate.my_thermostat
back_page: buttonpage01
```
> [!NOTE]
> For more details about this service call, please refer to our [API documentation](api.md#entity-details-show-service-entity_details_show).
### Wake-up Page
You may have configured a specific **Wake-up page** on your device.
This page is automatically displayed after the device boots up or wakes up from sleep mode (such as the `screensaver` page).
To open this page, you have two options:
1. Directly call the page if it is one of the [Basic pages](#basic-pages).
2. Use the `esphome.xxxxx_wake_up` service as follows:
```yaml
service: esphome.xxxxx_wake_up
data:
reset_timer: true
```
The `reset_timer` parameter allows you to control the **Timeout sleep timer**.
Setting it to `true` resets the timer, while `false` continues counting down from the current value.
The **Wake-up** service differs from a normal page call in that it only opens the wake-up page if the panel is in sleep mode.
If the panel is already active, the current page remains displayed.
This feature is particularly useful in conjunction with a motion sensor to wake up your panel automatically.
By repeatedly calling this service whenever motion is detected, the panel can be either woken up or have its sleep timeout timer reset (if `reset_timer` is set to `true`).
> [!NOTE]
> For more details about this service call, please refer to our [API documentation](api.md#wake-up-service-wake_up).
## Play RTTTL Sound
HA can send a RTTTL to the NSPanel, custom melodies are possible.
The use this function, the following service is called: `rtttl_play`
You can find many RTTTL strings on the web, the important thing is that they must start with the name and then a colon.
Here is an example:
```txt
The Simpsons:d=4,o=5,b=160:c.6,e6,f#6,8a6,g.6,e6,c6,8a,8f#,8f#,8f#,2g,8p,8p,8f#,8f#,8f#,8g,a#.,8c6,8c6,8c6,c6
```
![HA - Developer Tools - Services - RTTTL Play](pics/ha_developer_tools_services_rtttl_play.png)
More information: https://esphome.io/components/rtttl.html#common-beeps
More songs: https://codebender.cc/sketch:109888#RTTTL%20Songs.ino
> [!NOTE]
> For more details about this service call, please refer to our [API documentation](api.md#rtttl-play-service-rtttl_play).
## Start Automations via Input_Boolean
Although the NSPanel can execute scripts directly over the buttons, there is also the possibility of starting automations directly by the means of Input_Boolean.
For this, a helper must first be created under ***Settings --> Devices&Services --> Helpers***
Now add the created Input_Boolean as a trigger in the desired automation under State.
In the last step, assign the trigger to a button in the Panel Config.
## Updating Wi-Fi settings and OTA Passwords in ESPHome with This Project
### Overview
When you update your Wi-Fi password in a device with firmware from our project,
it's important to remember that the `wifi_password` substitution is used for both Wi-Fi and OTA updates (and a few more places that are not relevant now).
Failing to update both simultaneously can lead to connection issues.
### Step-by-Step Guide
1. **Prepare Your Device for Update**
- Ensure your device is connected to your computer and is accessible via your current Wi-Fi network.
2. **Update OTA Password First**
- Open your panel's YAML.
- Add the following in the customization area:
```yaml
esphome:
on_boot:
- priority: 600
then:
- lambda: |-
id(my_ota).set_auth_password("Your new Wi-Fi password");
ota:
password: "Your current Wi-Fi password"
id: my_ota
```
- Flash your device.
It will use the current password for this flash and will inform your device to start using the new password for the next OTA.
- When your device starts, **remove the lines above**.
- Find the `wifi_ssid` and `wifi_password` key in the `substitutions` area (usually at the beginning of the file) and change it to your new Wi-Fi password.
If that is point to `!secret`, you will have to edit it in your `secrets.yaml` file instead.
- Flash your device again with the updated YAML.
It will use the current Wi-Fi to connect to your device and the new Wi-Fi password as the OTA password, then will inform your device to connect to the Wi-Fi with the new settings.
3. **Update Wi-Fi Settings in Your Access Point**
### Important Notes
- The device will still be using the old Wi-Fi settings for this update.
If you've already changed your Wi-Fi network settings, this step will fail.
- **Troubleshooting: Unable to Connect via Wi-Fi**
- If your device cannot connect to Wi-Fi due to a password or SSID change, you will need to flash the device via a serial connection.
- Connect your device to your computer using a USB-to-Serial adapter.
- Use the ESPHome flasher tool to upload the new configuration.
- In this case, don't worry about the OTA password, as it's not required when flashing via serial.
### Verify the Update
- Once the new configuration is uploaded, your device should automatically connect to your Wi-Fi network with the new settings.
- Verify that OTA updates are working with the new password.
### Additional Tips
- **Backup Your Configuration:** Always keep a backup of your ESPHome configuration files.
- **Network Accessibility:** Ensure your device remains within your Wi-Fi network's range during the update process.
- **Serial Flashing:** Familiarize yourself with the process of flashing via serial, as it's a reliable fallback method.
### Conclusion
By carefully updating both your Wi-Fi settings and OTA passwords in your ESPHome configuration, you can avoid connection issues.
Remember to always back up your configuration and be prepared to use a serial connection if Wi-Fi connectivity is lost.

500
docs/install.md Normal file
View File

@@ -0,0 +1,500 @@
# Getting Started with NSPanel HA Blueprint
Welcome to this setup guide, a community-driven approach to integrating NSPanel into your smart home.
This guide is designed to be user-friendly, aiming to assist users who have a basic understanding of Home Assistant and ESPHome.
While it's crafted to be accessible at all levels, a foundational knowledge in smart home automation will help you make the most of it.
Whether you're taking your first steps in customizing your smart home or you're an enthusiast looking to further personalize your setup, this guide provides essential tools and instructions.
Lets embark on this journey together to create a smart home thats uniquely yours.
<!-- markdownlint-disable MD028 -->
> [!TIP]
> For troubleshooting TFT transfer issues, the most popular topic for new users, please consult our [TFT Transfer Troubleshooting Guide](tft_upload.md).
> [!NOTE]
> We encourage users with absolute beginner-level knowledge in Home Assistant, ESPHome, or YAML editing to familiarize themselves with the basics of these platforms.
> Our community is here to support, but please note that this guide may not cover the fundamental aspects of Home Assistant and ESPHome extensively.
> [!NOTE]
> Some images or instructions on this guide might be slighly different due to different configurations depending on your ESPHome and Home Assistant implementation or versions.
>
> If you find something that is not understandable or needs to be updated, please let us know.
> You can create an issue reporting this, or fix it yourself and submit a [Pull Request](https://github.com/Blackymas/NSPanel_HA_Blueprint/pulls) to this repository.
<!-- markdownlint-enable MD028 -->
## Summary
- [Preparation](#preparation)
- [ESPHome Firmware](#esphome-firmware)
- [Preparing the ESPHome Environment](#preparing-the-esphome-environment)
- [Setting Up a Device on ESPHome Dashboard](#setting-up-a-device-on-esphome-dashboard)
- [Flashing the Device for the First Time](#flashing-the-device-for-the-first-time)
- [Integrating Your Panel to Home Assistant](#integrating-your-panel-to-home-assistant)
- [Making Changes Over The Air (OTA)](#making-changes-over-the-air-ota)
- [Updating Your NSPanel Firmware](#updating-your-nspanel-firmware)
- [Migrating from Other Custom Firmware](#migrating-from-other-custom-firmware)
- [Upload TFT](#upload-tft)
- [Select the Right File](#select-the-right-file)
- [Uploading to Nextion](#uploading-to-nextion)
- [Troubleshooting TFT Transfer Issues](#troubleshooting-tft-transfer-issues)
- [Blueprint](#blueprint)
- [Importing the Blueprint](#importing-the-blueprint)
- [Creating an Automation](#creating-an-automation)
- [Editing Automation Settings](#editing-automation-settings)
- [How to Handle Multiple Panels](#how-to-handle-multiple-panels)
- [Advanced Configuration for ESPHome and Home Assistant Experts](#advanced-configuration-for-esphome-and-home-assistant-experts)
- [Additional Tips and Resources](#additional-tips-and-resources)
------
## Preparation
Start by ensuring you have all the necessary tools and files.
This includes your NSPanel device, a stable internet connection, and access to your Home Assistant instance.
If flashing it for the first time, please look for additional preparation and tools on the
[Flashing the device for the first time](#flashing-the-device-for-the-first-time) section later in this guide.
## ESPHome Firmware
### Preparing the ESPHome Environment
To flash your NSPanel, ESPHome firmware is required.
ESPHome can be integrated into your setup in various ways, including as a Home Assistant add-on or through a local installation on your computer.
This guide is based on using the ESPHome dashboard, which is available in all standard implementations.
> [!NOTE]
> 4GB of memory are recommended if you are installing ESPHome as a Home Assistant add-on.
Therefore, a RasPi 4 with 4GB RAM is the minimum if you are using a Raspberry Pi.
A manual installation requires at least 2GB of memory and 500MB of swap space or 3GB of memory.
With less memory the compiler will crash!
- **Installing ESPHome as a Home Assistant Add-On**: For seamless integration with Home Assistant, ESPHome can be installed as an add-on.
This method provides an easy-to-navigate interface and direct integration with your Home Assistant setup.
For detailed instructions on this installation method, refer to [Getting Started with ESPHome and Home Assistant](https://esphome.io/guides/getting_started_hassio).
- **Manual Installation of ESPHome**: A manual installation on your computer might be preferred
if your Home Assistant's host is resource-limited and struggles with compiling ESPHome projects.
Standalone installations on a normal computer typically offer faster and more efficient compiling.
This method is ideal if you're working with a system that doesn't support Home Assistant add-ons or if you prefer a separate management environment for your ESPHome devices.
Detailed steps for a manual installation can be found in the guide [Installing ESPHome Manually](https://esphome.io/guides/installing_esphome.html).
### Setting Up a Device on ESPHome Dashboard
Follow these steps to add a new device in the ESPHome Dashboard:
1. Click the **+ New Device** button.
2. Enter a unique name for your new ESPHome device.
![New Device Name](pics/ha_esphome_dashboard_new_device_01.png)
3. Select **ESP32** as the device type.
![Select ESP32](pics/ha_esphome_dashboard_new_device_02.png)
4. Click **Skip** as we're not starting the installation yet.
![Skip Installation](pics/ha_esphome_dashboard_new_device_03.png)
5. Locate your newly created device in the ESPHome Dashboard and click **Edit**.
![Edit Device](pics/ha_esphome_dashboard_new_device_04.png)
6. (Optional) For enhanced security, consider copying the `api:` entry to your panel's yaml file while adding the key itself to the secrets file
![API Section](pics/ha_esphome_dashboard_new_device_05.png)
which can be edited clicking `secrets` at the top right of your ESPHome menu.
![API Section](pics/ha_esphome_dashboard_new_device_05c.png)
7. Note the device name at the beginning of the file under `esphome`.
![Device Name](pics/ha_esphome_dashboard_new_device_05b.png)
8. Clear all existing content and paste the following YAML configuration:
```yaml
substitutions:
# Settings - Editable values
device_name: "YOUR_NSPANEL_NAME"
friendly_name: "Your panel's friendly name"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
nextion_update_url: "http://homeassistant.local:8123/local/nspanel_eu.tft" # Optional
# Add-on configuration (if needed)
# heater_relay: "1" # Possible values: "1" or "2"
# Customization area
##### My customization - Start #####
##### My customization - End #####
# Core and optional configurations
packages:
remote_package:
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: main
refresh: 300s
files:
- nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
# - esphome/nspanel_esphome_advanced.yaml
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
- esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
```
![YAML Code](pics/ha_esphome_dashboard_new_device_06.png)
9. Modify the **Settings** section with your device name (as noted in step 7) and Wi-Fi details.
![Edit Settings](pics/ha_esphome_dashboard_new_device_06b.png)
10. For Wi-Fi credentials, use `!secret` for added security or input them directly.
Learn about secrets in ESPHome: [Home Assistant Secrets in ESPHome](https://www.youtube.com/watch?v=eW4vKDeHh7Y).
11. (Optional) Adjust `nextion_update_url` to the URL of a TFT file hosted on an HTTP or HTTPS server,
ensuring that the file is accessible to the NSPanel.
This URL will be used by ESPHome to download the TFT file to your panel.
For more information on hosting the TFT file and setting up the URL, see the [Upload TFT](#upload-tft) section.
> [!CAUTION]
> **Prefer HTTP over HTTPS for File Transfer**
> While you might encounter examples using HTTPS in URLs for file transfer,
> it is strongly recommended to use HTTP, especially when employing the `arduino` framework.
> The support for HTTPS in this context can be unstable,
> often leading to issues with file transfers.
12. (Optional) Enhance security with API encryption by adding the copied key from step 6 to the **My Customization** area.
> [!TIP]
> You can get a new randomly generated valid key from [ESPHome Native API Component](https://esphome.io/components/api.html#configuration-variables) page.
13. After finalizing settings, click **Save** and close the YAML window.
Your NSPanel is now configured in your ESPHome Dashboard.
### Flashing the Device for the First Time
#### Drive Safe
<!-- markdownlint-disable MD028 -->
> [!CAUTION]
> **Disconnect your panel's controller module from main power during all work.**
> Operating on an open device that's plugged into the wall puts you at risk of electrocution.
> [!WARNING]
> **You are solely responsible for your own safety.**
> If you're uncomfortable or if something feels wrong, stop immediately.
<!-- markdownlint-enable MD028 -->
- Use only electronic components rated for 3.3VDC. Ensure your TTL adapter is set to 3.3VDC. Exceeding this voltage can cause permanent damage to your panel.
- Maintain a clean work area to prevent damage to your device, especially the screen.
- Keep all small parts, like screws and cables, safely stored.
#### Required Tools
For first-time flashing of your NSPanel with ESPHome, you may need:
1. [USB-to-Serial TTL adapter](https://esphome.io/guides/physical_device_connection#usb-serial-adapter)
2. [Jumper wires](https://esphome.io/guides/physical_device_connection#jumper-wires)
3. [Breakable headers (optional)](https://esphome.io/guides/physical_device_connection#pcb-headers)
4. Appropriate screwdriver to disassemble your panel's controller module (touch plate)
#### Connecting Your Device via USB-to-Serial TTL Interface
Before you begin disassembling your panel, it is recommended to review the following resources for guidance:
- [YouTube - Mark Watt Tech - HOW TO - Setup the SIMPLEST Smart Home Scene Controller](https://www.youtube.com/watch?v=jpSTA_ILB8g&t=323s)
- @blakadder's [Sonoff NSPanel EU Switch in Detail](https://blakadder.com/nspanel-teardown/)
- [ESPHome - Physically Connecting to Your Device](https://esphome.io/guides/physical_device_connection)
While this guide does not cover the firmware transfer process in detail,
here are some important points to consider during the setup:
![US model - Board to TTL wiring](pics/us_board_ttl_wiring.jpg)
![US model - Board to TTL wiring (zoom)](pics/us_board_ttl_wiring_zoom.jpg)
![TTL wiring (zoom)](pics/us_ttl_wiring_zoom.jpg)
1. Handle with care the pins connecting the front panel (which includes the main board and screen) to the back part (the section mounted to the wall).
These pins are fragile and can break or bend, potentially rendering your panel nonfunctional.
2. Ensure that the pin `IO0` on the panel's board is connected to the `GND` pin on the back part connectors.
This connection is necessary to put the ESP32 into firmware transfer mode.
3. Before connecting the TTL adapter to your panel's board, verify that the adapter is set to output 3.3VDC.
Using a voltage higher than 3.3VDC, such as 5VDC, can damage your panel.
4. To avoid short circuits, consider moving the panel's board away from the metal backing of the display.
The use of a non-conductive tool, like the blue plastic one shown in the picture, can be helpful.
5. Note the cross-connection of `RX` and `TX` pins.
The following pin-out should be used:
<!-- markdownlint-disable MD033 -->
| Panel's Board | TTL USB-to-Serial |
| :--: | :--: |
| `3V3` | `VCC`, `3V3`, or `3.3V` |
| `TX` | `RX` |
| `RX` | `TX` |
| `GND` | `GND` |
| `IO0` | `GND`<br>This can be connected to a `GND` pin on the panel's board. |
<!-- markdownlint-enable MD033 -->
By following these guidelines and referring to the provided resources, you can safely prepare your NSPanel for firmware updates.
#### Transferring the Firmware to Your Device
After ensuring your device is properly connected, proceed to update or install the firmware using the ESPHome Dashboard.
1. **Access the ESPHome Dashboard** and locate your NSPanel device.
2. **Open the Installation Options:** Click on the three-dot menu next to your device and select **Install**.
![ESPHome Dashboard Install Option](pics/ha_esphome_dashboard_install_01.png)
3. **Choose the Installation Method:**
- If you're **updating** your panel, the **Wirelessly** option is typically the right choice.
This method will compile and transfer the firmware directly to your panel over Wi-Fi.
- For **initial installations** or updates via a USB-to-Serial TTL adapter, select either **Plug into this computer** or **Manual download**.
Both these options will compile the firmware and prompt you to download it to your computer.
4. **Transfer Firmware via USB-to-Serial TTL:**
- Navigate to [ESPHome Web](https://web.esphome.io/) on your computer.
- Click **Connect** and choose the serial interface connected to your USB-to-Serial TTL adapter.
![ESPHome Web Interface](pics/esphome_web_home.png)
- Once connected, opt to install an existing firmware to your panel.
Select the compiled firmware file and initiate the installation.
The firmware installation process will take a few minutes.
After completion, reassemble your panel and mount it back on the wall.
Power it up, and it should appear online in the ESPHome Dashboard within a couple of minutes, running the latest firmware.
### Integrating your panel to Home Assistant
Once your panel loaded the new ESPHome firmware, it should be automatically detected by Home Assistant and you should get a notification about that.
If that isn't happnening, you can manually add it as a new intgration with the following steps:
> [!TIP]
> You can use [this link](https://my.home-assistant.io/redirect/config_flow_start/?domain=esphome)
> to go directly to the dialog to add a new ESPHome device,
> then you can go directly to step 3.
1. Go to your [ESPHome integration's page](https://my.home-assistant.io/redirect/integration/?domain=esphome) under **Settings** > **Devices & Services** > **ESPHome**.
2. If your panel is automatically discovered, just click **Configure**, otherwise, click on **Add device**.
3. Enter your new panel's hostname or IP address and click **Next**.
4. Follow the instructions from your Home Assistant to add your new panel.
After that, you will have access to the **Device's page** related to your NSPanel.
On that page you will find all the entities published by the ESPHome firmware installed in your panel,
which can be use to see it's status and control some of it's settings.
It might take a minute or two until the device's page gets fully populated, but when that is completed, take a look around and get familiar with that page.
You can always get back to the device's page under your [ESPHome integration's page](https://my.home-assistant.io/redirect/integration/?domain=esphome).
### Making Changes Over The Air (OTA)
Once your NSPanel is flashed with ESPHome, updating the firmware wirelessly via Over The Air (OTA) updates is a straightforward process.
This method eliminates the need for a USB-to-serial TTL adapter for most firmware updates.
#### Steps for OTA Updates
1. After making your changes in the yaml editor, click the **Install** button located at the top of the editor.
Alternatively, you can click the three-dot menu next to your device on the ESPHome Dashboard and select **Install**.
![ESPHome Dashboard 3-dot Menu](pics/ha_esphome_dashboard_3dot_menu.png)
2. A dialog box will appear with different installation options:
![ESPHome Dashboard Installation Options](pics/ha_esphome_dashboard_install_01.png)
3. Choose the first option to transfer the firmware **Wirelessly**.
ESPHome will compile the firmware with the new settings and automatically transfer it to your device via Wi-Fi.
- The compilation and transfer process may take a few minutes.
- Once complete, your panel will restart automatically with the new firmware.
Using OTA for firmware updates is a time-efficient way to keep your NSPanel updated with the latest changes and enhancements, ensuring a smooth and hassle-free user experience.
### Updating Your NSPanel Firmware
Regularly updating your NSPanel firmware ensures that you have the latest features and improvements from this project and ESPHome.
To update your device's firmware to the latest version, simply follow the [Steps for OTA Updates](#steps-for-ota-updates) as outlined above.
> [!IMPORTANT]
> This project comprises three integral parts: ESPHome, the TFT file, and the Blueprint.
> It is crucial that all three components are updated to the same version to ensure compatibility and optimal performance.
> When updating the ESPHome firmware, make sure to also update the TFT file and the Blueprint to the corresponding version.
Keeping each component of the NSPanel HA Blueprint in sync with the same version enhances the stability and functionality of your smart panel.
### Migrating from other custom firmware
The installation in a NSPanel with Sonoff's original firmware should be straighforward, however,
if you have installed some other custom firmware before, you may have additional steps to execute.
#### NSPanel Lovelace UI
If you have already installed on your NSPanel the "nspanel-lovelace-ui" firmware from @joBr99 or from Tasmota, an [intermediate step](lovelace_ui.md) is necessary.
Please execute that first before returning here.
#### Other
Please try the standard process and if you find any issue,
please [create a new issue](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues) and inform
which custom firmware you have installed before migrating to NSPanel HA Blueprint.
## Upload TFT
The NSPanel utilizes a Nextion display, which is equipped with its own controller, memory, and firmware.
This setup enables the display to render UI components and respond to commands sent from ESPHome.
The firmware and UI elements for the Nextion display are compiled into a TFT file, which needs to be loaded onto the display for proper functionality.
ESPHome manages the transfer of the TFT file to the Nextion display.
It does this by connecting to an HTTP/HTTPS server, downloading the required TFT file, and then transferring it to the display.
This process is crucial for updating or changing the UI and functionality of the display.
In our GitHub repository, you can find all the necessary TFT files for this project, catering to different models of the NSPanel.
These files are specifically designed to work with the various functionalities and features provided in each update of the NSPanel HA Blueprint.
Make sure to select and upload the correct TFT file corresponding to your specific model of NSPanel to ensure smooth operation and access to all the latest features.
> [!TIP]
> For troubleshooting TFT transfer issues, consult our [TFT Transfer Troubleshooting Guide](tft_upload.md).
### Select the right file
Open the device's page under [ESPHome integration's page](https://my.home-assistant.io/redirect/integration/?domain=esphome)
and look for **Update TFT display** and **Update TFT display - Model** under the **Configuration** area.
![image](pics/ha_device_configuration_tft_upload_controls.png)
Expand the **Update TFT display - Model** control and find the model that better fits your panel:
![image](pics/ha_device_configuration_tft_upload_model.png)
The options are:
- **Use `nextion_update_url`:** This will indicate ESPHome to download the TFT file from the URL
you specified in your panel's yaml setting under the ESPHome dashboard and is typically used
when your device have issues to transfer a TFT file directly from the GitHub repository or when
you want to use a custom TFT file hosted in your local server.
This is the default option and this keeps the compatibility with legacy installations when this was the only option.
- **NSPanel Blank:** This is a very small TFT file which just shows a pre-formatted QR code on the screen with a link to the instructions.
Although it's not a functional TFT for controlling your panel, it can be usefull when you have
issues in your first TFT upload, as it will remove the *Nextion Active Reparse Mode* used when
a Sonoff's TFT and also when some other custom implementations are installed.
- **NSPanel EU:** This should be used when you are using a Sonoff NSPanel EU model.
- **NSPanel US:** This should be used when you are using a Sonoff NSPanel US model installed on
it's normal (portrait) position with the buttons bellow the screen.
- **NSPanel US Landscape:** This should be used when you are using a Sonoff NSPanel US model
installed on the landscape position with the buttons at the right side of the screen.
- **NSPanel EU (CJK languages):** This should be used when you are using a Sonoff NSPanel EU model
and want to use the CJK (Chinese/Japanese/Korean) languages.
- **NSPanel US (CJK languages):** This should be used when you are using a Sonoff NSPanel US model
installed on it's normal (portrait) position with the buttons bellow the screen,
and want to use the CJK (Chinese/Japanese/Korean) languages.
- **NSPanel US Landscape (CJK languages):** This should be used when you are using a Sonoff NSPanel US model
installed on the landscape position with the buttons at the right side of the screen,
and want to use the CJK (Chinese/Japanese/Korean) languages.
### Uploading to Nextion
Once the right model is selected, please press the button **Update TFT display**.
In a few seconds your display should start transferring the file correspondent to the selected model.
The transfer screen shows a progress bar with a percentage counter with a black background.
If the transfer don't starts in a few seconds, ESPHome will retry automatically a few times, with different transfer parameters, so the transfer can take up to a minute to start.
Once started, the transfer shouldn't take more than 10 to 20 minutes. If after this time it isn't close to finnish, please cancel the process by restarting your device, then try it again.
> [!TIP]
> For troubleshooting TFT transfer issues, consult our [TFT Transfer Troubleshooting Guide](tft_upload.md).
### Troubleshooting TFT transfer issues
We have an useful guide for [troubleshooting TFT transfer issues](tft_upload.md). Please take a look there.
## Blueprint
This section provides guidance on importing the NSPanel HA Blueprint from our GitHub repository into your Home Assistant,
creating a new automation for your panel setup, and updating the blueprint when new versions are available.
These processes are straightforward with the latest versions of Home Assistant.
If you have any questions or need clarification, please reach out to us.
### Importing the Blueprint
Importing the blueprint into Home Assistant is a simple process. Just click the button below and follow the steps:
<!-- markdownlint-disable MD013 -->
[![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://my.home-assistant.io/badges/blueprint_import.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml)
<!-- markdownlint-enable MD013 -->
### Creating an Automation
After importing the Blueprint into Home Assistant, create a new automation using these steps:
1. Go to [**Settings** → **Automations & Scenes** → **Blueprints**](https://my.home-assistant.io/redirect/blueprints/) in Home Assistant.
2. Find the **NSPanel Configuration** Blueprint and click on it.
3. In the Blueprint settings, select your panel in the **NSPanel device** field.
4. Complete the relevant settings and click the **Save** button.
5. Name your automation for easy identification and click **Rename**.
![image](pics/ha_create_automation_rename.png)
> [!TIP]
> For a comprehensive list of panel settings, refer to the [Blueprint Guide](blueprint.md).
### Editing Automation Settings
You can modify your automation anytime to change configurations:
1. In Home Assistant, go to **Settings** → **Automations & Scenes**. Or use the link below.
[![Open your Home Assistant instance and show your automations.](https://my.home-assistant.io/badges/automations.svg)](https://my.home-assistant.io/redirect/automations/)
2. Find your automation in the list and click on it to edit.
3. After making changes, click **Save**. The new settings will be sent to your panel, usually within seconds. Some changes may require a page reload on the panel to appear.
> [!TIP]
> For a comprehensive list of panel settings, refer to the [Blueprint Guide](blueprint.md).
## How to Handle Multiple Panels
For homes with multiple panels:
1. Repeat the steps in the "Blueprint" section for each panel.
2. Ensure each panel has a unique entry in the ESPHome Dashboard and in Home Assistant under **Settings** → **Devices & Services** → **ESPHome**.
3. Create a separate automation for each panel in Home Assistant.
> [!IMPORTANT]
> Avoid assigning the same panel to multiple automations.
> This can cause unexpected behavior and put extra load on Home Assistant and your Wi-Fi network.
> Currently, Home Assistant does not have a mechanism to prevent this.
## Advanced Configuration for ESPHome and Home Assistant Experts
> [!WARNING]
> Customizations and advanced mode are not supported by this project's team. Use them with caution and only if you have the necessary expertise.
Before customizing your system, we encourage you to share any enhancements you make.
Consider creating a [Pull Request](https://github.com/Blackymas/NSPanel_HA_Blueprint/pulls) to the `dev` branch to share your discoveries with the community.
### Advanced ESPHome Configuration
For advanced customization with ESPHome, start with "Customizations."
We have a dedicated page for this, and your contributions are welcome: [Customization](customization.md).
To use a local copy of `nspanel_esphome.yaml`, copy the file from GitHub to your local file system and include it in your ESPHome settings as follows:
```yaml
substitutions:
# Editable settings
device_name: "YOUR_NSPANEL_NAME"
friendly_name: "Your panel's friendly name"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
nextion_update_url: "http://homeassistant.local:8123/local/nspanel_eu.tft" # Optional
# Add-on configuration
# heater_relay: "1" - possible values: 1/2
##### My customization - Start #####
##### My customization - End #####
packages:
local_package: !include packages/nspanel_esphome.yaml
```
> [!NOTE]
> A sub-folder is recommended to prevent the file from being added as an additional device in the ESPHome dashboard.
> Alternatively, you can name the file starting with `.` to exclude it from the device list.
### Advanced Blueprint Configuration
The Blueprint file `nspanel_blueprint.yaml` can be installed manually.
You can also edit your local copy of the Blueprint, but be aware that reloading the Blueprint from the repository will overwrite local changes.
### Advanced TFT File
All `.HMI` files used in this project are available in our GitHub repository.
Modify these files using the [Nextion Editor](https://nextion.tech/nextion-editor/) and create your own `.tft` files for your device.
For guidance on using Nextion, refer to:
- [Nextion Instruction Set](https://nextion.tech/instruction-set)
- [Nextion Editor Guide](https://nextion.tech/editor_guide/)
## Additional Tips and Resources
> [!TIP]
> For troubleshooting TFT transfer issues, consult our [TFT Transfer Troubleshooting Guide](tft_upload.md) first.
If problems persist after troubleshooting, visit the [Issues](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues) page.
Feel free to create a new issue for personalized assistance, providing details such as:
1. A description or picture of what is displayed on your screen.
2. Information on whether you are updating from a previous version of this project, migrating from another NSPanel customization, or customizing a panel with the original Sonoff settings.
3. ESPHome logs from the start of your panel to the point where the upload fails.
4. A description of what you have already tried.
## Important Note
Remember, these instructions serve as a guideline and may vary based on your specific setup and any systems previously installed.

71
docs/lovelace_ui.md Normal file
View File

@@ -0,0 +1,71 @@
# Migrating from **NsPanel Lovelace UI**
This document applies to users trying to migrate from **NsPanel Lovelace UI**, which is another customization for NSPanel which is available for Tasmota or ESPHome.
If you are coming from there, you have to chose one of the 3 options:
- [Upload TFT using **NsPanel Lovelace UI** tools - ESPHome version](#upload-tft-using-nspanel-lovelace-ui-tools---esphome-version)
- [Upload TFT using **NsPanel Lovelace UI** tools - Tasmota version](#upload-tft-using-nspanel-lovelace-ui-tools---tasmota-version)
- [Upload TFT using this project's tools](#upload-tft-using-this-projects-tools)
## Updating TFT
### Common steps
1. Download the file [`nspanel_blank.tft`](../hmi/nspanel_blank.tft) from our GitHub repository.
2. Upload the same file (`nspanel_blank.tft`) to the folder _**"www"**_ in your Home Assistant
3. Double check if the file is available by trying to download it using your local url (typically [`http://homeassistant.local:8123/local/nspanel_blank.tft`](http://homeassistant.local:8123/local/nspanel_blank.tft)).
### Upload TFT using **NsPanel Lovelace UI** tools - ESPHome version
After following the [**Common steps**](#common-steps), follow the additional steps:
1. On Home Assistant, go to _**"Developer tools --> Services"**_ and search there for the service named "**ESPHome: DEVICE_NAME_upload_tft**" or `esphome.<<device_name>>_upload_tft`.
2. On the field `URL`, enter the url for your local `nspanel_blank.tft` file (typically `http://homeassistant.local:8123/local/nspanel_blank.tft`).
3. Press the button **CALL SERVICE**
If everything goes right, you will see the progress bar indicating the file transfer an you will end up with a black screen showing a QR code. Then please follow the instructions from [here](nspanel_blank.md#what-to-do-after-installing-nspanel_blanktft).
### Upload TFT using **NsPanel Lovelace UI** tools - Tasmota version
After following the [**Common steps**](#common-steps),
use the instructions from [**NsPanel Lovelace UI** - Flash Firmware to Nextion Screen](https://docs.nspanel.pky.eu/stable/prepare_nspanel/#flash-firmware-to-nextion-screen) website to upload TFT,
just replacing the file url by the one you have locally (typically `http://homeassistant.local:8123/local/nspanel_blank.tft`).
If everything goes right, you will see the progress bar indicating the file transfer an you will end up with a black screen showing a QR code. Then please follow the instructions from [here](nspanel_blank.md#what-to-do-after-installing-nspanel_blanktft).
### Upload TFT using this project's tools
If you have already installed the ESPHome firmware from this project, this is probably your better option now.
After following the [**Common steps**](#common-steps), follow the additional steps:
1. On your panel's screen showing a ring and a message "Wait for content...", click 9 times in the center of the ring.
![Lovelace Startup page](pics/lovelace-ui_startup.png)
2. You should get to this page:
![Lovelace Test page](pics/lovelace-ui_pageTest.png)
3. Click on the button "disable recmod"
4. Click on the button "bauds=115200"
5. On Home Assistant, go to _**"Developer tools --> Services"**_ and search there for the service named "**ESPHome: DEVICE_NAME_upload_tft**" or `esphome.<<device_name>>_upload_tft`.
6. On the field `URL`, enter the url for your local `nspanel_blank.tft` file (typically `http://homeassistant.local:8123/local/nspanel_blank.tft`).
7. Press the button **CALL SERVICE**
If everything goes right, you will see the progress bar indicating the file transfer an you will end up with a black screen showing a QR code. Then please follow the instructions from [here](nspanel_blank.md#what-to-do-after-installing-nspanel_blanktft).
## Additional Tips and Resources
We have an useful guide for [troubleshooting TFT transfer issues](tft_upload.md). Please take a look there first.
After troubleshooting, if issues persist, consult the [Issues](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues) and feel free to create a new one asking for more personalized assistance.
Please share as much info as possible, like:
1. Describing (or a picture of) what is in your screen
2. Are updating from a previous version of this same project, or coming from another NSPanel customization (which one?) or customizing for the first time a panel with original Sonoff settings?
3. Please share the ESPHome logs from when your panel starts to the moment the upload fails.
4. Describe what you have already tried.
## Important note
Remember, these steps are a guideline and might vary slightly based on your specific setup and previously installed system.

50
docs/nspanel_blank.md Normal file
View File

@@ -0,0 +1,50 @@
# `nspanel_blank.tft`
The NSPanel consist in a ESP32 board (the panel itself, controlling the relays, buttons, communications, etc.)
with a Nextion display connected to.
This Nextion display have an independent controller which also requires a firmware and its settings (the basic layout),
and this is done by an `.tft` file.
When you get your panel from Sonoff, their `tft` file is installed in the Nextion display and using a called "Reparse mode",
which makes a bit challenging to replace the `tft` file when using ESPHome and then, we highly recoment you using `nspanel_blank.tft`,
which is just a fraction of the size of a regular `tft` and will make the first `tft` replacement much easier.
Once NSPanel's original `tft` is replaced, is much easier to install a new `tft` with ESPHome,
so you can go directly to the final file (either `nspanel_eu.tft`, `nspanel_us.tft` or `nspanel_us_land.tft`).
For more datails on how to install the first `tft` file, specially if your panel still displaying the original Sonoff screen,
please refeer to the [Troubleshooting TFT transfer](tft_upload.md) guide.
## How to install a different `tft` file?
Just go to your devices's page (under **Settings** > **Devices and Services** > **ESPHome**),
select your **Upload TFT display - Model** and then press **Upload TFT display**.
## What to do after installing `nspanel_blank.tft`?
![image](https://github.com/Blackymas/NSPanel_HA_Blueprint/assets/94725493/3b0bb950-4857-4c22-a53a-062d09f315dc)
Once you have sucessfully installed any of the `tft` files from this project,
the `nspanel_blank.tft` file shouldn't be necessary anymore and you should be able to always install the final `tft` file.
Just go to your devices's page (under **Settings** > **Devices and Services** > **ESPHome**),
select your **Upload TFT display - Model** and then press **Upload TFT display**.
## Additional Tips and Resources
We have an useful guide for [troubleshooting TFT transfer issues](tft_upload.md).
Please take a look there first.
After troubleshooting, if issues persist, consult the [Issues](https://github.com/Blackymas/NSPanel_HA_Blueprint/issues)
and feel free to create a new one asking for more personalized assistance.
Please share as much info as possible, like:
1. Describing (or a picture of) what is in your screen
2. Are updating from a previous version of this same project,
or coming from another NSPanel customization (which one?)
or customizing for the first time a panel with original Sonoff settings?
3. Please share the ESPHome logs from when your panel starts to the moment the upload fails.
4. Describe what you have already tried.
## Important note
Remember, these steps are a guideline and might vary slightly based on your specific setup and previously installed system.

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 KiB

Some files were not shown because too many files have changed in this diff Show More