implemented config and irrigation commands

This commit is contained in:
Emanuele Trabattoni
2025-07-25 21:53:49 +02:00
parent 74a97a7dd6
commit 5459148538
5 changed files with 184 additions and 41 deletions

View File

@@ -18,10 +18,9 @@ namespace commands
P3,
P4,
NC_1,
NC_2,
PUMP_HT,
FST_FLOOR,
GND_FLOOR,
FR_FLOOR,
PUMP_HT,
IRR_PUMP,
Z1,
Z2,
@@ -33,21 +32,29 @@ namespace commands
RO_MAX // unused to detect invalid values
};
const std::map<const std::string, uint8_t> c_hpLimitsMap = {{"P1", RO::P1},
{"P2", RO::P2},
{"P3", RO::P3},
{"P4", RO::P4},
{"UNLIMITED", RO::P1}};
static const std::map<const std::string, uint8_t> c_hpLimitsMap = {{"P1", RO::P1},
{"P2", RO::P2},
{"P3", RO::P3},
{"P4", RO::P4},
{"UNLIMITED", RO::P1}};
const std::map<const std::string, uint8_t> c_heatingValveMap = {{"pump", RO::PUMP_HT},
{"first", RO::FR_FLOOR},
{"ground", RO::GND_FLOOR}};
static const std::map<const std::string, uint8_t> c_heatingValveMap = {{"pump", RO::PUMP_HT},
{"first", RO::FST_FLOOR},
{"ground", RO::GND_FLOOR}};
const std::map<const std::string, uint8_t> c_irrigationValveMap = {{"ricircolo", RO::RETURN},
{"1", RO::Z1},
{"2", RO::Z2},
{"3", RO::Z3},
{"rubinetti", RO::AUX}};
static const std::map<const std::string, uint8_t> c_irrigationValveMap = {{"ricircolo", RO::RETURN},
{"zone1", RO::Z1},
{"zone2", RO::Z2},
{"zone3", RO::Z3},
{"rubinetti", RO::AUX}};
static std::map<const std::string, std::pair<const char *, TimerHandle_t>> c_irrigationTimerMap = {{"ricircolo", {"ricircolo", NULL}},
{"zone1", {"zone1", NULL}},
{"zone2", {"zone2", NULL}},
{"zone3", {"zone3", NULL}},
{"rubinetti", {"rubinetti", NULL}}};
static TimerHandle_t s_irrigationPumpTimer = NULL;
class Commands
{
@@ -57,7 +64,7 @@ namespace commands
// CONFIG //
static const ArduinoJson::JsonDocument setConfig(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument getConfig(const devices_t &dev, const ArduinoJson::JsonDocument &params);
// CRONJOBS //
static const ArduinoJson::JsonDocument setCronjob(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument getCronjob(const devices_t &dev, const ArduinoJson::JsonDocument &params);
@@ -67,10 +74,9 @@ namespace commands
static const ArduinoJson::JsonDocument setHPlimit(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument setHeating(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument setIrrigation(const devices_t &dev, const ArduinoJson::JsonDocument &params);
// GETTERS //
static const ArduinoJson::JsonDocument getHPpower(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument getHPlimit(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument getInputStatus(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument getOutputStatus(const devices_t &dev, const ArduinoJson::JsonDocument &params);
static const ArduinoJson::JsonDocument getTemperatures(const devices_t &dev, const ArduinoJson::JsonDocument &params);
@@ -87,7 +93,7 @@ namespace commands
{"setCronjob", Commands::setCronjob},
{"getCronjob", Commands::getCronjob},
{"delCronjob", Commands::delCronjob},
{"setHPlimit", Commands::setHPlimit},
{"setHeating", Commands::setHeating},
{"setIrrigation", Commands::setIrrigation},