Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
7c825d7
Copy Blackymas repo
edwardtfn Jan 30, 2026
6d5bbcb
Merge branch 'main' into v9999.99.9
edwardtfn Jan 30, 2026
1ea56e5
Remove some files to come back later
edwardtfn Jan 30, 2026
5ab4d5f
Merge branch 'v9999.99.9' of https://github.com/edwardtfn/NSPanel-Eas…
edwardtfn Jan 30, 2026
472f2e3
Set dummy version
edwardtfn Jan 30, 2026
c21042a
Delete esphome_analyze_memory.yml
edwardtfn Jan 30, 2026
2698184
Lint
edwardtfn Jan 30, 2026
1dc697b
Fix incorrect compile guard macro in QR Code page header
edwardtfn Jan 30, 2026
18ef437
Add the missing `<cstdlib>` include for `strtod`
edwardtfn Jan 30, 2026
deed850
Use the script parameter `brightness`, not the global `brightness_cur…
edwardtfn Jan 30, 2026
fbf9c95
Missing braces cause unconditional execution of climate-specific code
edwardtfn Jan 30, 2026
aabe0ed
Type mismatch: `qrcode_icon_color` initial value is empty string but …
edwardtfn Jan 30, 2026
c8fe0a4
Lint
edwardtfn Jan 30, 2026
a0ec4d7
Use assets from Blackymas
edwardtfn Jan 30, 2026
3909abb
Use assets from Blackymas
edwardtfn Jan 30, 2026
da1f06b
Lint
edwardtfn Jan 30, 2026
e361173
ix undefined behavior in `isalnum`/`tolower` with signed char input
edwardtfn Jan 30, 2026
ffa770b
Fix error message and modulo check logic
edwardtfn Jan 30, 2026
88883c5
Use `state` directly in `write_action` to simplify brightness calcula…
edwardtfn Jan 30, 2026
d9d6c0c
Grammar: "then" should be "when"
edwardtfn Jan 30, 2026
64cab1f
Typo: "bellow" should be "below"
edwardtfn Jan 30, 2026
1218bf2
Typo: "slighly" should be "slightly"
edwardtfn Jan 30, 2026
2fb150d
Typo: "bellow" should be "below"
edwardtfn Jan 30, 2026
cf4bbfd
Fix broken links
edwardtfn Jan 30, 2026
a5573de
Fix broken links
edwardtfn Jan 30, 2026
72289fc
Fix broken links
edwardtfn Jan 30, 2026
ee70cdf
Hyphenate “blueprint-based” for correct compound adjective usage
edwardtfn Jan 30, 2026
5301402
Fix typo: “aligment” → “alignment”
edwardtfn Jan 30, 2026
e1324cb
Fix possessive “its” and verb agreement for clarity
edwardtfn Jan 30, 2026
cf0d7b6
Fix typos in Home Assistant integration steps
edwardtfn Jan 30, 2026
0ec651f
Correct a few spelling/grammar issues in TFT upload section
edwardtfn Jan 30, 2026
2b88cb0
Typo in comment: "bluepring" → "blueprint"
edwardtfn Jan 30, 2026
e46f76f
Redundant double call to `update_flag_api_ready`
edwardtfn Jan 30, 2026
8d4a182
Apply suggestions from @coderabbitai
edwardtfn Jan 30, 2026
ba0e84f
Update components/nspanel_easy/base.h
edwardtfn Jan 30, 2026
fa1098a
Fixes from @coderabbitai
edwardtfn Jan 30, 2026
6312688
Merge branch 'v9999.99.9' of https://github.com/edwardtfn/NSPanel-Eas…
edwardtfn Jan 30, 2026
d041cb9
Fix suggested by @coderabbitai
edwardtfn Jan 30, 2026
0d15492
Fix donation link
edwardtfn Jan 30, 2026
f7f3ab0
Suggestions from @coderabbitai
edwardtfn Jan 30, 2026
6515a73
Suggestions from @coderabbitai
edwardtfn Jan 30, 2026
a12a4ef
Drop `api_recover_from_failed`
edwardtfn Jan 31, 2026
3b78e60
Clarify `temp_step` usage
edwardtfn Jan 31, 2026
eeeeb9e
Implements @coderabbitai suggestions
edwardtfn Jan 31, 2026
7b9c6a6
Clarify parameter `mem`
edwardtfn Jan 31, 2026
8ec59d8
Remove redundant wording in the wake_up note
edwardtfn Jan 31, 2026
de70bb5
Suggestions from @coderabbitai
edwardtfn Jan 31, 2026
796e89c
Break too long lines
edwardtfn Jan 31, 2026
c7f0c4c
avoid duplicate search
edwardtfn Jan 31, 2026
3aa299c
Apply @coderabbitai suggestions
edwardtfn Jan 31, 2026
19b7739
Apply changes proposed by @coderabbitai
edwardtfn Jan 31, 2026
1c42316
Avoid duplicate/default meridiem in home.time when %p is present
edwardtfn Jan 31, 2026
9f72098
Missing validation for 4-byte UTF-8 sequences
edwardtfn Jan 31, 2026
64eee3d
Move the debug sort-order check inside a function (compile error at f…
edwardtfn Jan 31, 2026
faf0409
Replace magic numbers with the defined substitution variables
edwardtfn Feb 2, 2026
ee57294
Blueprint file path is likely incorrect for most Home Assistant installs
edwardtfn Feb 2, 2026
f560689
Show volume buttons when `VOLUME_STEP` is supported, independently of…
edwardtfn Feb 2, 2026
9534c03
Trim trailing space after removing `%p` from time format string
edwardtfn Feb 2, 2026
9c1fc64
Allow empty page to target current page
edwardtfn Feb 2, 2026
eba4660
Correct version thresholds to match the compatibility matrix
edwardtfn Feb 2, 2026
f05ff5d
Add bounds checking or length parameter to decode_utf8
edwardtfn Feb 2, 2026
696122c
Add <algorithm> include for std::any_of
edwardtfn Feb 2, 2026
5516b5c
Fix missing esp_heap_caps.h include and remove dead code in cleanupUt…
edwardtfn Feb 2, 2026
f8cd9be
This ensures any yamllint failure will cause the workflow step to fai…
edwardtfn Feb 2, 2026
3d247fe
Update tj-actions/changed-files to a current version
edwardtfn Feb 2, 2026
80345cb
Align the workflow trigger paths with the files actually checked
edwardtfn Feb 2, 2026
626238e
Nitpick suggestions from @coderabbitai
edwardtfn Feb 2, 2026
cc5016c
Specify max_restore_data_length for std::string globals, or reconside…
edwardtfn Feb 2, 2026
bb00923
Commit pattern misses Markdown files in subdirectories
edwardtfn Feb 2, 2026
eeb41e7
Guard auto-commit and grant write permissions to avoid failures on fo…
edwardtfn Feb 2, 2026
dda4be8
Merge branch 'v9999.99.9' of https://github.com/edwardtfn/NSPanel-Eas…
edwardtfn Feb 2, 2026
5a768f7
Nitpick suggestiong from @coderabbitai
edwardtfn Feb 2, 2026
39dad77
Using `std::vector` with `ExternalRAMAllocator`
edwardtfn Feb 2, 2026
6c27817
Add pre-built
edwardtfn Feb 2, 2026
bcd065d
Add missing include for `ExternalRAMAllocator` and remove unused headers
edwardtfn Feb 2, 2026
94d6654
Clarify `heat_overrun` configuration in the real use case example
edwardtfn Feb 2, 2026
075979f
Fix blueprint filename to match the actual file in the repository
edwardtfn Feb 2, 2026
9489fae
Fix undefined codepoint identifier in verbose icon logging
edwardtfn Feb 2, 2026
bb3b7db
Add build tests
edwardtfn Feb 2, 2026
dcd6eb5
Tighten wording for a more professional tone
edwardtfn Feb 2, 2026
71b3e31
Simplify substitution and fix auto‑update gate for default model
edwardtfn Feb 2, 2026
5a47139
Simplify code
edwardtfn Feb 2, 2026
dc4ba5f
The builds field violates ESP Web Tools manifest schema and reference…
edwardtfn Feb 2, 2026
1bf8131
Temperature comments may be misleading
edwardtfn Feb 2, 2026
f32ae3c
.gitignore in subdirectory cannot ignore files at repository root
edwardtfn Feb 2, 2026
4e0550c
"builds" must be an array ([...]) not an object
edwardtfn Feb 2, 2026
049f24b
Another fix to manifest
edwardtfn Feb 2, 2026
43a58f9
Nitpics from @coderabbitai
edwardtfn Feb 2, 2026
635ea81
Lint
edwardtfn Feb 3, 2026
566706e
style: auto-fix markdown lint issues
edwardtfn Feb 3, 2026
a462b8d
Undefined behavior: reinterpret_cast violates strict aliasing and rel…
edwardtfn Feb 3, 2026
8d296d7
Merge branch 'v9999.99.9' of https://github.com/edwardtfn/NSPanel-Eas…
edwardtfn Feb 3, 2026
fe48efa
style: auto-fix markdown lint issues
edwardtfn Feb 3, 2026
881a586
cover configuration is handled via device entities (no substitutions …
edwardtfn Feb 3, 2026
eac9a9c
Merge branch 'v9999.99.9' of https://github.com/edwardtfn/NSPanel-Eas…
edwardtfn Feb 3, 2026
524b6a3
Fix invalid YAML in momentary switch example (on_release missing then)
edwardtfn Feb 3, 2026
3bff296
Fix minor wording typos (“startup”, “disassemble”)
edwardtfn Feb 3, 2026
4b9ac9b
Tighten phrasing (“built‑in”, “To use this function”)
edwardtfn Feb 3, 2026
3b142a1
Fix uint32_t wrap-around vulnerability in boot-event throttling
edwardtfn Feb 3, 2026
4121a24
stof() can throw on invalid input
edwardtfn Feb 3, 2026
60ecd05
Potential crash if mui_decimal_separator is empty
edwardtfn Feb 3, 2026
7ad0e67
Change "build-in" to "built-in"
edwardtfn Feb 3, 2026
fe78205
switch to step-security/changed-files
edwardtfn Feb 3, 2026
051e05d
Incorrect action names in the IMPORTANT note
edwardtfn Feb 3, 2026
d64791d
YAML example likely invalid: lambda: return ... should be a multiline…
edwardtfn Feb 3, 2026
9c72340
Update docs/error_initializing.md
edwardtfn Feb 3, 2026
1fe0450
Update docs/howto.md
edwardtfn Feb 3, 2026
44c3684
Update components/nspanel_easy/hardware.h
edwardtfn Feb 3, 2026
be562e8
Update docs/customization.md
edwardtfn Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.tft binary
*.HMI binary
138 changes: 138 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
---
name: Bug Report
description: If something isn't working as expected, let us know here.
title: "`Bug` "
labels: [Bug]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out a bug report!

We aim to keep everything working perfectly, so your detailed reports are crucial.

Report only one specific issue per submission. If you encounter another issue, create a new report for effective tracking and resolution.

The more detail you provide, the quicker we can help.

> [!WARNING]
> Omit any private or sensitive information, as this bug report will be publicly visible.

- type: markdown
attributes:
value: |
## Version Information
Provide version numbers for TFT, ESPHome, and Blueprint. These can be found on your device's boot screen and in the automation where the blueprint is set.

- type: input
attributes:
label: TFT Version
description: Enter the TFT version number.
placeholder: e.g., 2026020
validations:
required: false

- type: input
attributes:
label: Firmware Version
description: Enter the ESPHome firmware version number.
placeholder: e.g., 2026020
validations:
required: false

- type: input
attributes:
label: Blueprint Version
description: Enter the Blueprint version number.
placeholder: e.g., 2026020
validations:
required: false

- type: dropdown
attributes:
label: Panel Model
description: Select your NSPanel model.
options:
- EU
- US
- US (Landscape)
validations:
required: false

- type: markdown
attributes:
value: |
## Bug Details

- type: textarea
attributes:
label: What is the bug?
description: Describe the bug clearly and concisely.
placeholder: e.g., When I try this, I get this result, but I expected that...

- type: textarea
attributes:
label: Steps to Reproduce
description: Detail the steps to reproduce the behavior. Include screenshots or other relevant information.
placeholder: |
1. Go to '...'
2. Click on '...'
3. See error on '...'

- type: markdown
attributes:
value: |
## Additional Information (Optional)

- type: textarea
attributes:
label: Your Panel's YAML
description: Provide your panel's YAML configuration.
render: yaml
placeholder: |
# Example YAML configuration
# ...

- type: textarea
attributes:
label: ESPHome Logs
render: text
description: >
Access these logs via the **Logs** button on the ESPHome Dashboard.
These logs are crucial for diagnosing issues with your device.


Please follow the guidelines below to ensure the logs are comprehensive:

- **Boot Issues**: If the problem occurs during boot, capture the logs from the start of your device to a minute or two after the boot completes.
Look for errors or unusual messages during this period.

- **TFT File Update Issues**: For problems related to TFT file updates,
include logs from the moment you press the **Update TFT Display** button until a few seconds after the device restarts.
Pay attention to any error messages or warnings during the update process.

- **Other Issues**: For other types of problems, include logs that encompass the issue's onset and continue for a short duration thereafter.
This will help in pinpointing the exact moment and nature of the issue.


Remember, the more detailed the logs, the easier it is to identify and resolve the problem.

- type: textarea
attributes:
label: Home Assistant Logs
render: text
description: >
To access Home Assistant logs, navigate to **Settings** > **System** > [**Logs**](https://my.home-assistant.io/redirect/logs/).


When reporting an issue, please focus on providing logs specifically relevant to the problem:

- **NSPanel Blueprint Automation**: If your issue is related to automation using the NSPanel blueprint, include only those logs that directly pertain to this process.

- **Panel and ESPHome**: For issues involving your panel and ESPHome, carefully select and share logs that show interactions or errors between these components.

- **Relevancy is Key**: To expedite troubleshooting, avoid including logs that are not related to the issue at hand. This helps in focusing on the pertinent information.


Your attention to sharing targeted and relevant log data is greatly appreciated and aids in efficient problem resolution.
...
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
blank_issues_enabled: false

contact_links:
- name: Troubleshooting TFT Transfer Issues
url: https://github.com/edwardtfn/NSPanel-Easy/blob/main/docs/tft_upload.md
about: Having trouble transferring a TFT file? Our guide might have the solution.

- name: Resolve Compiling Errors
url: https://github.com/edwardtfn/NSPanel-Easy/blob/main/docs/error_compiling.md
about: Check this guide if you're experiencing compile errors.

- name: Getting Started Guide
url: https://github.com/edwardtfn/NSPanel-Easy/blob/main/docs/install.md
about: New to NSPanel Easy? Start here for installation and setup instructions.
...
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Enhancement Request
description: Suggest an idea for this project
title: "`Enhancement` "
labels: [Enhancement]
body:
- type: markdown
attributes:
value: "Thank you for taking the time to suggest an enhancement!"

- type: input
attributes:
label: Enhancement Summary
description: A brief summary of the enhancement.
placeholder: e.g., Add support for XYZ feature...
validations:
required: true

- type: textarea
attributes:
label: Detailed Description
description: Please provide a detailed description of the enhancement. Include any specific use cases or functionality you envision.
placeholder: "Describe the enhancement in detail..."
validations:
required: true

- type: textarea
attributes:
label: Additional Context
description: "Provide any additional context or screenshots that might help us understand the enhancement better."
placeholder: "Add any other context or screenshots about the enhancement request here."
...
Loading
Loading