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>
This commit is contained in:
Edward Firmo
2023-09-20 16:48:06 +02:00
committed by GitHub
parent 9aa8421117
commit eda6852309
112 changed files with 30824 additions and 5759 deletions

View File

@@ -4,10 +4,19 @@ Program.s
int r=0,g=0,b=0
int h=0,s=0,v=0
int p=0,q=0,t=0,f=0
bauds=115200//Configure baudrat
recmod=0//Serial data parsing mode:0-Passive mode;1-Active mod
printh 00 00 00 ff ff ff 88 ff ff ff//Output power on information to serial pore
lcd_dev fffb 0002 0000 0020// Fix touch offset for EU Version
int dimdelta=0
int api=0 // 0 = disconnected from HA, 1 = connected to HA
int is_alarm=0,is_entities=0,is_qrcode=0,is_notification=0
int brightness=100,brightness_dim=40
int display_mode=1 // 1 = EU, 2 = US, 3 = US landscape
bauds=115200//Configure baudrate
recmod=0//Serial data parsing mode:0-Passive mode;1-Active mode
randset 0,65535//used for touchevent sensor
printh 00 00 00 ff ff ff 88 ff ff ff//Output power on information to serial port
if(display_mode==1)
{
lcd_dev fffb 0002 0000 0020// Fix touch offset for EU Version
}
printh 92
prints "nspanelevent",0
printh 00

452
nspanel_eu_code/alarm.txt Normal file
View File

@@ -0,0 +1,452 @@
Page alarm
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"alarm\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis bt_home,0
vis bt_away,0
vis bt_night,0
vis bt_vacat,0
vis bt_bypass,0
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) lastclick
Attributes
ID : 3
Scope : local
Text :
Max. Text Size: 255
Variable (string) back_page
Attributes
ID : 4
Scope : local
Text : home
Max. Text Size: 15
Variable (string) code_format
Attributes
ID : 29
Scope : local
Text :
Max. Text Size: 15
Variable (string) code_arm_req
Attributes
ID : 30
Scope : local
Text :
Max. Text Size: 1
Text page_label
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Alarm Control Panel
Max. Text Size : 25
Text icon_state
Attributes
ID : 2
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : 
Max. Text Size : 10
Text bt_home_text
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Home
Max. Text Size : 22
Text bt_away_text
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Away
Max. Text Size : 22
Text bt_night_text
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Night
Max. Text Size : 22
Text bt_vacat_text
Attributes
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Vacation
Max. Text Size : 22
Text bt_bypass_text
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Bypass
Max. Text Size : 22
Text bt_disarm_text
Attributes
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Disarm
Max. Text Size : 22
Text bt_home_icon
Attributes
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text bt_away_icon
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text bt_night_icon
Attributes
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text bt_vacat_icon
Attributes
ID : 20
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text bt_bypass_icon
Attributes
ID : 21
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text bt_disarm_icon
Attributes
ID : 22
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Picture bt_home_pic
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
Picture bt_away_pic
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID: disabled
Picture bt_night_pic
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID: disabled
Picture bt_vacat_pic
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID: disabled
Picture bt_bypass_pic
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID: disabled
Picture bt_disarm_pic
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID: disabled
Button button_back
Attributes
ID : 31
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
if(back_page.txt=="buttonpage01")
{
page buttonpage01
}else if(back_page.txt=="buttonpage02")
{
page buttonpage02
}else if(back_page.txt=="buttonpage03")
{
page buttonpage03
}else if(back_page.txt=="buttonpage04")
{
page buttonpage04
}else
{
page home
}
Hotspot bt_home
Attributes
ID : 23
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
bt_home_pic.pic=44
bt_home_text.bco=65024
bt_home_text.pco=0
bt_home_icon.bco=65024
bt_home_icon.pco=0
Touch Release Event
lastclick.txt="{\"page\": \"alarm\", \"key\": \"home\", \"value\": \"click\", \"mui\": \""+bt_home_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot bt_away
Attributes
ID : 24
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
bt_away_pic.pic=44
bt_away_text.bco=65024
bt_away_text.pco=0
bt_away_icon.bco=65024
bt_away_icon.pco=0
Touch Release Event
lastclick.txt="{\"page\": \"alarm\", \"key\": \"away\", \"value\": \"click\", \"mui\": \""+bt_away_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot bt_night
Attributes
ID : 25
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
bt_night_pic.pic=44
bt_night_text.bco=65024
bt_night_text.pco=0
bt_night_icon.bco=65024
bt_night_icon.pco=0
Touch Release Event
lastclick.txt="{\"page\": \"alarm\", \"key\": \"night\", \"value\": \"click\", \"mui\": \""+bt_night_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot bt_vacat
Attributes
ID : 26
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
bt_vacat_pic.pic=44
bt_vacat_text.bco=65024
bt_vacat_text.pco=0
bt_vacat_icon.bco=65024
bt_vacat_icon.pco=0
Touch Release Event
lastclick.txt="{\"page\": \"alarm\", \"key\": \"vacation\", \"value\": \"click\", \"mui\": \""+bt_vacat_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot bt_bypass
Attributes
ID : 27
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
bt_bypass_pic.pic=44
bt_bypass_text.bco=65024
bt_bypass_text.pco=0
bt_bypass_icon.bco=65024
bt_bypass_icon.pco=0
Touch Release Event
lastclick.txt="{\"page\": \"alarm\", \"key\": \"bypass\", \"value\": \"click\", \"mui\": \""+bt_bypass_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot bt_disarm
Attributes
ID : 28
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
bt_disarm_pic.pic=44
bt_disarm_text.bco=65024
bt_disarm_text.pco=0
bt_disarm_icon.bco=65024
bt_disarm_icon.pco=0
Touch Release Event
lastclick.txt="{\"page\": \"alarm\", \"key\": \"disarm\", \"value\": \"click\", \"mui\": \""+bt_disarm_text.txt+"\", \"code_format\": \""+code_format.txt+"\", \"code_arm_req\": \""+code_arm_req.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Timer wakeup_timer
Attributes
ID : 32
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}

View File

@@ -12,13 +12,61 @@ Page boot
Events
Preinitialize Event
dim=0
vis bt_reboot,0
covx display_mode,aux2.txt,0,0
nspanelevent.txt="{\"page\": \"boot\", \"event\": \"pagechanged\", \"version\": \""+tft_version.txt+"\", \"display_mode\": \""+aux2.txt+"\"}"
printh 92
prints "nspanelevent",0
prints "localevent",0
printh 00
prints "{\"page\": \"boot\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
prints nspanelevent.txt,0
printh 00
printh FF FF FF
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Page Exit Event
dim=0
Variable (int32) counter
Attributes
ID : 12
Scope: local
Value: 0
Variable (string) aux1
Attributes
ID : 13
Scope : local
Text :
Max. Text Size: 10
Variable (string) nspanelevent
Attributes
ID : 14
Scope : local
Text :
Max. Text Size: 150
Variable (string) aux2
Attributes
ID : 15
Scope : local
Text :
Max. Text Size: 10
Text ip_addr
Attributes
ID : 1
@@ -86,7 +134,7 @@ Text tft_version
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : 3.4
Text : 4.0
Max. Text Size : 8
Text esph_version
@@ -109,7 +157,7 @@ Text bluep_version
Text :
Max. Text Size : 8
Dual-state Button a01
Dual-state Button bt_reboot
Attributes
ID : 4
Scope : local
@@ -119,3 +167,47 @@ Dual-state Button a01
Text : Reboot
Max. Text Size : 6
Timer timer
Attributes
ID : 11
Scope : local
Period (ms): 65534
Enabled : yes
Events
Timer Event
counter.val++
covx counter.val,aux1.txt,0,0
covx display_mode,aux2.txt,0,0
nspanelevent.txt="{\"page\": \"boot\", \"event\": \"timeout\", \"value\": "+aux1.txt+", \"version\": \""+tft_version.txt+"\", \"display_mode\": \""+aux2.txt+"\"}"
bluep_version.txt="Retry: "+aux1.txt
printh 92
prints "nspanelevent",0
printh 00
prints nspanelevent.txt,0
printh 00
printh FF FF FF
Timer wakeup_timer
Attributes
ID : 16
Scope : local
Period (ms): 50
Enabled : yes
Events
Timer Event
if(dim<100)
{
dimdelta=100-dim
dimdelta/=25
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}

View File

