Skip to content

Compilation error: 'NOISE_HASH_SHA256' not declared when using Tailscale integration with ESP-IDF 5.x #8

Description

@GSVSenseAmidMadness

Compilation error: 'NOISE_HASH_SHA256' not declared when using Tailscale integration with ESP-IDF 5.x

Description
When attempting to compile an ESPHome project using the alfs/tailscale-iot external component on an ESP32-S3 board with framework: type: esp-idf, the build fails due to a symbol naming mismatch in the ESPHome API component.

The error occurs in src/esphome/components/api/api_frame_helper_noise.cpp:
error: 'NOISE_HASH_SHA256' was not declared in this scope; did you mean 'NOISE_USE_SHA256'?

It appears that newer versions of the ESP-IDF framework or updated ESPHome core headers have renamed NOISE_HASH_SHA256 to NOISE_USE_SHA256, but the tailscale-iot component (or the interaction between the two) expects the legacy symbol name.

Environment
ESPHome version: Latest (as of June 2026)

Platform: ESP32-S3 (board: esp32-s3-devkitc-1)

Framework: esp-idf

External components: github://alfs/tailscale-iot@main, github://trombik/esphome-component-ping

Steps to Reproduce
Configure an ESP32-S3 device in ESPHome using framework: type: esp-idf.

Include external_components for tailscale-iot and esphome-component-ping.

Attempt to compile the firmware.

Additional Context
The issue persists even when attempting to work around it by injecting -DNOISE_HASH_SHA256=NOISE_USE_SHA256 via build_flags in the esp32 configuration block, suggesting a deeper incompatibility between the vendored noise-c libraries used by the Tailscale component and the core ESPHome API server implementation when targeting ESP-IDF 5.x.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions