Everyone with the past holidays, while everyone was on vacation, I decided that it would be convenient to monitor the state of heating in my house and that’s what I did. I will be glad if this is also useful to someone
Card code
type: horizontal-stack
cards:
- type: custom:apexcharts-card
graph_span: 24h
apex_config:
chart:
height: 220px
span:
start: day
now:
show: true
label: Сейчас
show:
last_updated: true
header:
show_states: true
colorize_states: true
show: true
title: ''
series:
- entity: sensor.inside_home_temperature
color: orangered
type: column
name: Температура
show:
in_chart: true
legend_value: false
group_by:
func: last
duration: 30min
- entity: sensor.inside_home_humidity
type: line
name: Влажность
show:
in_chart: true
legend_value: false
group_by:
func: last
duration: 30min
card_mod:
style: |
ha-card {
height: 290px !important;
}
- type: custom:stack-in-card
mode: vertical
cards:
- type: custom:layout-card
layout_type: custom:grid-layout
cards:
- type: custom:mushroom-template-card
primary: Отопление
secondary: '{{ iif(states(entity) == ''on'', ''Нагревает'', ''Ожидает'') }}'
icon: >-
{{ iif(states(entity) == 'on', 'mdi:heat-wave',
'mdi:clock-outline') }}
entity: binary_sensor.hot_water_heating_radiators
icon_color: '{{ iif(states(entity) == ''on'', ''deep-orange'', ''grey'') }}'
fill_container: true
layout: vertical
view_layout:
grid-area: all
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: custom:mushroom-chips-card
chips:
- type: template
entity: climate.living_room_thermostat
icon: mdi:sofa
content: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
Нагревает
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
Ожидает
{% elif states(entity) == 'off' %}
Выключено
{% else %}
Неизвестно
{% endif %}
icon_color: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
deep-orange
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
grey
{% elif states(entity) == 'off' %}
red
{% else %}
indigo
{% endif %}
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: template
entity: climate.hallway_thermostat
icon: mdi:hanger
content: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
Нагревает
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
Ожидает
{% elif states(entity) == 'off' %}
Выключено
{% else %}
Неизвестно
{% endif %}
icon_color: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
deep-orange
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
grey
{% elif states(entity) == 'off' %}
red
{% else %}
indigo
{% endif %}
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: template
entity: climate.bathroom_thermostat
icon: mdi:shower
content: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
Нагревает
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
Ожидает
{% elif states(entity) == 'off' %}
Выключено
{% else %}
Неизвестно
{% endif %}
icon_color: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
deep-orange
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
grey
{% elif states(entity) == 'off' %}
red
{% else %}
indigo
{% endif %}
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: template
entity: climate.kitchen_thermostat
icon: mdi:fridge
content: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
Нагревает
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
Ожидает
{% elif states(entity) == 'off' %}
Выключено
{% else %}
Неизвестно
{% endif %}
icon_color: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
deep-orange
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
grey
{% elif states(entity) == 'off' %}
red
{% else %}
indigo
{% endif %}
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: template
entity: climate.bedroom_thermostat
icon: mdi:bed-king
content: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
Нагревает
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
Ожидает
{% elif states(entity) == 'off' %}
Выключено
{% else %}
Неизвестно
{% endif %}
icon_color: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
deep-orange
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
grey
{% elif states(entity) == 'off' %}
red
{% else %}
indigo
{% endif %}
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: template
entity: climate.cabinet_thermostat
icon: mdi:gamepad-variant
content: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
Нагревает
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
Ожидает
{% elif states(entity) == 'off' %}
Выключено
{% else %}
Неизвестно
{% endif %}
icon_color: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
deep-orange
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
grey
{% elif states(entity) == 'off' %}
red
{% else %}
indigo
{% endif %}
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: template
entity: climate.childroom_thermostat
icon: mdi:teddy-bear
content: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
Нагревает
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
Ожидает
{% elif states(entity) == 'off' %}
Выключено
{% else %}
Неизвестно
{% endif %}
icon_color: |
{% if state_attr(entity, 'hvac_action') == 'heating' %}
deep-orange
{% elif state_attr(entity, 'hvac_action') == 'idle' %}
grey
{% elif states(entity) == 'off' %}
red
{% else %}
indigo
{% endif %}
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
alignment: center
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
- type: custom:tabbed-card
options: {}
styles:
'--mdc-theme-primary': OrangeRed
'--mdc-tab-text-label-color-default': white
'--mdc-typography-button-font-size': 10px
'-—mdc-tab-text-label-color-default': red
'-–mdc-tab-color-default': red
'-–mdc-tab-height': 20px
tabs:
- card:
type: custom:mushroom-climate-card
entity: climate.hallway_thermostat
show_temperature_control: true
hvac_modes: []
layout: horizontal
name: Отопление
icon: mdi:radiator
collapsible_controls: false
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
}
attributes:
icon: mdi:hanger
label: Прихожая
stacked: true
isMinWidthIndicator: true
isFadingIndicator: true
- card:
type: custom:mushroom-climate-card
entity: climate.bedroom_thermostat
show_temperature_control: true
hvac_modes: []
layout: horizontal
name: Отопление
icon: mdi:radiator
collapsible_controls: false
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
attributes:
icon: mdi:bed-king
stacked: true
label: Спальная
isMinWidthIndicator: true
isFadingIndicator: true
- card:
type: custom:mushroom-climate-card
entity: climate.living_room_thermostat
show_temperature_control: true
hvac_modes: []
layout: horizontal
name: Отопление
icon: mdi:radiator
collapsible_controls: false
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
attributes:
icon: mdi:sofa
stacked: true
label: Гостиная
isMinWidthIndicator: true
isFadingIndicator: true
- card:
type: custom:mushroom-climate-card
entity: climate.kitchen_thermostat
show_temperature_control: true
hvac_modes: []
layout: horizontal
name: Отопление
icon: mdi:radiator
collapsible_controls: false
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
attributes:
icon: mdi:fridge
stacked: true
label: Кухня
isMinWidthIndicator: true
isFadingIndicator: true
- card:
type: custom:mushroom-climate-card
entity: climate.childroom_thermostat
show_temperature_control: true
hvac_modes: []
layout: horizontal
name: Отопление
icon: mdi:radiator
collapsible_controls: false
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
attributes:
icon: mdi:teddy-bear
stacked: true
label: Детская
isMinWidthIndicator: true
isFadingIndicator: true
- card:
type: custom:mushroom-climate-card
entity: climate.cabinet_thermostat
show_temperature_control: true
hvac_modes: []
layout: horizontal
name: Отопление
icon: mdi:radiator
collapsible_controls: false
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
attributes:
icon: mdi:microsoft-xbox-controller
stacked: true
label: Кабинет
isMinWidthIndicator: true
isFadingIndicator: true
- card:
type: custom:mushroom-climate-card
entity: climate.bathroom_thermostat
show_temperature_control: true
hvac_modes: []
layout: horizontal
name: Ванная
icon: mdi:radiator
collapsible_controls: false
tap_action:
action: more-info
card_mod:
style: |
ha-card {
border-style: none;
box-shadow: 0px 0px;
attributes:
icon: mdi:shower
stacked: true
label: Ванная
isMinWidthIndicator: true
isFadingIndicator: true
view_layout:
grid-area: tabbed
layout:
grid-template-columns: 30% 70%
grid-template-rows: auto
grid-template-areas: |
"all stats"
"tabbed tabbed"
Required resources
card_mod
mushroom-cards
stack-in-card
tabbed-card