@@ -12,38 +12,63 @@ Page buttonpage01
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage01\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage01\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
vis page_index,1
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage01\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage01\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) lastclick
Attributes
ID : 45
ID : 44
Scope : local
Text :
Max. Text Size: 100
Variable (string) click_comp
Attributes
ID : 47
Scope : local
Text :
Max. Text Size: 8
Variable (string) page_name
Attributes
ID : 49
Scope : local
Text : buttonpage01
Max. Text Size: 12
Variable (int32) confirm
Attributes
ID : 51
Scope: local
Value: 0
Text button01text
Attributes
ID : 4
@@ -52,7 +77,7 @@ Text button01text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button01bri
Attributes
@@ -72,7 +97,7 @@ Text button02text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button02bri
Attributes
@@ -92,7 +117,7 @@ Text button03text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button03bri
Attributes
@@ -112,7 +137,7 @@ Text button04text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button04bri
Attributes
@@ -132,7 +157,7 @@ Text button05text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button05bri
Attributes
@@ -152,7 +177,7 @@ Text button06text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button06bri
Attributes
@@ -172,7 +197,7 @@ Text button07text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button07bri
Attributes
@@ -192,7 +217,7 @@ Text button08text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button08bri
Attributes
@@ -206,7 +231,7 @@ Text button08bri
Text bpage01_label
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -216,7 +241,7 @@ Text bpage01_label
Text button01icon
Attributes
ID : 29
ID : 28
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -226,7 +251,7 @@ Text button01icon
Text button02icon
Attributes
ID : 30
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -236,7 +261,7 @@ Text button02icon
Text button03icon
Attributes
ID : 31
ID : 30
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -246,7 +271,7 @@ Text button03icon
Text button04icon
Attributes
ID : 32
ID : 31
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -256,7 +281,7 @@ Text button04icon
Text button05icon
Attributes
ID : 33
ID : 32
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -266,7 +291,7 @@ Text button05icon
Text button06icon
Attributes
ID : 34
ID : 33
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -276,7 +301,7 @@ Text button06icon
Text button07icon
Attributes
ID : 35
ID : 34
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -286,7 +311,7 @@ Text button07icon
Text button08icon
Attributes
ID : 36
ID : 35
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -294,6 +319,16 @@ Text button08icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 45
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture button01pic
Attributes
ID : 3
@@ -350,12 +385,15 @@ Picture button08pic
Dragging : 0
Send Component ID: disabled
Hotspot button_back
Button button_back
Attributes
ID : 27
ID : 46
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -363,211 +401,291 @@ Hotspot button_back
Hotspot button01
Attributes
ID : 37
ID : 36
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button01\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button01"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button01\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&1
if(sys0>0)
{
confirm.body.txt=button01text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button02
Attributes
ID : 37
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click_comp.txt="button02"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&2
if(sys0>0)
{
confirm.body.txt=button02text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Attributes
ID : 38
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button02\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button03"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button02\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&4
if(sys0>0)
{
confirm.body.txt=button03text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Hotspot button04
Attributes
ID : 39
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button03\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button04"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button03\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&8
if(sys0>0)
{
confirm.body.txt=button04text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button04
Hotspot button05
Attributes
ID : 40
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button04\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button05"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button04\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&16
if(sys0>0)
{
confirm.body.txt=button05text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button05
Hotspot button06
Attributes
ID : 41
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button05\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button06"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button05\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&32
if(sys0>0)
{
confirm.body.txt=button06text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button06
Hotspot button07
Attributes
ID : 42
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button06\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button07"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button06\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&64
if(sys0>0)
{
confirm.body.txt=button07text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button07
Hotspot button08
Attributes
ID : 43
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button07\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button08"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button07\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button08
Attributes
ID : 44
Scope : local
Dragging : 0
Send Component ID: on press and release
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button08\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage01\", \"component\": \"button08\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&128
if(sys0>0)
{
confirm.body.txt=button08text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Timer swipestore
Attributes
@@ -581,6 +699,47 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer click_timer
Attributes
ID : 48
Scope : local
Period (ms): 800
Enabled : no
Events
Timer Event
lastclick.txt="{\"page\": \"buttonpage01\", \"event\": \"long_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_timer.en=0
Timer wakeup_timer
Attributes
ID : 50
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,38 +12,63 @@ Page buttonpage02
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage02\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage02\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
vis page_index,1
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage02\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage02\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) lastclick
Attributes
ID : 45
ID : 44
Scope : local
Text :
Max. Text Size: 100
Variable (string) click_comp
Attributes
ID : 47
Scope : local
Text :
Max. Text Size: 8
Variable (string) page_name
Attributes
ID : 49
Scope : local
Text : buttonpage02
Max. Text Size: 12
Variable (int32) confirm
Attributes
ID : 51
Scope: local
Value: 0
Text button01text
Attributes
ID : 4
@@ -52,7 +77,7 @@ Text button01text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button01bri
Attributes
@@ -72,7 +97,7 @@ Text button02text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button02bri
Attributes
@@ -92,7 +117,7 @@ Text button03text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button03bri
Attributes
@@ -112,7 +137,7 @@ Text button04text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button04bri
Attributes
@@ -132,7 +157,7 @@ Text button05text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button05bri
Attributes
@@ -152,7 +177,7 @@ Text button06text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button06bri
Attributes
@@ -172,7 +197,7 @@ Text button07text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button07bri
Attributes
@@ -192,7 +217,7 @@ Text button08text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button08bri
Attributes
@@ -206,7 +231,7 @@ Text button08bri
Text bpage02_label
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -216,7 +241,7 @@ Text bpage02_label
Text button01icon
Attributes
ID : 29
ID : 28
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -226,7 +251,7 @@ Text button01icon
Text button02icon
Attributes
ID : 30
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -236,7 +261,7 @@ Text button02icon
Text button03icon
Attributes
ID : 31
ID : 30
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -246,7 +271,7 @@ Text button03icon
Text button04icon
Attributes
ID : 32
ID : 31
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -256,7 +281,7 @@ Text button04icon
Text button05icon
Attributes
ID : 33
ID : 32
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -266,7 +291,7 @@ Text button05icon
Text button06icon
Attributes
ID : 34
ID : 33
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -276,7 +301,7 @@ Text button06icon
Text button07icon
Attributes
ID : 35
ID : 34
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -286,7 +311,7 @@ Text button07icon
Text button08icon
Attributes
ID : 36
ID : 35
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -294,6 +319,16 @@ Text button08icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 46
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture button01pic
Attributes
ID : 3
@@ -350,12 +385,15 @@ Picture button08pic
Dragging : 0
Send Component ID: disabled
Hotspot button_back
Button button_back
Attributes
ID : 27
ID : 45
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -363,211 +401,291 @@ Hotspot button_back
Hotspot button01
Attributes
ID : 37
ID : 36
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button01\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button01"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button01\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&1
if(sys0>0)
{
confirm.body.txt=button01text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button02
Attributes
ID : 37
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click_comp.txt="button02"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&2
if(sys0>0)
{
confirm.body.txt=button02text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Attributes
ID : 38
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button02\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button03"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button02\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&4
if(sys0>0)
{
confirm.body.txt=button03text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Hotspot button04
Attributes
ID : 39
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button03\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button04"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button03\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&8
if(sys0>0)
{
confirm.body.txt=button04text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button04
Hotspot button05
Attributes
ID : 40
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: on press
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button04\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button05"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button04\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&16
if(sys0>0)
{
confirm.body.txt=button05text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button05
Hotspot button06
Attributes
ID : 41
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button05\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button06"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button05\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&32
if(sys0>0)
{
confirm.body.txt=button06text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button06
Hotspot button07
Attributes
ID : 42
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button06\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button07"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button06\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&64
if(sys0>0)
{
confirm.body.txt=button07text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button07
Hotspot button08
Attributes
ID : 43
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button07\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button08"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button07\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button08
Attributes
ID : 44
Scope : local
Dragging : 0
Send Component ID: on press and release
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button08\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage02\", \"component\": \"button08\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&128
if(sys0>0)
{
confirm.body.txt=button08text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Timer swipestore
Attributes
@@ -581,6 +699,47 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer click_timer
Attributes
ID : 48
Scope : local
Period (ms): 800
Enabled : no
Events
Timer Event
lastclick.txt="{\"page\": \"buttonpage02\", \"event\": \"long_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_timer.en=0
Timer wakeup_timer
Attributes
ID : 50
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,38 +12,63 @@ Page buttonpage03
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage03\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage03\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
vis page_index,1
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage03\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage03\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) lastclick
Attributes
ID : 45
ID : 44
Scope : local
Text :
Max. Text Size: 100
Variable (string) click_comp
Attributes
ID : 47
Scope : local
Text :
Max. Text Size: 8
Variable (string) page_name
Attributes
ID : 49
Scope : local
Text : buttonpage03
Max. Text Size: 12
Variable (int32) confirm
Attributes
ID : 51
Scope: local
Value: 0
Text button01text
Attributes
ID : 4
@@ -52,7 +77,7 @@ Text button01text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button01bri
Attributes
@@ -72,7 +97,7 @@ Text button02text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button02bri
Attributes
@@ -92,7 +117,7 @@ Text button03text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button03bri
Attributes
@@ -112,7 +137,7 @@ Text button04text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button04bri
Attributes
@@ -132,7 +157,7 @@ Text button05text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button05bri
Attributes
@@ -152,7 +177,7 @@ Text button06text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button06bri
Attributes
@@ -172,7 +197,7 @@ Text button07text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button07bri
Attributes
@@ -192,7 +217,7 @@ Text button08text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button08bri
Attributes
@@ -206,7 +231,7 @@ Text button08bri
Text bpage03_label
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -216,7 +241,7 @@ Text bpage03_label
Text button01icon
Attributes
ID : 29
ID : 28
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -226,7 +251,7 @@ Text button01icon
Text button02icon
Attributes
ID : 30
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -236,7 +261,7 @@ Text button02icon
Text button03icon
Attributes
ID : 31
ID : 30
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -246,7 +271,7 @@ Text button03icon
Text button04icon
Attributes
ID : 32
ID : 31
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -256,7 +281,7 @@ Text button04icon
Text button05icon
Attributes
ID : 33
ID : 32
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -266,7 +291,7 @@ Text button05icon
Text button06icon
Attributes
ID : 34
ID : 33
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -276,7 +301,7 @@ Text button06icon
Text button07icon
Attributes
ID : 35
ID : 34
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -286,7 +311,7 @@ Text button07icon
Text button08icon
Attributes
ID : 36
ID : 35
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -294,6 +319,16 @@ Text button08icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 46
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture button01pic
Attributes
ID : 3
@@ -350,12 +385,15 @@ Picture button08pic
Dragging : 0
Send Component ID: disabled
Hotspot button_back
Button button_back
Attributes
ID : 27
ID : 45
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -363,211 +401,291 @@ Hotspot button_back
Hotspot button01
Attributes
ID : 37
ID : 36
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button01\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button01"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button01\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&1
if(sys0>0)
{
confirm.body.txt=button01text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button02
Attributes
ID : 37
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click_comp.txt="button02"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&2
if(sys0>0)
{
confirm.body.txt=button02text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Attributes
ID : 38
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button02\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button03"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button02\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&4
if(sys0>0)
{
confirm.body.txt=button03text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Hotspot button04
Attributes
ID : 39
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button03\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button04"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button03\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&8
if(sys0>0)
{
confirm.body.txt=button04text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button04
Hotspot button05
Attributes
ID : 40
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button04\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button05"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button04\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&16
if(sys0>0)
{
confirm.body.txt=button05text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button05
Hotspot button06
Attributes
ID : 41
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button05\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button06"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button05\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&32
if(sys0>0)
{
confirm.body.txt=button06text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button06
Hotspot button07
Attributes
ID : 42
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button06\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button07"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button06\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&64
if(sys0>0)
{
confirm.body.txt=button07text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button07
Hotspot button08
Attributes
ID : 43
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button07\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button08"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button07\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button08
Attributes
ID : 44
Scope : local
Dragging : 0
Send Component ID: on press and release
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button08\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage03\", \"component\": \"button08\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&128
if(sys0>0)
{
confirm.body.txt=button08text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Timer swipestore
Attributes
@@ -581,6 +699,47 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer click_timer
Attributes
ID : 48
Scope : local
Period (ms): 800
Enabled : no
Events
Timer Event
lastclick.txt="{\"page\": \"buttonpage03\", \"event\": \"long_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_timer.en=0
Timer wakeup_timer
Attributes
ID : 50
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,38 +12,63 @@ Page buttonpage04
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage04\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"buttonpage04\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis 255,0
vis button_back,1
vis page_index,1
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage04\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"buttonpage04\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) lastclick
Attributes
ID : 45
ID : 44
Scope : local
Text :
Max. Text Size: 100
Variable (string) click_comp
Attributes
ID : 47
Scope : local
Text :
Max. Text Size: 8
Variable (string) page_name
Attributes
ID : 49
Scope : local
Text : buttonpage04
Max. Text Size: 12
Variable (int32) confirm
Attributes
ID : 51
Scope: local
Value: 0
Text button01text
Attributes
ID : 4
@@ -52,7 +77,7 @@ Text button01text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button01bri
Attributes
@@ -72,7 +97,7 @@ Text button02text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button02bri
Attributes
@@ -92,7 +117,7 @@ Text button03text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button03bri
Attributes
@@ -112,7 +137,7 @@ Text button04text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button04bri
Attributes
@@ -132,7 +157,7 @@ Text button05text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button05bri
Attributes
@@ -152,7 +177,7 @@ Text button06text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button06bri
Attributes
@@ -172,7 +197,7 @@ Text button07text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button07bri
Attributes
@@ -192,7 +217,7 @@ Text button08text
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 22
Text button08bri
Attributes
@@ -206,7 +231,7 @@ Text button08bri
Text bpage04_label
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -216,7 +241,7 @@ Text bpage04_label
Text button01icon
Attributes
ID : 29
ID : 28
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -226,7 +251,7 @@ Text button01icon
Text button02icon
Attributes
ID : 30
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -236,7 +261,7 @@ Text button02icon
Text button03icon
Attributes
ID : 31
ID : 30
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -246,7 +271,7 @@ Text button03icon
Text button04icon
Attributes
ID : 32
ID : 31
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -256,7 +281,7 @@ Text button04icon
Text button05icon
Attributes
ID : 33
ID : 32
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -266,7 +291,7 @@ Text button05icon
Text button06icon
Attributes
ID : 34
ID : 33
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -276,7 +301,7 @@ Text button06icon
Text button07icon
Attributes
ID : 35
ID : 34
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -286,7 +311,7 @@ Text button07icon
Text button08icon
Attributes
ID : 36
ID : 35
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -294,6 +319,16 @@ Text button08icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 46
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture button01pic
Attributes
ID : 3
@@ -350,12 +385,15 @@ Picture button08pic
Dragging : 0
Send Component ID: disabled
Hotspot button_back
Button button_back
Attributes
ID : 27
ID : 45
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -363,211 +401,291 @@ Hotspot button_back
Hotspot button01
Attributes
ID : 37
ID : 36
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button01\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button01"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button01\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&1
if(sys0>0)
{
confirm.body.txt=button01text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button02
Attributes
ID : 37
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
click_comp.txt="button02"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&2
if(sys0>0)
{
confirm.body.txt=button02text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Attributes
ID : 38
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button02\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button03"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button02\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&4
if(sys0>0)
{
confirm.body.txt=button03text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button03
Hotspot button04
Attributes
ID : 39
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button03\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button04"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button03\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&8
if(sys0>0)
{
confirm.body.txt=button04text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button04
Hotspot button05
Attributes
ID : 40
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: on press
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button04\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button05"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button04\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&16
if(sys0>0)
{
confirm.body.txt=button05text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button05
Hotspot button06
Attributes
ID : 41
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button05\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button06"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button05\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&32
if(sys0>0)
{
confirm.body.txt=button06text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button06
Hotspot button07
Attributes
ID : 42
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button06\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button07"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button06\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&64
if(sys0>0)
{
confirm.body.txt=button07text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Hotspot button07
Hotspot button08
Attributes
ID : 43
Scope : local
Dragging : 0
Send Component ID: on press and release
Send Component ID: disabled
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button07\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_comp.txt="button08"
click_timer.en=1
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button07\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button08
Attributes
ID : 44
Scope : local
Dragging : 0
Send Component ID: on press and release
Events
Touch Press Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button08\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Touch Release Event
lastclick.txt="{\"page\": \"buttonpage04\", \"component\": \"button08\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(click_timer.en==1)
{
click_timer.en=0
sys0=confirm.val&128
if(sys0>0)
{
confirm.body.txt=button08text.txt
confirm.page_id.val=dp
confirm.page_name.txt=page_name.txt
confirm.component.txt=click_comp.txt
page confirm
}else
{
lastclick.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
}
Timer swipestore
Attributes
@@ -581,6 +699,47 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer click_timer
Attributes
ID : 48
Scope : local
Period (ms): 800
Enabled : no
Events
Timer Event
lastclick.txt="{\"page\": \"buttonpage04\", \"event\": \"long_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_timer.en=0
Timer wakeup_timer
Attributes
ID : 50
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -0,0 +1,936 @@
Page climate
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==1||embedded.val==1)
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"climate\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis target_icon,0
vis target_temp,0
vis current_temp,0
vis current_icon,0
vis climateslider,0
vis button01,0
vis button02,0
vis button03,0
vis button04,0
vis button05,0
vis button06,0
vis button07,0
}else
{
page home
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Page Exit Event
if(timer01.en==1)
{
timer01.en=0
covx temp_number.val,va1.txt,0,0
climatesetting.txt="{\"page\": \"climate\", \"component\": \"climate_position\", \"value\": "+va1.txt+"}"
printh 92
prints "nspanelevent",0
printh 00
prints climatesetting.txt,0
printh 00
printh FF FF FF
}
Variable (string) va1
Attributes
ID : 25
Scope : local
Text :
Max. Text Size: 10
Variable (string) climatesetting
Attributes
ID : 26
Scope : local
Text :
Max. Text Size: 255
Variable (string) lastclick
Attributes
ID : 34
Scope : local
Text :
Max. Text Size: 255
Variable (int32) temp_offset
Attributes
ID : 36
Scope: local
Value: 0
Variable (int32) temp_step
Attributes
ID : 37
Scope: local
Value: 0
Variable (int32) temp_number
Attributes
ID : 43
Scope: local
Value: 0
Variable (int32) va0
Attributes
ID : 44
Scope: local
Value: 0
Variable (string) back_page
Attributes
ID : 45
Scope : local
Text : home
Max. Text Size: 15
Variable (int32) embedded
Attributes
ID : 46
Scope: global
Value: 0
Variable (string) va2
Attributes
ID : 47
Scope : local
Text :
Max. Text Size: 10
Variable (string) click_comp
Attributes
ID : 49
Scope : local
Text :
Max. Text Size: 8
Text current_temp
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text page_label
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 100
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text current_icon
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text target_icon
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value01_icon
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value01
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value02_icon
Attributes
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value02
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value03_icon
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value03
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value04_icon
Attributes
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text value04
Attributes
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 6
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text button01_icon
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button02_icon
Attributes
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button03_icon
Attributes
ID : 20
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button04_icon
Attributes
ID : 21
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button05_icon
Attributes
ID : 22
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button06_icon
Attributes
ID : 23
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button07_icon
Attributes
ID : 24
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button08_icon
Attributes
ID : 38
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button09_icon
Attributes
ID : 40
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text target_temp
Attributes
ID : 42
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Slider climateslider
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID: disabled
Position : 20
Upper range limit: 40
Lower range limit: 0
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
temp_number.val=climateslider.val*temp_step.val
temp_number.val+=temp_offset.val
va0.val=temp_number.val/10
covx va0.val,target_temp.txt,0,0
va0.val=temp_number.val%10
covx va0.val,va1.txt,0,0
target_temp.txt+="."+va1.txt
timer01.en=1
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button button_back
Attributes
ID : 48
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
if(back_page.txt=="buttonpage01")
{
page buttonpage01
}else if(back_page.txt=="buttonpage02")
{
page buttonpage02
}else if(back_page.txt=="buttonpage03")
{
page buttonpage03
}else if(back_page.txt=="buttonpage04")
{
page buttonpage04
}else
{
page home
}
Hotspot decrease_temp
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
if(climateslider.val>0)
{
climateslider.val--
temp_number.val=climateslider.val*temp_step.val
temp_number.val+=temp_offset.val
va0.val=temp_number.val/10
covx va0.val,target_temp.txt,0,0
va0.val=temp_number.val%10
covx va0.val,va1.txt,0,0
target_temp.txt+="."+va1.txt
}
Touch Release Event
timer01.en=1
Hotspot increase_temp
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
if(climateslider.val<climateslider.maxval)
{
climateslider.val++
temp_number.val=climateslider.val*temp_step.val
temp_number.val+=temp_offset.val
va0.val=temp_number.val/10
covx va0.val,target_temp.txt,0,0
va0.val=temp_number.val%10
covx va0.val,va1.txt,0,0
target_temp.txt+="."+va1.txt
}
Touch Release Event
timer01.en=1
Hotspot button01
Attributes
ID : 27
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"auto\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button02
Attributes
ID : 28
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"heat_cool\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button03
Attributes
ID : 29
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"heat\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button04
Attributes
ID : 30
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"cool\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button05
Attributes
ID : 31
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"dry\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button06
Attributes
ID : 32
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"fan_only\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button07
Attributes
ID : 33
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx embedded.val,va2.txt,0,0
lastclick.txt="{\"page\": \"climate\", \"key\": \"hvac_mode\", \"value\": \"off\", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button08
Attributes
ID : 39
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
click_comp.txt="button08"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
lastclick.txt="{\"page\": \"climate\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
Hotspot button09
Attributes
ID : 41
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
click_comp.txt="button09"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
lastclick.txt="{\"page\": \"climate\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
Timer swipestore
Attributes
ID : 2
Scope : local
Period (ms): 50
Enabled : no
Events
Timer Event
swipex=tch0
swipey=tch1
Timer timer01
Attributes
ID : 35
Scope : local
Period (ms): 1000
Enabled : no
Events
Timer Event
timer01.en=0
covx embedded.val,va2.txt,0,0
covx temp_number.val,va1.txt,0,0
climatesetting.txt="{\"page\": \"climate\", \"key\": \"set_temperature\", \"value\": "+va1.txt+", \"embedded\": "+va2.txt+"}"
printh 92
prints "localevent",0
printh 00
prints climatesetting.txt,0
printh 00
printh FF FF FF
Timer click_timer
Attributes
ID : 50
Scope : local
Period (ms): 800
Enabled : no
Events
Timer Event
lastclick.txt="{\"page\": \"climate\", \"event\": \"long_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_timer.en=0
Timer wakeup_timer
Attributes
ID : 51
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1
Scope: local
Value: 0
Events
Touch Press Event
swipestore.en=1 // Start swipestore timer
Touch Release Event
swipestore.en=0
// Touch has ended, x
if(tch0==0)
{
swipec=swipex-tch2
// From Left to Right
if(swipec>swipedx)
{
//page
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
//page
}
}
// Touch has ended, y
if(tch1==0)
{
swipec=swipey-tch3
// From Up to Down
if(swipec>100)
{
//page
}
// Down to Up
swipec2=0-swipedy
if(swipec<-100)
{
//page
}
}

214
nspanel_eu_code/confirm.txt Normal file
View File

@@ -0,0 +1,214 @@
Page confirm
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"confirm\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (int32) page_id
Attributes
ID : 3
Scope: global
Value: 0
Variable (string) aux
Attributes
ID : 5
Scope : local
Text :
Max. Text Size: 255
Variable (string) page_name
Attributes
ID : 9
Scope : global
Text :
Max. Text Size: 12
Variable (string) component
Attributes
ID : 10
Scope : global
Text :
Max. Text Size: 10
Text t0
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text title
Attributes
ID : 4
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Please confirm
Max. Text Size : 30
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text body
Attributes
ID : 8
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Please confirm
Max. Text Size : 22
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button bclose
Attributes
ID : 2
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 10
Events
Touch Release Event
page page_id.val
Button bt_accept
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
aux.txt="{\"page\": \""+page_name.txt+"\", \"event\": \"short_click\", \"component\": \""+component.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints aux.txt,0
printh 00
printh FF FF FF
page page_id.val
Button bt_clear
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
page page_id.val
Timer wakeup_timer
Attributes
ID : 11
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}

243
nspanel_eu_code/cover.txt Normal file
View File

@@ -0,0 +1,243 @@
Page cover
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"cover\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) va1
Attributes
ID : 7
Scope : local
Text : newtxt
Max. Text Size: 10
Variable (string) coversetting
Attributes
ID : 11
Scope : local
Text :
Max. Text Size: 255
Variable (string) back_page
Attributes
ID : 12
Scope : local
Text : home
Max. Text Size: 15
Text battery_value
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text cover_value
Attributes
ID : 2
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text page_label
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 25
Text icon_state
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text battery_icon
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Slider coverslider
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID: disabled
Position : 0
Upper range limit: 100
Lower range limit: 0
Events
Touch Release Event
covx coverslider.val,va1.txt,0,0
cover_value.txt=va1.txt+"%"
coversetting.txt="{\"page\": \"cover\", \"key\": \"position\", \"value\": "+va1.txt+"}"
printh 92
prints "localevent",0
printh 00
prints coversetting.txt,0
printh 00
printh FF FF FF
Button cover_open
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 3
Events
Touch Press Event
printh 92
prints "localevent",0
printh 00
prints "{\"page\": \"cover\", \"key\": \"open_cover\", \"value\": \"press\"}",0
printh 00
printh FF FF FF
Button cover_close
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 3
Events
Touch Press Event
printh 92
prints "localevent",0
printh 00
prints "{\"page\": \"cover\", \"key\": \"close_cover\", \"value\": \"press\"}",0
printh 00
printh FF FF FF
Button cover_stop
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 3
Events
Touch Press Event
printh 92
prints "localevent",0
printh 00
prints "{\"page\": \"cover\", \"key\": \"stop_cover\", \"value\": \"press\"}",0
printh 00
printh FF FF FF
Button button_back
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
if(back_page.txt=="buttonpage01")
{
page buttonpage01
}else if(back_page.txt=="buttonpage02")
{
page buttonpage02
}else if(back_page.txt=="buttonpage03")
{
page buttonpage03
}else if(back_page.txt=="buttonpage04")
{
page buttonpage04
}else
{
page home
}
Timer wakeup_timer
Attributes
ID : 14
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}

View File

@@ -12,27 +12,31 @@ Page entitypage01
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage01\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage01\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage01\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage01\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text value01_label
@@ -87,7 +91,7 @@ Text value03_label
Text entity01_label
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text entity01_label
Text value06_label
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value06_label
Text value07_label
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value07_label
Text value08_label
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value08_label
Text value01_pic
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_pic
Text value02_pic
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_pic
Text value03_pic
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_pic
Text value04_pic
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_pic
Text value05_pic
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -177,7 +181,7 @@ Text value05_pic
Text value06_pic
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -187,7 +191,7 @@ Text value06_pic
Text value07_pic
Attributes
ID : 19
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -197,7 +201,7 @@ Text value07_pic
Text value08_pic
Attributes
ID : 20
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -207,7 +211,7 @@ Text value08_pic
Text value01
Attributes
ID : 21
ID : 20
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -217,7 +221,7 @@ Text value01
Text value02
Attributes
ID : 22
ID : 21
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -227,7 +231,7 @@ Text value02
Text value03
Attributes
ID : 23
ID : 22
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -237,7 +241,7 @@ Text value03
Text value04
Attributes
ID : 24
ID : 23
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -247,7 +251,7 @@ Text value04
Text value05
Attributes
ID : 25
ID : 24
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -257,7 +261,7 @@ Text value05
Text value06
Attributes
ID : 26
ID : 25
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -267,7 +271,7 @@ Text value06
Text value07
Attributes
ID : 27
ID : 26
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -277,7 +281,7 @@ Text value07
Text value08
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -285,12 +289,25 @@ Text value08
Text :
Max. Text Size : 10
Hotspot entity01_back
Text page_index
Attributes
ID : 8
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Button button_back
Attributes
ID : 28
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -308,6 +325,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 30
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,27 +12,32 @@ Page entitypage02
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage02\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
dim=brightness
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage02\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage02\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage02\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text value01_label
@@ -87,7 +92,7 @@ Text value03_label
Text entity02_label
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +102,7 @@ Text entity02_label
Text value06_label
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +112,7 @@ Text value06_label
Text value07_label
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +122,7 @@ Text value07_label
Text value08_label
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +132,7 @@ Text value08_label
Text value01_pic
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +142,7 @@ Text value01_pic
Text value02_pic
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +152,7 @@ Text value02_pic
Text value03_pic
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +162,7 @@ Text value03_pic
Text value04_pic
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +172,7 @@ Text value04_pic
Text value05_pic
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -177,7 +182,7 @@ Text value05_pic
Text value06_pic
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -187,7 +192,7 @@ Text value06_pic
Text value07_pic
Attributes
ID : 19
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -197,7 +202,7 @@ Text value07_pic
Text value08_pic
Attributes
ID : 20
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -207,7 +212,7 @@ Text value08_pic
Text value01
Attributes
ID : 21
ID : 20
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -217,7 +222,7 @@ Text value01
Text value02
Attributes
ID : 22
ID : 21
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -227,7 +232,7 @@ Text value02
Text value03
Attributes
ID : 23
ID : 22
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -237,7 +242,7 @@ Text value03
Text value04
Attributes
ID : 24
ID : 23
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -247,7 +252,7 @@ Text value04
Text value05
Attributes
ID : 25
ID : 24
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -257,7 +262,7 @@ Text value05
Text value06
Attributes
ID : 26
ID : 25
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -267,7 +272,7 @@ Text value06
Text value07
Attributes
ID : 27
ID : 26
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -277,7 +282,7 @@ Text value07
Text value08
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -285,12 +290,25 @@ Text value08
Text :
Max. Text Size : 10
Hotspot entity02_back
Text page_index
Attributes
ID : 8
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Button button_back
Attributes
ID : 28
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -308,6 +326,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 30
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,27 +12,31 @@ Page entitypage03
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage03\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage03\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage03\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage03\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text value01_label
@@ -87,7 +91,7 @@ Text value03_label
Text entity03_label
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text entity03_label
Text value06_label
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value06_label
Text value07_label
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value07_label
Text value08_label
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value08_label
Text value01_pic
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_pic
Text value02_pic
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_pic
Text value03_pic
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_pic
Text value04_pic
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_pic
Text value05_pic
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -177,7 +181,7 @@ Text value05_pic
Text value06_pic
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -187,7 +191,7 @@ Text value06_pic
Text value07_pic
Attributes
ID : 19
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -197,7 +201,7 @@ Text value07_pic
Text value08_pic
Attributes
ID : 20
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -207,7 +211,7 @@ Text value08_pic
Text value01
Attributes
ID : 21
ID : 20
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -217,7 +221,7 @@ Text value01
Text value02
Attributes
ID : 22
ID : 21
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -227,7 +231,7 @@ Text value02
Text value03
Attributes
ID : 23
ID : 22
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -237,7 +241,7 @@ Text value03
Text value04
Attributes
ID : 24
ID : 23
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -247,7 +251,7 @@ Text value04
Text value05
Attributes
ID : 25
ID : 24
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -257,7 +261,7 @@ Text value05
Text value06
Attributes
ID : 26
ID : 25
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -267,7 +271,7 @@ Text value06
Text value07
Attributes
ID : 27
ID : 26
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -277,7 +281,7 @@ Text value07
Text value08
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -285,12 +289,25 @@ Text value08
Text :
Max. Text Size : 10
Hotspot entity03_back
Text page_index
Attributes
ID : 8
ID : 28
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Button button_back
Attributes
ID : 29
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -308,6 +325,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 30
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,27 +12,31 @@ Page entitypage04
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage04\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"entitypage04\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage04\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"entitypage04\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text value01_label
@@ -87,7 +91,7 @@ Text value03_label
Text entity04_label
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text entity04_label
Text value06_label
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value06_label
Text value07_label
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value07_label
Text value08_label
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value08_label
Text value01_pic
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_pic
Text value02_pic
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_pic
Text value03_pic
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_pic
Text value04_pic
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_pic
Text value05_pic
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -177,7 +181,7 @@ Text value05_pic
Text value06_pic
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -187,7 +191,7 @@ Text value06_pic
Text value07_pic
Attributes
ID : 19
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -197,7 +201,7 @@ Text value07_pic
Text value08_pic
Attributes
ID : 20
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -207,7 +211,7 @@ Text value08_pic
Text value01
Attributes
ID : 21
ID : 20
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -217,7 +221,7 @@ Text value01
Text value02
Attributes
ID : 22
ID : 21
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -227,7 +231,7 @@ Text value02
Text value03
Attributes
ID : 23
ID : 22
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -237,7 +241,7 @@ Text value03
Text value04
Attributes
ID : 24
ID : 23
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -247,7 +251,7 @@ Text value04
Text value05
Attributes
ID : 25
ID : 24
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -257,7 +261,7 @@ Text value05
Text value06
Attributes
ID : 26
ID : 25
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -267,7 +271,7 @@ Text value06
Text value07
Attributes
ID : 27
ID : 26
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -277,7 +281,7 @@ Text value07
Text value08
Attributes
ID : 28
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -285,12 +289,25 @@ Text value08
Text :
Max. Text Size : 10
Hotspot entity04_back
Text page_index
Attributes
ID : 8
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Button button_back
Attributes
ID : 28
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -308,6 +325,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 30
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

423
nspanel_eu_code/fan.txt Normal file
View File

@@ -0,0 +1,423 @@
Page fan
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"fan\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) fansetting
Attributes
ID : 7
Scope : local
Text :
Max. Text Size: 255
Variable (string) back_page
Attributes
ID : 8
Scope : local
Text : home
Max. Text Size: 15
Variable (string) va0
Attributes
ID : 9
Scope : local
Text :
Max. Text Size: 10
Text fan_value
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text page_label
Attributes
ID : 2
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 25
Text icon_state
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Slider fanslider
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID: disabled
Position : 0
Upper range limit: 4
Lower range limit: 0
Events
Touch Release Event
sys0=100*fanslider.val/fanslider.maxval
covx sys0,va0.txt,0,0
fan_value.txt=va0.txt+"%"
if(fanslider.val>fanslider.minval)
{
button_off.pco=59164
button_down.pco=59164
}else
{
button_off.pco=10597
button_down.pco=10597
}
if(fanslider.val<fanslider.maxval)
{
button_up.pco=59164
}else
{
button_up.pco=10597
}
timer0.en=1
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button button_up
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 10
Events
Touch Press Event
if(fanslider.val<fanslider.maxval)
{
fanslider.val++
sys0=100*fanslider.val/fanslider.maxval
covx sys0,va0.txt,0,0
fan_value.txt=va0.txt+"%"
}
if(fanslider.val>fanslider.minval)
{
button_off.pco=59164
button_down.pco=59164
}else
{
button_off.pco=10597
button_down.pco=10597
}
if(fanslider.val<fanslider.maxval)
{
button_up.pco=59164
}else
{
button_up.pco=10597
}
Touch Release Event
timer0.en=1
Button button_on
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 10
Events
Touch Press Event
fanslider.val=fanslider.maxval/2
sys0=fanslider.maxval*5
sys0%=10
if(sys0>=5)
{
fanslider.val++
}
sys0=100*fanslider.val/fanslider.maxval
covx sys0,va0.txt,0,0
fan_value.txt=va0.txt+"%"
if(fanslider.val>fanslider.minval)
{
button_off.pco=59164
button_down.pco=59164
}else
{
button_off.pco=10597
button_down.pco=10597
}
if(fanslider.val<fanslider.maxval)
{
button_up.pco=59164
}else
{
button_up.pco=10597
}
Touch Release Event
timer0.en=1
Button button_down
Attributes
ID : 12
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 10
Events
Touch Press Event
if(fanslider.val>fanslider.minval)
{
fanslider.val--
sys0=100*fanslider.val/fanslider.maxval
covx sys0,va0.txt,0,0
fan_value.txt=va0.txt+"%"
}
if(fanslider.val>fanslider.minval)
{
button_off.pco=59164
button_down.pco=59164
}else
{
button_off.pco=10597
button_down.pco=10597
}
if(fanslider.val<fanslider.maxval)
{
button_up.pco=59164
}else
{
button_up.pco=10597
}
Touch Release Event
timer0.en=1
Button button_off
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 10
Events
Touch Press Event
fanslider.val=fanslider.minval
sys0=100*fanslider.val/fanslider.maxval
covx sys0,va0.txt,0,0
fan_value.txt=va0.txt+"%"
fansetting.txt="{\"page\": \"fan\", \"key\": \"stop\", \"value\": "+va0.txt+"}"
printh 92
prints "localevent",0
printh 00
prints fansetting.txt,0
printh 00
printh FF FF FF
if(fanslider.val>fanslider.minval)
{
button_off.pco=59164
button_down.pco=59164
}else
{
button_off.pco=10597
button_down.pco=10597
}
if(fanslider.val<fanslider.maxval)
{
button_up.pco=59164
}else
{
button_up.pco=10597
}
Touch Release Event
timer0.en=0
Button button_back
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
if(back_page.txt=="buttonpage01")
{
page buttonpage01
}else if(back_page.txt=="buttonpage02")
{
page buttonpage02
}else if(back_page.txt=="buttonpage03")
{
page buttonpage03
}else if(back_page.txt=="buttonpage04")
{
page buttonpage04
}else
{
page home
}
Timer swipestore
Attributes
ID : 5
Scope : local
Period (ms): 50
Enabled : no
Events
Timer Event
swipex=tch0
swipey=tch1
Timer timer0
Attributes
ID : 14
Scope : local
Period (ms): 1000
Enabled : no
Events
Timer Event
timer0.en=0
sys0=100*fanslider.val/fanslider.maxval
covx sys0,va0.txt,0,0
fan_value.txt=va0.txt+"%"
fansetting.txt="{\"page\": \"fan\", \"key\": \"percentage\", \"value\": "+va0.txt+"}"
printh 92
prints "localevent",0
printh 00
prints fansetting.txt,0
printh 00
printh FF FF FF
Timer wakeup_timer
Attributes
ID : 16
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 4
Scope: local
Value: 0
Events
Touch Press Event
swipestore.en=1 // Start swipestore timer
Touch Release Event
swipestore.en=0
// Touch has ended, x
if(tch0==0)
{
swipec=swipex-tch2
// From Left to Right
if(swipec>swipedx)
{
//page
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
//page
}
}
// Touch has ended, y
if(tch1==0)
{
swipec=swipey-tch3
// From Up to Down
if(swipec>100)
{
//page
}
// Down to Up
swipec2=0-swipedy
if(swipec<-100)
{
//page
}
}

View File

@@ -12,50 +12,53 @@ Page home
Events
Preinitialize Event
dim=brightness.val
dimtimer.en=1
sleeptimer.en=1
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"home\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis bt_notific,is_notification
vis bt_qrcode,is_qrcode
vis bt_entities,is_entities
vis bt_alarm,is_alarm
if(display_mode==3)
{
vis left_bt_text,0
vis right_bt_text,0
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (int32) brightness
Attributes
ID : 2
Scope: global
Value: 100
Variable (int32) brightdd
Attributes
ID : 3
Scope: global
Value: 40
Variable (int32) disdim
Attributes
ID : 4
Scope: global
Value: 0
Variable (int32) sleepmodus
Attributes
ID : 16
Scope: global
Value: 0
Variable (string) lastclick
Attributes
ID : 54
ID : 36
Scope : local
Text :
Max. Text Size: 100
Variable (string) click_comp
Attributes
ID : 44
Scope : local
Text :
Max. Text Size: 8
Text time
Attributes
ID : 7
ID : 3
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -65,7 +68,7 @@ Text time
Text current_temp
Attributes
ID : 8
ID : 4
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -75,7 +78,7 @@ Text current_temp
Text outdoor_temp
Attributes
ID : 9
ID : 5
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -85,7 +88,7 @@ Text outdoor_temp
Text date
Attributes
ID : 10
ID : 6
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -95,7 +98,7 @@ Text date
Text value01_state
Attributes
ID : 12
ID : 8
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -105,7 +108,7 @@ Text value01_state
Text left_bt_text
Attributes
ID : 17
ID : 11
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -115,7 +118,7 @@ Text left_bt_text
Text right_bt_text
Attributes
ID : 18
ID : 12
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -124,6 +127,86 @@ Text right_bt_text
Max. Text Size : 20
Text icon_top_01
Attributes
ID : 13
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_02
Attributes
ID : 14
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_03
Attributes
ID : 15
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_04
Attributes
ID : 16
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_05
Attributes
ID : 17
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_06
Attributes
ID : 18
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_07
Attributes
ID : 19
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_08
Attributes
ID : 20
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text icon_top_09
Attributes
ID : 21
Scope : global
@@ -131,9 +214,9 @@ Text icon_top_01
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Text icon_top_02
Text icon_top_10
Attributes
ID : 22
Scope : global
@@ -141,9 +224,9 @@ Text icon_top_02
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Text icon_top_03
Text value01_icon
Attributes
ID : 23
Scope : global
@@ -151,9 +234,9 @@ Text icon_top_03
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Text icon_top_04
Text value03_state
Attributes
ID : 24
Scope : global
@@ -163,7 +246,7 @@ Text icon_top_04
Text :
Max. Text Size : 10
Text icon_top_05
Text value03_icon
Attributes
ID : 25
Scope : global
@@ -171,9 +254,9 @@ Text icon_top_05
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Text icon_top_06
Text value02_icon
Attributes
ID : 26
Scope : global
@@ -181,9 +264,9 @@ Text icon_top_06
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Text icon_top_07
Text value02_state
Attributes
ID : 27
Scope : global
@@ -193,89 +276,9 @@ Text icon_top_07
Text :
Max. Text Size : 10
Text icon_top_08
Attributes
ID : 28
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text icon_top_09
Attributes
ID : 29
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text icon_top_10
Attributes
ID : 30
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value01_icon
Attributes
ID : 31
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value03_state
Attributes
ID : 32
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value03_icon
Attributes
ID : 33
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value02_icon
Attributes
ID : 34
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text value02_state
Attributes
ID : 35
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text wifi_icon
Attributes
ID : 36
ID : 28
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -285,7 +288,82 @@ Text wifi_icon
Text indoortempicon
Attributes
ID : 37
ID : 29
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text bt_notific
Attributes
ID : 30
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Events
Touch Release Event
if(api==1)
{
page notification
}
Text bt_qrcode
Attributes
ID : 31
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Events
Touch Release Event
page qrcode
Text bt_entities
Attributes
ID : 32
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Events
Touch Release Event
if(api==1)
{
page entitypage01
}
Text bt_alarm
Attributes
ID : 33
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Events
Touch Release Event
if(api==1)
{
page alarm
}
Text meridiem
Attributes
ID : 35
Scope : global
Dragging : 0
Send Component ID : disabled
@@ -293,37 +371,7 @@ Text indoortempicon
Text :
Max. Text Size : 10
Text button01_icon
Attributes
ID : 38
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button02_icon
Attributes
ID : 39
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button03_icon
Attributes
ID : 40
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button04_icon
Text button01
Attributes
ID : 41
Scope : global
@@ -331,9 +379,27 @@ Text button04_icon
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Text button05_icon
Events
Touch Press Event
click_comp.txt="button01"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
lastclick.txt="{\"page\": \"home\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
Text button02
Attributes
ID : 42
Scope : global
@@ -341,9 +407,27 @@ Text button05_icon
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Text button06_icon
Events
Touch Press Event
click_comp.txt="button02"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
lastclick.txt="{\"page\": \"home\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
Text button03
Attributes
ID : 43
Scope : global
@@ -351,244 +435,100 @@ Text button06_icon
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text button07_icon
Attributes
ID : 44
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text meridiem
Attributes
ID : 53
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Max. Text Size : 3
Events
Touch Press Event
click_comp.txt="button03"
click_timer.en=1
Touch Release Event
if(click_timer.en==1)
{
click_timer.en=0
lastclick.txt="{\"page\": \"home\", \"event\": \"short_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
}
Picture weather
Attributes
ID : 11
ID : 7
Scope : global
Dragging : 0
Send Component ID: disabled
Picture left_bt_pic
Dual-state Button left_bt_pic
Attributes
ID : 19
ID : 38
Scope : global
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 0
Picture right_bt_pic
Dual-state Button right_bt_pic
Attributes
ID : 20
ID : 39
Scope : global
Dragging : 0
Send Component ID: disabled
State : unpressed
Text :
Max. Text Size : 0
Hotspot fc_weather
Attributes
ID : 13
ID : 9
Scope : global
Dragging : 0
Send Component ID: on press and release
Events
Touch Press Event
lastclick.txt="{\"page\": \"home\", \"component\": \"weather\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"weather\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
if(api==1)
{
page weather01
}
Hotspot jump_climate
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID: on press and release
Events
Touch Press Event
lastclick.txt="{\"page\": \"home\", \"component\": \"climate\", \"value\": \"press\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"climate\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button01
Attributes
ID : 45
ID : 10
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"button01\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button02
Attributes
ID : 46
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"button02\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button03
Attributes
ID : 47
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"button03\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button04
Attributes
ID : 48
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"button04\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button05
Attributes
ID : 49
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"button05\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button06
Attributes
ID : 50
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"button06\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Hotspot button07
Attributes
ID : 51
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
lastclick.txt="{\"page\": \"home\", \"component\": \"button07\", \"value\": \"release\"}"
printh 92
prints "nspanelevent",0
printh 00
prints lastclick.txt,0
prints "{\"page\": \"home\", \"component\": \"climate\", \"event\": \"click\"}",0
printh 00
printh FF FF FF
Hotspot settings_click
Attributes
ID : 52
ID : 34
Scope : local
Dragging : 0
Send Component ID: on press and release
Timer dimtimer
Attributes
ID : 1
Scope : global
Period (ms): 50000
Enabled : yes
Send Component ID: disabled
Events
Timer Event
if(disdim.val==0)
{
dim=brightdd.val // Dim down screen to val set from HA
}
Touch Press Event
settings_timer.en=1
Touch Release Event
settings_timer.en=0
Timer swipestore
Attributes
ID : 6
ID : 2
Scope : local
Period (ms): 50
Enabled : no
@@ -598,34 +538,68 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer sleeptimer
Timer settings_timer
Attributes
ID : 15
ID : 37
Scope : local
Period (ms): 65000
Period (ms): 1000
Enabled : no
Events
Timer Event
if(sleepmodus.val==1)
page settings
Timer wakeup_timer
Attributes
ID : 40
Scope : local
Period (ms): 50
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
screensaver.orign.val=0
// Go to screensaver page
page screensaver
dimdelta=brightness-dim
dimdelta/=25
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
Timer click_timer
Attributes
ID : 45
Scope : local
Period (ms): 800
Enabled : no
Events
Timer Event
lastclick.txt="{\"page\": \"home\", \"event\": \"long_click\", \"component\": \""+click_comp.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
click_timer.en=0
TouchCap swipe
Attributes
ID : 5
ID : 1
Scope: local
Value: 0
Events
Touch Press Event
swipestore.en=1 // Start swipestore timer
dim=brightness.val // Set brightness to saved value (from HA)
dimtimer.en=1 // Enable timer to calc down for dimming screen
sleeptimer.en=1
wakeup_timer.en=1 // Set brightness to saved value (from HA)
Touch Release Event
swipestore.en=0
@@ -634,13 +608,13 @@ TouchCap swipe
{
swipec=swipex-tch2
// From Left to Right
if(swipec>swipedx)
if(swipec>swipedx&&api==1)
{
page buttonpage04
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
if(swipec<swipec2&&api==1)
{
page buttonpage01
}
@@ -650,13 +624,13 @@ TouchCap swipe
{
swipec=swipey-tch3
// From Up to Down
if(swipec>100)
if(swipec>100&&api==1)
{
page buttonpage02
}
// Down to Up
swipec2=0-swipedy
if(swipec<-100)
if(swipec<-100&&api==1)
{
page buttonpage03
}

View File

@@ -0,0 +1,391 @@
Page keyb_num
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==0)
{
page page_id.val
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"keyb_num\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (int32) page_id
Attributes
ID : 17
Scope: local
Value: 0
Variable (string) key
Attributes
ID : 19
Scope : local
Text :
Max. Text Size: 10
Variable (string) domain
Attributes
ID : 20
Scope : local
Text : alarm
Max. Text Size: 10
Variable (string) aux
Attributes
ID : 21
Scope : local
Text :
Max. Text Size: 255
Variable (string) value
Attributes
ID : 22
Scope : local
Text :
Max. Text Size: 10
Text t0
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text pin
Attributes
ID : 2
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 25
Text title
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Alarm
Max. Text Size : 10
Button b1
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 1
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b1.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button bclose
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 10
Events
Touch Release Event
page page_id.val
Button b2
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 2
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b2.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b3
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 3
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b3.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b4
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 4
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b4.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b5
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 5
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b5.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b6
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 6
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b6.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b7
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 7
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b7.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b8
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 8
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b8.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b9
Attributes
ID : 12
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 9
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b9.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button bclear
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : <
Max. Text Size : 5
Events
Touch Release Event
pin.txt=""
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button b0
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 0
Max. Text Size : 1
Events
Touch Release Event
pin.txt+=b0.txt
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button benter
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : OK
Max. Text Size : 3
Events
Touch Release Event
aux.txt="{\"page\": \"keyb_num\", \"key\": \""+key.txt+"\", \"value\": \""+value.txt+"\", \"pin\": \""+pin.txt+"\", \"base_domain\": \""+domain.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints aux.txt,0
printh 00
printh FF FF FF
Button bview
Attributes
ID : 16
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : O
Max. Text Size : 3
Events
Touch Press Event
if(pin.pw==1)
{
pin.pw=0
}else
{
pin.pw=1
}
Timer wakeup_timer
Attributes
ID : 23
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}

709
nspanel_eu_code/light.txt Normal file
View File

@@ -0,0 +1,709 @@
Page light
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"light\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis light_b_press,1
vis lightslider,1
vis light_value,1
// #### OFF Button #####
vis temp_b_press,0
vis color_b_pres,0
// #### OFF Value #####
vis temp_value,0
vis light_value_2,0
// #### OFF Slider #####
vis tempslider,0
vis colorwheel,0
// #### Hide color & temp buttons #####
vis temp_touch,0
vis temp_value_2,0
vis temp_button,0
vis color_touch,0
vis color_button,0
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (int32) rgb565
Attributes
ID : 22
Scope: local
Value: 0
Variable (string) va1
Attributes
ID : 23
Scope : local
Text : newtxt
Max. Text Size: 20
Variable (string) va2
Attributes
ID : 24
Scope : local
Text : newtxt
Max. Text Size: 10
Variable (string) va3
Attributes
ID : 25
Scope : local
Text : newtxt
Max. Text Size: 10
Variable (int32) currenttab
Attributes
ID : 26
Scope: local
Value: 0
Variable (string) lightsetting
Attributes
ID : 30
Scope : local
Text :
Max. Text Size: 255
Variable (string) back_page
Attributes
ID : 31
Scope : local
Text : home
Max. Text Size: 15
Number ring
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Value : 0
Number field
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Value : 0
Text light_value
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text page_label
Attributes
ID : 2
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 25
Text temp_value
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text light_value_2
Attributes
ID : 27
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text temp_value_2
Attributes
ID : 28
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Text icon_state
Attributes
ID : 29
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Picture light_button
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID: disabled
Picture color_button
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID: disabled
Picture temp_button
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID: disabled
Picture light_b_press
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID: disabled
Picture temp_b_press
Attributes
ID : 12
Scope : local
Dragging : 0
Send Component ID: disabled
Picture color_b_pres
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID: disabled
Picture colorwheel
Attributes
ID : 16
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
// Circular Color Picker for Nextion (c) Max Zuidberg 2022
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//
// Put this code in the touch press or release
// event of the pic component with the color wheel.
// Requires the two variables field.val and ring.val
//
// sya0 = x, sya1 = sya1
// Note the usage of the hidden sya0, sya1 variables
// within event code as local, temporary variable is fine.
sya0=tch0
sya1=tch1
//
// Convert absolute coordinates to coordinates relative to
// the color wheel center.
// sys0 = x_center, sys1 = y_center
sys0=colorwheel.w/2
sys0+=colorwheel.x
sys1=colorwheel.h/2
sys1+=colorwheel.y
sya0-=sys0
sya1-=sys1
//
// Determine ring
ring.val=0
// sys0 = r^2 = x^2 + y^2
sys0=sya0*sya0
sys1=sya1*sya1
sys0+=sys1
// repeat for all rings
if(sys0>=156)
{
ring.val++
}
if(sys0>=625)
{
ring.val++
}
if(sys0>=1406)
{
ring.val++
}
if(sys0>=2500)
{
ring.val++
}
if(sys0>=3906)
{
ring.val++
}
if(sys0>=5625)
{
ring.val++
}
if(sys0>=7656)
{
ring.val++
}
//
// Determine quadrant (0-3). Note: pixel y coords are inverted
// compared to mathematical y coords. But we want math. quadrants.
sya1*=-1
sys2=0
if(sya1<0)
{
sys2+=2
}
sys0=sya0*sya1
if(sys0<0)
{
sys2+=1
// In this case we also want to swap x and y otherwise the
// atan(abs(x/y)) (calculated below) gives values running
// "the wrong way" (cw instead of ccw).
sys1=sya1
sya1=sya0
sya0=sys1
}
//
field.val=sys2*6
//
// x,y sign is not required anymore
if(sya0<0)
{
sya0*=-1
}
if(sya1<0)
{
sya1*=-1
}
//
// Determine field in ring quadrant
// Factor 100000 chosen more or less arbitrarily.
// sys0 = 100000 * tan_a = 100000 * y / x
sys0=100000*sya1
sys0/=sya0
// repeat for all fields
if(sys0>=26794)
{
field.val++
}
if(sys0>=57735)
{
field.val++
}
if(sys0>=99999)
{
field.val++
}
if(sys0>=173205)
{
field.val++
}
if(sys0>=373205)
{
field.val++
}
covx r,va1.txt,0,0
covx g,va2.txt,0,0
covx b,va3.txt,0,0
va1.txt=""
va2.txt=""
va3.txt=""
Touch Release Event
// Adjust field.val "orientation" and offset to match the h value of the colors in the wheel
h=23-field.val// 0 <= field.val <= 23
// h is expected to be 0-6*256 (see hsv2rgb)
h*=6*256
h/=24// Number of fields
//
// s is expected to be 0-256 (see hsv2rgb)
s=ring.val*256
s/=8// Number of rings
// no "value" selectable; fix it to the maximum (matching the colors in the wheels shown.
v=255
click hsv2rgb,0
click rgb888to565,0
//colPreview.bco=rgb565.val
covx r,va1.txt,0,0
covx g,va2.txt,0,0
covx b,va3.txt,0,0
lightsetting.txt="{\"page\": \"light\", \"component\": \"rgb_color\", \"value\": ["+va1.txt+", "+va2.txt+", "+va3.txt+"]}"
printh 92
prints "nspanelevent",0
printh 00
prints lightsetting.txt,0
printh 00
printh FF FF FF
va1.txt=""
va2.txt=""
va3.txt=""
Slider lightslider
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID: disabled
Position : 0
Upper range limit: 100
Lower range limit: 0
Events
Touch Release Event
covx lightslider.val,va1.txt,0,0
light_value.txt=va1.txt+"%"
light_value_2.txt=va1.txt+"%"
lightsetting.txt="{\"page\": \"light\", \"key\": \"brightness_pct\", \"value\": "+va1.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lightsetting.txt,0
printh 00
printh FF FF FF
Slider tempslider
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID: disabled
Position : 0
Upper range limit: 500
Lower range limit: 153
Events
Touch Release Event
covx tempslider.val,va1.txt,0,0
temp_value.txt=va1.txt
temp_value_2.txt=va1.txt
lightsetting.txt="{\"page\": \"light\", \"key\": \"color_temp\", \"value\": "+va1.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lightsetting.txt,0
printh 00
printh FF FF FF
Button button_back
Attributes
ID : 32
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
if(back_page.txt=="buttonpage01")
{
page buttonpage01
}else if(back_page.txt=="buttonpage02")
{
page buttonpage02
}else if(back_page.txt=="buttonpage03")
{
page buttonpage03
}else if(back_page.txt=="buttonpage04")
{
page buttonpage04
}else
{
page home
}
Hotspot hsv2rgb
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
// https://de.wikipedia.org/wiki/HSV-Farbraum#Umrechnung_HSV_in_RGB
// The values range from 0..255 instead of 0..1
// h ranges from 0..(6*256)
if(s>=256)
{
s=255
}else if(s<0)
{
s=0
}
if(v>=256)
{
v=255
}else if(v<0)
{
v=0
}
f=h&0xff
p=256-s
p*=v
p=p>>8// / 256
q=s*f// 0-256*256 = 0-65536
q=65536-q
q*=v
q=q>>16
t=256-f
t*=s
t=65536-t
t*=v
t=t>>16
//
f=h>>8
if(f==1)
{
r=q
g=v
b=p
}else if(f==2)
{
r=p
g=v
b=t
}else if(f==3)
{
r=p
g=q
b=v
}else if(f==4)
{
r=t
g=p
b=v
}else if(f==5)
{
r=v
g=p
b=q
}else
{
r=v
g=t
b=p
}
Hotspot rgb888to565
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
r=r&0xff
g=g&0xff
b=b&0xff
sys1=r>>3
sys2=sys1<<6
sys1=g>>2
sys2+=sys1
sys2=sys2<<5
sys1=b>>3
sys2+=sys1
rgb565.val=sys2
Hotspot light_touch
Attributes
ID : 17
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
vis light_b_press,1
vis lightslider,1
vis light_value,1
vis temp_value_2,1
// #### OFF Button #####
vis temp_b_press,0
vis color_b_pres,0
// #### OFF Value #####
vis temp_value,0
vis light_value_2,0
// #### OFF Slider #####
vis tempslider,0
vis colorwheel,0
Hotspot temp_touch
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
vis temp_b_press,1
vis tempslider,1
vis temp_value,1
vis light_value_2,1
// #### OFF Button #####
vis light_b_press,0
vis color_b_pres,0
// #### OFF Value #####
vis light_value,0
vis temp_value_2,0
// #### OFF Slider #####
vis lightslider,0
vis colorwheel,0
Hotspot color_touch
Attributes
ID : 19
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
vis color_b_pres,1
vis colorwheel,1
vis light_value_2,1
// #### OFF Button #####
vis light_b_press,0
vis temp_b_press,0
// #### OFF Value #####
vis light_value,0
vis temp_value,0
vis temp_value_2,0
// #### OFF Slider #####
vis lightslider,0
vis tempslider,0
// #### OFF Color #####
Timer swipestore
Attributes
ID : 21
Scope : local
Period (ms): 50
Enabled : no
Events
Timer Event
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 33
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 20
Scope: local
Value: 0
Events
Touch Press Event
swipestore.en=1 // Start swipestore timer
Touch Release Event
swipestore.en=0
// Touch has ended, x
if(tch0==0)
{
swipec=swipex-tch2
// From Left to Right
if(swipec>swipedx)
{
//page
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
//page
}
}
// Touch has ended, y
if(tch1==0)
{
swipec=swipey-tch3
// From Up to Down
if(swipec>100)
{
//page
}
// Down to Up
swipec2=0-swipedy
if(swipec<-100)
{
//page
}
}

View File

@@ -0,0 +1,630 @@
Page media_player
Attributes
ID : 0
Scope : local
Dragging : 0
Send Component ID : disabled
Locked : no
Swide up page ID : disabled
Swide down page ID : disabled
Swide left page ID : disabled
Swide right page ID: disabled
Events
Preinitialize Event
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"media_player\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) back_page
Attributes
ID : 3
Scope : local
Text : home
Max. Text Size: 15
Variable (string) lastclick
Attributes
ID : 19
Scope : local
Text :
Max. Text Size: 255
Variable (string) va0
Attributes
ID : 22
Scope : local
Text :
Max. Text Size: 10
Variable (int32) is_muted
Attributes
ID : 23
Scope: local
Value: 0
Variable (int32) prg_current
Attributes
ID : 25
Scope: local
Value: 0
Variable (int32) prg_total
Attributes
ID : 26
Scope: local
Value: 0
Text page_label
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Media Player
Max. Text Size : 25
Text icon_state
Attributes
ID : 2
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : 
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text vol_text
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 5
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text bt_vol_down
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
if(vol_slider.val>0)
{
vol_slider.val--
covx vol_slider.val,va0.txt,0,0
vol_text.txt=va0.txt+"%"
timer0.en=1
}
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Text bt_vol_up
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
if(vol_slider.val<100)
{
vol_slider.val++
covx vol_slider.val,va0.txt,0,0
vol_text.txt=va0.txt+"%"
timer0.en=1
}
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Text bt_mute
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
if(is_muted.val==1)
{
va0.txt="true"
}else
{
va0.txt="false"
}
lastclick.txt="{\"page\": \"media_player\", \"key\": \"volume_mute\", \"value\": \""+va0.txt+"\"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Text time_current
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text time_total
Attributes
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text track
Attributes
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 50
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text artist
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 50
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text bt_prev
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
lastclick.txt="{\"page\": \"media_player\", \"key\": \"media_previous_track\"}"
printh 92
prints "localevent",0
printh 00
prints "{\"page\": \"media_player\", \"key\": \"media_previous_track\"}",0
printh 00
printh FF FF FF
Text bt_play_pause
Attributes
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
prints "localevent",0
printh 00
prints "{\"page\": \"media_player\", \"key\": \"media_play_pause\"}",0
printh 00
printh FF FF FF
Text bt_next
Attributes
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
prints "localevent",0
printh 00
prints "{\"page\": \"media_player\", \"key\": \"media_next_track\"}",0
printh 00
printh FF FF FF
Text bt_on_off
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 10
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
prints "localevent",0
printh 00
prints "{\"page\": \"media_player\", \"key\": \"toggle\"}",0
printh 00
printh FF FF FF
Progress Bar time_progress
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID: disabled
Value : 0
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Slider vol_slider
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
Position : 0
Upper range limit: 100
Lower range limit: 0
Events
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
covx vol_slider.val,va0.txt,0,0
vol_text.txt=va0.txt+"%"
timer0.en=1
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Button button_back
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
if(back_page.txt=="buttonpage01")
{
page buttonpage01
}else if(back_page.txt=="buttonpage02")
{
page buttonpage02
}else if(back_page.txt=="buttonpage03")
{
page buttonpage03
}else if(back_page.txt=="buttonpage04")
{
page buttonpage04
}else
{
page home
}
Timer wakeup_timer
Attributes
ID : 20
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
Timer timer0
Attributes
ID : 21
Scope : local
Period (ms): 1000
Enabled : no
Events
Timer Event
timer0.en=0
covx vol_slider.val,va0.txt,0,0
vol_text.txt=va0.txt+"%"
lastclick.txt="{\"page\": \"media_player\", \"key\": \"volume_set\", \"value\": "+va0.txt+"}"
printh 92
prints "localevent",0
printh 00
prints lastclick.txt,0
printh 00
printh FF FF FF
Timer prg_timer
Attributes
ID : 24
Scope : local
Period (ms): 1000
Enabled : no
Events
Timer Event
if(prg_current.val<prg_total.val&&prg_total.val>0)
{
prg_current.val++
time_progress.val=100*prg_current.val/prg_total.val
covx prg_current.val,time_current.txt,0,0
}
// Progress - Total
sys0=prg_total.val/3600 //hours
sys2=prg_total.val%3600 //remainder
sys1=sys2/60 //minutes
sys2%=60 //seconds
time_total.txt=""
if(sys0>0)
{
covx sys0,time_total.txt,0,0
time_total.txt+=":"
if(sys1<10)
{
time_total.txt+="0"
}
}
covx sys1,va0.txt,0,0
time_total.txt+=va0.txt+":"
if(sys2<10)
{
time_total.txt+="0"
}
covx sys2,va0.txt,0,0
time_total.txt+=va0.txt
// Progress - Current
sys0=prg_current.val/3600 //hours
sys2=prg_current.val%3600 //remainder
sys1=sys2/60 //minutes
sys2%=60 //seconds
time_current.txt=""
if(sys0>0)
{
covx sys0,time_current.txt,0,0
time_current.txt+=":"
if(sys1<10)
{
time_current.txt+="0"
}
}
covx sys1,va0.txt,0,0
time_current.txt+=va0.txt+":"
if(sys2<10)
{
time_current.txt+="0"
}
covx sys2,va0.txt,0,0
time_current.txt+=va0.txt

View File

@@ -12,38 +12,51 @@ Page notification
Events
Preinitialize Event
dim=home.brightness.val
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"notification\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"notification\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"notification\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"notification\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Variable (string) lastclick
Attributes
ID : 10
ID : 5
Scope : local
Text :
Max. Text Size: 100
Text notifi_text01
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 250
Text notifi_label
Attributes
ID : 2
Scope : local
@@ -51,49 +64,31 @@ Text notifi_text01
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 100
Text notifi_label
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 30
Picture accept_pic
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID: disabled
Picture clear_pic
Attributes
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
Hotspot notifi_back
Attributes
ID : 1
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Press Event
page home
Hotspot accept
Button button_back
Attributes
ID : 6
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
page home
Button bt_accept
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Release Event
@@ -105,12 +100,15 @@ Hotspot accept
printh 00
printh FF FF FF
Hotspot clear
Button bt_clear
Attributes
ID : 7
ID : 8
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 10
Events
Touch Release Event
@@ -124,7 +122,7 @@ Hotspot clear
Timer swipestore
Attributes
ID : 9
ID : 4
Scope : local
Period (ms): 50
Enabled : no
@@ -134,9 +132,32 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 9
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 8
ID : 3
Scope: local
Value: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

BIN
nspanel_eu_code/power.page Normal file

Binary file not shown.

View File

View File

@@ -12,7 +12,6 @@ Page qrcode
Events
Preinitialize Event
dim=home.brightness.val
printh 92
prints "nspanelevent",0
printh 00
@@ -21,25 +20,23 @@ Page qrcode
printh FF FF FF
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"qrcode\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"qrcode\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text qrcode_label
Attributes
ID : 4
Scope : local
ID : 3
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
@@ -48,19 +45,22 @@ Text qrcode_label
QR Code qrcode_value
Attributes
ID : 5
Scope : local
ID : 4
Scope : global
Dragging : 0
Send Component ID: disabled
Text :
Max. Text Size : 50
Hotspot qrcode_back
Button button_back
Attributes
ID : 3
ID : 5
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -78,6 +78,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 6
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -21,12 +21,12 @@ Page screensaver
printh FF FF FF
Touch Release Event
page home
page orign.val
Variable (int32) orign
Attributes
ID : 2
Scope: global
Scope: local
Value: 0
TouchCap wakeup

View File

@@ -12,13 +12,114 @@ Page settings
Events
Preinitialize Event
covx brightslider.val,bright_text.txt,0,0
bright_text.txt+="%"
covx dimslider.val,dim_text.txt,0,0
dim_text.txt+="%"
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"settings\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
vis lbl_sleep,0
vis bt_sleep,0
Touch Press Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 91
prints "touchevent",0
printh 00
prints rand,0
printh FF FF FF
Text bright_text
Attributes
ID : 3
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : 80%
Max. Text Size : 4
Text dim_text
Attributes
ID : 4
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : 20%
Max. Text Size : 4
Text lbl_reboot
Attributes
ID : 5
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Reboot
Max. Text Size : 25
Text lbl_sleep
Attributes
ID : 6
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Sleep mode
Max. Text Size : 25
Text lbl_bright
Attributes
ID : 7
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Bright
Max. Text Size : 25
Text lbl_dim
Attributes
ID : 8
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Dim
Max. Text Size : 25
Text lbl_brightness
Attributes
ID : 16
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Brightness
Max. Text Size : 25
Slider brightslider
Attributes
ID : 1
Scope : global
Dragging : 0
Send Component ID: on press and release
Position : 80
Upper range limit: 100
Lower range limit: 0
Events
Touch Press Event
printh 92
prints "touchevent",0
@@ -28,92 +129,8 @@ Page settings
printh FF FF FF
Touch Release Event
printh 92
prints "touchevent",0
printh 00
prints "{\"page\": \"settings\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
printh FF FF FF
Text a03
Attributes
ID : 5
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text a04
Attributes
ID : 6
Scope : global
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 3
Text a06
Attributes
ID : 7
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Reboot
Max. Text Size : 6
Text a07
Attributes
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Sleep
Max. Text Size : 5
Text a08
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Brightness
Max. Text Size : 10
Text a09
Attributes
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text : Dimming
Max. Text Size : 7
Picture settings_exit
Attributes
ID : 11
Scope : local
Dragging : 0
Send Component ID: disabled
Slider brightslider
Attributes
ID : 3
Scope : global
Dragging : 0
Send Component ID: on press and release
Position : 80
Upper range limit: 100
Lower range limit: 0
Events
Touch Release Event
covx brightslider.val,bright_text.txt,0,0
bright_text.txt+="%"
printh 91
prints "brightslider",0
printh 00
@@ -122,7 +139,7 @@ Slider brightslider
Slider dimslider
Attributes
ID : 4
ID : 2
Scope : global
Dragging : 0
Send Component ID: on press and release
@@ -131,34 +148,58 @@ Slider dimslider
Lower range limit: 0
Events
Touch Press Event
printh 92
prints "touchevent",0
printh 00
prints "{\"page\": \"settings\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
printh FF FF FF
Touch Release Event
covx dimslider.val,dim_text.txt,0,0
dim_text.txt+="%"
printh 91
prints "dimslider",0
printh 00
prints dimslider.val,0
printh FF FF FF
Dual-state Button bt0
Button button_back
Attributes
ID : 13
ID : 11
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
page home
Dual-state Button bt_reboot
Attributes
ID : 9
Scope : local
Dragging : 0
Send Component ID: on press and release
State : unpressed
Text :
Max. Text Size : 0
Text :
Max. Text Size : 3
Dual-state Button bt1
Dual-state Button bt_sleep
Attributes
ID : 14
ID : 10
Scope : global
Dragging : 0
Send Component ID: on press and release
State : unpressed
Text :
Max. Text Size : 0
Text :
Max. Text Size : 3
Hotspot setings_back
Hotspot bt_bright_down
Attributes
ID : 12
Scope : local
@@ -166,63 +207,102 @@ Hotspot setings_back
Send Component ID: disabled
Events
Touch Press Event
page home
Touch Release Event
if(brightslider.val>0)
{
brightslider.val--
covx brightslider.val,bright_text.txt,0,0
bright_text.txt+="%"
printh 91
prints "brightslider",0
printh 00
prints brightslider.val,0
printh FF FF FF
}
Timer swipestore
Hotspot bt_bright_up
Attributes
ID : 2
ID : 13
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
if(brightslider.val<100)
{
brightslider.val++
covx brightslider.val,bright_text.txt,0,0
bright_text.txt+="%"
printh 91
prints "brightslider",0
printh 00
prints brightslider.val,0
printh FF FF FF
}
Hotspot bt_dim_down
Attributes
ID : 14
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
if(dimslider.val>0)
{
dimslider.val--
covx dimslider.val,dim_text.txt,0,0
dim_text.txt+="%"
printh 91
prints "dimslider",0
printh 00
prints dimslider.val,0
printh FF FF FF
}
Hotspot bt_dim_up
Attributes
ID : 15
Scope : local
Dragging : 0
Send Component ID: disabled
Events
Touch Release Event
if(dimslider.val<100)
{
dimslider.val++
covx dimslider.val,dim_text.txt,0,0
dim_text.txt+="%"
printh 91
prints "dimslider",0
printh 00
prints dimslider.val,0
printh FF FF FF
}
Timer wakeup_timer
Attributes
ID : 17
Scope : local
Period (ms): 50
Enabled : no
Period (ms): 100
Enabled : yes
Events
Timer Event
swipex=tch0
swipey=tch1
TouchCap swipe
Attributes
ID : 1
Scope: local
Value: 0
Events
Touch Press Event
swipestore.en=1 // Start swipestore timer
Touch Release Event
swipestore.en=0
// Touch has ended, x
if(tch0==0)
if(dim<brightness)
{
swipec=swipex-tch2
// From Left to Right
if(swipec>swipedx)
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
//page
dimdelta=1
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
//page
}
}
// Touch has ended, y
if(tch1==0)
dim+=dimdelta
}else
{
swipec=swipey-tch3
// From Up to Down
if(swipec>100)
{
//page
}
// Down to Up
swipec2=0-swipedy
if(swipec<-100)
{
//page
}
wakeup_timer.en=0
}

View File

@@ -12,27 +12,31 @@ Page weather01
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather01\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather01\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather01\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather01\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text day
@@ -67,7 +71,7 @@ Text temperature
Text loading
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -77,7 +81,7 @@ Text loading
Text value01
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -87,7 +91,7 @@ Text value01
Text value05
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text value05
Text value04
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value04
Text value02
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value02
Text value03
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value03
Text value01_icon
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_icon
Text value02_icon
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_icon
Text value03_icon
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_icon
Text value04_icon
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_icon
Text value05_icon
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -175,6 +179,16 @@ Text value05_icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 19
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture weather_icon
Attributes
ID : 3
@@ -182,12 +196,15 @@ Picture weather_icon
Dragging : 0
Send Component ID: disabled
Hotspot weather_back
Button button_back
Attributes
ID : 7
ID : 18
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -205,6 +222,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 20
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,27 +12,31 @@ Page weather02
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather02\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather02\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather02\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather02\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text day
@@ -47,7 +51,7 @@ Text day
Text loading
Attributes
ID : 6
ID : 5
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -57,7 +61,7 @@ Text loading
Text date
Attributes
ID : 7
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -67,7 +71,7 @@ Text date
Text temperature
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -77,7 +81,7 @@ Text temperature
Text value01
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -87,7 +91,7 @@ Text value01
Text value05
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text value05
Text value04
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value04
Text value02
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value02
Text value03
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value03
Text value01_icon
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_icon
Text value02_icon
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_icon
Text value03_icon
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_icon
Text value04_icon
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_icon
Text value05_icon
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -175,6 +179,16 @@ Text value05_icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture weather_icon
Attributes
ID : 3
@@ -182,12 +196,15 @@ Picture weather_icon
Dragging : 0
Send Component ID: disabled
Hotspot weather_back
Button button_back
Attributes
ID : 5
ID : 19
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -205,6 +222,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 20
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,27 +12,31 @@ Page weather03
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather03\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather03\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather03\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather03\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text day
@@ -47,7 +51,7 @@ Text day
Text loading
Attributes
ID : 6
ID : 5
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -57,7 +61,7 @@ Text loading
Text date
Attributes
ID : 7
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -67,7 +71,7 @@ Text date
Text temperature
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -77,7 +81,7 @@ Text temperature
Text value01
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -87,7 +91,7 @@ Text value01
Text value05
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text value05
Text value04
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value04
Text value02
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value02
Text value03
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value03
Text value01_icon
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_icon
Text value02_icon
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_icon
Text value03_icon
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_icon
Text value04_icon
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_icon
Text value05_icon
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -175,6 +179,16 @@ Text value05_icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture weather_icon
Attributes
ID : 3
@@ -182,12 +196,15 @@ Picture weather_icon
Dragging : 0
Send Component ID: disabled
Hotspot weather_back
Button button_back
Attributes
ID : 5
ID : 19
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -205,6 +222,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 20
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,27 +12,31 @@ Page weather04
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather04\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather04\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather04\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather04\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text day
@@ -47,7 +51,7 @@ Text day
Text loading
Attributes
ID : 6
ID : 5
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -57,7 +61,7 @@ Text loading
Text date
Attributes
ID : 7
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -67,7 +71,7 @@ Text date
Text temperature
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -77,7 +81,7 @@ Text temperature
Text value01
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -87,7 +91,7 @@ Text value01
Text value05
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text value05
Text value04
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value04
Text value02
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value02
Text value03
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value03
Text value01_icon
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_icon
Text value02_icon
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_icon
Text value03_icon
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_icon
Text value04_icon
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_icon
Text value05_icon
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -175,6 +179,16 @@ Text value05_icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture weather_icon
Attributes
ID : 3
@@ -182,12 +196,15 @@ Picture weather_icon
Dragging : 0
Send Component ID: disabled
Hotspot weather_back
Button button_back
Attributes
ID : 5
ID : 19
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -205,6 +222,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 20
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1

View File

@@ -12,27 +12,31 @@ Page weather05
Events
Preinitialize Event
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather05\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
if(api==0)
{
page home
}else
{
printh 92
prints "nspanelevent",0
printh 00
prints "{\"page\": \"weather05\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
printh 00
printh FF FF FF
}
Touch Press Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather05\", \"component\": \"touchevent\", \"value\": \"press\"}",0
printh 00
prints rand,0
printh FF FF FF
Touch Release Event
printh 92
printh 91
prints "touchevent",0
printh 00
prints "{\"page\": \"weather05\", \"component\": \"touchevent\", \"value\": \"release\"}",0
printh 00
prints rand,0
printh FF FF FF
Text day
@@ -47,7 +51,7 @@ Text day
Text loading
Attributes
ID : 6
ID : 5
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -57,7 +61,7 @@ Text loading
Text date
Attributes
ID : 7
ID : 6
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -67,7 +71,7 @@ Text date
Text temperature
Attributes
ID : 8
ID : 7
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -77,7 +81,7 @@ Text temperature
Text value01
Attributes
ID : 9
ID : 8
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -87,7 +91,7 @@ Text value01
Text value05
Attributes
ID : 10
ID : 9
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -97,7 +101,7 @@ Text value05
Text value04
Attributes
ID : 11
ID : 10
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -107,7 +111,7 @@ Text value04
Text value02
Attributes
ID : 12
ID : 11
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -117,7 +121,7 @@ Text value02
Text value03
Attributes
ID : 13
ID : 12
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -127,7 +131,7 @@ Text value03
Text value01_icon
Attributes
ID : 14
ID : 13
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -137,7 +141,7 @@ Text value01_icon
Text value02_icon
Attributes
ID : 15
ID : 14
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -147,7 +151,7 @@ Text value02_icon
Text value03_icon
Attributes
ID : 16
ID : 15
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -157,7 +161,7 @@ Text value03_icon
Text value04_icon
Attributes
ID : 17
ID : 16
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -167,7 +171,7 @@ Text value04_icon
Text value05_icon
Attributes
ID : 18
ID : 17
Scope : local
Dragging : 0
Send Component ID : disabled
@@ -175,6 +179,16 @@ Text value05_icon
Text :
Max. Text Size : 10
Text page_index
Attributes
ID : 18
Scope : local
Dragging : 0
Send Component ID : disabled
Associated Keyboard: none
Text :
Max. Text Size : 20
Picture weather_icon
Attributes
ID : 3
@@ -182,12 +196,15 @@ Picture weather_icon
Dragging : 0
Send Component ID: disabled
Hotspot weather_back
Button button_back
Attributes
ID : 5
ID : 19
Scope : local
Dragging : 0
Send Component ID: disabled
State : unpressed
Text : 
Max. Text Size : 3
Events
Touch Press Event
@@ -205,6 +222,29 @@ Timer swipestore
swipex=tch0
swipey=tch1
Timer wakeup_timer
Attributes
ID : 20
Scope : local
Period (ms): 100
Enabled : yes
Events
Timer Event
if(dim<brightness)
{
dimdelta=brightness-dim
dimdelta/=10
if(dimdelta<1)
{
dimdelta=1
}
dim+=dimdelta
}else
{
wakeup_timer.en=0
}
TouchCap swipe
Attributes
ID : 1