Merge pull request #2913 from proddy/dev

fix ha climate mode to use bool format
This commit is contained in:
Proddy
2026-01-09 18:48:45 +01:00
committed by GitHub
4 changed files with 17 additions and 11 deletions

View File

@@ -130,7 +130,9 @@ let system_status = {
// partitions: [],
developer_mode: true,
model: '',
board: '',
// model: 'BBQKees Electronics EMS Gateway E32 V2 (E32 V2.0 P3/2024011)',
// board: 'E32V2',
// status: 0,
status: 3
};

View File

@@ -1446,3 +1446,5 @@ vchip
SPIIO
SPIDQS
txpause
relais
pinout

View File

@@ -1425,10 +1425,12 @@ bool Mqtt::publish_ha_climate_config(const DeviceValue & dv, const bool has_room
// add hvac_action - https://github.com/emsesp/EMS-ESP32/discussions/2562
doc["act_t"] = "~/boiler_data";
doc["act_tpl"] = "{% if value_json.hpactivity=='cooling'%}cooling{%elif value_json.heatingactive=='on'%}heating{%else%}idle{%endif%}";
char on_string[12];
doc["act_tpl"] = "{% if value_json.hpactivity=='cooling'%}cooling{%elif value_json.heatingactive=='" + std::string(Helpers::render_boolean(on_string, true))
+ "'%}heating{%else%}idle{%endif%}"; // uses boolean translation for on/true
// map EMS modes to HA climate modes
// EMS modes: auto, manual, heat, off, night, day, nofrost, eco, comfort, cool)
// EMS modes: auto, manual, heat, off, night, day, nofrost, eco, comfort, cool
// HA supports: auto, off, cool, heat, dry, fan_only
bool found_auto = false;
bool found_heat = false;

View File

@@ -2413,7 +2413,7 @@ bool System::load_board_profile(std::vector<int8_t> & data, const std::string &
} else if (board_profile == "MH-ET") {
data = {2, 18, 23, 5, 0, PHY_type::PHY_TYPE_NONE, 0, 0, 0, 0}; // MH-ET Live D1 Mini
// allow only pins that are marked as `can always be used`
valid_system_gpios_ = {0, 2, 5, 18, 23, 12 ,13, 14, 15, 16, 17, 26, 27, 33};
valid_system_gpios_ = {0, 2, 5, 18, 23, 12, 13, 14, 15, 16, 17, 26, 27, 33};
// can always be used: 12, 13 ,14, 15, 16, 17, 26, 27, 33
// can be used if no other function 2, 4, 5, 9, 10, 18, 19, 21, 22, 23, 25, 34, 35, 36, 39
} else if (board_profile == "NODEMCU") {
@@ -2976,7 +2976,7 @@ void System::set_valid_system_gpios() {
// GPIO12 - GPIO15 = JTAG, normally not used
// GPIO00, GPIO05, GPIO12, GPIO15 = strapping pins, can be used with care
// GPIO34, GPIO35, GPIO37 = input only
// GPIO23 and GPIO18 are used by Ethernet, excuded later by eth config
// GPIO23 and GPIO18 are used by Ethernet, excluded later by eth config
// GPIO00, GPIO02, GPIO04, GPIO12 - GPIO15, GPIO25 - GPIO27 = ADC2 (10 ch), used by WiFI-driver
// GPIO32 - GPIO39 = ADC1 (8 ch), can always be used
if (ESP.getPsramSize() > 0) {