Merge pull request #44 from deejaybeam/dev

upd: BUGGY! climate-control
This commit is contained in:
Chris
2022-11-18 17:19:17 +01:00
committed by GitHub
2 changed files with 107 additions and 25 deletions

View File

@@ -6,6 +6,8 @@ blueprint:
name: NSPanel Configuration
description: v2.0.0 - Configuration and synchronization NSpanele via Blueprint
domain: automation
homeassistant:
min_version: 2022.11.1
input:
##### MAIN NAME #####
@@ -127,6 +129,12 @@ blueprint:
selector:
entity:
domain: climate
climate_optimistic:
name: Climate control optimistic mode (BUGGY!)
default: false
description: Depends on your climate device and HA-Integration. If optimisitc mode is *off* then changes are made wait for response from device. This can cause delays. If *on* we assume changes are set and update the display immediately.
selector:
boolean:
##### HARDWARE BUTTONS #####
left_button_entity:
@@ -732,7 +740,7 @@ trigger_variables:
right_button: "binary_sensor.{{ nspanel_name_trigger }}_right_button"
weather_forcast_button: "binary_sensor.{{ nspanel_name_trigger }}_weather_forcast"
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"
current_page: "sensor.{{ nspanel_name_trigger }}_currentpage"
hotwatercharge: !input "hotwatercharge"
heatingsystemflame: !input "heatingsystemflame"
@@ -767,6 +775,7 @@ variables:
delay_jump_page: !input "delay"
sync_slider_ha: !input "sync_slider_ha"
sync_value_ha: !input "sync_value_ha"
climate_optimistic: !input "climate_optimistic"
##### TFT UPLOAD #####
tft_upload: "esphome.{{ nspanel_name }}_upload_tft"
@@ -2683,11 +2692,19 @@ action:
then:
- variables:
current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}"
- if:
- condition: template
value_template: '{{ climate_optimistic == true }}'
then:
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{ current_setpoint -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" }}'
@@ -2698,12 +2715,73 @@ action:
then:
- variables:
current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}"
- if:
- condition: template
value_template: '{{ climate_optimistic == true }}'
then:
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{ current_setpoint +1 }}"
- service: climate.set_temperature
data:
entity_id: !input climate
#hvac_mode: 'heat'
temperature: "{{ current_setpoint +1 }}"
##### Page Climatesettings - climateslider #####
- conditions: '{{ trigger.event.data.new_state.state is match "climateslider\d+" and trigger.event.data.new_state.state == states(last_click_climatesettings) }}'
sequence:
- if:
- condition: template
value_template: '{{ states(climate) != "off" }}'
then:
- variables:
#climateslider: '{{ trigger.event.data.new_state.state |replace("climateslider","") | int }}'
new_setpoint: >-
{%- if trigger.event.data.new_state.state == "climateslider0" -%} 13.0
{%- elif trigger.event.data.new_state.state == "climateslider1" -%} 13.5
{%- elif trigger.event.data.new_state.state == "climateslider2" -%} 14.0
{%- elif trigger.event.data.new_state.state == "climateslider3" -%} 14.5
{%- elif trigger.event.data.new_state.state == "climateslider4" -%} 15.0
{%- elif trigger.event.data.new_state.state == "climateslider5" -%} 15.5
{%- elif trigger.event.data.new_state.state == "climateslider6" -%} 16.0
{%- elif trigger.event.data.new_state.state == "climateslider7" -%} 16.5
{%- elif trigger.event.data.new_state.state == "climateslider8" -%} 17.0
{%- elif trigger.event.data.new_state.state == "climateslider9" -%} 17.5
{%- elif trigger.event.data.new_state.state == "climateslider10" -%} 18.0
{%- elif trigger.event.data.new_state.state == "climateslider11" -%} 18.5
{%- elif trigger.event.data.new_state.state == "climateslider12" -%} 19.0
{%- elif trigger.event.data.new_state.state == "climateslider13" -%} 19.5
{%- elif trigger.event.data.new_state.state == "climateslider14" -%} 20.0
{%- elif trigger.event.data.new_state.state == "climateslider15" -%} 20.5
{%- elif trigger.event.data.new_state.state == "climateslider16" -%} 21.0
{%- elif trigger.event.data.new_state.state == "climateslider17" -%} 21.5
{%- elif trigger.event.data.new_state.state == "climateslider18" -%} 22.0
{%- elif trigger.event.data.new_state.state == "climateslider19" -%} 22.5
{%- elif trigger.event.data.new_state.state == "climateslider20" -%} 23.0
{%- elif trigger.event.data.new_state.state == "climateslider21" -%} 23.5
{%- elif trigger.event.data.new_state.state == "climateslider22" -%} 24.0
{%- elif trigger.event.data.new_state.state == "climateslider23" -%} 24.5
{%- elif trigger.event.data.new_state.state == "climateslider24" -%} 25.0
{%- elif trigger.event.data.new_state.state == "climateslider25" -%} 25.5
{%- elif trigger.event.data.new_state.state == "climateslider26" -%} 26.0
{%- elif trigger.event.data.new_state.state == "climateslider27" -%} 26.5
{%- elif trigger.event.data.new_state.state == "climateslider28" -%} 27.0
{%- endif -%}
- if:
- condition: template
value_template: '{{ climate_optimistic == true }}'
then:
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{ new_setpoint }}"
- service: climate.set_temperature
data:
entity_id: !input climate
#hvac_mode: 'heat'
temperature: "{{ new_setpoint }}"
@@ -4233,7 +4311,6 @@ action:
alias: 'climate page'
sequence:
- variables:
# target_temp: "{{state_attr(climate, 'temperature') | round(1)}}"
hvac_mode: "{{ states(climate) }}"
outdoor_temp: >-
{%- if outdoortemp is match "sensor." -%} {{ states(outdoortemp) |round(0) }}
@@ -4259,21 +4336,21 @@ action:
then:
- variables:
target_temp: "{{state_attr(climate, 'temperature') | round(1)}}"
- service: "{{ command_text_printf }}"
data:
component: target_temp
message: "{{target_temp}}°"
# - service: "{{ command_text_printf }}"
# data:
# component: target_temp
# message: "{{target_temp}}°"
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{target_temp}}"
else:
- service: "{{ command_thermostat_cycle }}"
data:
value: "0"
- service: "{{ command_text_printf }}"
data:
component: target_temp
message: " "
- service: "{{ command_thermostat_cycle }}"
data:
value: "0"
- service: "{{ command_text_printf }}"
data:
@@ -4399,6 +4476,8 @@ action:
id: climate_state
- condition: template
value_template: '{{ states(current_page) == page_climate }}'
- condition: template
value_template: '{{ climate_optimistic == false }}'
sequence:
- variables:
heating_state: >-
@@ -4424,21 +4503,21 @@ action:
- 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_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_thermostat_cycle }}"
data:
value: "0"
- service: "{{ command_text_printf }}"
data:
component: target_temp
message: " "
- service: "{{ command_thermostat_cycle }}"
data:
value: "0"

View File

@@ -50,6 +50,7 @@ external_components:
##### ESPHOME CONFIGURATION #####
esphome:
name: ${device_name}
min_version: 2022.10.2
##### TYPE OF ESP BOARD #####
esp32:
@@ -311,6 +312,8 @@ api:
id(disp1).send_command_printf("climate_left.pic=%i", left);
id(disp1).send_command_printf("climate_middle.pic=%i", mid);
id(disp1).send_command_printf("climate_right.pic=%i", right);
// send target-temp
id(disp1).set_component_text_printf("target_temp", "%.1f°", value);
##### START - GLOBALS CONFIGURATION #####
@@ -406,15 +409,15 @@ binary_sensor:
- switch.toggle: sleep_modus
##### Hotwater Charge #####
- platform: nextion
name: ${device_name} Hotwater Charge
page_id: 6
component_id: 20
on_click:
- homeassistant.service:
service: switch.toggle
data:
entity_id: ${ha_hotwater_charge}
# - platform: nextion
# name: ${device_name} Hotwater Charge
# page_id: 6
# component_id: 20
# on_click:
# - homeassistant.service:
# service: switch.toggle
# data:
# entity_id: ${ha_hotwater_charge}
##### START - SENSOR CONFIGURATION #####