182 lines
5.0 KiB
Nix
182 lines
5.0 KiB
Nix
# Home Assistant dashboard definitions for nuc-nixos.
|
||
# Imported by default.nix and passed into the home-assistant module's
|
||
# `dashboards` option.
|
||
{ namespace, ... }:
|
||
{
|
||
${namespace}.services.home-assistant.dashboards = [
|
||
{
|
||
title = "Pets & Air Quality";
|
||
path = "pets-air";
|
||
icon = "mdi:paw";
|
||
cards = [
|
||
{
|
||
type = "markdown";
|
||
title = "🐾 Pets";
|
||
content = "## Pet Management";
|
||
}
|
||
{
|
||
type = "horizontal-stack";
|
||
cards = [
|
||
{
|
||
type = "entity";
|
||
entity = "select.joey_smart_feeder_manual_feed_quantity";
|
||
name = "Joey Feed";
|
||
}
|
||
{
|
||
type = "entity";
|
||
entity = "select.luci_smart_feeder_manual_feed_quantity";
|
||
name = "Luci Feed";
|
||
}
|
||
{
|
||
type = "entity";
|
||
entity = "text.joey_smart_feeder_text_on_display";
|
||
name = "Joey Display";
|
||
}
|
||
{
|
||
type = "entity";
|
||
entity = "text.luci_smart_feeder_text_on_display";
|
||
name = "Luci Display";
|
||
}
|
||
];
|
||
}
|
||
{
|
||
type = "entities";
|
||
title = "🐱 Litter Robot";
|
||
show_header_toggle = false;
|
||
entities = [
|
||
"vacuum.litter_robot_4_litter_box"
|
||
{
|
||
type = "button";
|
||
entity = "button.garbage_goober_deep";
|
||
name = "Deep Clean";
|
||
}
|
||
{
|
||
type = "button";
|
||
entity = "button.garbage_goober_pet_area_cleaning";
|
||
name = "Pet Area";
|
||
}
|
||
{
|
||
type = "button";
|
||
entity = "button.garbage_goober_intensive_sweeping";
|
||
name = "Intensive";
|
||
}
|
||
];
|
||
}
|
||
{
|
||
type = "markdown";
|
||
title = "🌬️ Air Quality";
|
||
content = "## Air Purifiers & Humidity";
|
||
}
|
||
{
|
||
type = "horizontal-stack";
|
||
cards = [
|
||
{
|
||
type = "tile";
|
||
entity = "fan.living_room_air_purifier";
|
||
name = "Living Room";
|
||
icon = "mdi:air-purifier";
|
||
features = [
|
||
{
|
||
type = "fan-speed";
|
||
speed_count = 3;
|
||
}
|
||
];
|
||
}
|
||
{
|
||
type = "tile";
|
||
entity = "fan.bedroom_air_purifier";
|
||
name = "Bedroom";
|
||
icon = "mdi:air-purifier";
|
||
features = [
|
||
{
|
||
type = "fan-speed";
|
||
speed_count = 3;
|
||
}
|
||
];
|
||
}
|
||
{
|
||
type = "tile";
|
||
entity = "fan.bedroom_fan";
|
||
name = "Bedroom Fan";
|
||
icon = "mdi:fan";
|
||
features = [
|
||
{
|
||
type = "fan-speed";
|
||
speed_count = 4;
|
||
presets = [
|
||
{
|
||
name = "auto";
|
||
icon = "mdi:fan-auto";
|
||
}
|
||
{
|
||
name = "low";
|
||
icon = "mdi:fan-speed-1";
|
||
}
|
||
{
|
||
name = "medium";
|
||
icon = "mdi:fan-speed-2";
|
||
}
|
||
{
|
||
name = "high";
|
||
icon = "mdi:fan-speed-3";
|
||
}
|
||
];
|
||
}
|
||
];
|
||
}
|
||
];
|
||
}
|
||
{
|
||
type = "horizontal-stack";
|
||
cards = [
|
||
{
|
||
type = "tile";
|
||
entity = "humidifier.bedroom_humidifier";
|
||
name = "Bedroom Humidifier";
|
||
icon = "mdi:water-percent";
|
||
features = [
|
||
{
|
||
type = "humidifier-toggle";
|
||
}
|
||
{
|
||
type = "humidifier-modes";
|
||
modes = [
|
||
{
|
||
name = "auto";
|
||
icon = "mdi:refresh-auto";
|
||
}
|
||
{
|
||
name = "low";
|
||
icon = "mdi:water-percent";
|
||
}
|
||
{
|
||
name = "medium";
|
||
icon = "mdi:water-percent";
|
||
}
|
||
{
|
||
name = "high";
|
||
icon = "mdi:water-percent";
|
||
}
|
||
];
|
||
}
|
||
{
|
||
type = "humidifier-target-humidity";
|
||
}
|
||
];
|
||
}
|
||
];
|
||
}
|
||
{
|
||
type = "entities";
|
||
title = "⚠️ Status";
|
||
show_header_toggle = false;
|
||
entities = [
|
||
"binary_sensor.bedroom_humidifier_low_water"
|
||
"binary_sensor.bedroom_humidifier_water_tank_lifted"
|
||
];
|
||
}
|
||
];
|
||
}
|
||
];
|
||
}
|