esphome / esphome/feature-requests

Exception/coredump handler and decoder

Open
#406 4 comments 2 reactions 0 assignees View on GitHub
Type: Improvement
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**What new integration you would like**

If device crashes for whatever reason, exception/core dump is lost unless device is connected via serial monitor. This makes is hard to debug software and hardware issues for devices that are "deployed" in their target locations (wall, roof...)

Having the ability to store exceptions / core dumps and analyse them afterwards could be of great help to pinpoint the problem (and improve software quality).

Analyzing dumps requires access to code in order for debugger to provide meaningful trace - something quite easily accessible with Hassio/CLI ecosystem provided by esphome.

**Please describe your use case for this integration and alternatives you've tried:**

Ideal use-case:
- device crashes (3.6, not good but not terrible)
- upon next boot, native API informs Hassio plugin that there's dump available.
- Hassio plugin shows "Decode crash" option in the device context
- Once triggered, this option pulls the last crash dump, decodes it and displays summary for novice users (hardware / software problem ) and details that might be usable for bug report.

In parallel, CLI tool for same functionality could/should be provided for users not using Hassio plugin.

**Additional info**

ESP8266 exception handling "ecosystem":
https://github.com/krzychb/EspSaveCrash
https://github.com/me-no-dev/EspExceptionDecoder

ESP32 core dump info:
https://github.com/espressif/arduino-esp32/blob/master/tools/sdk/include/esp32/esp_core_dump.h
https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/core_dump.html

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.