From 9170a1fe052c56b30f2dfa48b70b68c77d574b2e Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Oct 2021 20:46:40 +0200 Subject: [PATCH] some fixes for hydroponics mode --- esp32/include/ControllerConfiguration.h | 4 ++-- esp32/include/LogDefines.h | 3 ++- esp32/include/PlantCtrl.h | 6 ++---- esp32/src/PlantCtrl.cpp | 4 ++-- esp32/src/main.cpp | 6 ++++-- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/esp32/include/ControllerConfiguration.h b/esp32/include/ControllerConfiguration.h index a486752..8326f9c 100644 --- a/esp32/include/ControllerConfiguration.h +++ b/esp32/include/ControllerConfiguration.h @@ -82,10 +82,10 @@ /** \addtogroup Configuration * @{ */ -#define FIRMWARE_VERSION "sw 1.4 hw 0.10" +#define FIRMWARE_VERSION "sw 2.0 hw 0.10_no_sensor_caps" #define TIMED_LIGHT_PIN CUSTOM1_PIN5 -#define FLOWMETER_PIN CUSTOM1_PIN1 +//#define FLOWMETER_PIN CUSTOM1_PIN1 #ifdef FLOWMETER_PIN #define FLOWMETER_FLOWFACTOR 22 /** F = 22 * Q;Q = L/min */ #endif diff --git a/esp32/include/LogDefines.h b/esp32/include/LogDefines.h index a85c6bc..f45bf6e 100644 --- a/esp32/include/LogDefines.h +++ b/esp32/include/LogDefines.h @@ -5,6 +5,7 @@ #define LOG_LEVEL_INFO 2 #define LOG_LEVEL_DEBUG 3 + #define LOG_TANKSENSOR_FAIL_DETECT "Failed to detect and initialize distance sensor!" #define LOG_TANKSENSOR_FAIL_DETECT_CODE -1 @@ -25,7 +26,7 @@ //msg is dynamic defined #define LOG_PUMP_INEFFECTIVE -4 - +#define LOG_PUMP_STARTED_CODE 10 #define LOG_DEBUG_CODE 1001 #define LOG_SLEEP_NIGHT 100 #define LOG_SLEEP_DAY 101 diff --git a/esp32/include/PlantCtrl.h b/esp32/include/PlantCtrl.h index 9ec969d..f682f3c 100644 --- a/esp32/include/PlantCtrl.h +++ b/esp32/include/PlantCtrl.h @@ -64,7 +64,7 @@ public: bool isHydroponic(){ long current = this->mSetting->pSensorDry->get(); - return !equalish(current,HYDROPONIC_MODE); + return equalish(current,HYDROPONIC_MODE); } /** @@ -82,9 +82,7 @@ public: bool isDry = getCurrentMoisture() > getSetting2Moisture(); bool isActive = isPumpTriggerActive(); return isDry && isActive; - } - - + } bool isPumpTriggerActive() { diff --git a/esp32/src/PlantCtrl.cpp b/esp32/src/PlantCtrl.cpp index ba418a1..6c76256 100644 --- a/esp32/src/PlantCtrl.cpp +++ b/esp32/src/PlantCtrl.cpp @@ -34,8 +34,8 @@ void Plant::init(void) { /* Initialize Home Settings validator */ this->mSetting->pSensorDry->setDefaultValue(DEACTIVATED_PLANT); - this->mSetting->pSensorDry->setValidator([](double candidate) { - return (((candidate >= 0.0) && (candidate <= 100.0)) || equalish(candidate,DEACTIVATED_PLANT)); + this->mSetting->pSensorDry->setValidator([](long candidate) { + return (((candidate >= 0.0) && (candidate <= 100.0)) || equalish(candidate,DEACTIVATED_PLANT) || equalish(candidate,HYDROPONIC_MODE)); }); this->mSetting->pPumpAllowedHourRangeStart->setDefaultValue(8); // start at 8:00 this->mSetting->pPumpAllowedHourRangeStart->setValidator([](long candidate) { diff --git a/esp32/src/main.cpp b/esp32/src/main.cpp index 84c83d1..1ce9f03 100644 --- a/esp32/src/main.cpp +++ b/esp32/src/main.cpp @@ -432,6 +432,7 @@ int determineNextPump(bool isLowLight) log(LOG_LEVEL_DEBUG, String(String(i) + " Requested pumping"), LOG_DEBUG_CODE); pumpToUse = i; + return pumpToUse; } else { @@ -454,7 +455,7 @@ int determineNextPump(bool isLowLight) consecutiveWateringPlant[i] = 0; } } - return pumpToUse; + return -1; } /** @@ -573,6 +574,7 @@ void pumpActiveLoop() if (!pumpStarted) { + log(LOG_LEVEL_INFO, "Starting pump " + String(pumpToRun) , LOG_PUMP_STARTED_CODE ); initPumpLogic(); pumpStarted = true; } @@ -601,7 +603,7 @@ void pumpActiveLoop() mPlants[pumpToRun].setProperty("waterusage").send(String(pumped)); } #else - if (millis() > pumpTarget) + if (millis() > pumpTarget*1000) { targetReached = true; }