feat(hass): hide remote if unavailable
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2024-10-31 10:57:50 -04:00
parent e46261e140
commit 1148c8edef

View file

@ -2,10 +2,12 @@
caule-themes-src, caule-themes-src,
dracul-ha-src, dracul-ha-src,
material-rounded-theme-src, material-rounded-theme-src,
lib,
pkgs, pkgs,
self, self,
... ...
}: let }: let
inherit (lib) singleton;
inherit (pkgs.writers) writeYAML; inherit (pkgs.writers) writeYAML;
in { in {
services.home-assistant = { services.home-assistant = {
@ -109,201 +111,204 @@ in {
config.template = [ config.template = [
{ {
sensor = [ sensor = singleton {
{ name = "Material Rounded Base Color Matt";
name = "Material Rounded Base Color Matt"; unique_id = "material_rounded_base_color_matt";
unique_id = "material_rounded_base_color_matt"; state = ''{{ states("sensor.pixel_8_accent_color") }}'';
state = ''{{ states("sensor.pixel_8_accent_color") }}''; };
}
];
} }
]; ];
lovelaceConfig = { lovelaceConfig = {
title = "Our House"; title = "Our House";
views = [ # I don't want multiple views
{ views = singleton {
path = "home"; path = "home";
title = "Home"; title = "Home";
cards = [ cards = [
{ {
type = "entities"; type = "entities";
entities = [ entities = [
"switch.smartplug1" "switch.smartplug1"
"switch.smartplug3" "switch.smartplug3"
]; ];
} }
{ {
type = "entities"; type = "entities";
entities = [ entities = [
"timer.assist_timer1" "timer.assist_timer1"
"timer.assist_timer2" "timer.assist_timer2"
"timer.assist_timer3" "timer.assist_timer3"
]; ];
} }
{ {
type = "custom:android-tv-card"; type = "custom:android-tv-card";
media_player_id = "media_player.living_room_speaker"; visibility = singleton {
keyboard_id = "remote.android_tv_192_168_0_106"; condition = "state";
remote_id = "remote.onn_4k_streaming_box"; entity = "remote.onn_4k_streaming_box";
state_not = ["unavailable" "unknown"];
};
rows = [ media_player_id = "media_player.living_room_speaker";
"navigation_buttons" keyboard_id = "remote.android_tv_192_168_0_106";
[null "slider" null] remote_id = "remote.onn_4k_streaming_box";
[null]
["jellyfin" "home" "back" "keyboard"]
[null]
];
custom_actions = [ rows = [
{ "navigation_buttons"
name = "center"; [null "slider" null]
type = "button"; [null]
icon = "mdi:checkbox-blank-circle"; ["jellyfin" "home" "back" "keyboard"]
[null]
];
styles = '' custom_actions = [
:host { {
--icon-color: rgb(94, 94, 94); name = "center";
--size: 200px; type = "button";
background: rgb(31, 31, 31); icon = "mdi:checkbox-blank-circle";
border-radius: 200px;
margin: -70px;
padding: 70px;
}
'';
tap_action = { styles = ''
action = "key"; :host {
key = "DPAD_CENTER"; --icon-color: rgb(94, 94, 94);
--size: 200px;
background: rgb(31, 31, 31);
border-radius: 200px;
margin: -70px;
padding: 70px;
}
'';
tap_action = {
action = "key";
key = "DPAD_CENTER";
};
}
{
name = "up";
type = "button";
icon = "mdi:chevron-up";
styles = ''
:host {
--icon-color: rgb(197, 199, 197);
z-index: 2;
top: 25px;
height: 90px;
width: 300px;
}
'';
hold_action = {action = "repeat";};
tap_action = {
action = "key";
key = "DPAD_UP";
};
}
{
name = "down";
type = "button";
icon = "mdi:chevron-down";
styles = ''
:host {
--icon-color: rgb(197, 199, 197);
z-index: 2;
bottom: 25px;
height: 90px;
width: 300px;
}
'';
hold_action = {action = "repeat";};
tap_action = {
action = "key";
key = "DPAD_DOWN";
};
}
{
name = "left";
type = "button";
icon = "mdi:chevron-left";
styles = ''
:host {
--icon-color: rgb(197, 199, 197);
z-index: 2;
left: 30px;
height: 170px;
width: 90px;
}
'';
hold_action = {action = "repeat";};
tap_action = {
action = "key";
key = "DPAD_LEFT";
};
}
{
name = "right";
type = "button";
icon = "mdi:chevron-right";
styles = ''
:host {
--icon-color: rgb(197, 199, 197);
z-index: 2;
right: 30px;
height: 170px;
width: 90px;
}
'';
hold_action = {action = "repeat";};
tap_action = {
action = "key";
key = "DPAD_RIGHT";
};
}
{
name = "slider";
type = "slider";
icon = "mdi:volume-high";
range = [0 1];
step = 0.01;
tap_action = {
action = "perform-action";
perform_action = "media_player.volume_set";
data = {
volume_level = "{{ value | float }}";
}; };
} };
value_attribute = "volume_level";
}
];
{ styles = ''
name = "up"; #row-1 {
type = "button"; justify-content: center;
icon = "mdi:chevron-up"; }
styles = '' #row-2 {
:host { justify-content: center;
--icon-color: rgb(197, 199, 197); }
z-index: 2;
top: 25px;
height: 90px;
width: 300px;
}
'';
hold_action = {action = "repeat";}; #row-3 {
tap_action = { justify-content: center;
action = "key"; }
key = "DPAD_UP"; '';
}; }
} ];
};
{
name = "down";
type = "button";
icon = "mdi:chevron-down";
styles = ''
:host {
--icon-color: rgb(197, 199, 197);
z-index: 2;
bottom: 25px;
height: 90px;
width: 300px;
}
'';
hold_action = {action = "repeat";};
tap_action = {
action = "key";
key = "DPAD_DOWN";
};
}
{
name = "left";
type = "button";
icon = "mdi:chevron-left";
styles = ''
:host {
--icon-color: rgb(197, 199, 197);
z-index: 2;
left: 30px;
height: 170px;
width: 90px;
}
'';
hold_action = {action = "repeat";};
tap_action = {
action = "key";
key = "DPAD_LEFT";
};
}
{
name = "right";
type = "button";
icon = "mdi:chevron-right";
styles = ''
:host {
--icon-color: rgb(197, 199, 197);
z-index: 2;
right: 30px;
height: 170px;
width: 90px;
}
'';
hold_action = {action = "repeat";};
tap_action = {
action = "key";
key = "DPAD_RIGHT";
};
}
{
name = "slider";
type = "slider";
icon = "mdi:volume-high";
range = [0 1];
step = 0.01;
tap_action = {
action = "perform-action";
perform_action = "media_player.volume_set";
data = {
volume_level = "{{ value | float }}";
};
};
value_attribute = "volume_level";
}
];
styles = ''
#row-1 {
justify-content: center;
}
#row-2 {
justify-content: center;
}
#row-3 {
justify-content: center;
}
'';
}
];
}
];
}; };
config.lovelace.dashboards = { config.lovelace.dashboards = {