Splitting global_settings service

Looks like ESPHome didn't like the service calls with so many parameters.
This commit is contained in:
Edward Firmo
2023-12-20 11:33:16 +01:00
parent cfa16bc8e2
commit af9e081643
2 changed files with 61 additions and 40 deletions

View File

@@ -3963,6 +3963,7 @@ variables:
page_settings: 'esphome.{{ nspanel_name }}_page_settings'
printf: 'esphome.{{ nspanel_name }}_send_command_printf'
qrcode: 'esphome.{{ nspanel_name }}_qrcode'
relay_settings: 'esphome.{{ nspanel_name }}_relay_settings'
set_button: 'esphome.{{ nspanel_name }}_set_button'
set_climate: 'esphome.{{ nspanel_name }}_set_climate'
set_component_color: 'esphome.{{ nspanel_name }}_set_component_color'
@@ -7063,7 +7064,7 @@ action:
{{
entity_state
if entity_domain != "alarm_control_panel"
else ( mui.alarm[entity_state | replace("armed_", "") | replace("disarmed", "disarm")] | default(entity_state) if entity_state else None )
else ( mui[language].alarm[entity_state | replace("armed_", "") | replace("disarmed", "disarm")] | default(entity_state) if entity_state else None )
}}
state_is_number: '{{ entity_state_is_number }}'
domain: '{{ entity_domain }}'
@@ -7081,7 +7082,7 @@ action:
}}
supported_features: '{{ state_attr(entity_id, "supported_features") | default(None) if entity_id_is_valid else None }}'
icon: >
{% set icon_domain = nextion.icon.domain[entity_domain] | default(all_icons.blank) %}
{% set icon_domain = nextion.icon.domain[entity_domain] | default(all_icons.blank) if entity_domain else all_icons.blank %}
{% if overlap is defined and overlap.icon is defined and overlap.icon is string and overlap.icon.split(":") | count == 2 %}
{{ all_icons[overlap.icon[1]] | default(icon_domain) }}
{% elif entity_domain == "climate" %}
@@ -7331,9 +7332,8 @@ action:
continue_on_error: true
- *delay-default
- service: '{{ nextion.command.global_settings }}'
- service: '{{ nextion.command.relay_settings }}'
data:
blueprint_version: '{{ blueprint_version }}'
relay1_local_control: '{{ hardware.buttons.left.entity == relay01_entity }}'
relay1_icon: >
{{
@@ -7378,13 +7378,19 @@ action:
((hardware.relays.relay2.icon_color_rgb[2] //(2**3)))
}}
relay2_fallback: '{{ hardware.relays.relay2.fallback }}'
continue_on_error: true
- *delay-default
- service: '{{ nextion.command.global_settings }}'
data:
blueprint_version: '{{ blueprint_version }}'
embedded_climate: '{{ climate == thermostat_embedded }}'
embedded_climate_friendly_name: '{{ (state_attr(climate, "friendly_name") | default("")) if embedded_climate and state_attr(climate, "friendly_name") != None else "" }}'
embedded_indoor_temperature: '{{ embedded_indoor_temperature }}'
temperature_unit_is_fahrenheit: '{{ state_attr((nspaneltemp if embedded_indoor_temperature else indoor_temperature_sensor), "unit_of_measurement") | default("") in ["°F", "F"]}}'
mui_please_confirm: '{{ mui[language].please_confirm }}'
screensaver_time: '{{ screensaver_display_time if screensaver_display_time is bool else false }}'
screensaver_time_color: '{{ screensaver_display_time_font_color if screensaver_display_time_font_color is sequence other [64, 64, 64] }}'
screensaver_time: '{{ screensaver_display_time if screensaver_display_time is boolean else false }}'
screensaver_time_color: '{{ screensaver_display_time_font_color if screensaver_display_time_font_color is sequence else [64, 64, 64] }}'
continue_on_error: true
- *delay-default