add frozen water mode
This commit is contained in:
parent
662d7bc853
commit
37a08dede6
@ -29,6 +29,9 @@
|
|||||||
#define LOG_PUMP_AND_DOWNLOADMODE "Download mode, ignoring pump request"
|
#define LOG_PUMP_AND_DOWNLOADMODE "Download mode, ignoring pump request"
|
||||||
#define LOG_PUMP_AND_DOWNLOADMODE_CODE 2
|
#define LOG_PUMP_AND_DOWNLOADMODE_CODE 2
|
||||||
|
|
||||||
|
#define LOG_VERY_COLD_WATER "Water potentially frozen, ignoring pump request"
|
||||||
|
#define LOG_VERY_COLD_WATER -7
|
||||||
|
|
||||||
//msg is dynamic defined
|
//msg is dynamic defined
|
||||||
#define LOG_PUMP_INEFFECTIVE -4
|
#define LOG_PUMP_INEFFECTIVE -4
|
||||||
#define LOG_PUMP_STARTED_CODE 10
|
#define LOG_PUMP_STARTED_CODE 10
|
||||||
|
@ -90,6 +90,8 @@ long lastSendPumpUpdate = 0;
|
|||||||
long pumpTargetMl = -1;
|
long pumpTargetMl = -1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
float waterTemp = 30;
|
||||||
|
|
||||||
/*************************** Hardware abstraction *****************************/
|
/*************************** Hardware abstraction *****************************/
|
||||||
|
|
||||||
OneWire oneWire(SENSOR_ONEWIRE);
|
OneWire oneWire(SENSOR_ONEWIRE);
|
||||||
@ -267,6 +269,7 @@ void readOneWireSensors()
|
|||||||
{
|
{
|
||||||
mqttWrite(&sensorTemp, TEMPERATUR_SENSOR_WATER, String(temp));
|
mqttWrite(&sensorTemp, TEMPERATUR_SENSOR_WATER, String(temp));
|
||||||
Serial << "Water Temperatur " << temp << " °C " << endl;
|
Serial << "Water Temperatur " << temp << " °C " << endl;
|
||||||
|
waterTemp = temp;
|
||||||
}
|
}
|
||||||
/* Always send the sensor address with the temperatur value */
|
/* Always send the sensor address with the temperatur value */
|
||||||
mqttWrite(&sensorTemp, String(buf), String(temp));
|
mqttWrite(&sensorTemp, String(buf), String(temp));
|
||||||
@ -1085,13 +1088,14 @@ void plantcontrol()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif // TIMED_LIGHT_PIN
|
#endif // TIMED_LIGHT_PIN
|
||||||
|
bool isLiquid = waterTemp > 5;
|
||||||
bool hasWater = true; // FIXME remaining > waterLevelMin.get();
|
bool hasWater = true; // FIXME remaining > waterLevelMin.get();
|
||||||
// FIXME no water warning message
|
// FIXME no water warning message
|
||||||
pumpToRun = determineNextPump(isLowLight);
|
pumpToRun = determineNextPump(isLowLight);
|
||||||
// early aborts
|
// early aborts
|
||||||
if (pumpToRun != -1)
|
if (pumpToRun != -1)
|
||||||
{
|
{
|
||||||
|
if(isLiquid){
|
||||||
if (hasWater)
|
if (hasWater)
|
||||||
{
|
{
|
||||||
if (mDownloadMode)
|
if (mDownloadMode)
|
||||||
@ -1106,6 +1110,11 @@ void plantcontrol()
|
|||||||
pumpToRun = -1;
|
pumpToRun = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
log(LOG_LEVEL_ERROR, LOG_PUMP_BUTNOTANK_MESSAGE, LOG_PUMP_BUTNOTANK_CODE);
|
||||||
|
pumpToRun = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// go directly to sleep, skipping the pump loop
|
// go directly to sleep, skipping the pump loop
|
||||||
if (pumpToRun == -1)
|
if (pumpToRun == -1)
|
||||||
|
Loading…
Reference in New Issue
Block a user