mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-08 16:59:50 +03:00
Merge branch 'dev' into dev
This commit is contained in:
@@ -111,7 +111,7 @@ void EMSESPAPIService::emsespAPIService(AsyncWebServerRequest * request) {
|
|||||||
if (output.size()) {
|
if (output.size()) {
|
||||||
doc.shrinkToFit();
|
doc.shrinkToFit();
|
||||||
char buffer[EMSESP_MAX_JSON_SIZE_LARGE];
|
char buffer[EMSESP_MAX_JSON_SIZE_LARGE];
|
||||||
serializeJson(doc, buffer);
|
serializeJsonPretty(doc, buffer);
|
||||||
request->send(200, "text/plain", buffer);
|
request->send(200, "text/plain", buffer);
|
||||||
} else {
|
} else {
|
||||||
request->send(200, "text/plain", ok ? F("OK") : F("Invalid"));
|
request->send(200, "text/plain", ok ? F("OK") : F("Invalid"));
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ bool Boiler::export_values(JsonObject & output) {
|
|||||||
|
|
||||||
// Warm Water charging type
|
// Warm Water charging type
|
||||||
if (Helpers::hasValue(wWChargeType_, EMS_VALUE_BOOL)) {
|
if (Helpers::hasValue(wWChargeType_, EMS_VALUE_BOOL)) {
|
||||||
output["wWChargeType"] = wWChargeType_ ? F("3way_valve") : F("chargepump");
|
output["wWChargeType"] = wWChargeType_ ? F("3-way valve") : F("charge pump");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warm Water circulation pump available bool
|
// Warm Water circulation pump available bool
|
||||||
@@ -708,23 +708,29 @@ void Boiler::show_values(uuid::console::Shell & shell) {
|
|||||||
/*
|
/*
|
||||||
* Check if hot tap water or heating is active
|
* Check if hot tap water or heating is active
|
||||||
* If a value has changed, post it immediately to MQTT so we get real time data
|
* If a value has changed, post it immediately to MQTT so we get real time data
|
||||||
|
* Values will always be posted first time as heatingActive_ and tapwaterActive_ will have values EMS_VALUE_BOOL_NOTSET
|
||||||
*/
|
*/
|
||||||
void Boiler::check_active() {
|
void Boiler::check_active() {
|
||||||
if ((boilerState_ == EMS_VALUE_UINT_NOTSET) || ((boilerState_ & 0x09) != (last_boilerState & 0x09))) {
|
bool b;
|
||||||
|
uint8_t val;
|
||||||
|
|
||||||
|
// check if heating is active, bits 2 and 4 must be set
|
||||||
|
b = ((boilerState_ & 0x09) == 0x09);
|
||||||
|
val = b ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF;
|
||||||
|
if (heatingActive_ != val) {
|
||||||
|
heatingActive_ = val;
|
||||||
char s[7];
|
char s[7];
|
||||||
bool b = ((boilerState_ & 0x09) == 0x09);
|
|
||||||
Mqtt::publish(F("heating_active"), Helpers::render_boolean(s, b));
|
Mqtt::publish(F("heating_active"), Helpers::render_boolean(s, b));
|
||||||
heatingActive_ = b ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF;
|
|
||||||
last_boilerState = boilerState_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((boilerState_ == EMS_VALUE_UINT_NOTSET) || ((boilerState_ & 0x0A) != (last_boilerState & 0x0A))) {
|
// check if tap water is active, bits 1 and 4 must be set
|
||||||
|
b = ((boilerState_ & 0x0A) == 0x0A);
|
||||||
|
val = b ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF;
|
||||||
|
if (tapwaterActive_ != val) {
|
||||||
|
tapwaterActive_ = val;
|
||||||
char s[7];
|
char s[7];
|
||||||
bool b = ((boilerState_ & 0x0A) == 0x0A);
|
|
||||||
Mqtt::publish(F("tapwater_active"), Helpers::render_boolean(s, b));
|
Mqtt::publish(F("tapwater_active"), Helpers::render_boolean(s, b));
|
||||||
tapwaterActive_ = b ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF;
|
|
||||||
EMSESP::tap_water_active(b); // let EMS-ESP know, used in the Shower class
|
EMSESP::tap_water_active(b); // let EMS-ESP know, used in the Shower class
|
||||||
last_boilerState = boilerState_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ class Boiler : public EMSdevice {
|
|||||||
|
|
||||||
void print_value2(uuid::console::Shell & shell, const char * param, const __FlashStringHelper * name, const __FlashStringHelper * suffix, JsonObject & json);
|
void print_value2(uuid::console::Shell & shell, const char * param, const __FlashStringHelper * name, const __FlashStringHelper * suffix, JsonObject & json);
|
||||||
|
|
||||||
uint8_t last_boilerState = EMS_VALUE_UINT_NOTSET; // remember last state of heating and warm water on/off
|
|
||||||
bool changed_ = false;
|
bool changed_ = false;
|
||||||
bool mqtt_ha_config_ = false; // HA MQTT Discovery
|
bool mqtt_ha_config_ = false; // HA MQTT Discovery
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user