This commit is contained in:
2021-01-13 17:14:26 +01:00
parent 1598d4934a
commit c5d94bd1da
5 changed files with 43 additions and 12 deletions

View File

@@ -12,7 +12,7 @@
#define DEFAULT_FAN_GPIO 13
#define DEFAULT_THRES_LOW 25
#define DEFAULT_THRES_HIGH 70
#define DEFAULT_FAN_MAX_SPEED 1024
#define DEFAULT_FAN_MAX_SPEED 1021
#define OFF_STATE "OFF"
#define ON_STATE "ON"
@@ -45,8 +45,12 @@ class FanSettings {
root["fan_max_speed"] = settings.fanMaxSpeed;
root["temperature_thres_low"] = settings.thresLow;
root["temperature_thres_high"] = settings.thresHigh;
String s = root["fan_status"];
Serial.print(" ** Fan read [" + s + "]\n");
// String s = (String)root["fan_status"] + "|" + (String)root["fan_gpio"] + "|" + (String)root["fan_max_speed"] + "|" + (String)root["temperature_thres_low"] + "|" + (String)root["temperature_thres_high"];
String s = root["fan_status"]; Serial.println(" ** Fan read [fan_status : " + s + "]");
String t = root["fan_gpio"]; Serial.println(" ** Fan read [fan_gpio : " + t + "]");
String u = root["fan_max_speed"]; Serial.println(" ** Fan read [fan_max_speed : " + u + "]");
String v = root["temperature_thres_low"]; Serial.println(" ** Fan read [temperature_thres_low : " + v + "]");
String w = root["temperature_thres_high"]; Serial.println(" ** Fan read [temperature_thres_high : " + w + "]");
}
static StateUpdateResult update(JsonObject& root, FanSettings& fanState) {
@@ -55,28 +59,34 @@ class FanSettings {
int newMaxSpeed = root["fan_max_speed"] | DEFAULT_FAN_MAX_SPEED;
int newThresLow = root["temperature_thres_low"] | DEFAULT_THRES_LOW;
int newThresHigh = root["temperature_thres_high"] | DEFAULT_THRES_HIGH;
Serial.print(" ** Fan update [" + (String)newFanState + "]\n");
if (fanState.fanStatus != newFanState || fanState.fanGpio != newFanGpio ) {
Serial.println(" ** Fan update [status:" + (String)newFanState + "|gpio:" + (String)newFanGpio + "|mxspd:" + (String)newMaxSpeed + "|low:" + (String)newThresLow + "|high:" + (String)newThresHigh + "]");
if ( fanState.fanStatus != newFanState
|| fanState.fanGpio != newFanGpio
|| fanState.fanMaxSpeed != newMaxSpeed
|| fanState.thresLow != newThresLow
|| fanState.thresHigh != newThresHigh ) {
fanState.fanStatus = newFanState;
fanState.fanGpio = newFanGpio;
fanState.fanMaxSpeed = newMaxSpeed;
fanState.thresLow = newThresLow;
fanState.thresHigh = newThresHigh;
Serial.println(" ** Fan CONFIG : CHANGED");
return StateUpdateResult::CHANGED;
}
Serial.println(" ** Fan CONFIG : UNCHANGED");
return StateUpdateResult::UNCHANGED;
}
static void haRead(FanSettings& settings, JsonObject& root) {
root["state"] = settings.fanStatus ? ON_STATE : OFF_STATE;
String s = root["state"];
Serial.print(" ** Fan haRead [" + s + "] \n");
Serial.println(" ** Fan haRead [" + s + "]");
}
static StateUpdateResult haUpdate(JsonObject& root, FanSettings& fanState) {
String state = root["state"];
String s = root["state"];
Serial.print(" ** Fan haUpdate [" + s + "] \n");
Serial.println(" ** Fan haUpdate [" + s + "]");
// parse new led state
boolean newState = false;
if (state.equals(ON_STATE)) {