424 lines
16 KiB
Plaintext
424 lines
16 KiB
Plaintext
{
|
|
"version": 1,
|
|
"minor_version": 1,
|
|
"key": "lovelace.kobo_dashboard",
|
|
"data": {
|
|
"config": {
|
|
"wallpanel": {
|
|
"enabled": true,
|
|
"hide_toolbar": false,
|
|
"hide_sidebar": true,
|
|
"fullscreen": false,
|
|
"idle_time": 0
|
|
},
|
|
"views": [
|
|
{
|
|
"type": "sections",
|
|
"sections": [
|
|
{
|
|
"type": "grid",
|
|
"cards": [
|
|
{
|
|
"type": "weather-forecast",
|
|
"entity": "weather.forecast_home",
|
|
"forecast_type": "hourly"
|
|
},
|
|
{
|
|
"type": "vertical-stack",
|
|
"cards": [
|
|
{
|
|
"type": "grid",
|
|
"square": false,
|
|
"columns": 2,
|
|
"cards": [
|
|
{
|
|
"type": "entity",
|
|
"entity": "sensor.living_room_living_room_temperature",
|
|
"name": "Living Room Temp"
|
|
},
|
|
{
|
|
"type": "entity",
|
|
"entity": "sensor.basement_temperature",
|
|
"name": "Basement Temp"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "vertical-stack",
|
|
"cards": [
|
|
{
|
|
"type": "grid",
|
|
"square": false,
|
|
"columns": 2,
|
|
"cards": [
|
|
{
|
|
"type": "entity",
|
|
"entity": "sensor.pool_temperature",
|
|
"name": "Pool Temperature"
|
|
},
|
|
{
|
|
"type": "entity",
|
|
"entity": "sensor.seatemperatures_sandbanks_today",
|
|
"name": "Sandbanks"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "vertical-stack",
|
|
"cards": [
|
|
{
|
|
"type": "grid",
|
|
"square": false,
|
|
"columns": 2,
|
|
"cards": [
|
|
{
|
|
"type": "entity",
|
|
"entity": "input_boolean.in_a_meeting",
|
|
"name": "In Meeting",
|
|
"icon": "mdi:office-building",
|
|
"state_color": true
|
|
},
|
|
{
|
|
"type": "custom:button-card",
|
|
"entity": "light.night_light",
|
|
"name": "Night Light",
|
|
"show_icon": false,
|
|
"show_state": false,
|
|
"show_label": true,
|
|
"label": "[[[\n if (states['light.night_light'].state === 'off') return 'Off';\n const rgb = states['light.night_light'].attributes.rgb_color;\n if (!rgb) return states['light.night_light'].state;\n if (rgb[0] > rgb[1] && rgb[0] > rgb[2]) return 'Red';\n if (rgb[1] > rgb[0] && rgb[1] > rgb[2]) return 'Green';\n return 'Other Color';\n]]]\n",
|
|
"styles": {
|
|
"label": [
|
|
{
|
|
"font-weight": "bold"
|
|
},
|
|
{
|
|
"color": "[[[\n if (states['light.night_light'].state === 'off') return '#888888';\n const rgb = states['light.night_light'].attributes.rgb_color;\n if (!rgb) return 'var(--primary-text-color)';\n if (rgb[0] > rgb[1] && rgb[0] > rgb[2]) return '#ff4d4d';\n if (rgb[1] > rgb[0] && rgb[1] > rgb[2]) return '#4dff4d';\n return 'var(--primary-text-color)';\n]]]\n"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "grid",
|
|
"cards": [
|
|
{
|
|
"entities": [
|
|
{
|
|
"entity": "calendar.family_calendar",
|
|
"show_time": true,
|
|
"show_description": true,
|
|
"split_multiday_events": false
|
|
}
|
|
],
|
|
"weather": {
|
|
"position": "date",
|
|
"date": {
|
|
"show_conditions": true,
|
|
"show_high_temp": true,
|
|
"show_low_temp": false,
|
|
"show_uv_index": false,
|
|
"uv_index_threshold": 0,
|
|
"icon_size": "14px",
|
|
"font_size": "12px",
|
|
"color": "var(--primary-text-color)"
|
|
},
|
|
"event": {
|
|
"show_conditions": true,
|
|
"show_temp": true,
|
|
"show_uv_index": false,
|
|
"uv_index_threshold": 0,
|
|
"icon_size": "14px",
|
|
"font_size": "12px",
|
|
"color": "var(--primary-text-color)"
|
|
},
|
|
"entity": "weather.forecast_home"
|
|
},
|
|
"type": "custom:calendar-card-pro"
|
|
},
|
|
{
|
|
"type": "vertical-stack",
|
|
"cards": [
|
|
{
|
|
"type": "gauge",
|
|
"entity": "counter.dishwasher_wash_cycles",
|
|
"name": "Dishwasher Filter Life",
|
|
"min": 0,
|
|
"max": 50,
|
|
"needle": true,
|
|
"severity": {
|
|
"green": 0,
|
|
"yellow": 10,
|
|
"red": 30
|
|
}
|
|
}
|
|
],
|
|
"grid_options": {
|
|
"columns": 6,
|
|
"rows": "auto"
|
|
}
|
|
},
|
|
{
|
|
"type": "vertical-stack",
|
|
"cards": [
|
|
{
|
|
"type": "custom:button-card",
|
|
"entity": "binary_sensor.150633095332665_door",
|
|
"name": "Dishwasher Door",
|
|
"show_state": true,
|
|
"show_icon": false,
|
|
"custom_fields": {
|
|
"custom_icon": "[[[\n let iconName = entity.state === 'on' ? 'mdi:door-open' : 'mdi:door-closed';\n let iconColor = entity.state === 'on' ? 'var(--paper-item-icon-active-color, #fdd835)' : 'var(--paper-item-icon-color, #44739e)';\n return `<ha-icon icon=\"${iconName}\" style=\"width: 24px; height: 24px; color: ${iconColor};\"></ha-icon>`;\n]]]\n"
|
|
},
|
|
"styles": {
|
|
"grid": [
|
|
{
|
|
"grid-template-areas": "\"custom_icon s\" \"n n\""
|
|
},
|
|
{
|
|
"grid-template-columns": "auto 1fr"
|
|
},
|
|
{
|
|
"grid-template-rows": "auto auto"
|
|
}
|
|
],
|
|
"card": [
|
|
{
|
|
"padding": "12px"
|
|
},
|
|
{
|
|
"border-radius": "12px"
|
|
},
|
|
{
|
|
"height": "82px"
|
|
}
|
|
],
|
|
"custom_fields": {
|
|
"custom_icon": [
|
|
{
|
|
"justify-self": "start"
|
|
},
|
|
{
|
|
"align-self": "center"
|
|
},
|
|
{
|
|
"margin-right": "8px"
|
|
},
|
|
{
|
|
"display": "flex"
|
|
}
|
|
]
|
|
},
|
|
"state": [
|
|
{
|
|
"font-size": "28px"
|
|
},
|
|
{
|
|
"font-weight": "bold"
|
|
},
|
|
{
|
|
"justify-self": "start"
|
|
},
|
|
{
|
|
"align-self": "center"
|
|
},
|
|
{
|
|
"text-transform": "capitalize"
|
|
}
|
|
],
|
|
"name": [
|
|
{
|
|
"justify-self": "start"
|
|
},
|
|
{
|
|
"font-size": "14px"
|
|
},
|
|
{
|
|
"color": "var(--secondary-text-color)"
|
|
},
|
|
{
|
|
"margin-top": "4px"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "custom:button-card",
|
|
"entity": "sensor.150633095332665_temperature",
|
|
"name": "Dishwasher Temp",
|
|
"show_state": true,
|
|
"show_icon": false,
|
|
"custom_fields": {
|
|
"custom_icon": "[[[\n let temp = parseFloat(entity.state);\n let iconColor = temp > 40 ? '#ef5350' : 'var(--paper-item-icon-color, #44739e)';\n return `<ha-icon icon=\"mdi:thermometer\" style=\"width: 24px; height: 24px; color: ${iconColor};\"></ha-icon>`;\n]]]\n"
|
|
},
|
|
"styles": {
|
|
"grid": [
|
|
{
|
|
"grid-template-areas": "\"custom_icon s\" \"n n\""
|
|
},
|
|
{
|
|
"grid-template-columns": "auto 1fr"
|
|
},
|
|
{
|
|
"grid-template-rows": "auto auto"
|
|
}
|
|
],
|
|
"card": [
|
|
{
|
|
"padding": "12px"
|
|
},
|
|
{
|
|
"border-radius": "12px"
|
|
},
|
|
{
|
|
"height": "82px"
|
|
}
|
|
],
|
|
"custom_fields": {
|
|
"custom_icon": [
|
|
{
|
|
"justify-self": "start"
|
|
},
|
|
{
|
|
"align-self": "center"
|
|
},
|
|
{
|
|
"margin-right": "8px"
|
|
},
|
|
{
|
|
"display": "flex"
|
|
}
|
|
]
|
|
},
|
|
"state": [
|
|
{
|
|
"font-size": "28px"
|
|
},
|
|
{
|
|
"font-weight": "bold"
|
|
},
|
|
{
|
|
"justify-self": "start"
|
|
},
|
|
{
|
|
"align-self": "center"
|
|
},
|
|
{
|
|
"text-transform": "capitalize"
|
|
}
|
|
],
|
|
"name": [
|
|
{
|
|
"justify-self": "start"
|
|
},
|
|
{
|
|
"font-size": "14px"
|
|
},
|
|
{
|
|
"color": "var(--secondary-text-color)"
|
|
},
|
|
{
|
|
"margin-top": "4px"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"grid_options": {
|
|
"columns": 6,
|
|
"rows": "auto"
|
|
}
|
|
},
|
|
{
|
|
"type": "vertical-stack",
|
|
"cards": [
|
|
{
|
|
"type": "conditional",
|
|
"conditions": [
|
|
{
|
|
"condition": "state",
|
|
"entity": "input_boolean.in_a_meeting",
|
|
"state": "off"
|
|
}
|
|
],
|
|
"card": {
|
|
"show_name": true,
|
|
"show_icon": false,
|
|
"type": "button",
|
|
"entity": "input_boolean.in_a_meeting",
|
|
"name": "✅ AVAILABLE - COME IN",
|
|
"show_state": false
|
|
}
|
|
},
|
|
{
|
|
"type": "conditional",
|
|
"conditions": [
|
|
{
|
|
"condition": "state",
|
|
"entity": "input_boolean.in_a_meeting",
|
|
"state": "on"
|
|
}
|
|
],
|
|
"card": {
|
|
"show_name": true,
|
|
"show_icon": false,
|
|
"type": "button",
|
|
"entity": "input_boolean.in_a_meeting",
|
|
"name": "✋ DO NOT ENTER - IN A MEETING",
|
|
"show_state": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "vertical-stack",
|
|
"cards": [
|
|
{
|
|
"type": "grid",
|
|
"square": false,
|
|
"columns": 2,
|
|
"cards": [
|
|
{
|
|
"type": "entity",
|
|
"entity": "sensor.google_travel_time_work",
|
|
"name": "Work"
|
|
},
|
|
{
|
|
"type": "entity",
|
|
"entity": "sensor.google_travel_time_parents",
|
|
"name": "Parents"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "grid",
|
|
"cards": [
|
|
{
|
|
"show_state": false,
|
|
"show_name": false,
|
|
"camera_view": "auto",
|
|
"fit_mode": "cover",
|
|
"type": "picture-entity",
|
|
"entity": "camera.album_slideshow_google_screensaver",
|
|
"camera_image": "camera.album_slideshow_google_screensaver"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |