Skip to content

Commit

Permalink
Merge pull request #2045 from Blackymas/beta
Browse files Browse the repository at this point in the history
v4.3.4 - Urgent Fix for Home Screen Interaction
  • Loading branch information
edwardtfn authored Apr 10, 2024
2 parents dcde6ce + f76eccd commit 3b2a6b7
Show file tree
Hide file tree
Showing 33 changed files with 100 additions and 69 deletions.
59 changes: 22 additions & 37 deletions .github/workflows/validate_esphome_beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,6 @@ jobs:
fetch-depth: '0'
- name: Validate nspanel_esphome.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome.yaml
- name: Validate nspanel_esphome_core.yaml
run: yamllint -c "./.rules/yamllint.yml" esphome/nspanel_esphome_core.yaml
- name: Validate nspanel_esphome_addon_climate_cool.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome_addon_climate_cool.yaml
- name: Validate nspanel_esphome_addon_climate_heat.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome_addon_climate_heat.yaml
- name: Validate nspanel_esphome_addon_climate_dual.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome_addon_climate_dual.yaml
- name: Validate nspanel_esphome_addon_upload_tft.yaml
run: yamllint -c "./.rules/yamllint.yml" esphome/nspanel_esphome_addon_upload_tft.yaml
- name: Validate nspanel_esphome_advanced.yaml
run: yamllint -c "./.rules/yamllint.yml" esphome/nspanel_esphome_advanced.yaml
- name: Validate nspanel_esphome_addon_climate_base.yaml
run: yamllint -c "./.rules/yamllint.yml" esphome/nspanel_esphome_addon_climate_base.yaml
- name: Validate nspanel_esphome_addon_climate_cool.yaml
run: yamllint -c "./.rules/yamllint.yml" esphome/nspanel_esphome_addon_climate_cool.yaml
- name: Validate nspanel_esphome_addon_climate_heat.yaml
run: yamllint -c "./.rules/yamllint.yml" esphome/nspanel_esphome_addon_climate_heat.yaml
- name: Validate nspanel_esphome_addon_climate_dual.yaml
run: yamllint -c "./.rules/yamllint.yml" esphome/nspanel_esphome_addon_climate_dual.yaml

build_core:
name: Core
Expand Down Expand Up @@ -168,8 +148,7 @@ jobs:
name: Customizations
runs-on: "ubuntu-latest"
needs:
- build_climate_heat_advanced
- build_climate_cool_bluetooth_proxy
- code_scan
steps:
- uses: actions/checkout@main
with:
Expand All @@ -180,21 +159,27 @@ jobs:
yaml_file: "./.test/esphome_advanced_climate_heat_customizations.yaml"
version: beta

# build_prebuilt_firmware:
# name: Prebuilt Firmware
# runs-on: ubuntu-latest
# needs: build_core # Ensure this job runs after the core build job
# if: github.ref == 'refs/heads/dev' || github.base_ref == 'dev'
# steps:
# - uses: actions/checkout@main
# with:
# fetch-depth: '0'

# - name: Build ESPHome Prebuilt Firmware
# uses: barndawgie/build-action@v1.9.0
# with:
# yaml_file: prebuilt/nspanel_esphome_prebuilt.yaml
# version: beta
build_prebuilt_firmware:
name: Prebuilt Firmware
runs-on: ubuntu-latest
needs: code_scan
if: github.ref == 'refs/heads/dev' || github.base_ref == 'dev'
steps:
- uses: actions/checkout@main
with:
fetch-depth: '0'

- name: Build ESPHome Prebuilt Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: prebuilt/nspanel_esphome_prebuilt.yaml
version: beta

- name: Build ESPHome Prebuilt Wall Display Firmware
uses: barndawgie/build-action@v1.9.0
with:
yaml_file: prebuilt/wall_display.yaml
version: beta

