Skip to content

Instantly share code, notes, and snippets.

@charithmadhuranga
Forked from xbmcnut/tablet_dashboard.yaml
Created January 13, 2022 20:46
Show Gist options
  • Select an option

  • Save charithmadhuranga/49f6e105c35fdd4bd2505c6f4b16a250 to your computer and use it in GitHub Desktop.

Select an option

Save charithmadhuranga/49f6e105c35fdd4bd2505c6f4b16a250 to your computer and use it in GitHub Desktop.
Full config for my Home Assistant photo frame dashboard
views:
- badges: []
cards:
- cards:
- cards:
- entity: sensor.time
style: |
ha-card {
color: yellow;
#--paper-item-icon-color: green;
font-weight: bold;
#font-family: Roboslab;
#font-size: 80px;
}
type: entity
- entity: sensor.processor_use
name: HA CPU
type: entity
- entity: sensor.north_sprinkler_time_on
icon: 'mdi:sprinkler'
name: North Today
type: entity
- entity: sensor.east_sprinkler_time_on
icon: 'mdi:sprinkler'
name: East Today
type: entity
- entity: sensor.rainy_day
name: Rain?
type: entity
- entity: sensor.hacs
name: HACS
type: entity
- entity: sensor.tide_my_favourite_beach_next_high_time
name: High Tide
style: |
ha-card {
color: dodgerblue;
#--paper-item-icon-color: green;
font-weight: bold;
#font-family: Roboslab;
#font-size: 80px;
}
type: entity
type: horizontal-stack
- cards:
- aspect_ratio: 50%
camera_image: camera.proxy_driveway_720_2fps
entity: camera.proxy_driveway_720_2fps
show_name: false
show_state: false
type: picture-entity
- aspect_ratio: 50%
camera_image: camera.proxy_entry_720_2fps
entity: camera.proxy_entry_720_2fps
show_name: false
show_state: false
type: picture-entity
- aspect_ratio: 50%
camera_image: camera.proxy_deck_720_2fps
entity: camera.proxy_deck_720_2fps
show_name: false
show_state: false
type: picture-entity
- aspect_ratio: 50%
camera_image: camera.proxy_path_720_2fps
entity: camera.proxy_path_720_2fps
show_name: false
show_state: false
type: picture-entity
- aspect_ratio: 50%
camera_image: camera.last_doorbell_snapshot
entity: camera.last_doorbell_snapshot
show_state: false
type: picture-entity
- aspect_ratio: 50%
camera_image: camera.last_pool_gate_snapshot
entity: camera.last_pool_gate_snapshot
show_state: false
type: picture-entity
type: horizontal-stack
- cards:
- color: var(--paper-card-background-color)
color_type: card
custom_fields:
notification: >
[[[ return
states['sensor.deadbolt_batteries_front_door'].state
]]]
entity: lock.frontdoor_deadbolt
icon: 'mdi:lock'
name: Deadbolt
size: 48%
state:
- color: red
icon: 'mdi:lock-open'
styles:
card:
- animation: blink 5s ease infinite
icon:
- color: var(--paper-card-background-color)
name:
- color: var(--paper-card-background-color)
value: unlocked
styles:
card:
- height: 85px
- border: 'solid 2px rgba(255,255,255,.2)'
icon:
- color: green
custom_fields:
notification:
- background-color: |
[[[
if (states['sensor.deadbolt_batteries_front_door'].state >= 85)
return "green";
return "red";
]]]
- border-radius: 50%
- position: absolute
- left: 75%
- top: 5%
- height: 18px
- width: 18px
- font-size: 8px
- line-height: 18px
grid:
- position: relative
type: 'custom:button-card'
- color: var(--paper-card-background-color)
color_type: card
entity: cover.garage
icon: 'mdi:garage'
name: Garage
size: 60%
state:
- color: red
icon: 'mdi:garage-alert'
styles:
card:
- animation: blink 5s ease infinite
icon:
- color: var(--paper-card-background-color)
name:
- color: var(--paper-card-background-color)
value: open
styles:
card:
- height: 85px
- border: 'solid 2px rgba(255,255,255,.2)'
icon:
- color: green
type: 'custom:button-card'
- color: green
color_type: icon
custom_fields:
notification: >
[[[ return states['sensor.steel_gate_battery_level'].state
]]]
entity: binary_sensor.door_window_sensor_steel_gate
icon: 'mdi:gate'
name: Steel
size: 40%
state:
- color: red
icon: 'mdi:gate'
styles:
icon:
- animation: blink 10s ease infinite
value: 'on'
- color: orange
icon: 'mdi:gate'
styles:
icon:
- animation: blink 3s ease infinite
value: unavailable
- operator: default
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- background-color: |
[[[
if (states['sensor.steel_gate_battery_level'].state >= 98)
return "green";
return "red";
]]]
- border-radius: 50%
- position: absolute
- left: 75%
- top: 5%
- height: 18px
- width: 18px
- font-size: 8px
- line-height: 18px
grid:
- position: relative
type: 'custom:button-card'
- color: green
color_type: icon
custom_fields:
notification: >
[[[ return
states['sensor.courtyard_gate_battery_level'].state
]]]
entity: binary_sensor.door_window_sensor_courtyard
icon: 'mdi:gate'
name: Courtyard
size: 40%
state:
- color: red
icon: 'mdi:gate'
styles:
icon:
- animation: blink 10s ease infinite
value: 'on'
- color: orange
icon: 'mdi:gate'
styles:
icon:
- animation: blink 3s ease infinite
value: unavailable
- operator: default
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- background-color: |
[[[
if (states['sensor.courtyard_gate_battery_level'].state >= 98)
return "green";
return "red";
]]]
- border-radius: 50%
- position: absolute
- left: 75%
- top: 5%
- height: 18px
- width: 18px
- font-size: 8px
- line-height: 18px
grid:
- position: relative
type: 'custom:button-card'
- color: green
color_type: icon
custom_fields:
notification: >
[[[ return states['sensor.pool_gate_battery_level'].state
]]]
entity: binary_sensor.door_window_sensor_pool_gate
icon: 'mdi:gate'
name: Pool
size: 40%
state:
- color: red
icon: 'mdi:gate'
styles:
icon:
- animation: blink 10s ease infinite
value: 'on'
- color: orange
icon: 'mdi:gate'
styles:
icon:
- animation: blink 3s ease infinite
value: unavailable
- operator: default
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- background-color: |
[[[
if (states['sensor.pool_gate_battery_level'].state >= 98)
return "green";
return "red";
]]]
- border-radius: 50%
- position: absolute
- left: 75%
- top: 5%
- height: 18px
- width: 18px
- font-size: 8px
- line-height: 18px
grid:
- position: relative
type: 'custom:button-card'
- color: green
color_type: icon
custom_fields:
notification: >
[[[ return states['sensor.beach_gate_battery_level'].state
]]]
entity: binary_sensor.door_window_sensor_beach_gate
icon: 'mdi:gate'
name: Beach
size: 40%
state:
- color: red
icon: 'mdi:gate'
styles:
icon:
- animation: blink 10s ease infinite
value: 'on'
- color: orange
icon: 'mdi:gate'
styles:
icon:
- animation: blink 3s ease infinite
value: unavailable
- operator: default
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- background-color: |
[[[
if (states['sensor.beach_gate_battery_level'].state >= 98)
return "green";
return "red";
]]]
- border-radius: 50%
- position: absolute
- left: 75%
- top: 5%
- height: 18px
- width: 18px
- font-size: 8px
- line-height: 18px
grid:
- position: relative
type: 'custom:button-card'
- color: green
color_type: icon
custom_fields:
notification: >
[[[ return states['sensor.north_gate_battery_level'].state
]]]
entity: binary_sensor.door_window_sensor_north_gate
icon: 'mdi:gate'
name: North
size: 40%
state:
- color: red
icon: 'mdi:gate'
styles:
icon:
- animation: blink 10s ease infinite
value: 'on'
- color: orange
icon: 'mdi:gate'
styles:
icon:
- animation: blink 3s ease infinite
value: unavailable
- operator: default
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- background-color: |
[[[
if (states['sensor.north_gate_battery_level'].state >= 98)
return "green";
return "red";
]]]
- border-radius: 50%
- position: absolute
- left: 75%
- top: 5%
- height: 18px
- width: 18px
- font-size: 8px
- line-height: 18px
grid:
- position: relative
type: 'custom:button-card'
- color: green
color_type: icon
entity: calendar.bottle_collection
icon: 'mdi:recycle'
name: Recycling
size: 40%
state:
- color: green
icon: 'mdi:recycle'
styles:
icon:
- animation: blink 3s ease infinite
value: 'on'
- operator: default
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(0,255,0,.6)'
type: 'custom:button-card'
- color: green
color_type: icon
entity: calendar.rubbish_collection
icon: 'mdi:delete'
name: Rubbish
size: 40%
state:
- color: red
icon: 'mdi:delete-empty'
styles:
icon:
- animation: blink 3s ease infinite
value: 'on'
- operator: default
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,0,0,.6)'
type: 'custom:button-card'
- entity: fan.template_bedroom_fan
icon: 'mdi:fan'
name: Master
size: 40%
state:
- color: 'rgb(0, 0, 230)'
spin: true
value: 'on'
- color: 'rgb(28, 128, 199)'
value: 'off'
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- entity: fan.template_david_fan
icon: 'mdi:fan'
name: David
size: 40%
state:
- color: 'rgb(0, 0, 230)'
spin: true
value: 'on'
- color: 'rgb(28, 128, 199)'
value: 'off'
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- entity: switch.office_aircon_ts_auto
icon: 'mdi:air-conditioner'
name: Office
size: 35%
state:
- color: green
spin: true
value: 'on'
- color: 'rgb(28, 128, 199)'
value: 'off'
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- entity: climate.family_ac
icon: 'mdi:air-conditioner'
name: Family
size: 35%
state:
- color: green
spin: true
value: 'on'
- color: 'rgb(28, 128, 199)'
value: 'off'
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- entity: switch.lounge_heat_pump
icon: 'mdi:air-conditioner'
name: Lounge
size: 35%
state:
- color: green
spin: true
value: 'on'
- color: 'rgb(28, 128, 199)'
value: 'off'
styles:
card:
- height: 85px
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
type: horizontal-stack
- cards:
- animate: true
color_thresholds:
- color: '#0012ff'
value: 5
- color: '#0032ff'
value: 10
- color: '#0084ff'
value: 15
- color: '#00d4ff'
value: 20
- color: '#00ff83'
value: 25
- color: '#3eff00'
value: 30
- color: '#fdff00'
value: 35
- color: '#FFd200'
value: 40
color_thresholds_transition: hard
entities:
- entity: sensor.temperature_xiaomi_office
hours_to_show: 12
icon: 'mdi:thermometer'
name: Office
points_per_hour: 1
show:
graph: line
legend: false
style: >
ha-card {--label-badge-text-color: #b58e31;
--paper-item-icon-color: dodgerblue;
border: 1px solid grey;}
type: 'custom:mini-graph-card'
- animate: true
color_thresholds:
- color: '#0012ff'
value: 5
- color: '#0032ff'
value: 10
- color: '#0084ff'
value: 15
- color: '#00d4ff'
value: 20
- color: '#00ff83'
value: 25
- color: '#3eff00'
value: 30
- color: '#fdff00'
value: 35
- color: '#FFd200'
value: 40
color_thresholds_transition: hard
entities:
- entity: sensor.bathroom_sensor_temperature
hours_to_show: 12
icon: 'mdi:thermometer'
name: Bathroom
points_per_hour: 1
show:
graph: line
style: >
ha-card {--label-badge-text-color: #b58e31;
--paper-item-icon-color: dodgerblue;
border: 1px solid grey;}
type: 'custom:mini-graph-card'
- animate: true
color_thresholds:
- color: '#0012ff'
value: 5
- color: '#0032ff'
value: 10
- color: '#0084ff'
value: 15
- color: '#00d4ff'
value: 20
- color: '#00ff83'
value: 25
- color: '#3eff00'
value: 30
- color: '#fdff00'
value: 35
- color: '#FFd200'
value: 40
color_thresholds_transition: hard
entities:
- entity: sensor.temperature_xiaomi_guest
hours_to_show: 12
icon: 'mdi:thermometer'
name: Guest
points_per_hour: 1
show:
graph: line
legend: false
style: >
ha-card {--label-badge-text-color: #b58e31;
--paper-item-icon-color: dodgerblue;
border: 1px solid grey;}
type: 'custom:mini-graph-card'
- animate: true
color_thresholds:
- color: '#0012ff'
value: 5
- color: '#0032ff'
value: 10
- color: '#0084ff'
value: 15
- color: '#00d4ff'
value: 20
- color: '#00ff83'
value: 25
- color: '#3eff00'
value: 30
- color: '#fdff00'
value: 35
- color: '#FFd200'
value: 40
color_thresholds_transition: hard
entities:
- entity: sensor.foyer_plant_temperature
hours_to_show: 12
icon: 'mdi:thermometer'
name: Foyer
points_per_hour: 1
show:
graph: line
style: >
ha-card {--label-badge-text-color: #b58e31;
--paper-item-icon-color: dodgerblue;
border: 1px solid grey;}
type: 'custom:mini-graph-card'
- animate: true
color_thresholds:
- color: '#0012ff'
value: 5
- color: '#0032ff'
value: 10
- color: '#0084ff'
value: 15
- color: '#00d4ff'
value: 20
- color: '#00ff83'
value: 25
- color: '#3eff00'
value: 30
- color: '#fdff00'
value: 35
- color: '#FFd200'
value: 40
color_thresholds_transition: hard
entities:
- entity: sensor.ensuite_sensor_temperature
hours_to_show: 12
icon: 'mdi:thermometer'
name: Ensuite
points_per_hour: 1
show:
graph: line
style: >
ha-card {--label-badge-text-color: #b58e31;
--paper-item-icon-color: dodgerblue;
border: 1px solid grey;}
type: 'custom:mini-graph-card'
- animate: true
color_thresholds:
- color: '#0012ff'
value: 5
- color: '#0032ff'
value: 10
- color: '#0084ff'
value: 15
- color: '#00d4ff'
value: 20
- color: '#00ff83'
value: 25
- color: '#3eff00'
value: 30
- color: '#fdff00'
value: 35
- color: '#FFd200'
value: 40
color_thresholds_transition: hard
entities:
- entity: sensor.temperature_xiaomi_kitchen
hours_to_show: 12
icon: 'mdi:thermometer'
name: Kitchen
points_per_hour: 1
show:
graph: line
style: >
ha-card {--label-badge-text-color: #b58e31;
--paper-item-icon-color: dodgerblue;
border: 1px solid grey;}
type: 'custom:mini-graph-card'
- animate: true
color_thresholds:
- color: '#0012ff'
value: 5
- color: '#0032ff'
value: 10
- color: '#0084ff'
value: 15
- color: '#00d4ff'
value: 20
- color: '#00ff83'
value: 25
- color: '#3eff00'
value: 30
- color: '#fdff00'
value: 35
- color: '#FFd200'
value: 40
color_thresholds_transition: hard
entities:
- entity: sensor.lounge_plant_temperature
hours_to_show: 12
icon: 'mdi:thermometer'
name: Lounge
points_per_hour: 1
show:
graph: line
style: >
ha-card {--label-badge-text-color: #b58e31;
--paper-item-icon-color: dodgerblue;
border: 1px solid grey;}
type: 'custom:mini-graph-card'
type: horizontal-stack
- cards:
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
custom_fields:
notification: >
[[[ var bri = Math.round(entity.attributes.brightness /
2.55); if
(entity.state === 'on') return (bri ? (bri+"%") : '') ]]]
entity: light.rumpus_lights
hold_action:
action: more-info
name: Rumpus
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- border-radius: 50%
- position: absolute
- left: 63%
- top: 5%
- height: 40px
- width: 40px
- font-size: 12px
- line-height: 20px
grid:
- position: relative
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: auto
color_type: icon
custom_fields:
notification: >
[[[ var bri = Math.round(entity.attributes.brightness /
2.55); if
(entity.state === 'on') return (bri ? (bri+"%") : '') ]]]
entity: light.gateway_light
name: Gateway
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- border-radius: 50%
- position: absolute
- left: 56%
- top: 3%
- height: 50px
- width: 50px
- font-size: 12px
- line-height: 20px
grid:
- position: relative
tap_action:
action: more-info
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
entity: light.stair_lights
name: Stairs
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
entity: light.colditz
icon: 'mdi:spotlight'
name: Garage
size: 50%
state:
- color: yellow
styles:
icon:
- animation: blink 3s ease infinite
value: 'on'
- color: orange
styles:
icon:
- animation: blink 3s ease infinite
value: unavailable
- operator: default
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
entity: light.foyer_front_light
name: Foyer
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
custom_fields:
notification: >
[[[ var bri = Math.round(entity.attributes.brightness /
2.55); if
(entity.state === 'on') return (bri ? (bri+"%") : '') ]]]
entity: light.tuya_dimmer
hold_action:
action: more-info
name: Master
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- border-radius: 50%
- position: absolute
- left: 62%
- top: 5%
- height: 40px
- width: 40px
- font-size: 12px
- line-height: 20px
grid:
- position: relative
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
custom_fields:
notification: >
[[[ var bri = Math.round(entity.attributes.brightness /
2.55); if
(entity.state === 'on') return (bri ? (bri+"%") : '') ]]]
entity: light.shelly_dimmer_kitchen
hold_action:
action: more-info
name: Kitchen
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- border-radius: 50%
- position: absolute
- left: 62%
- top: 5%
- height: 40px
- width: 40px
- font-size: 12px
- line-height: 20px
grid:
- position: relative
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
entity: light.family_room_lamp
icon: 'mdi:floor-lamp'
name: Lamp
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
custom_fields:
notification: >
[[[ var bri = Math.round(entity.attributes.brightness /
2.55); if
(entity.state === 'on') return (bri ? (bri+"%") : '') ]]]
entity: light.shelly_dimmer_lounge
hold_action:
action: more-info
name: Lounge
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- border-radius: 50%
- position: absolute
- left: 62%
- top: 5%
- height: 40px
- width: 40px
- font-size: 12px
- line-height: 20px
grid:
- position: relative
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
entity: light.bottle_lights
icon: 'mdi:bottle-tonic-outline'
name: Bottles
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: yellow
color_type: icon
entity: light.pool_light
icon: 'mdi:spotlight'
name: Deck
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
type: 'custom:button-card'
- aspect_ratio: 1.3/1
color: auto
color_type: icon
custom_fields:
notification: >
[[[ var bri = Math.round(entity.attributes.brightness /
2.55); if
(entity.state === 'on') return (bri ? (bri+"%") : '') ]]]
entity: light.pool_led
name: Pool LED
size: 50%
styles:
card:
- border-radius: 3%
- border: 'solid 2px rgba(255,255,255,.2)'
custom_fields:
notification:
- border-radius: 50%
- position: absolute
- left: 63%
- top: 5%
- height: 40px
- width: 40px
- font-size: 12px
- line-height: 20px
grid:
- position: relative
tap_action:
action: more-info
type: 'custom:button-card'
type: horizontal-stack
- cards:
- entity: sensor.humidity_xiaomi_outside
font_size: 1em
gauge:
animatedValue: true
borders: true
colorBorderInner: '#111'
colorBorderInnerEnd: '#333'
colorBorderMiddle: '#222'
colorBorderMiddleEnd: '#111'
colorBorderOuter: '#333'
colorBorderOuterEnd: '#111'
colorNumbers: '#ccc'
colorPlate: ''
colorTitle: '#f5f5f5'
colorUnits: '#f5f5f5'
height: 200
highlights:
- color: 'rgba(74, 123, 180, .75)'
from: 0
to: 40
- color: 'rgba(4, 205, 24, .75)'
from: 40
to: 70
- color: 'rgba(239, 93, 13, .75)'
from: 70
to: 100
majorTicks:
- '0'
- '10'
- '20'
- '30'
- '40'
- '50'
- '60'
- '70'
- '80'
- '90'
- '100'
maxValue: 100
minValue: 0
minorTicks: 5
startAngle: 45
strokeTicks: true
ticksAngle: 270
title: Outside Humidity
type: radial-gauge
units: (%)
valueBox: true
valueDec: 1
valueInt: 2
width: 205
type: 'custom:canvas-gauge-card'
- entity: sensor.temperature_xiaomi_outside
font_size: 1em
gauge:
animatedValue: true
borders: true
colorBorderInner: '#111'
colorBorderInnerEnd: '#333'
colorBorderMiddle: '#222'
colorBorderMiddleEnd: '#111'
colorBorderOuter: '#333'
colorBorderOuterEnd: '#111'
colorNumbers: '#ccc'
colorPlate: ''
colorTitle: '#f5f5f5'
colorUnits: '#f5f5f5'
height: 200
highlights:
- color: 'rgba(0, 68, 255, .75)'
from: 0
to: 5
- color: 'rgba(74, 123, 180, .75)'
from: 5
to: 15
- color: 'rgba(4, 205, 24, .75)'
from: 15
to: 25
- color: 'rgba(239, 93, 13, .75)'
from: 25
to: 40
majorTicks:
- '0'
- '5'
- '10'
- '15'
- '20'
- '25'
- '30'
- '35'
- '40'
maxValue: 40
minValue: 0
minorTicks: 5
startAngle: 45
strokeTicks: true
ticksAngle: 270
title: Outside Temp
type: radial-gauge
units: °C
valueBox: true
valueDec: 1
valueInt: 2
width: 205
type: 'custom:canvas-gauge-card'
- entity: sensor.pool_temperature
font_size: 1em
gauge:
animatedValue: true
borders: true
colorBorderInner: '#111'
colorBorderInnerEnd: '#333'
colorBorderMiddle: '#222'
colorBorderMiddleEnd: '#111'
colorBorderOuter: '#333'
colorBorderOuterEnd: '#111'
colorNumbers: '#ccc'
colorPlate: ''
colorTitle: '#f5f5f5'
colorUnits: '#f5f5f5'
height: 200
highlights:
- color: 'rgba(0, 68, 255, .75)'
from: 5
to: 21
- color: 'rgba(4, 205, 24, .75)'
from: 21
to: 26
- color: 'rgba(239, 93, 13, .75)'
from: 26
to: 40
majorTicks:
- '5'
- '10'
- '15'
- '20'
- '25'
- '30'
- '35'
- '40'
maxValue: 40
minValue: 5
minorTicks: 5
startAngle: 45
strokeTicks: true
ticksAngle: 270
title: Pool Temp
type: radial-gauge
units: °C
valueBox: true
valueDec: 1
valueInt: 2
width: 205
type: 'custom:canvas-gauge-card'
- entity: sensor.spa_temperature
font_size: 1em
gauge:
animatedValue: true
borders: true
colorBorderInner: '#111'
colorBorderInnerEnd: '#333'
colorBorderMiddle: '#222'
colorBorderMiddleEnd: '#111'
colorBorderOuter: '#333'
colorBorderOuterEnd: '#111'
colorNumbers: '#ccc'
colorPlate: ''
colorTitle: '#f5f5f5'
colorUnits: '#f5f5f5'
height: 200
highlights:
- color: 'rgba(0, 68, 255, .75)'
from: 5
to: 38
- color: 'rgba(4, 205, 24, .75)'
from: 38
to: 41
- color: 'rgba(239, 93, 13, .75)'
from: 41
to: 45
majorTicks:
- '5'
- '10'
- '15'
- '20'
- '25'
- '30'
- '35'
- '40'
- '45'
maxValue: 45
minValue: 5
minorTicks: 5
startAngle: 45
strokeTicks: true
ticksAngle: 270
title: Spa Temp
type: radial-gauge
units: °C
valueBox: true
valueDec: 1
valueInt: 2
width: 205
type: 'custom:canvas-gauge-card'
- entities:
- entity: input_boolean.swimming_season
name: Swim Season
- entity: input_select.pool_pump
- entity: sensor.aggregate_pool_level
name: Pool Level
show_header_toggle: false
type: entities
- entities:
- entity: sensor.pool_pump_time_on
name: Pump Hrs
- entity: sensor.w_reg12
entity_row: true
height: 30
icon: 'mdi:transmission-tower'
max: 12000
name: Power
severity:
- color: Green
from: 0
to: 1000
- color: Orange
from: 1000
to: 5000
- color: Red
from: 5000
to: 12000
type: 'custom:bar-card'
- entity: sensor.spa_element_power
entity_row: true
height: 30
icon: 'mdi:hot-tub'
max: 3500
name: SPA
severity:
- color: Green
from: 0
to: 1000
- color: Orange
from: 1000
to: 2000
- color: Red
from: 2000
to: 3500
type: 'custom:bar-card'
- entity: sensor.hwc_element_status
entity_row: true
height: 30
icon: 'mdi:water-boiler'
max: 3500
name: HWC
severity:
- color: Green
from: 0
to: 0
- color: Red
from: 1
to: 1
type: 'custom:bar-card'
show_header_toggle: false
theme: ''
type: entities
type: horizontal-stack
type: vertical-stack
icon: 'mdi:tablet'
panel: true
path: tablets
theme: slate
title: tablets
visible:
- user: 1aab1dfa28b9485880ae010f21db6976
- user: 1bcb704e16984480a82b6e9bdf61ae22
- badges: []
cards:
- cards:
- color_stops:
'40': '#3443eb'
'42': '#3443eb'
'45': '#3465eb'
'50': '#3474eb'
'55': '#f7911b'
'60': '#f76c1b'
'65': '#f74b1b'
'70': '#1bf7da'
'75': '#1bf794'
'80': '#8f040e'
entities:
- area: iGrill Temp
decimals: 1
entity: sensor.igrill_thermometer
icon: 'mdi:thermometer'
name: []
- decimals: 0
entity: input_number.igrill_probe_1_target
name: Preset
- decimals: 0
entity: sensor.igrill_battery
name: Battery
horseshoe_scale:
color: var(--primary-background-color)
max: 80
min: 40
width: 6
horseshoe_state:
color: '#FFF6E3'
layout:
areas:
- entity_index: 0
id: 0
styles:
- font-size: 0.7em;
xpos: 50
ypos: 85
hlines:
- color: '#FFF6E3'
id: 0
length: 40
styles:
- stroke: var(--primary-text-color);
- stroke-width: 5;
- opacity: 0.9;
- stroke-linecap: round;
xpos: 50
ypos: 38
names:
- entity_index: 0
id: 0
styles:
- font-size: 1.2em;
xpos: 50
ypos: 100
- entity_index: 1
id: 1
styles:
- font-size: 0.8em;
- text-anchor: end;
- opacity: 0.7;
xpos: 46
ypos: 62
- entity_index: 2
id: 2
styles:
- font-size: 0.8em;
- text-anchor: start;
- opacity: 0.7;
xpos: 54
ypos: 62
states:
- entity_index: 0
id: 0
styles:
- font-size: 3em;
- opacity: 0.9;
xpos: 50
ypos: 30
- entity_index: 1
id: 1
styles:
- font-size: 1.5em;
- text-anchor: end;
xpos: 46
ypos: 54
- entity_index: 2
id: 2
styles:
- font-size: 1.5em;
- text-anchor: start;
xpos: 54
ypos: 54
vlines:
- id: 0
length: 20
styles:
- stroke: var(--primary-text-color);
- opacity: 0.5;
- stroke-width: 2;
- stroke-linecap: round;
xpos: 50
ypos: 56
show:
horseshoe_style: lineargradient
scale_tickmarks: true
type: 'custom:flex-horseshoe-card'
- entities:
- entity: input_number.igrill_probe_1_target
- entity: sensor.igrill_pretarget_alert_temp_probe_1
- entity: sensor.igrill_target_alert_temp_probe_1
- entity: automation.announce_igrill_offline
- entity: automation.announce_igrill_online
- entity: automation.announce_igrill_probe_1_at_prealert_temp
- entity: automation.announce_igrill_probe_1_at_target_temp
- entity: input_select.igrill_meat_selection
show_header_toggle: false
title: Weber iGrill
type: entities
state_color: true
type: horizontal-stack
icon: 'mdi:thermometer'
panel: true
path: thermometer
title: iGrill
- badges: []
cards:
- cards:
- aspect_ratio: 0%
camera_image: camera.proxy_entry_720_2fps
camera_view: live
entities:
- entity: lock.frontdoor_deadbolt
- entity: light.foyer_front_light
- entity: script.activate_gateway_siren
image: 'https://demo.home-assistant.io/stub_config/kitchen.png'
type: picture-glance
type: horizontal-stack
icon: 'mdi:cctv'
panel: true
path: camera
- badges: []
cards:
- aspect_ratio: 50%
type: iframe
url: >-
https://embed.windy.com/embed2.html?lat=-36.851&lon=174.768&zoom=5&level=surface&overlay=wind&menu=&message=&marker=&calendar=&pressure=&type=map&location=coordinates&detail=&detailLat=-36.851&detailLon=174.768&metricWind=default&metricTemp=default&radarRange=-1
icon: 'mdi:cloud'
panel: true
path: wind
title: ''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment