HA Custom Card by @vrobenmat - zxdavb/ramses_cc GitHub Wiki
Prereqs in HACS frontend: mini-graph-card; slider-entity-row; Paper Buttons Row
Script in Settings->Automations->Scripts (templating doesn't always work as expected in dashboard, hence the separate script):
alias: Evohome Preset Change
mode: single
icon: mdi:home-thermometer-outline
sequence:
- service: ramses_cc.set_zone_mode
data:
entity_id: "{{ entity_id }}"
mode: "{{ mode }}"
setpoint: "{{ state_attr(entity_id, 'temperature') }}"
The cards themselves are a vertical stack of 2 (the thermostat & graph), then horizontally stacked twice to bring used space down. Replace the climate.evohome_cc_01_201047_xx refs to your own zone entity refs:
type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: entities
title: Guest Bed
icon: mdi:home-thermometer
entities:
- type: custom:slider-entity-row
entity: climate.evohome_cc_01_201047_04
step: 0.5
full_row: true
hide_state: false
min: 10
max: 24
- type: attribute
entity: climate.evohome_cc_01_201047_04
attribute: current_temperature
suffix: °C
name: Current
- type: custom:paper-buttons-row
base_config:
styles:
name:
color: var(--label-badge-text-color)
buttons:
- icon: false
name: >-
{% if state_attr('climate.evohome_cc_01_201047_04',
'hvac_action') == None %}
Unknown
{% else%}
{{ state_attr('climate.evohome_cc_01_201047_04', 'hvac_action').capitalize() }}
{% endif %}
- icon: mdi:calendar-clock
name: false
styles:
button:
color: >-
{% if is_state_attr('climate.evohome_cc_01_201047_04',
'preset_mode', "none") %}
var(--paper-item-icon-active-color)
{% else%}
var(--label-badge-text-color)
{% endif %}
tap_action:
action: call-service
service: ramses_cc.set_zone_mode
service_data:
entity_id: climate.evohome_cc_01_201047_04
mode: follow_schedule
hold_action:
action: none
- icon: mdi:alarm
name: false
styles:
button:
color: >-
{% if is_state_attr('climate.evohome_cc_01_201047_04',
'preset_mode', "temporary") %}
var(--paper-item-icon-active-color)
{% else%}
var(--label-badge-text-color)
{% endif %}
tap_action:
action: call-service
service: script.evohome_preset_change
service_data:
entity_id: climate.evohome_cc_01_201047_04
mode: advanced_override
hold_action:
action: none
- icon: mdi:autorenew
name: false
styles:
button:
color: >-
{% if is_state_attr('climate.evohome_cc_01_201047_04',
'preset_mode', "permanent") %}
var(--paper-item-icon-active-color)
{% else%}
var(--label-badge-text-color)
{% endif %}
tap_action:
action: call-service
service: script.evohome_preset_change
service_data:
entity_id: climate.evohome_cc_01_201047_04
mode: permanent_override
hold_action:
action: none
- type: custom:mini-graph-card
update_interval: 180
lower_bound: 15
upper_bound: 24
smoothing: false
points_per_hour: 20
line_width: 2
entities:
- entity: climate.evohome_cc_01_201047_04
attribute: current_temperature
show_fill: false
- entity: climate.evohome_cc_01_201047_04
attribute: temperature
show_fill: false
- entity: sensor.01_201047_04_heat_demand
show_line: false
y_axis: secondary
show:
labels: true
state: false
points: false
legend: false
name: false
icon: false
- type: vertical-stack
cards:
- type: entities
title: Guest Bath
icon: mdi:home-thermometer
entities:
- type: custom:slider-entity-row
entity: climate.evohome_cc_01_201047_05
step: 0.5
full_row: true
hide_state: false
min: 10
max: 24
- type: attribute
entity: climate.evohome_cc_01_201047_05
attribute: current_temperature
suffix: °C
name: Current
- type: custom:paper-buttons-row
base_config:
styles:
name:
color: var(--label-badge-text-color)
buttons:
- icon: false
name: >-
{% if state_attr('climate.evohome_cc_01_201047_05',
'hvac_action') == None %}
Unknown
{% else%}
{{ state_attr('climate.evohome_cc_01_201047_05', 'hvac_action').capitalize() }}
{% endif %}
- icon: mdi:calendar-clock
name: false
styles:
button:
color: >-
{% if is_state_attr('climate.evohome_cc_01_201047_05',
'preset_mode', "none") %}
var(--paper-item-icon-active-color)
{% else%}
var(--label-badge-text-color)
{% endif %}
tap_action:
action: call-service
service: ramses_cc.set_zone_mode
service_data:
entity_id: climate.evohome_cc_01_201047_05
mode: follow_schedule
hold_action:
action: none
- icon: mdi:alarm
name: false
styles:
button:
color: >-
{% if is_state_attr('climate.evohome_cc_01_201047_05',
'preset_mode', "temporary") %}
var(--paper-item-icon-active-color)
{% else%}
var(--label-badge-text-color)
{% endif %}
tap_action:
action: call-service
service: script.evohome_preset_change
service_data:
entity_id: climate.evohome_cc_01_201047_05
mode: advanced_override
hold_action:
action: none
- icon: mdi:autorenew
name: false
styles:
button:
color: >-
{% if is_state_attr('climate.evohome_cc_01_201047_05',
'preset_mode', "permanent") %}
var(--paper-item-icon-active-color)
{% else%}
var(--label-badge-text-color)
{% endif %}
tap_action:
action: call-service
service: script.evohome_preset_change
service_data:
entity_id: climate.evohome_cc_01_201047_05
mode: permanent_override
hold_action:
action: none
- type: custom:mini-graph-card
update_interval: 180
lower_bound: 15
upper_bound: 24
smoothing: false
points_per_hour: 20
line_width: 2
entities:
- entity: climate.evohome_cc_01_201047_05
attribute: current_temperature
show_fill: false
- entity: climate.evohome_cc_01_201047_05
attribute: temperature
show_fill: false
- entity: sensor.01_201047_05_heat_demand
show_line: false
y_axis: secondary
show:
labels: true
state: false
points: false
legend: false
name: false
icon: false