Implemented max cooling toggle to dashboard. Max heating is shown when the requested temperature is less than room temperature, otherwise Max cooling toggle is shown. Closes gh-22

This commit is contained in:
Jarno Rankinen 2023-03-10 21:02:20 +02:00
parent ec402259f4
commit 534fb5939d
4 changed files with 114 additions and 18 deletions

View File

@ -67,6 +67,74 @@ automation:
mode: single
## Max cooling
- alias: Penguin max cooling sensor
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.penguin_max_cooling
condition: []
action:
- if:
- condition: state
entity_id: binary_sensor.penguin_max_cooling
state: "on"
then:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.penguin_max_cooling
else:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.penguin_max_cooling
mode: single
- alias: Penguin max cooling input
description: ""
trigger:
- platform: state
entity_id:
- input_boolean.penguin_max_cooling
condition: []
action:
- if:
- condition: state
entity_id: input_boolean.penguin_max_cooling
state: "on"
- condition: state
entity_id: binary_sensor.penguin_max_cooling
state: "off"
- condition: numeric_state
entity_id: sensor.penguin_room_temperature_1
above: input_number.penguin_temperature_setting_helper
then:
- service: rest_command.penguin_max_cooling_on
data: {}
else: []
- if:
- condition: state
entity_id: input_boolean.penguin_max_cooling
state: "off"
then:
- service: rest_command.penguin_max_cooling_off
data: {}
- if:
- condition: numeric_state
entity_id: sensor.penguin_room_temperature_1
below: input_number.penguin_temperature_setting_helper
- condition: state
entity_id: input_boolean.penguin_max_cooling
state: "on"
then:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.penguin_max_cooling
mode: single
## Circulation fan mode
- alias: Penguin circulation fan mode
description: ""

View File

@ -20,7 +20,7 @@ views:
yellow: 0
red: 100
- square: false
columns: 5
columns: 4
type: grid
cards:
- show_name: false
@ -31,7 +31,12 @@ views:
entity: input_boolean.penguin_circulation_fan_adaptive
name: Mukautuva kiertoilma
show_state: false
- show_name: false
- type: conditional
conditions:
- entity: binary_sensor.penguin_max_heating_enabled
state: 'on'
card:
show_name: false
show_icon: true
type: button
tap_action:
@ -39,6 +44,19 @@ views:
entity: input_boolean.penguin_max_heating
name: Max lämmitys
show_state: false
- type: conditional
conditions:
- entity: binary_sensor.penguin_max_heating_enabled
state: 'off'
card:
show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: input_boolean.penguin_max_cooling
name: Max jäähdytys
show_state: false
- show_name: false
show_icon: true
type: button
@ -53,12 +71,6 @@ views:
action: toggle
icon: mdi:fan-plus
entity: input_boolean.penguin_boost
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:stove
- square: false
columns: 3
type: grid

View File

@ -11,6 +11,9 @@ input_boolean:
penguin_boost:
name: Penguin Overpressure
icon: mdi:fan-plus
penguin_max_cooling:
name: Penguin Max Cooling
icon: mdi:snowflake
input_button:
penguin_temperature_up:
name: Penguin temperature up

View File

@ -94,6 +94,11 @@ rest:
value_template: "{{ value_json['coils'][3]['value'] }}"
icon: mdi:fireplace
template:
- binary_sensor:
- name: "Penguin max heating enabled"
state: "{{ states('input_number.penguin_temperature_setting_helper') > states('sensor.penguin_room_temperature_1') }}"
rest_command:
penguin_circulation_adaptive:
url: http://IP_ADDRESS:8888/api/v1/coils/11/1
@ -121,7 +126,15 @@ rest_command:
url: http://IP_ADDRESS:8888/api/v1/coils/6/0
method: POST
icon: mdi:scent-off
penguin_max_cooling_toggle:
url: http://IP_ADDRESS:8888/api/v1/coils/7
penguin_max_cooling_on:
url: http://192.168.0.210:8888/api/v1/coils/7/1
method: POST
penguin_max_cooling_off:
url: http://192.168.0.210:8888/api/v1/coils/7/0
method: POST
penguin_temperature_up:
url: http://192.168.0.210:8888/api/v1/temperature/up
method: POST
penguin_temperature_down:
url: http://192.168.0.210:8888/api/v1/temperature/down
method: POST
icon: mdi:snowflake