From 6a6931bde0d65bae40f947e6b681228fe3dcbdb2 Mon Sep 17 00:00:00 2001 From: Emanuele Trabattoni Date: Fri, 29 Aug 2025 22:19:06 +0200 Subject: [PATCH] added getRainInfo command --- src/commands.cpp | 13 ++++++++----- src/commands.h | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/commands.cpp b/src/commands.cpp index e5e29ba..99e4a32 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -397,7 +397,7 @@ namespace commands LOG_ERROR("setRainOverride incorrect paramaters"); return response; } - s_rainOverride = params["rainOverride"].as() == "True" ? true : false; + s_rainOverride = params["status"].as() == "True" ? true : false; response["values"]["status"] = "valid"; LOG_INFO("setRainOverride [", s_rainOverride ? "True]" : "False]"); return response; @@ -503,7 +503,10 @@ namespace commands const ArduinoJson::JsonDocument Commands::getRainInfo(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms) { ArduinoJson::JsonDocument response; - LOG_WARN("Comand not yet implemented"); + const auto rain = !dev.io.digitalInRead(DI::RAIN) ? "True" : "False"; + response["cmd"] = "getRainInfo"; + response["values"]["status"] = rain; + LOG_INFO("getRainInfo -> ", rain); return response; } const ArduinoJson::JsonDocument Commands::getIrrigation(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms) @@ -515,8 +518,10 @@ namespace commands const ArduinoJson::JsonDocument Commands::getRainOverride(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms) { ArduinoJson::JsonDocument response; + const auto ovr = s_rainOverride ? "True" : "False"; response["cmd"] = "getRainOverride"; - response["values"]["rainOverride"] = s_rainOverride ? "True" : "False"; + response["values"]["rainOverride"] = ovr; + LOG_INFO("getRainOverride -> ", ovr); return response; } const ArduinoJson::JsonDocument Commands::getTimeDrift(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms) @@ -548,9 +553,7 @@ namespace commands response["values"]["status"] = "valid"; response["values"]["drift"] = (uint32_t)timeDiff.count(); response["values"]["direction"] = "RTC is [" + std::string(direction) + "] NTP time"; - LOG_INFO("getTimeDrift -> RTC is [", (int32_t)timeDiff.count(), "] sec, [", std::string(direction).c_str(), "] NTP time"); - return response; } // GETTERS // diff --git a/src/commands.h b/src/commands.h index c8a6910..cd5c876 100644 --- a/src/commands.h +++ b/src/commands.h @@ -100,6 +100,7 @@ namespace commands {"setRainOverride", Commands::setRainOverride}, // GETTERS {"getHPpower", Commands::getHPpower}, + {"getRainInfo", Commands::getRainInfo}, {"getInputStatus", Commands::getInputStatus}, {"getOutputStatus", Commands::getOutputStatus}, {"getRainOverride", Commands::getRainOverride},