Debug Component

The debug component can be used to debug problems with ESPHome. At startup, it prints a bunch of useful information like reset reason, free heap size, ESPHome version and so on. It also allows you to get the same information as a text sensor, and to monitor the state of the ESP heap memory (free space, maximum free block size and fragmentation level) and the main-loop timing.

../_images/debug.png

Example debug component output.

# Example configuration entry
debug:
  update_interval: 5s

text_sensor:
  - platform: debug
    device:
      name: "Device Info"

sensor:
  - platform: debug
    free:
      name: "Heap Free"
    fragmentation:
      name: "Heap Fragmentation"
    block:
      name: "Heap Max Block"
    loop_time:
      name: "Loop Time"

# Logger must be at least debug (default)
logger:
  level: debug

Text Sensor

Configuration variables:

  • device (Optional): Reports the following device information:

    • ESPHome Version

    • Free heap size at startup

    • Flash chip size, speed and mode

    • ESP32:

      • Chip model, cores, revision

      • Chip features (BLE / BT / WiFi_BGN / EMB_FLASH / …)

      • ESP-IDF version

      • EFuse MAC

      • Reset reason

      • Wakeup reason

    • ESP8266:

      • Chip id, frequency

      • Flash id

      • SDK, Core & Boot versions

      • Reset reason & information

    Accepts these options:

    • name (Required, string): The name of the sensor.

    • All other options from Text Sensor.

Sensor

Configuration variables:

  • free (Optional): Reports the free heap size in bytes.

    • name (Required, string): The name of the sensor.

    • All other options from Sensor.

  • fragmentation (Optional): Reports the fragmentation metric of the heap (0% is clean, more than ~50% is not harmless). Only available on ESP8266 with Arduino 2.5.2+.

    • name (Required, string): The name of the sensor.

    • All other options from Sensor.

  • block (Optional): Reports the largest contiguous free RAM block on the heap in bytes.

    • name (Required, string): The name of the sensor.

    • All other options from Sensor.

  • loop_time (Optional): Reports the longest time between successive iterations of the main loop.

    • name (Required, string): The name of the sensor.

    • All other options from Sensor.

See Also