build_climate_cool_bluetooth_proxy:
name: Climate cool & BLE proxy
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/validate_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ jobs:
- name: flake8 Lint
uses: py-actions/flake8@v2
with:
ignore: "F401" # To do: remove for v4.4
max-line-length: "200"
path: "components/nspanel_ha_blueprint"
...
15 changes: 15 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,20 @@ This improvement accommodates more detailed values, improving clarity and user u
- **Special Thanks:** To @Bascht74 and @olicooper for giving the directions to enable the use of non-standard pins for PSRAM used in NSPanel,
and to @X-Ryl669 and @MichaelHeimann for all the tests, tips, and feedback around this.

## v4.3.4 - Urgent Fix for Home Screen Interaction
This patch release addresses a critical issue from the v4.3.3 update that affected the touch functionality on the Home screen, specifically impacting the ability to navigate to the climate page.

### Critical Touch Interaction Bug Fixed (#2040)
- **Criticality:** Critical
- **Affected Components:** Blueprint
- **Issue Number:** #2040
- **Description:** Fixed an issue where users were unable to navigate to the climate control page by touching the temperature display on the Home screen.
This bug was inadvertently introduced in the v4.3.3 update and has been promptly resolved to restore full functionality.
Users can now interact with the temperature display as intended, facilitating seamless access to the climate controls.

This update is essential for ensuring that the NSPanel functions correctly, maintaining the quality and reliability expected by our users.
We apologize for any inconvenience caused and thank you for your continued support.

