Skip to content

Commit

Permalink
Merge pull request #2164 from Blackymas/beta
Browse files Browse the repository at this point in the history
v4.3.9 - Ensuring Compatibility with ESPHome v2024.6.0
  • Loading branch information
edwardtfn authored Jun 19, 2024
2 parents a152e9a + de8cdb4 commit 969ff58
Show file tree
Hide file tree
Showing 39 changed files with 203 additions and 215 deletions.
32 changes: 16 additions & 16 deletions .github/workflows/validate_esphome.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ jobs:

- name: Firmware
if: steps.matrix.outputs.cache-hit != 'true'
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -149,7 +149,7 @@ jobs:
uses: actions/checkout@main

- name: Build Advanced Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -172,7 +172,7 @@ jobs:
uses: actions/checkout@main

- name: Build BLE Tracker Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -195,7 +195,7 @@ jobs:
uses: actions/checkout@main

- name: Build Bluetooth Proxy Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -221,7 +221,7 @@ jobs:
uses: actions/checkout@main

- name: Build Climate Cool Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -247,7 +247,7 @@ jobs:
uses: actions/checkout@main

- name: Build Climate Heat Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -273,7 +273,7 @@ jobs:
uses: actions/checkout@main

- name: Build Climate Dual Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -298,7 +298,7 @@ jobs:
uses: actions/checkout@main

- name: Build Customizations Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -320,7 +320,7 @@ jobs:
uses: actions/checkout@main

- name: Build Customizations Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -347,7 +347,7 @@ jobs:
uses: actions/checkout@main

- name: Build Cover Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}

Expand All @@ -360,33 +360,33 @@ jobs:
- uses: actions/checkout@main

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

- name: Move and Rename Firmware File - nspanel_esphome_prebuilt
run: |
mkdir -p prebuilt
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware.bin prebuilt/nspanel_esphome_prebuilt.bin || true
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware-factory.bin prebuilt/nspanel_esphome_prebuilt-factory.bin || true
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware.factory.bin prebuilt/nspanel_esphome_prebuilt.factory.bin || true
- name: Build ESPHome Prebuilt Wall Display Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: prebuilt/wall_display.yaml

- name: Move and Rename Firmware File - wall_display
run: |
mkdir -p prebuilt
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware.bin prebuilt/wall_display.bin || true
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware-factory.bin prebuilt/wall_display-factory.bin || true
cp prebuilt/.esphome/build/nspanel/.pioenvs/nspanel/firmware.factory.bin prebuilt/wall_display.factory.bin || true
- name: Generate checksum for Firmware Files
run: |
md5sum prebuilt/nspanel_esphome_prebuilt.bin > prebuilt/nspanel_esphome_prebuilt.bin.md5
md5sum prebuilt/nspanel_esphome_prebuilt-factory.bin > prebuilt/nspanel_esphome_prebuilt-factory.bin.md5
md5sum prebuilt/nspanel_esphome_prebuilt.factory.bin > prebuilt/nspanel_esphome_prebuilt.factory.bin.md5
md5sum prebuilt/wall_display.bin > prebuilt/wall_display.bin.md5
md5sum prebuilt/wall_display-factory.bin > prebuilt/wall_display-factory.bin.md5
md5sum prebuilt/wall_display.factory.bin > prebuilt/wall_display.factory.bin.md5
- name: Commit and Push Firmware Files
run: |
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/validate_esphome_beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:

- name: Firmware
if: steps.matrix.outputs.cache-hit != 'true'
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -128,7 +128,7 @@ jobs:
uses: actions/checkout@main

- name: Build Advanced Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -152,7 +152,7 @@ jobs:
uses: actions/checkout@main

- name: Build BLE Tracker Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -176,7 +176,7 @@ jobs:
uses: actions/checkout@main

- name: Build Bluetooth Proxy Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -203,7 +203,7 @@ jobs:
uses: actions/checkout@main

- name: Build Climate Cool Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -230,7 +230,7 @@ jobs:
uses: actions/checkout@main

- name: Build Climate Heat Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -257,7 +257,7 @@ jobs:
uses: actions/checkout@main

- name: Build Climate Dial Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -283,7 +283,7 @@ jobs:
uses: actions/checkout@main

- name: Build Customizations Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -306,7 +306,7 @@ jobs:
uses: actions/checkout@main

- name: Build Customizations Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand Down Expand Up @@ -334,7 +334,7 @@ jobs:
uses: actions/checkout@main

- name: Build Cover Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.0
with:
yaml_file: ${{ matrix.yaml_file }}
version: beta
Expand All @@ -348,13 +348,13 @@ jobs:
- uses: actions/checkout@main

- name: Build ESPHome Prebuilt Firmware
uses: barndawgie/build-action@v1.9.0
uses: esphome/build-action@v2.0.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
uses: esphome/build-action@v2.0.0
with:
yaml_file: prebuilt/wall_display.yaml
version: beta
Expand Down
17 changes: 17 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -881,6 +881,23 @@ ensuring improved performance and user experience.
These updates address critical issues and enhance the overall functionality and user experience of the NSPanel.
We appreciate the community's feedback and contributions, which help us continually improve this project.

