upd: many fixes and changes
This commit is contained in:
274
blueprint.yaml
274
blueprint.yaml
@@ -103,6 +103,23 @@ blueprint:
|
|||||||
entity:
|
entity:
|
||||||
domain:
|
domain:
|
||||||
- sensor
|
- sensor
|
||||||
|
hotwatercharge:
|
||||||
|
name: Hot Water Charge (Optional)
|
||||||
|
description: 'Entity is switchable on *"Thermostat Page"* to turn on hotwater charge'
|
||||||
|
default: []
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- switch
|
||||||
|
- input_boolean
|
||||||
|
heatingsystemflame:
|
||||||
|
name: Flame State of Heating System (Optional)
|
||||||
|
description: 'Shows flame-symbol on *"Home Page"* if central heating system is burning'
|
||||||
|
default: []
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- binary_sensor
|
||||||
climate:
|
climate:
|
||||||
name: Climate to control (Optional)
|
name: Climate to control (Optional)
|
||||||
description: 'If an entity is selected, *"Thermostat Page"* is enabled'
|
description: 'If an entity is selected, *"Thermostat Page"* is enabled'
|
||||||
@@ -738,11 +755,14 @@ trigger_variables:
|
|||||||
last_click: "sensor.{{ nspanel_name_trigger }}_last_click"
|
last_click: "sensor.{{ nspanel_name_trigger }}_last_click"
|
||||||
last_click_lightsettings: "sensor.{{ nspanel_name_trigger }}_last_click_lightsettings"
|
last_click_lightsettings: "sensor.{{ nspanel_name_trigger }}_last_click_lightsettings"
|
||||||
last_click_coversettings: "sensor.{{ nspanel_name_trigger }}_last_click_coversettings"
|
last_click_coversettings: "sensor.{{ nspanel_name_trigger }}_last_click_coversettings"
|
||||||
|
last_click_climatesettings: "sensor.{{ nspanel_name_trigger }}_last_click_climatesettings"
|
||||||
left_button: "binary_sensor.{{ nspanel_name_trigger }}_left_button"
|
left_button: "binary_sensor.{{ nspanel_name_trigger }}_left_button"
|
||||||
right_button: "binary_sensor.{{ nspanel_name_trigger }}_right_button"
|
right_button: "binary_sensor.{{ nspanel_name_trigger }}_right_button"
|
||||||
weather_forcast_button: "binary_sensor.{{ nspanel_name_trigger }}_weather_forcast"
|
weather_forcast_button: "binary_sensor.{{ nspanel_name_trigger }}_weather_forcast"
|
||||||
nextion_inited_trigger: "switch.{{ nspanel_name_trigger }}_nextion_inited"
|
nextion_inited_trigger: "switch.{{ nspanel_name_trigger }}_nextion_inited"
|
||||||
current_page: "sensor.{{ nspanel_name_trigger }}_current_page"
|
current_page: "sensor.{{ nspanel_name_trigger }}_current_page"
|
||||||
|
hotwatercharge: !input "hotwatercharge"
|
||||||
|
heatingsystemflame: !input "heatingsystemflame"
|
||||||
|
|
||||||
##### WEATHER Trigger #####
|
##### WEATHER Trigger #####
|
||||||
weather: !input "weather"
|
weather: !input "weather"
|
||||||
@@ -807,6 +827,8 @@ variables:
|
|||||||
light_pic_on: "97"
|
light_pic_on: "97"
|
||||||
hotwater_pic_off: "60"
|
hotwater_pic_off: "60"
|
||||||
hotwater_pic_on: "61"
|
hotwater_pic_on: "61"
|
||||||
|
flame_pic_on: "57"
|
||||||
|
flame_pic_off: "60"
|
||||||
|
|
||||||
weather_sunny: "2"
|
weather_sunny: "2"
|
||||||
weather_cloudy: "3"
|
weather_cloudy: "3"
|
||||||
@@ -1104,6 +1126,13 @@ trigger:
|
|||||||
entity_id: !input "humidity"
|
entity_id: !input "humidity"
|
||||||
id: humidity_state
|
id: humidity_state
|
||||||
|
|
||||||
|
##### Climate - Trigger "climate_state" #####
|
||||||
|
- platform: event
|
||||||
|
event_type: state_changed
|
||||||
|
event_data:
|
||||||
|
entity_id: !input "climate"
|
||||||
|
id: climate_state
|
||||||
|
|
||||||
##### Hot Water - Trigger "hotwatertemp_state" #####
|
##### Hot Water - Trigger "hotwatertemp_state" #####
|
||||||
- platform: event
|
- platform: event
|
||||||
event_type: state_changed
|
event_type: state_changed
|
||||||
@@ -1118,6 +1147,20 @@ trigger:
|
|||||||
entity_id: !input "outdoortemp"
|
entity_id: !input "outdoortemp"
|
||||||
id: outdoortemp_state
|
id: outdoortemp_state
|
||||||
|
|
||||||
|
##### Hot Water Charge - Trigger "hotwatercharge_state" #####
|
||||||
|
- platform: event
|
||||||
|
event_type: state_changed
|
||||||
|
event_data:
|
||||||
|
entity_id: !input "hotwatercharge"
|
||||||
|
id: hotwatercharge_state
|
||||||
|
|
||||||
|
##### Heating System Flame - Trigger "heatingsystemflame_state" #####
|
||||||
|
- platform: event
|
||||||
|
event_type: state_changed
|
||||||
|
event_data:
|
||||||
|
entity_id: !input "heatingsystemflame"
|
||||||
|
id: heatingsystemflame_state
|
||||||
|
|
||||||
##### Left Button - Trigger "left_button_press" #####
|
##### Left Button - Trigger "left_button_press" #####
|
||||||
- platform: template
|
- platform: template
|
||||||
value_template: '{{ states(left_button) is match "on" }}'
|
value_template: '{{ states(left_button) is match "on" }}'
|
||||||
@@ -1175,6 +1218,13 @@ trigger:
|
|||||||
entity_id: "{{ last_click_coversettings }}"
|
entity_id: "{{ last_click_coversettings }}"
|
||||||
id: cover_settings
|
id: cover_settings
|
||||||
|
|
||||||
|
##### Page Climatesettings - Trigger "climate_settings" - Changes Climatesettings Page via "last_click_climatesettings" #####
|
||||||
|
- platform: event
|
||||||
|
event_type: state_changed
|
||||||
|
event_data:
|
||||||
|
entity_id: "{{ last_click_climatesettings }}"
|
||||||
|
id: climate_settings
|
||||||
|
|
||||||
##### Current page changed #####
|
##### Current page changed #####
|
||||||
- platform: event
|
- platform: event
|
||||||
event_type: state_changed
|
event_type: state_changed
|
||||||
@@ -2488,7 +2538,7 @@ action:
|
|||||||
##### Page Lightsettings - Brightness Slider MOVE #####
|
##### Page Lightsettings - Brightness Slider MOVE #####
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: '{{ trigger.event.data.new_state.state is match "brightness\d+" }}'
|
value_template: '{{ trigger.event.data.new_state.state is match "brightness\d+" and trigger.event.data.new_state.state == states(last_click_lightsettings) }}'
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_on
|
- service: light.turn_on
|
||||||
data:
|
data:
|
||||||
@@ -2510,7 +2560,7 @@ action:
|
|||||||
##### Page Lightsettings - color_Temp Slider MOVE #####
|
##### Page Lightsettings - color_Temp Slider MOVE #####
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: '{{ trigger.event.data.new_state.state is match "colortemp\d+" }}'
|
value_template: '{{ trigger.event.data.new_state.state is match "colortemp\d+" and trigger.event.data.new_state.state == states(last_click_lightsettings) }}'
|
||||||
sequence:
|
sequence:
|
||||||
- service: light.turn_on
|
- service: light.turn_on
|
||||||
data:
|
data:
|
||||||
@@ -2558,7 +2608,7 @@ action:
|
|||||||
##### Page Coversettings - Cover Slider MOVE #####
|
##### Page Coversettings - Cover Slider MOVE #####
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: '{{ trigger.event.data.new_state.state is match "coverposition\d+" }}'
|
value_template: '{{ trigger.event.data.new_state.state is match "coverposition\d+" and trigger.event.data.new_state.state == states(last_click_coversettings) }}'
|
||||||
sequence:
|
sequence:
|
||||||
- service: cover.set_cover_position
|
- service: cover.set_cover_position
|
||||||
data:
|
data:
|
||||||
@@ -2614,6 +2664,87 @@ action:
|
|||||||
cmd: "{{ entity_back }}"
|
cmd: "{{ entity_back }}"
|
||||||
|
|
||||||
|
|
||||||
|
##### LASTCLICK_CLIMATESETTINGS - Changes on page Climate-Settings ##### DONE
|
||||||
|
- conditions:
|
||||||
|
- condition: trigger
|
||||||
|
id: climate_settings
|
||||||
|
sequence:
|
||||||
|
- choose:
|
||||||
|
##### Page Climatesettings - hotwater #####
|
||||||
|
- conditions: '{{ trigger.event.data.new_state.state == "releasehotwater" }}'
|
||||||
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{ states(hotwatercharge) == "off" }}'
|
||||||
|
then:
|
||||||
|
- service: >-
|
||||||
|
{% if hotwatercharge is match 'switch.' %}
|
||||||
|
switch.turn_on
|
||||||
|
{% elif hotwatercharge is match 'input_boolean.' %}
|
||||||
|
input_boolean.turn_on
|
||||||
|
{% endif %}
|
||||||
|
data:
|
||||||
|
entity_id: "{{ hotwatercharge }}"
|
||||||
|
|
||||||
|
##### Page Climatesettings - heating #####
|
||||||
|
- conditions: '{{ trigger.event.data.new_state.state == "releaseheating" }}'
|
||||||
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{ states(climate) == "off" }}'
|
||||||
|
then:
|
||||||
|
- service: climate.turn_on
|
||||||
|
data:
|
||||||
|
entity_id: !input climate
|
||||||
|
# - service: climate.set_temperature
|
||||||
|
# data:
|
||||||
|
# entity_id: !input climate
|
||||||
|
# hvac_mode: 'heat'
|
||||||
|
# temperature: "{{ state_attr(climate, 'temperature') }}"
|
||||||
|
else:
|
||||||
|
- service: climate.turn_off
|
||||||
|
data:
|
||||||
|
entity_id: !input climate
|
||||||
|
# - service: climate.set_temperature
|
||||||
|
# data:
|
||||||
|
# entity_id: !input climate
|
||||||
|
# hvac_mode: 'off'
|
||||||
|
# temperature: "{{ state_attr(climate, 'temperature') }}"
|
||||||
|
|
||||||
|
##### Page Climatesettings - decreasetemp #####
|
||||||
|
- conditions: '{{ trigger.event.data.new_state.state == "releasedecreasetemp" }}'
|
||||||
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{ states(climate) != "off" }}'
|
||||||
|
then:
|
||||||
|
- variables:
|
||||||
|
current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}"
|
||||||
|
- service: climate.set_temperature
|
||||||
|
data:
|
||||||
|
entity_id: !input climate
|
||||||
|
#hvac_mode: 'heat'
|
||||||
|
temperature: "{{ current_setpoint -1 }}"
|
||||||
|
|
||||||
|
##### Page Climatesettings - increasetemp #####
|
||||||
|
- conditions: '{{ trigger.event.data.new_state.state == "releaseincreasetemp" }}'
|
||||||
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{ states(climate) != "off" }}'
|
||||||
|
then:
|
||||||
|
- variables:
|
||||||
|
current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}"
|
||||||
|
- service: climate.set_temperature
|
||||||
|
data:
|
||||||
|
entity_id: !input climate
|
||||||
|
#hvac_mode: 'heat'
|
||||||
|
temperature: "{{ current_setpoint +1 }}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### Left button press ##### DONE
|
##### Left button press ##### DONE
|
||||||
- conditions:
|
- conditions:
|
||||||
- condition: trigger
|
- condition: trigger
|
||||||
@@ -4139,7 +4270,7 @@ action:
|
|||||||
alias: 'climate page'
|
alias: 'climate page'
|
||||||
sequence:
|
sequence:
|
||||||
- variables:
|
- variables:
|
||||||
target_temp: "{{state_attr(climate, 'temperature') | round(1)}}"
|
# target_temp: "{{state_attr(climate, 'temperature') | round(1)}}"
|
||||||
hvac_mode: "{{ states(climate) }}"
|
hvac_mode: "{{ states(climate) }}"
|
||||||
outdoor_temp: >-
|
outdoor_temp: >-
|
||||||
{%- if outdoortemp is match "sensor." -%} {{ states(outdoortemp) |round(0) }}
|
{%- if outdoortemp is match "sensor." -%} {{ states(outdoortemp) |round(0) }}
|
||||||
@@ -4159,17 +4290,54 @@ action:
|
|||||||
data:
|
data:
|
||||||
component: current_temp
|
component: current_temp
|
||||||
message: "{{state_attr(climate, 'current_temperature') | round(1)}}°"
|
message: "{{state_attr(climate, 'current_temperature') | round(1)}}°"
|
||||||
- service: "{{ command_text_printf }}"
|
- if:
|
||||||
data:
|
condition: template
|
||||||
component: target_temp
|
value_template: '{{ hvac_mode != "off" }}'
|
||||||
message: "{{target_temp}}°"
|
then:
|
||||||
- service: "{{ command_thermostat_cycle }}"
|
- variables:
|
||||||
data:
|
target_temp: "{{state_attr(climate, 'temperature') | round(1)}}"
|
||||||
value: "{{target_temp}}"
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: target_temp
|
||||||
|
message: "{{target_temp}}°"
|
||||||
|
- service: "{{ command_thermostat_cycle }}"
|
||||||
|
data:
|
||||||
|
value: "{{target_temp}}"
|
||||||
|
else:
|
||||||
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: target_temp
|
||||||
|
message: " "
|
||||||
|
- service: "{{ command_thermostat_cycle }}"
|
||||||
|
data:
|
||||||
|
value: "0"
|
||||||
|
|
||||||
- service: "{{ command_text_printf }}"
|
- service: "{{ command_text_printf }}"
|
||||||
data:
|
data:
|
||||||
component: heating_state
|
component: heating_state
|
||||||
message: "{{heating_state}}"
|
message: "{{heating_state}}"
|
||||||
|
|
||||||
|
# HVAC Button PIC
|
||||||
|
- variables:
|
||||||
|
heating_bt_pic: >-
|
||||||
|
{%- if hvac_mode == "off" -%} {{ heating_bt_pic_off }}
|
||||||
|
{%- else -%} {{ heating_bt_pic_on }}
|
||||||
|
{%- endif -%}
|
||||||
|
- delay:
|
||||||
|
milliseconds: "{{ delay_value }}"
|
||||||
|
- service: "{{ command_printf }}"
|
||||||
|
data:
|
||||||
|
cmd: heating_bt_pic.pic={{ heating_bt_pic }}
|
||||||
|
- variables:
|
||||||
|
hotw_bt_pic: >-
|
||||||
|
{%- if hotwatercharge | length > 0 and states(hotwatercharge) == 'on' -%} {{ hotw_bt_on }}
|
||||||
|
{%- elif hotwatercharge | length > 0 and states(hotwatercharge) == 'off' -%} {{ hotw_bt_off }}
|
||||||
|
{%- else -%} {{ hotw_bt_blank }}
|
||||||
|
{%- endif -%}
|
||||||
|
- service: "{{ command_printf }}"
|
||||||
|
data:
|
||||||
|
cmd: hotw_bt_pic.pic={{ hotw_bt_pic }}
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: '{{ hotwatertemp is match "sensor." }}'
|
value_template: '{{ hotwatertemp is match "sensor." }}'
|
||||||
@@ -4179,7 +4347,6 @@ action:
|
|||||||
component: climate.hotwater_temp
|
component: climate.hotwater_temp
|
||||||
message: "{{ states(hotwatertemp) |round(1) }}°"
|
message: "{{ states(hotwatertemp) |round(1) }}°"
|
||||||
|
|
||||||
|
|
||||||
## settings ##
|
## settings ##
|
||||||
- conditions: '{{ trigger.event.data.new_state.state == page_settings }}'
|
- conditions: '{{ trigger.event.data.new_state.state == page_settings }}'
|
||||||
sequence:
|
sequence:
|
||||||
@@ -4229,6 +4396,89 @@ action:
|
|||||||
- service: "{{ command_printf }}"
|
- service: "{{ command_printf }}"
|
||||||
data:
|
data:
|
||||||
cmd: "page {{ page_climate }}"
|
cmd: "page {{ page_climate }}"
|
||||||
|
|
||||||
|
|
||||||
|
##### Set Flame-Symbol #####
|
||||||
|
- conditions:
|
||||||
|
- condition: trigger
|
||||||
|
id: heatingsystemflame_state
|
||||||
|
sequence:
|
||||||
|
- variables:
|
||||||
|
flame_pic: >-
|
||||||
|
{%- if trigger.event.data.new_state.state == 'on' -%} {{ flame_pic_on }}
|
||||||
|
{%- else -%} {{ flame_pic_off }}
|
||||||
|
{%- endif -%}
|
||||||
|
- service: "{{ command_printf }}"
|
||||||
|
data:
|
||||||
|
cmd: home.a50.pic={{ flame_pic }}
|
||||||
|
|
||||||
|
|
||||||
|
##### Sync Hotwater Charge button-symbol #####
|
||||||
|
- conditions:
|
||||||
|
- condition: trigger
|
||||||
|
id: hotwatercharge_state
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{ states(current_page) == page_climate }}'
|
||||||
|
sequence:
|
||||||
|
- variables:
|
||||||
|
hotw_bt_pic: >-
|
||||||
|
{%- if trigger.event.data.new_state.state == 'on' -%} {{ hotw_bt_on }}
|
||||||
|
{%- elif trigger.event.data.new_state.state == 'off' -%} {{ hotw_bt_off }}
|
||||||
|
{%- else -%} {{ hotw_bt_blank }}
|
||||||
|
{%- endif -%}
|
||||||
|
- service: "{{ command_printf }}"
|
||||||
|
data:
|
||||||
|
cmd: hotw_bt_pic.pic={{ hotw_bt_pic }}
|
||||||
|
|
||||||
|
##### Sync Climate #####
|
||||||
|
- conditions:
|
||||||
|
- condition: trigger
|
||||||
|
id: climate_state
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{ states(current_page) == page_climate }}'
|
||||||
|
sequence:
|
||||||
|
- variables:
|
||||||
|
heating_state: >-
|
||||||
|
{%- if trigger.event.data.new_state.state == "off" -%} {{ off_mui }}
|
||||||
|
{%- elif trigger.event.data.new_state.state != "off" -%} {{ heat_mui }}
|
||||||
|
{%- endif -%}
|
||||||
|
heating_bt_pic: >-
|
||||||
|
{%- if trigger.event.data.new_state.state == "off" -%} {{ heating_bt_pic_off }}
|
||||||
|
{%- else -%} {{ heating_bt_pic_on }}
|
||||||
|
{%- endif -%}
|
||||||
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: current_temp
|
||||||
|
message: "{{ trigger.event.data.new_state.attributes.current_temperature | round(1)}}°"
|
||||||
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: heating_state
|
||||||
|
message: "{{heating_state}}"
|
||||||
|
- service: "{{ command_printf }}"
|
||||||
|
data:
|
||||||
|
cmd: heating_bt_pic.pic={{ heating_bt_pic }}
|
||||||
|
- if:
|
||||||
|
- condition: template
|
||||||
|
value_template: '{{ trigger.event.data.new_state.state != "off" }}'
|
||||||
|
then:
|
||||||
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: target_temp
|
||||||
|
message: "{{trigger.event.data.new_state.attributes.temperature | round(1)}}°"
|
||||||
|
- service: "{{ command_thermostat_cycle }}"
|
||||||
|
data:
|
||||||
|
value: "{{trigger.event.data.new_state.attributes.temperature | round(1)}}"
|
||||||
|
else:
|
||||||
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: target_temp
|
||||||
|
message: " "
|
||||||
|
- service: "{{ command_thermostat_cycle }}"
|
||||||
|
data:
|
||||||
|
value: "0"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user