## Support
For support or more information about this update,
visit our [GitHub repository](https://github.com/Blackymas/NSPanel_HA_Blueprint)
Expand All @@ -682,6 +696,7 @@ Your efforts have significantly improved its functionality and reliability (#183
Your contributions have made our guides more informative and accessible, enriching the user experience for everyone (#1865).

## Previous releases
- [v4.3.3 - Enhancing Flexibility and User Experience](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.3)
- [v4.3.2 - Enhancements and Critical Fixes for a Seamless Experience](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.2)
- [v4.3.1 - Ensuring Compatibility with ESPHome v2024.3.0 and Enhancing Stability](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.1)
- [v4.3 - Welcome to Framework ESP-IDF, an Utilities Dashboard and Enhanced Localization](https://github.com/Blackymas/NSPanel_HA_Blueprint/releases/tag/v4.3.0)
Expand Down
2 changes: 1 addition & 1 deletion components/nspanel_ha_blueprint/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# __init__.py
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome.components.esp32 import add_idf_sdkconfig_option, get_esp32_variant
from esphome.components.esp32 import add_idf_sdkconfig_option
from esphome.core import CORE, coroutine_with_priority

CODEOWNERS = ["@edwardtfn"]
Expand Down
2 changes: 1 addition & 1 deletion docs/version_compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- markdownlint-disable MD013 MD033 -->
| NSPanel_HA_Blueprint<br><sub><sup>Version</sup></sub> | Home Assistant<br><sub><sup>Min version</sup></sub> | ESPHome<br><sub><sup>Min version</sup></sub> |
| :--: | :--: | :--: |
| v4.3.3 | 2024.3.0 | 2023.12.0 |
| v4.3.3+ | 2024.3.0 | 2023.12.0 |
| v4.3.2<br>v4.3.1 | 2024.3.0 | 2024.3.0 |
| v4.3.0 | 2024.3.0 | 2023.12.0 |
| v4.2.2+ | 2023.12.0 | 2023.12.0 |
Expand Down
47 changes: 34 additions & 13 deletions esphome/nspanel_esphome_core.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ substitutions:
invalid_cooldown: "100ms"
bytes_per_char: "1"
##### DON'T CHANGE THIS ######
version: "4.3.3"
version: "4.3.4"
##############################

##### External components #####
Expand All @@ -27,7 +27,7 @@ external_components:
# path: packages/Blackymas/components
type: git
url: https://github.com/Blackymas/NSPanel_HA_Blueprint
ref: v4.3.3
ref: v4.3.4
components:
- nspanel_ha_blueprint
refresh: 300s
Expand Down Expand Up @@ -799,6 +799,30 @@ api:
then:
- lambda: if (!id(is_uploading_tft)) buzzer->play(tone);

- service: set_bool
variables:
component: string
val: bool
then:
- lambda: |-
if (component == "is_climate") id(is_climate) = val;
- service: set_string
variables:
component: string
val: string
then:
- lambda: |-
if (component == "timezone") set_timezone->execute(val.c_str());
- service: set_timezone # To do: Merge this on another init service for v4.4.0
variables:
timezone: string
then:
- script.execute:
id: set_timezone
timezone: !lambda return timezone;

# Utilities group refresh
- service: utilities_group_refresh
variables:
Expand Down Expand Up @@ -874,14 +898,6 @@ api:
}
}
- service: set_timezone # To do: Merge this on another init service for v4.4.0
variables:
timezone: string
then:
- script.execute:
id: set_timezone
timezone: !lambda return timezone;

# Wake Up Service
- service: wake_up
variables:
Expand Down Expand Up @@ -938,9 +954,9 @@ display:
switch (component_id) {
case 4: // indr_temp
case 27: // indr_temp_icon
if (id(is_embedded_thermostat) and !touch_event) { // Release
detailed_entity->publish_state("embedded_climate");
disp1->set_component_value("climate.embedded", 1);
if (id(is_climate) and !touch_event) { // Release
detailed_entity->publish_state((id(is_embedded_thermostat)) ? "embedded_climate" : "");
disp1->set_component_value("climate.embedded", id(is_embedded_thermostat) ? 1 : 0);
goto_page->execute("climate");
}
break;
Expand Down Expand Up @@ -998,6 +1014,11 @@ display:
##### START - GLOBALS CONFIGURATION #####
globals:

- id: is_climate
type: bool
restore_value: true
initial_value: 'true'

- id: mui_timezone
type: std::string
restore_value: true
Expand Down
2 changes: 1 addition & 1 deletion hmi/dev/nspanel_CJK_eu_code/boot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Text tft_version
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : 4.3.3
Text : 4.3.4
Max. Text Size : 9

Text esph_version
Expand Down
2 changes: 1 addition & 1 deletion hmi/dev/nspanel_CJK_us_code/boot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Text tft_version
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : 4.3.3
Text : 4.3.4
Max. Text Size : 9

Events
Expand Down
2 changes: 1 addition & 1 deletion hmi/dev/nspanel_CJK_us_land_code/boot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Text tft_version
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : 4.3.3
Text : 4.3.4
Max. Text Size : 9

Text esph_version
Expand Down
2 changes: 1 addition & 1 deletion hmi/dev/nspanel_eu_code/boot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Text tft_version
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : 4.3.3
Text : 4.3.4
Max. Text Size : 9

Text esph_version
Expand Down
2 changes: 1 addition & 1 deletion hmi/dev/nspanel_us_code/boot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Text tft_version
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : 4.3.3
Text : 4.3.4
Max. Text Size : 9

Events
Expand Down
2 changes: 1 addition & 1 deletion hmi/dev/nspanel_us_land_code/boot.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Text tft_version
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : 4.3.3
Text : 4.3.4
Max. Text Size : 9

Text esph_version
Expand Down
Binary file modified hmi/nspanel_CJK_eu.HMI
Binary file not shown.
Binary file modified hmi/nspanel_CJK_eu.tft
Binary file not shown.
Binary file modified hmi/nspanel_CJK_us.HMI
Binary file not shown.
Binary file modified hmi/nspanel_CJK_us.tft
Binary file not shown.
Binary file modified hmi/nspanel_CJK_us_land.HMI
Binary file not shown.
Binary file modified hmi/nspanel_CJK_us_land.tft
Binary file not shown.
Binary file modified hmi/nspanel_eu.HMI
Binary file not shown.
Binary file modified hmi/nspanel_eu.tft
Binary file not shown.
Binary file modified hmi/nspanel_us.HMI
Binary file not shown.
Binary file modified hmi/nspanel_us.tft
Binary file not shown.
Binary file modified hmi/nspanel_us_land.HMI
Binary file not shown.
Binary file modified hmi/nspanel_us_land.tft
Binary file not shown.
23 changes: 17 additions & 6 deletions nspanel_blueprint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ blueprint:
description: >
# NSPanel Configuration via Blueprint: Complete UI-Based Setup

**Version**: v4.3.3
**Version**: v4.3.4


This project enables comprehensive configuration of your NSPanel through a Blueprint featuring a user interface.
Expand Down Expand Up @@ -3833,6 +3833,7 @@ trigger_variables:
group06: !input utilities_page01_group06_line_reference

variables:
blueprint_version: '4.3.4'
pages:
current: '{{ states(currentpage) }}'
home: "home"
Expand Down Expand Up @@ -4704,7 +4705,6 @@ condition:
action:
- variables:
##### GENERAL #####
blueprint_version: '4.3.3'
nspanel_name: >
{{
trigger.event.data.device_name
Expand Down Expand Up @@ -8237,9 +8237,10 @@ action:
else timezone
}}
- *delay_default
- service: 'esphome.{{ nspanel_name }}_set_timezone'
- service: 'esphome.{{ nspanel_name }}_set_string'
data:
timezone: '{{ timezone_code }}'
component: "timezone"
val: '{{ timezone_code }}'
continue_on_error: true

##### Home page #####
Expand Down Expand Up @@ -8414,9 +8415,19 @@ action:
continue_on_error: true

- variables:
climate_friendly_name: '{{ state_attr(climate, "friendly_name") if climate is string and climate is match "climate." else "" }}'
climate_entity_id_valid: '{{ climate is string and climate is match "climate." }}'
climate_friendly_name: '{{ state_attr(climate, "friendly_name") if climate_entity_id_valid else "" }}'
hw_buttons_bars_pages: !input hw_buttons_bars_pages

- if: '{{ not climate_entity_id_valid }}'
then:
- *delay_default
- service: 'esphome.{{ nspanel_name }}_set_bool'
data:
component: "is_climate"
val: '{{ climate_entity_id_valid }}'
continue_on_error: true

- *delay_default
- service: 'esphome.{{ nspanel_name }}_init_hardware'
data:
Expand All @@ -8434,7 +8445,7 @@ action:
button_bar_color_on: !input hw_buttons_bar_color_on
button_bar_color_off: !input hw_buttons_bar_color_off
embedded_climate: '{{ climate == thermostat_embedded }}'
embedded_climate_friendly_name: '{{ climate_friendly_name if climate_friendly_name else "" }}'
embedded_climate_friendly_name: '{{ climate_friendly_name if climate_friendly_name else "" }}' # To do: v4.4 - This will send name even when no embedded climate
embedded_indoor_temperature: '{{ embedded_indoor_temperature }}'
continue_on_error: true

Expand Down
Binary file modified prebuilt/nspanel_esphome_prebuilt-factory.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion prebuilt/nspanel_esphome_prebuilt-factory.bin.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
08217f2f01190f90fc1112f4968c3174 prebuilt/nspanel_esphome_prebuilt-factory.bin
f5ff2ee0594cf8ea5c5569b84a3865ed prebuilt/nspanel_esphome_prebuilt-factory.bin
Binary file modified prebuilt/nspanel_esphome_prebuilt.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion prebuilt/nspanel_esphome_prebuilt.bin.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5e07088ff03b5aac36a93f193de88e74 prebuilt/nspanel_esphome_prebuilt.bin
29b180e01121a636e080a90efb1690b8 prebuilt/nspanel_esphome_prebuilt.bin
Binary file modified prebuilt/wall_display-factory.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion prebuilt/wall_display-factory.bin.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
937254e577060909a2e3d0e4064a807d prebuilt/wall_display-factory.bin
045b898a2d5f533cdfab5d304283b9d3 prebuilt/wall_display-factory.bin
Binary file modified prebuilt/wall_display.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion prebuilt/wall_display.bin.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
39869b99caaee1e8d68e2782244ef825 prebuilt/wall_display.bin
ed38877819c1d00ea3957c1c9045f2ab prebuilt/wall_display.bin

0 comments on commit 3b2a6b7

Please sign in to comment.