Skip to content

Conversation

edwardtfn
Copy link
Contributor

@edwardtfn edwardtfn commented Oct 7, 2025

Description:

Makes the Nextion startup override and max queue age constants configurable via YAML, allowing users to tune timing parameters for their specific displays without modifying the code.

Previously, these were hardcoded as const uint16_t member variables with 8000ms defaults. Now they are configurable via YAML while maintaining the same memory efficiency through member variable initialization.

This documentation supports esphome/esphome#11098, which supersedes and closes #3657, providing a cleaner, user-friendly solution that allows configuration without requiring code modifications or custom builds.

Changes

  • Added startup_override_ms configuration option (default: 8000ms)
  • Added max_queue_age configuration option (default: 8000ms)
  • Added documentation for new configuration parameters
  • Added usage examples

Why?

Different Nextion displays (especially larger ones or those with complex startup sequences) may need longer timeouts. This allows users to optimize these values for their specific hardware without recompiling ESPHome or maintaining custom forks.

Memory Impact

  • Flash: Minimal increase (~100-200 bytes for setter methods and validation)
  • RAM: 4 bytes total (two uint16_t member variables, same as before)
  • Performance: Setters called once at initialization, no runtime overhead

Related issue (if applicable):

Pull request in esphome with YAML changes (if applicable):

Checklist:

  • I am merging into next because this is new documentation that has a matching pull-request in esphome as linked above.
    or

  • I am merging into current because this is a fix, change and/or adjustment in the current documentation and is not for a new component or feature.

  • Link added in /components/index.rst when creating new documents for new components or cookbook.

New Component Images

If you are adding a new component to ESPHome, you can automatically generate a standardized black and white component name image for the documentation.

To generate a component image:

  1. Comment on this pull request with the following command, replacing COMPONENT_NAME with your component name in UPPER_CASE format with underscores (e.g., BME280, SHT3X, DALLAS_TEMP):

    @esphomebot generate image COMPONENT_NAME
    
  2. The ESPHome bot will respond with a downloadable ZIP file containing the SVG image.

  3. Extract the SVG file and place it in the images/ folder of this repository.

  4. Use the image in your component's index table entry in /components/index.rst.

Example: For a component called "DHT22 Temperature Sensor", use:

@esphomebot generate image DHT22

Copy link

netlify bot commented Oct 7, 2025

Deploy Preview for esphome ready!

Name Link
🔨 Latest commit 7108056
🔍 Latest deploy log https://app.netlify.com/projects/esphome/deploys/68e4b0c8ac8e67000820bdb1
😎 Deploy Preview https://deploy-preview-5454--esphome.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@edwardtfn edwardtfn marked this pull request as draft October 7, 2025 06:58
@edwardtfn edwardtfn marked this pull request as ready for review October 7, 2025 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant