diff --git a/advanced/esphome/nspanel_esphome_addon_climate_base.yaml b/advanced/esphome/nspanel_esphome_addon_climate_base.yaml index ced5097..3901c16 100644 --- a/advanced/esphome/nspanel_esphome_addon_climate_base.yaml +++ b/advanced/esphome/nspanel_esphome_addon_climate_base.yaml @@ -82,7 +82,7 @@ script: - id: !extend change_climate_state then: - lambda: |- - if (embedded) { + if (embedded and !id(is_uploading_tft)) { static const char *const TAG = "addon_climate_base.script.change_climate_state"; auto FahrenheitToCelsius = [](float fahrenheit) -> float { return (fahrenheit - 32.0) * 5.0 / 9.0; @@ -136,7 +136,7 @@ script: then: - lambda: |- id(is_addon_climate_visible) = (current_page->state == "climate" and detailed_entity->state == "embedded_climate"); - if (id(is_addon_climate_visible)) { + if (id(is_addon_climate_visible) and !id(is_uploading_tft)) { static const char *const TAG = "addon_climate_base.script.page_climate"; auto CelsiusToFahrenheit = [](float celsius) -> float { return (celsius * 9 / 5) + 32; @@ -207,57 +207,59 @@ script: then: - lambda: |- // Update chips - if (id(is_embedded_thermostat)) + if (id(is_embedded_thermostat) and !id(is_uploading_tft)) update_climate_icon->execute("home.icon_top_03", int(thermostat_embedded->action), int(thermostat_embedded->mode)); - id: !extend set_climate then: - lambda: |- - if (current_page->state == "climate") + if (current_page->state == "climate" and !id(is_uploading_tft)) id(is_addon_climate_visible) = embedded_climate; - id: !extend watchdog then: - lambda: |- - static const char *const TAG = "addon_climate_base.script.watchdog"; - bool addon_climate_cool = ${addon_climate_cool}; - bool addon_climate_heat = ${addon_climate_heat}; - bool addon_climate_dual = ${addon_climate_dual}; - uint cooler_relay = ${cooler_relay}; - uint heater_relay = ${heater_relay}; - ESP_LOGI(TAG, "Add-on climate:"); - if (addon_climate_cool) { - ESP_LOGI(TAG, " Cool: %s", addon_climate_cool ? "Enabled" : "Disabled"); - if (cooler_relay == 1 or cooler_relay == 2) - ESP_LOGI(TAG, " Relay: %u", cooler_relay); - else - ESP_LOGE(TAG, " Relay: %u", cooler_relay); - } - if (addon_climate_heat) { - ESP_LOGI(TAG, " Heat: %s", addon_climate_heat ? "Enabled" : "Disabled"); - if (heater_relay == 1 or heater_relay == 2) - ESP_LOGI(TAG, " Relay: %u", heater_relay); - else - ESP_LOGE(TAG, " Relay: %u", heater_relay); - } - if (addon_climate_dual) { - ESP_LOGI(TAG, " Dual: %s", addon_climate_dual ? "Enabled" : "Disabled"); - if (cooler_relay == 1 or cooler_relay == 2) - ESP_LOGI(TAG, " Relay (cooler): %u", cooler_relay); - else - ESP_LOGE(TAG, " Relay (cooler): %u", cooler_relay); - if (heater_relay == 1 or heater_relay == 2) - ESP_LOGI(TAG, " Relay (heater): %u", heater_relay); - else - ESP_LOGE(TAG, " Relay (heater): %u", heater_relay); - if (cooler_relay == heater_relay) - ESP_LOGE(TAG, " Double relay assignment"); - } + if (!id(is_uploading_tft)) { + static const char *const TAG = "addon_climate_base.script.watchdog"; + bool addon_climate_cool = ${addon_climate_cool}; + bool addon_climate_heat = ${addon_climate_heat}; + bool addon_climate_dual = ${addon_climate_dual}; + uint cooler_relay = ${cooler_relay}; + uint heater_relay = ${heater_relay}; + ESP_LOGI(TAG, "Add-on climate:"); + if (addon_climate_cool) { + ESP_LOGI(TAG, " Cool: %s", addon_climate_cool ? "Enabled" : "Disabled"); + if (cooler_relay == 1 or cooler_relay == 2) + ESP_LOGI(TAG, " Relay: %u", cooler_relay); + else + ESP_LOGE(TAG, " Relay: %u", cooler_relay); + } + if (addon_climate_heat) { + ESP_LOGI(TAG, " Heat: %s", addon_climate_heat ? "Enabled" : "Disabled"); + if (heater_relay == 1 or heater_relay == 2) + ESP_LOGI(TAG, " Relay: %u", heater_relay); + else + ESP_LOGE(TAG, " Relay: %u", heater_relay); + } + if (addon_climate_dual) { + ESP_LOGI(TAG, " Dual: %s", addon_climate_dual ? "Enabled" : "Disabled"); + if (cooler_relay == 1 or cooler_relay == 2) + ESP_LOGI(TAG, " Relay (cooler): %u", cooler_relay); + else + ESP_LOGE(TAG, " Relay (cooler): %u", cooler_relay); + if (heater_relay == 1 or heater_relay == 2) + ESP_LOGI(TAG, " Relay (heater): %u", heater_relay); + else + ESP_LOGE(TAG, " Relay (heater): %u", heater_relay); + if (cooler_relay == heater_relay) + ESP_LOGE(TAG, " Double relay assignment"); + } - if ((addon_climate_cool && addon_climate_heat) || - (addon_climate_cool && addon_climate_dual) || - (addon_climate_heat && addon_climate_dual) || - (!addon_climate_cool && !addon_climate_heat && !addon_climate_dual)) { - ESP_LOGE(TAG, "Invalid settings for add-on Climate"); + if ((addon_climate_cool && addon_climate_heat) || + (addon_climate_cool && addon_climate_dual) || + (addon_climate_heat && addon_climate_dual) || + (!addon_climate_cool && !addon_climate_heat && !addon_climate_dual)) { + ESP_LOGE(TAG, "Invalid settings for add-on Climate"); + } } ...