light treshold will now be set based on mqtt command
This commit is contained in:
parent
c9dc8f545f
commit
5fb882c59a
@ -10,6 +10,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define MQTT_VALVE_COMMAND MQTT_TOPIC_BASE_SUB "/" MQTT_DEVICE_ID "/valve"
|
#define MQTT_VALVE_COMMAND MQTT_TOPIC_BASE_SUB "/" MQTT_DEVICE_ID "/valve"
|
||||||
#define MQTT_SOIL_PROPERTIES MQTT_TOPIC_BASE_SUB "/" MQTT_DEVICE_ID "/soil"
|
#define MQTT_SOIL_PROPERTIES MQTT_TOPIC_BASE_SUB "/" MQTT_DEVICE_ID "/soil"
|
||||||
|
#define MQTT_LIGHT_COMMAND MQTT_TOPIC_BASE_SUB "/" MQTT_DEVICE_ID "/light"
|
||||||
|
|
||||||
TimerHandle_t mqttReconnectTimer;
|
TimerHandle_t mqttReconnectTimer;
|
||||||
TimerHandle_t wifiReconnectTimer;
|
TimerHandle_t wifiReconnectTimer;
|
||||||
@ -101,10 +102,21 @@ void onMqttMessage(char *topic, byte *payload, unsigned int payload_length) {
|
|||||||
}
|
}
|
||||||
Serial.println();
|
Serial.println();
|
||||||
|
|
||||||
|
if (strcmp(topic, MQTT_LIGHT_COMMAND) == 0) {
|
||||||
|
Serial.println("receiving light treshold...");
|
||||||
|
Serial.println(topic);
|
||||||
|
}
|
||||||
if (strcmp(topic, MQTT_VALVE_COMMAND) == 0) {
|
if (strcmp(topic, MQTT_VALVE_COMMAND) == 0) {
|
||||||
Serial.println("toggling valve...");
|
Serial.println("toggling valve...");
|
||||||
Serial.println(topic);
|
Serial.println(topic);
|
||||||
toggleValve();
|
StaticJsonDocument<1024> doc;
|
||||||
|
DeserializationError err = deserializeJson(doc, payload);
|
||||||
|
if (err == DeserializationError::Ok) {
|
||||||
|
int nm = doc["nm"];
|
||||||
|
setValueNM(nm);
|
||||||
|
} else {
|
||||||
|
Serial.println(err.c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (strcmp(topic, MQTT_SOIL_PROPERTIES) == 0) {
|
if (strcmp(topic, MQTT_SOIL_PROPERTIES) == 0) {
|
||||||
Serial.println("receiving soil thresholds...");
|
Serial.println("receiving soil thresholds...");
|
||||||
|
|||||||
@ -77,7 +77,9 @@ extern void publishMessage(const char *topic, const char *msg);
|
|||||||
|
|
||||||
// RGB PWM LED
|
// RGB PWM LED
|
||||||
extern void setupPWM();
|
extern void setupPWM();
|
||||||
extern void activateLight();
|
extern bool activateLight();
|
||||||
|
extern void setValueNM(int NM);
|
||||||
|
extern void getColorBasedOnValueNM();
|
||||||
|
|
||||||
// sensors
|
// sensors
|
||||||
void readSensors();
|
void readSensors();
|
||||||
|
|||||||
@ -29,8 +29,9 @@ void setupPWM() {
|
|||||||
ledcAttachPin(PIN_LED_B, ledChannelBlue);
|
ledcAttachPin(PIN_LED_B, ledChannelBlue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void readValueNM() {
|
void setValueNM(int NM) {
|
||||||
// ValueNM = Read from database
|
valueNM = NM;
|
||||||
|
getColorBasedOnValueNM();
|
||||||
}
|
}
|
||||||
|
|
||||||
void getColorBasedOnValueNM() {
|
void getColorBasedOnValueNM() {
|
||||||
@ -54,8 +55,9 @@ void getColorBasedOnValueNM() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void activateLight() {
|
bool activateLight() {
|
||||||
ledcWrite(ledChannelRed, colorValueArray[colorCounter][0]);
|
ledcWrite(ledChannelRed, colorValueArray[colorCounter][0]);
|
||||||
ledcWrite(ledChannelGreen, colorValueArray[colorCounter][1]);
|
ledcWrite(ledChannelGreen, colorValueArray[colorCounter][1]);
|
||||||
ledcWrite(ledChannelBlue, colorValueArray[colorCounter][2]);
|
ledcWrite(ledChannelBlue, colorValueArray[colorCounter][2]);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user