## v4.3.9 - Ensuring Compatibility with ESPHome v2024.6.0
This patch addresses a critical compatibility issue introduced by the release of ESPHome v2024.6.0.
The OTA format has changed, necessitating updates to ensure seamless firmware updates and system stability for NSPanel users.

> [!WARNING]
> Home Assistant v2024.6.0 and ESPHome v2024.6.0 are required.
> Please take a look at our [Version compatibility matrix](https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/docs/version_compatibility.md) for a full list.
### OTA Format Compatibility Update
- **Criticality:** Critical
- **Affected Components:** ESPHome
- **Description:** Updated the NSPanel firmware to be compatible with the new OTA format introduced in ESPHome v2024.6.0.
This change is essential for maintaining the ability to perform over-the-air updates, ensuring continuous system functionality and stability.

Please ensure you are using Home Assistant v2024.6.0 or later, along with the latest ESPHome version,
to benefit from these updates and maintain optimal performance.

## Support
For support or more information about this update,
visit our [GitHub repository](https://github.com/Blackymas/NSPanel_HA_Blueprint)
Expand Down
2 changes: 2 additions & 0 deletions components/nspanel_ha_blueprint/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

@coroutine_with_priority(1.0)
async def to_code(config):
cg.add_build_flag("-Wno-missing-field-initializers")

if CORE.using_arduino:
cg.add_build_flag("-DCONFIG_D0WD_PSRAM_CLK_IO=5")
cg.add_build_flag("-DCONFIG_D0WD_PSRAM_CS_IO=18")
Expand Down
4 changes: 2 additions & 2 deletions components/nspanel_ha_blueprint/upload_tft.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// upload_tft.cpp

#ifdef NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
// #ifdef NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT

#include "upload_tft.h"

Expand Down Expand Up @@ -29,4 +29,4 @@ namespace nspanel_ha_blueprint {

} // namespace nspanel_ha_blueprint

#endif // NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
// #endif // NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
4 changes: 2 additions & 2 deletions components/nspanel_ha_blueprint/upload_tft.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#pragma once

#ifdef NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
// #ifdef NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT

#include <string>

Expand Down Expand Up @@ -31,4 +31,4 @@ namespace nspanel_ha_blueprint {

} // namespace nspanel_ha_blueprint

#endif // NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
// #endif // NSPANEL_HA_BLUEPRINT_ADDON_UPLOAD_TFT
6 changes: 6 additions & 0 deletions docs/addon_bluetooth_proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ along with the [ESPHome Bluetooth Proxy component](https://esphome.io/components
- Ensure the `esp-idf` framework is utilized for the [ESP32 Platform](customization.md#framework-esp-idf) when enabling Bluetooth features.
Avoid switching to the `arduino` framework as it significantly increases memory usage, potentially causing installation failures on your panel.

<!-- markdownlint-disable MD028 -->
> [!IMPORTANT]
> This add-on includes the BLE Tracker add-on as well.
> Do not include that package in your configuration (or otherwise include `esp32_ble_tracker` in your configuration) otherwise you may experience build errors.
> [!WARNING]
> The `arduino` framework, while compatible, should not be used for Bluetooth-intensive applications on the NSPanel due to its higher memory consumption.
<!-- markdownlint-enable MD028 -->
### Configuration Steps
1. **Edit Your ESPHome YAML File**: Add the Bluetooth Proxy add-on to your configuration by including the `remote_package` entry under the `packages` section as illustrated below:
Expand Down
1 change: 1 addition & 0 deletions docs/version_compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +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.9 | 2024.6.0 | 2024.6.0 |
| v4.3.8 | 2024.6.0 | 2024.5.0 |
| v4.3.7<br>v4.3.6<br>v4.3.5<br>v4.3.4<br>v4.3.3 | 2024.3.0 | 2023.12.0 |
| v4.3.2<br>v4.3.1 | 2024.3.0 | 2024.3.0 |
Expand Down
8 changes: 4 additions & 4 deletions esphome/nspanel_esphome_addon_ble_tracker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
#####################################################################################################
---

esphome:
platformio_options:
build_flags:
- -D NSPANEL_HA_BLUEPRINT_ADDON_BLE_TRACKER
substitutions:
##### DON'T CHANGE THIS ######
NSPANEL_HA_BLUEPRINT_ADDON_BLE_TRACKER: "true"
##############################

esp32_ble:
id: ble_component
Expand Down
10 changes: 5 additions & 5 deletions esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
#####################################################################################################
---

substitutions:
##### DON'T CHANGE THIS ######
NSPANEL_HA_BLUEPRINT_ADDON_BLUETOOTH_PROXY: "true"
##############################

bluetooth_proxy:
id: ble_proxy

esphome:
platformio_options:
build_flags:
- -D NSPANEL_HA_BLUEPRINT_ADDON_BLUETOOTH_PROXY

packages:
climate_base_package: !include nspanel_esphome_addon_ble_tracker.yaml

Expand Down
Loading

0 comments on commit 969ff58

Please sign in to comment.