mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-11 18:54:28 +05:00
fix: temperature_unit for climate fixed; temp in vars.parameters.* by default fixed
This commit is contained in:
@@ -1412,10 +1412,10 @@ public:
|
|||||||
doc[FPSTR(HA_TEMPERATURE_STATE_TEMPLATE)] = F("{{ value_json.heating.target|float(0)|round(1) }}");
|
doc[FPSTR(HA_TEMPERATURE_STATE_TEMPLATE)] = F("{{ value_json.heating.target|float(0)|round(1) }}");
|
||||||
|
|
||||||
if (unit == UnitSystem::METRIC) {
|
if (unit == UnitSystem::METRIC) {
|
||||||
doc[FPSTR(HA_TEMPERATURE_UNIT)] = FPSTR(HA_UNIT_OF_MEASUREMENT_C);
|
doc[FPSTR(HA_TEMPERATURE_UNIT)] = "C";
|
||||||
|
|
||||||
} else if (unit == UnitSystem::IMPERIAL) {
|
} else if (unit == UnitSystem::IMPERIAL) {
|
||||||
doc[FPSTR(HA_TEMPERATURE_UNIT)] = FPSTR(HA_UNIT_OF_MEASUREMENT_F);
|
doc[FPSTR(HA_TEMPERATURE_UNIT)] = "F";
|
||||||
}
|
}
|
||||||
|
|
||||||
doc[FPSTR(HA_MODE_COMMAND_TOPIC)] = this->getDeviceTopic(F("settings/set"));
|
doc[FPSTR(HA_MODE_COMMAND_TOPIC)] = this->getDeviceTopic(F("settings/set"));
|
||||||
@@ -1464,10 +1464,10 @@ public:
|
|||||||
doc[FPSTR(HA_TEMPERATURE_STATE_TEMPLATE)] = F("{{ value_json.dhw.target|int(0) }}");
|
doc[FPSTR(HA_TEMPERATURE_STATE_TEMPLATE)] = F("{{ value_json.dhw.target|int(0) }}");
|
||||||
|
|
||||||
if (unit == UnitSystem::METRIC) {
|
if (unit == UnitSystem::METRIC) {
|
||||||
doc[FPSTR(HA_TEMPERATURE_UNIT)] = FPSTR(HA_UNIT_OF_MEASUREMENT_C);
|
doc[FPSTR(HA_TEMPERATURE_UNIT)] = "C";
|
||||||
|
|
||||||
} else if (unit == UnitSystem::IMPERIAL) {
|
} else if (unit == UnitSystem::IMPERIAL) {
|
||||||
doc[FPSTR(HA_TEMPERATURE_UNIT)] = FPSTR(HA_UNIT_OF_MEASUREMENT_F);
|
doc[FPSTR(HA_TEMPERATURE_UNIT)] = "F";
|
||||||
}
|
}
|
||||||
|
|
||||||
doc[FPSTR(HA_MODE_COMMAND_TOPIC)] = this->getDeviceTopic(F("settings/set"));
|
doc[FPSTR(HA_MODE_COMMAND_TOPIC)] = this->getDeviceTopic(F("settings/set"));
|
||||||
|
|||||||
@@ -44,6 +44,13 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
|
if (settings.system.unitSystem != UnitSystem::METRIC) {
|
||||||
|
vars.parameters.heatingMinTemp = convertTemp(vars.parameters.heatingMinTemp, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
vars.parameters.heatingMaxTemp = convertTemp(vars.parameters.heatingMaxTemp, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
vars.parameters.dhwMinTemp = convertTemp(vars.parameters.dhwMinTemp, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
vars.parameters.dhwMaxTemp = convertTemp(vars.parameters.dhwMaxTemp, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef LED_OT_RX_GPIO
|
#ifdef LED_OT_RX_GPIO
|
||||||
pinMode(LED_OT_RX_GPIO, OUTPUT);
|
pinMode(LED_OT_RX_GPIO, OUTPUT);
|
||||||
digitalWrite(LED_OT_RX_GPIO, LOW);
|
digitalWrite(LED_OT_RX_GPIO, LOW);
|
||||||
@@ -218,12 +225,15 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
vars.parameters.dhwMinTemp = convertTemp(DEFAULT_DHW_MIN_TEMP, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
vars.parameters.dhwMaxTemp = convertTemp(DEFAULT_DHW_MAX_TEMP, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
|
||||||
Log.swarningln(FPSTR(L_OT_DHW), F("Failed get min/max temp"));
|
Log.swarningln(FPSTR(L_OT_DHW), F("Failed get min/max temp"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.dhw.minTemp >= settings.dhw.maxTemp) {
|
if (settings.dhw.minTemp >= settings.dhw.maxTemp) {
|
||||||
settings.dhw.minTemp = 30;
|
settings.dhw.minTemp = vars.parameters.dhwMinTemp;
|
||||||
settings.dhw.maxTemp = 60;
|
settings.dhw.maxTemp = vars.parameters.dhwMaxTemp;
|
||||||
fsSettings.update();
|
fsSettings.update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,12 +254,15 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
vars.parameters.heatingMinTemp = convertTemp(DEFAULT_HEATING_MIN_TEMP, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
vars.parameters.heatingMaxTemp = convertTemp(DEFAULT_HEATING_MAX_TEMP, UnitSystem::METRIC, settings.system.unitSystem);
|
||||||
|
|
||||||
Log.swarningln(FPSTR(L_OT_HEATING), F("Failed get min/max temp"));
|
Log.swarningln(FPSTR(L_OT_HEATING), F("Failed get min/max temp"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.heating.minTemp >= settings.heating.maxTemp) {
|
if (settings.heating.minTemp >= settings.heating.maxTemp) {
|
||||||
settings.heating.minTemp = 20;
|
settings.heating.minTemp = vars.parameters.heatingMinTemp;
|
||||||
settings.heating.maxTemp = 90;
|
settings.heating.maxTemp = vars.parameters.heatingMaxTemp;
|
||||||
fsSettings.update();
|
fsSettings.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user