Skip to content

Instantly share code, notes, and snippets.

@jtroberts83
Created March 31, 2026 22:40
Show Gist options
  • Select an option

  • Save jtroberts83/089638e221f4118822d20b9ed73fd8a6 to your computer and use it in GitHub Desktop.

Select an option

Save jtroberts83/089638e221f4118822d20b9ed73fd8a6 to your computer and use it in GitHub Desktop.
Home Assistant Humidifiers Dashboard
title: Humidifier Dashboard
views:
- title: Humidifiers
path: humidifiers
icon: mdi:air-humidifier
type: custom:masonry-layout
layout:
width: 300
max_cols: 4
background: >-
center / cover no-repeat
url('https://basicappleguy.com/s/F06_Mac.png?format=1500w')
cards:
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: >
{% set kitchen = states('input_boolean.kitchen_humidifier_state')
== 'on' %} {% set basement =
states('input_boolean.basement_humidifier_state') == 'on' %} {% if
kitchen and basement %}
🟒 BOTH Humidifiers - ON
{% elif kitchen %}
🟒 KITCHEN Humidifier - ON
{% elif basement %}
🟒 BASEMENT Humidifier - ON
{% else %}
πŸ”΄ Humidifiers - OFF
{% endif %}
alignment: start
card_mod:
style: |
.title {
font-weight: bold !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-template-card
primary: Kitchen Humidifier
secondary: >
{% set w =
states('sensor.kitchen_humidifier_plug_current_consumption') |
float(default=0) %} {% set humidity =
states('sensor.thermostat_humidity') | float(default=0) %} {% set
threshold = states('input_number.humidifier_off_threshold') |
float(default=0) %} {% set diff = (threshold - humidity) |
round(1) %} {% if w <= 4.7 %}⚫ Off {% elif w <= 9 %}πŸ’€ Idle {%
elif w <= 160 %}🟒 Low {% elif w <= 208 %}🟑 Medium {% elif w <=
258 %}πŸ”΄ High {% else %}❓ Unknown {% endif %} | πŸ’§ {{ humidity }}%
| {% if diff > 0 %}πŸ“ˆ {{ diff }}% to target {% elif diff < 0 %}βœ…
{{ diff | abs }}% over target {% else %}🎯 At target{% endif %} β€”
{% set seconds = (now() -
states.input_boolean.kitchen_humidifier_state.last_changed).total_seconds()
| int %} {% if seconds < 60 %}just now {% elif seconds < 3600 %}{{
(seconds / 60) | int }}m ago {% elif seconds < 86400 %}{{ (seconds
/ 3600) | int }}h ago {% else %}{{ (seconds / 86400) | int }}d
ago{% endif %}
icon: mdi:power
entity: input_boolean.kitchen_humidifier_state
tap_action:
action: none
hold_action:
action: none
color: |
{% if states('input_boolean.kitchen_humidifier_state') == 'on' %}
green
{% else %}
red
{% endif %}
features_position: bottom
- type: custom:mushroom-template-card
primary: Basement Humidifier
secondary: >
{% set w =
states('sensor.basement_humidifier_plug_current_consumption') |
float(default=0) %} {% set humidity =
states('sensor.basement_play_area_humidity') | float(default=0) %}
{% set threshold = states('input_number.humidifier_off_threshold')
| float(default=0) %} {% set diff = (threshold - humidity) |
round(1) %} {% if w <= 4.7 %}⚫ Off {% elif w <= 9 %}πŸ’€ Idle {%
elif w <= 160 %}🟒 Low {% elif w <= 208 %}🟑 Medium {% elif w <=
258 %}πŸ”΄ High {% else %}❓ Unknown {% endif %} | πŸ’§ {{ humidity }}%
| {% if diff > 0 %}πŸ“ˆ {{ diff }}% to target {% elif diff < 0 %}βœ…
{{ diff | abs }}% over target {% else %}🎯 At target{% endif %} β€”
{% set seconds = (now() -
states.input_boolean.basement_humidifier_state.last_changed).total_seconds()
| int %} {% if seconds < 60 %}just now {% elif seconds < 3600 %}{{
(seconds / 60) | int }}m ago {% elif seconds < 86400 %}{{ (seconds
/ 3600) | int }}h ago {% else %}{{ (seconds / 86400) | int }}d
ago{% endif %}
icon: mdi:power
entity: input_boolean.basement_humidifier_state
tap_action:
action: none
hold_action:
action: none
color: |
{% if states('input_boolean.basement_humidifier_state') == 'on' %}
green
{% else %}
red
{% endif %}
features_position: bottom
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: πŸ’§Humidity Thresholds
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: entities
entities:
- entity: sensor.rolling_average_humidity
name: 🏠 Whole House Avg Humidity
secondary_info: last-changed
- entity: sensor.rolling_average_temperature
name: 🌑️ Whole House Avg Temp
secondary_info: last-changed
- entity: input_number.humidifier_on_threshold
name: πŸ’§ Turn On Below
- entity: input_number.humidifier_off_threshold
name: πŸ›‘ Turn Off Above
secondary_info: last-changed
- type: custom:mushroom-template-card
primary: πŸ€– Smart Humidity Adjust
secondary: >
{% if is_state('input_boolean.auto_humidity_control_toggle', 'on')
%}
βœ… Active β€” Auto thresholds based on in+outdoor conditions
{% else %}
⚫ Off β€” using fixed on/off thresholds
{% endif %}
icon: mdi:brain
entity: input_boolean.auto_humidity_control_toggle
tap_action:
action: toggle
color: >
{% if is_state('input_boolean.auto_humidity_control_toggle', 'on')
%}
green
{% else %}
grey
{% endif %}
features_position: bottom
card_mod:
style: |
ha-card {
position: relative;
}
ha-card:hover::after {
content: 'Dynamically adjusts humidity on/off thresholds based on OUTDOOR: temp, humidity, dew point, wet bulb temp, vapor pressure, wind speed, precip + INDOOR: temp, humidity, fresh air state, and air replacement to prevent condensation on windows and mold.';
position: absolute;
bottom: calc(100% + 6px);
left: 50%;
transform: translateX(-50%);
background: rgba(41, 128, 185, 0.9);
color: white;
padding: 6px 10px;
border-radius: 6px;
font-size: 12px;
white-space: normal;
max-width: 260px;
z-index: 9999;
pointer-events: none;
text-align: center;
}
- type: vertical-stack
cards:
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: πŸͺŸVentilation
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-template-card
primary: QuietCool Whole House Fan
secondary: >
{% if is_state('switch.quiet_cool_whole_house_fan', 'on') %}
πŸŒ€ Running
{% else %}
⚫ Off
{% endif %} β€” {% set seconds = (now() -
states.switch.quiet_cool_whole_house_fan.last_changed).total_seconds()
| int %} {% if seconds < 60 %}just now {% elif seconds < 3600
%}{{ (seconds / 60) | int }}m ago {% elif seconds < 86400 %}{{
(seconds / 3600) | int }}h ago {% else %}{{ (seconds / 86400)
| int }}d ago{% endif %}
icon: mdi:fan
entity: switch.quiet_cool_whole_house_fan
tap_action:
action: none
hold_action:
action: none
color: |
{% if is_state('switch.quiet_cool_whole_house_fan', 'on') %}
blue
{% else %}
grey
{% endif %}
features_position: bottom
- type: custom:mushroom-template-card
primary: Fresh Air Sources
secondary: >
{% if
is_state('binary_sensor.fresh_air_sources_for_quietcool_fan',
'on') %}
πŸͺŸ Windows Open
{% else %}
πŸ”’ Windows Closed
{% endif %} β€” {% set seconds = (now() -
states.binary_sensor.fresh_air_sources_for_quietcool_fan.last_changed).total_seconds()
| int %} {% if seconds < 60 %}just now {% elif seconds < 3600
%}{{ (seconds / 60) | int }}m ago {% elif seconds < 86400 %}{{
(seconds / 3600) | int }}h ago {% else %}{{ (seconds / 86400)
| int }}d ago{% endif %}
icon: mdi:window-open
entity: binary_sensor.fresh_air_sources_for_quietcool_fan
tap_action:
action: none
hold_action:
action: none
color: >
{% if
is_state('binary_sensor.fresh_air_sources_for_quietcool_fan',
'on') %}
green
{% else %}
grey
{% endif %}
features_position: bottom
- type: custom:mushroom-template-card
primary: Fresh Air Mode
secondary: >
{% set fan = is_state('switch.quiet_cool_whole_house_fan',
'on') %} {% set windows =
is_state('binary_sensor.fresh_air_sources_for_quietcool_fan',
'on') %} {% set temp =
states('sensor.tempest_weather_station_temperature') |
float(default=99) %} {% if fan and windows and temp < 65 %}
🌬️ Active β€” outdoor air actively replacing indoor air
{% elif fan and not windows %}
⚠️ Fan running but windows are closed
{% elif windows and not fan %}
πŸͺŸ Windows open but fan is off
{% else %}
βœ… Normal β€” no active ventilation
{% endif %}
icon: mdi:home-thermometer
tap_action:
action: none
color: >
{% set fan = is_state('switch.quiet_cool_whole_house_fan',
'on') %} {% set windows =
is_state('binary_sensor.fresh_air_sources_for_quietcool_fan',
'on') %} {% set temp =
states('sensor.tempest_weather_station_temperature') |
float(default=99) %} {% if fan and windows and temp < 65 %}
blue
{% elif fan and not windows %}
orange
{% else %}
grey
{% endif %}
features_position: bottom
- type: custom:mushroom-title-card
title: β˜€οΈOutdoor Conditions
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: entities
entities:
- entity: sensor.tempest_weather_station_temperature
name: 🌑️ Temperature
secondary_info: last-changed
- entity: sensor.tempest_weather_station_humidity
name: πŸ’§ Humidity
secondary_info: last-changed
- entity: sensor.tempest_weather_station_dew_point
name: 🌫️ Dew Point
- entity: sensor.tempest_weather_station_wet_bulb_temperature
name: 🌒️ Wet Bulb Temp
- entity: sensor.tempest_weather_station_vapor_pressure
name: πŸ”΅ Vapor Pressure
- entity: sensor.tempest_weather_station_wind_speed_average
name: πŸ’¨ Wind Speed Avg
- entity: sensor.tempest_weather_station_wind_gust
name: πŸ’¨ Wind Gust
- entity: sensor.tempest_weather_station_precipitation_intensity
name: 🌧️ Rain Rate
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: πŸ’΅ Total Month-To-Date Cost
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-template-card
primary: >
{% set m =
states('input_number.basement_humidifier_monthly_minutes') |
float +
states('input_number.kitchen_humidifier_monthly_minutes') |
float %} {% set used = ((m / 60) * 4 / 3.785) | round(2) %} {%
set waste = (used * 2) | round(2) %} {% set total = (used * 3)
| round(2) %} {% set cost = (total * 9.46 / 1000) %} {% set
kwh_month =
(states('sensor.basement_humidifier_plug_this_month_s_consumption')
| float(default=0)
+ states('sensor.kitchen_humidifier_plug_this_month_s_consumption') | float(default=0)) | round(1) %}
{% set peak_kw =
states('input_number.humidifier_peak_demand_kw') | float |
round(3) %} {% set energy_cost_month = (kwh_month * 0.1155) %}
{% set demand_cost = (peak_kw * 5.47) %} {% set total_month =
(energy_cost_month + demand_cost) %} {% set
total_humidifier_cost = (total_month + cost) %} Total
Humidifier Cost This Month: πŸ’²{{ "%.2f" |
format(total_humidifier_cost) }}
secondary: >
{% set m =
states('input_number.basement_humidifier_monthly_minutes') |
float +
states('input_number.kitchen_humidifier_monthly_minutes') |
float %} {% set used = ((m / 60) * 4 / 3.785) | round(2) %} {%
set waste = (used * 2) | round(2) %} {% set total = (used * 3)
| round(2) %} {% set cost = (total * 9.46 / 1000) %} {% set
kwh_month =
(states('sensor.basement_humidifier_plug_this_month_s_consumption')
| float(default=0)
+ states('sensor.kitchen_humidifier_plug_this_month_s_consumption') | float(default=0)) | round(1) %}
{% set peak_kw =
states('input_number.humidifier_peak_demand_kw') | float |
round(3) %} {% set energy_cost_month = (kwh_month * 0.1155) %}
{% set demand_cost = (peak_kw * 5.47) %} {% set total_month =
(energy_cost_month + demand_cost) %} Total Costs: ⚑${{ "%.2f"
| format(total_month) }} + πŸ’§${{ "%.2f" | format(cost) }}
icon: mdi:currency-usd
tap_action:
action: none
color: orange
features_position: bottom
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: πŸ’¦Water Usage (Gallons)
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-title-card
title: 🟩 Kitchen Humidifier
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 1.5em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-template-card
primary: Today
secondary: >
{% set m = states('input_number.kitchen_humidifier_daily_minutes')
| float %} {% set used = ((m / 60) * 4 / 3.785) | round(2) %} {%
set waste = (used * 2) | round(2) %} {% set total = (used * 3) |
round(2) %} πŸ’§ Used: {{ used }} | 🚫Reject: {{ waste }} | πŸͺ£
Total: {{ total }}
icon: mdi:calendar-today
tap_action:
action: none
color: green
features_position: bottom
- type: custom:mushroom-template-card
primary: This Week
secondary: >
{% set m =
states('input_number.kitchen_humidifier_weekly_minutes') | float
%} {% set used = ((m / 60) * 4 / 3.785) | round(2) %} {% set waste
= (used * 2) | round(2) %} {% set total = (used * 3) | round(2) %}
πŸ’§ Used: {{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total
}}
icon: mdi:calendar-week
tap_action:
action: none
color: green
features_position: bottom
- type: custom:mushroom-template-card
primary: This Month
secondary: >
{% set m =
states('input_number.kitchen_humidifier_monthly_minutes') | float
%} {% set used = ((m / 60) * 4 / 3.785) | round(0) | int %} {% set
waste = (used * 2) | round(0) | int %} {% set total = (used * 3) |
round(0) | int %} {% set cost = (total * 9.46 / 1000) %} πŸ’§ Used:
{{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total }} | πŸ’΅
${{ "%.2f" | format(cost) }}
icon: mdi:calendar-month
tap_action:
action: none
color: green
features_position: bottom
- type: custom:mushroom-title-card
title: 🟦 Basement Humidifier
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 1.5em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-template-card
primary: Today
secondary: >
{% set m =
states('input_number.basement_humidifier_daily_minutes') | float
%} {% set used = ((m / 60) * 4 / 3.785) | round(2) %} {% set waste
= (used * 2) | round(2) %} {% set total = (used * 3) | round(2) %}
πŸ’§ Used: {{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total
}}
icon: mdi:calendar-today
tap_action:
action: none
color: blue
features_position: bottom
- type: custom:mushroom-template-card
primary: This Week
secondary: >
{% set m =
states('input_number.basement_humidifier_weekly_minutes') | float
%} {% set used = ((m / 60) * 4 / 3.785) | round(2) %} {% set waste
= (used * 2) | round(2) %} {% set total = (used * 3) | round(2) %}
πŸ’§ Used: {{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total
}}
icon: mdi:calendar-week
tap_action:
action: none
color: blue
features_position: bottom
- type: custom:mushroom-template-card
primary: This Month
secondary: >
{% set m =
states('input_number.basement_humidifier_monthly_minutes') | float
%} {% set used = ((m / 60) * 4 / 3.785) | round(0) | int %} {% set
waste = (used * 2) | round(0) | int %} {% set total = (used * 3) |
round(0) | int %} {% set cost = (total * 9.46 / 1000) %} πŸ’§ Used:
{{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total }} | πŸ’΅
${{ "%.2f" | format(cost) }}
icon: mdi:calendar-month
tap_action:
action: none
color: blue
features_position: bottom
- type: custom:mushroom-title-card
title: 🏠 Combined Total
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 1.5em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-template-card
primary: Today
secondary: >
{% set m =
states('input_number.basement_humidifier_daily_minutes') | float +
states('input_number.kitchen_humidifier_daily_minutes') | float %}
{% set used = ((m / 60) * 4 / 3.785) | round(2) %} {% set waste =
(used * 2) | round(2) %} {% set total = (used * 3) | round(2) %}
πŸ’§ Used: {{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total
}}
icon: mdi:calendar-today
tap_action:
action: none
color: orange
features_position: bottom
- type: custom:mushroom-template-card
primary: This Week
secondary: >
{% set m =
states('input_number.basement_humidifier_weekly_minutes') | float
+ states('input_number.kitchen_humidifier_weekly_minutes') | float %}
{% set used = ((m / 60) * 4 / 3.785) | round(2) %} {% set waste =
(used * 2) | round(2) %} {% set total = (used * 3) | round(2) %}
πŸ’§ Used: {{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total
}}
icon: mdi:calendar-week
tap_action:
action: none
color: orange
features_position: bottom
- type: custom:mushroom-template-card
primary: This Month
secondary: >
{% set m =
states('input_number.basement_humidifier_monthly_minutes') | float
+ states('input_number.kitchen_humidifier_monthly_minutes') |
float %} {% set used = ((m / 60) * 4 / 3.785) | round(0) | int %}
{% set waste = (used * 2) | round(0) | int %} {% set total = (used
* 3) | round(0) | int %} {% set cost = (total * 9.46 / 1000) %} πŸ’§
Used: {{ used }} | 🚫Reject: {{ waste }} | πŸͺ£ Total: {{ total }} |
πŸ’΅ ${{ "%.2f" | format(cost) }}
icon: mdi:calendar-month
tap_action:
action: none
color: orange
features_position: bottom
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: πŸ—“οΈ Humidity History - 1 Week
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: history-graph
entities:
- entity: input_boolean.kitchen_humidifier_state
name: Kitchen
- entity: input_boolean.basement_humidifier_state
name: Basement
hours_to_show: 168
logarithmic_scale: false
title: 🚦 Humidifier On/Off State
- type: custom:apexcharts-card
graph_span: 7d
header:
show: true
title: πŸ—“οΈ Last 7 Days β€” Outdoor Weather
show_states: true
colorize_states: true
apex_config:
chart:
height: 200
xaxis:
type: datetime
labels:
format: ddd
yaxis:
- id: temp
seriesName: High Temp
min: 0
max: 100
decimalsInFloat: 0
labels:
formatter: |
EVAL:function(val) { return val + 'Β°F'; }
- id: precip
seriesName: Precipitation
opposite: true
min: 0
decimalsInFloat: 2
show: true
labels:
formatter: |
EVAL:function(val) { return val + '"'; }
- id: humidity
seriesName: Humidity
show: false
stroke:
curve: smooth
dashArray:
- 0
- 0
- 4
tooltip:
x:
format: ddd MMM dd
shared: false
legend:
show: true
position: bottom
series:
- entity: sensor.tempest_weather_station_temperature
name: High Temp
yaxis_id: temp
type: line
color: '#822b0c'
stroke_width: 4
group_by:
func: max
duration: 3h
show:
legend_value: true
- entity: sensor.tempest_weather_station_precipitation
name: Precipitation
yaxis_id: precip
type: column
stroke_width: 6
color: '#2980b9'
opacity: 0.6
group_by:
func: sum
duration: 6h
show:
legend_value: true
- entity: sensor.tempest_weather_station_humidity
name: Humidity
yaxis_id: humidity
type: line
color: '#206477'
stroke_width: 4
group_by:
func: avg
duration: 1d
show:
legend_value: true
- type: custom:mini-graph-card
name: Humidity Thresholds
hours_to_show: 168
points_per_hour: 0.3
animate: true
height: 200
smoothing: true
show:
labels: true
extrema: false
average: false
name_adaptive_color: true
lower_bound: 10
upper_bound: 60
entities:
- entity: sensor.rolling_average_humidity
name: Avg House Humidity %
color: '#205573'
- entity: input_number.humidifier_on_threshold
name: Turn On Below %
color: '#5a847a'
- entity: input_number.humidifier_off_threshold
name: Turn Off Above %
color: '#af725f'
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: ⚑Energy Usage
card_mod:
style: |
.title {
font-weight: bold !important;
#color: #29abe2 !important;
font-size: 2em !important;
}
.subtitle {
font-weight: 500 !important;
color: grey !important;
}
- type: custom:mushroom-template-card
primary: >
🟩 Kitchen β€” {% set kwh_today =
states('sensor.kitchen_humidifier_plug_today_s_consumption') |
float(default=0) | round(1) %} {% set cost_today = (kwh_today *
0.1155) %} Today: ⚑{{ kwh_today }} kWh - πŸ’΅ ${{ "%.2f" |
format(cost_today) }}
secondary: >
{% set kwh_today =
states('sensor.kitchen_humidifier_plug_today_s_consumption') |
float(default=0) | round(1) %} {% set kwh_month =
states('sensor.kitchen_humidifier_plug_this_month_s_consumption')
| float(default=0) | round(1) %} {% set cost_today = (kwh_today *
0.1155) %} {% set cost_month = (kwh_month * 0.1155) %} Month: ⚑ {{
kwh_month }} kWh πŸ’΅ ${{ "%.2f" | format(cost_month) }}
icon: mdi:lightning-bolt
icon_color: green
tap_action:
action: none
- type: custom:mushroom-template-card
primary: >
🟦 Basement β€” {% set kwh_today =
states('sensor.basement_humidifier_plug_today_s_consumption') |
float(default=0) | round(1) %} {% set cost_today = (kwh_today *
0.1155) %} Today: ⚑{{ kwh_today }} kWh - πŸ’΅ ${{ "%.2f" |
format(cost_today) }}
secondary: >
{% set kwh_today =
states('sensor.basement_humidifier_plug_today_s_consumption') |
float(default=0) | round(1) %} {% set kwh_month =
states('sensor.basement_humidifier_plug_this_month_s_consumption')
| float(default=0) | round(1) %} {% set cost_today = (kwh_today *
0.1155) %} {% set cost_month = (kwh_month * 0.1155) %} Month: ⚑ {{
kwh_month }} kWh πŸ’΅ ${{ "%.2f" | format(cost_month) }}
icon: mdi:lightning-bolt
tap_action:
action: none
color: blue
features_position: bottom
- type: custom:mushroom-template-card
primary: >
🏠 Combined β€” {% set kwh_today =
(states('sensor.basement_humidifier_plug_today_s_consumption') |
float(default=0)
+ states('sensor.kitchen_humidifier_plug_today_s_consumption') | float(default=0)) | round(1) %}
{% set cost_today = (kwh_today * 0.1155) %} Today: ⚑ {{ kwh_today
}} kWh πŸ’΅ ${{ "%.2f" | format(cost_today) }}
secondary: >
{% set kwh_today =
(states('sensor.basement_humidifier_plug_today_s_consumption') |
float(default=0)
+ states('sensor.kitchen_humidifier_plug_today_s_consumption') | float(default=0)) | round(1) %}
{% set kwh_month =
(states('sensor.basement_humidifier_plug_this_month_s_consumption')
| float(default=0)
+ states('sensor.kitchen_humidifier_plug_this_month_s_consumption') | float(default=0)) | round(1) %}
{% set peak_kw = states('input_number.humidifier_peak_demand_kw')
| float | round(3) %} {% set cost_today = (kwh_today * 0.1155) %}
{% set energy_cost_month = (kwh_month * 0.1155) %} {% set
demand_cost = (peak_kw * 5.47) %} {% set total_month =
(energy_cost_month + demand_cost) %} Month: ⚑ {{ kwh_month }} kWh
πŸ’΅ ${{ "%.2f" | format(energy_cost_month) }} | Peak: ⚑ {{ peak_kw
}} kW πŸ’΅ ${{ "%.2f" | format(demand_cost) }}
icon: mdi:lightning-bolt
icon_color: orange
tap_action:
action: none
- type: custom:mushroom-template-card
primary: >
{% set kwh_today =
(states('sensor.basement_humidifier_plug_today_s_consumption') |
float(default=0)
+ states('sensor.kitchen_humidifier_plug_today_s_consumption') | float(default=0)) | round(1) %}
{% set kwh_month =
(states('sensor.basement_humidifier_plug_this_month_s_consumption')
| float(default=0)
+ states('sensor.kitchen_humidifier_plug_this_month_s_consumption') | float(default=0)) | round(1) %}
{% set peak_kw = states('input_number.humidifier_peak_demand_kw')
| float | round(3) %} {% set cost_today = (kwh_today * 0.1155) %}
{% set energy_cost_month = (kwh_month * 0.1155) %} {% set
demand_cost = (peak_kw * 5.47) %} {% set total_month =
(energy_cost_month + demand_cost) %}Total Monthly Cost -πŸ’΅: ${{
"%.2f" | format(total_month) }}
secondary: |
*Includes OnDemand + Peak Usage
icon: mdi:currency-usd
tap_action:
action: none
color: orange
features_position: bottom
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment