diff --git a/main/webserver_dumpnvs.h b/main/webserver_dumpnvs.h index 7a7d16c..56ac87c 100644 --- a/main/webserver_dumpnvs.h +++ b/main/webserver_dumpnvs.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -26,6 +27,7 @@ esp_err_t webserver_dump_nvs_handler(httpd_req_t *req); } // namespace using esphttpdutils::HtmlTag; +using namespace espchrono; namespace dump_nvs_handler { @@ -34,7 +36,10 @@ typename std::enable_if< !std::is_same::value && !std::is_integral::value && !std::is_same>::value && - !std::is_same::value + !std::is_same::value && + !std::is_same::value && + !std::is_same::value && + !std::is_same::value , bool>::type showInputForSetting(std::string_view key, T value, JsonObject &body) { @@ -84,6 +89,36 @@ showInputForSetting(std::string_view key, T value, JsonObject &body) return true; } +template +typename std::enable_if< + std::is_same::value +, bool>::type +showInputForSetting(std::string_view key, T value, JsonObject &body) +{ + body[key] = value.count(); + return true; +} + +template +typename std::enable_if< + std::is_same::value +, bool>::type +showInputForSetting(std::string_view key, T value, JsonObject &body) +{ + body[key] = toString(espchrono::DayLightSavingMode(value)); + return true; +} + +template +typename std::enable_if< + std::is_same::value +, bool>::type +showInputForSetting(std::string_view key, T value, JsonObject &body) +{ + body[key] = int(value); + return true; +} + esp_err_t webserver_dump_nvs_handler(httpd_req_t *req) {