diff --git a/src/esp.h b/src/esp.h index 1a97c90..db65f76 100644 --- a/src/esp.h +++ b/src/esp.h @@ -12,6 +12,10 @@ namespace HaESP { Sensor::mapSensors["heap_max_free_block"]->updateState(to_string(ESP.getMaxFreeBlockSize()).c_str()); }, &ts); + Task tRestartInfo(TASK_IMMEDIATE, TASK_ONCE, [](){ + Sensor::mapSensors["restart_reason"]->updateState(ESP.getResetReason().c_str()); + }, &ts); + template Builder& heapStats(Builder& builder) { builder.addDiagnostic(Builder::instance(new Sensor{ "Heap fragmentation", "heap_fragmentation" }) @@ -33,4 +37,11 @@ namespace HaESP { tHeap.enable(); return builder; } + + template + Builder& restartInfo(Builder& builder) { + builder.addDiagnostic(Builder::instance((new Sensor{"Restart reason", "restart_reason"})).build()); + tRestartInfo.enable(); + return builder; + } } \ No newline at end of file