More Sectionals!

This commit is contained in:
CeeWeasel
2025-07-11 14:26:20 -04:00
parent 919c396f8c
commit c6210fa0ee
33 changed files with 874 additions and 847 deletions
+93 -228
View File
@@ -1,31 +1,95 @@
theme: Mushroom
type: sections
max_columns: 4
title: Media
path: media
icon: mdi:music
badges: []
subview: true
cards:
# Back button and title
- !include /config/lovelace/templates/front-room-roku-card.yaml
- !include /config/lovelace/templates/great-room-roku-card.yaml
- type: vertical-stack
sections:
- type: grid
cards:
- type: custom:mini-media-player
entity: media_player.front_room_tv
toggle_power: true
artwork: material
info: short
source: full
volume_stateless: false
group: false
idle_view:
when_standby: true
when_idle: true
- type: custom:firemote-card
entity: media_player.front_room_tv
device_family: roku
device_type: roku-ultra-2020
compatibility_mode: default
roku_remote_entity: remote.front_room_tv
app_launch_1: youtube
app_launch_2: disney-plus
app_launch_3: max
app_launch_4: hulu
app_launch_5: function-find-my-remote
visible_name_text: Front Room
name_position: top
visible_name_text_color: '#ffffff'
grid_options:
columns: full
defaultRemoteStyle_override: RVR
app_launcher_relative_size: '8'
useCustomSkin: true
dpad_style: minimal
scale: '100'
column_span: 1
- type: grid
cards:
- type: custom:mini-media-player
entity: media_player.downstairs_roku
toggle_power: false
artwork: cover
info: scroll
source: icon
volume_stateless: false
group: false
idle_view:
when_idle: true
when_standby: true
- type: custom:firemote-card
entity: media_player.downstairs_roku
device_family: roku
device_type: roku-ultra-2020
compatibility_mode: default
roku_remote_entity: remote.downstairs_roku
app_launch_1: youtube
app_launch_2: disney-plus
app_launch_3: max
app_launch_4: hulu
app_launch_5: function-find-my-remote
visible_name_text: Great Room
name_position: top
visible_name_text_color: '#ffffff'
grid_options:
columns: full
defaultRemoteStyle_override: RVR
app_launcher_relative_size: '8'
scale: '100'
column_span: 1
- type: grid
cards:
# Primary YouTube Music Player card
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-entity-card
entity: input_select.ytube_music_player_playlist
entity: select.ytube_music_player_playlist
name: Playlist
layout: vertical
hide_icon: true
icon_type: none
primary_info: state
secondary_info: name
- type: custom:mushroom-entity-card
entity: input_select.ytube_music_player_speakers
entity: select.ytube_music_player_speaker
name: Speakers
hide_icon: true
icon_type: none
layout: vertical
primary_info: state
secondary_info: name
@@ -44,24 +108,26 @@ cards:
- previous
- next
- play_pause_stop
- type: vertical-stack
cards:
- !include /config/lovelace/templates/card-mini-media-player.yaml
- !include /config/lovelace/templates/card-mini-media-player.yaml
- type: horizontal-stack
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.ytube_music_player_playcontinuous
entity: select.ytube_music_player_play_mode
layout: vertical
hide_icon: true
name: Continuous?
icon_type: none
name: Play Mode
fill_container: true
- type: custom:mushroom-entity-card
entity: input_select.ytube_music_player_playmode
entity: select.ytube_music_player_repeat_mode
layout: vertical
hide_icon: true
name: Repeat Mode
icon_type: none
fill_container: true
- type: custom:mushroom-entity-card
entity: input_select.ytube_music_player_source
entity: select.ytube_music_player_radio_mode
layout: vertical
hide_icon: true
icon_type: none
fill_container: true
- type: custom:button-card
styles:
card:
@@ -69,12 +135,14 @@ cards:
state:
- operator: template
value: >
[[[ return states['media_player.ytube_music_player'].attributes.likeStatus
[[[ return
states['media_player.ytube_music_player'].attributes.likeStatus
== "LIKE"]]]
icon: mdi:thumb-up
- operator: template
value: >
[[[ return states['media_player.ytube_music_player'].attributes.likeStatus
[[[ return
states['media_player.ytube_music_player'].attributes.likeStatus
== "INDIFFERENT"]]]
icon: mdi:thumb-up-outline
- operator: default
@@ -86,207 +154,4 @@ cards:
service_data:
entity_id: media_player.ytube_music_player
command: rate_track
parameters: thumb_toggle_up_middle
# Lyrics
- type: conditional
conditions:
- entity: media_player.ytube_music_player
state: playing
card:
type: vertical-stack
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.ytube_music_player_show_lyrics
name: Lyrics
secondary_info: none
tap_action:
action: toggle
- type: conditional
conditions:
- entity: input_boolean.ytube_music_player_show_lyrics
state: "on"
card:
type: markdown
content: >-
{% if is_state('media_player.ytube_music_player','playing') %}{{
state_attr("sensor.ytube_music_player_extra", "lyrics") }}{% else
%}Player off{% endif %}
# Speaker list
- type: conditional
conditions:
- entity: media_player.ytube_music_player
state: playing
card:
type: vertical-stack
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.ytube_music_player_show_speakers
name: Speakers
secondary_info: none
tap_action:
action: toggle
- type: conditional
conditions:
- entity: input_boolean.ytube_music_player_show_speakers
state: "on"
card:
type: vertical-stack
cards:
- type: conditional
conditions:
- entity: media_player.front_room_hub
state_not: "off"
card:
entity: media_player.front_room_hub
name: Front Room Hub
type: custom:mini-media-player
group: true
hide_when_off: true
- type: conditional
conditions:
- entity: media_player.kitchen
state_not: "off"
card:
entity: media_player.kitchen
name: Kitchen
type: custom:mini-media-player
group: true
hide_when_off: true
- type: conditional
conditions:
- entity: media_player.bathroom_mini
state_not: "off"
card:
entity: media_player.bathroom_mini
name: Bathroom Mini
type: custom:mini-media-player
group: true
- type: conditional
conditions:
- entity: media_player.nursery_hub
state_not: "off"
card:
entity: media_player.nursery_hub
name: Nursery Hub
type: custom:mini-media-player
group: true
- type: conditional
conditions:
- entity: media_player.master_bedroom_clock
state_not: "off"
card:
entity: media_player.master_bedroom_clock
name: Master Bedroom Clock
type: custom:mini-media-player
group: true
- type: conditional
conditions:
- entity: media_player.computer_area_hub
state_not: "off"
card:
entity: media_player.computer_area_hub
name: Computer Area Clock
type: custom:mini-media-player
group: true
- type: conditional
conditions:
- entity: media_player.garage
state_not: "off"
card:
entity: media_player.garage
name: Garage
type: custom:mini-media-player
group: true
- type: conditional
conditions:
- entity: media_player.deck
state_not: "off"
card:
entity: media_player.deck
name: Deck
type: custom:mini-media-player
group: true
- type: conditional
conditions:
- entity: media_player.great_room
state_not: "off"
card:
entity: media_player.great_room
name: Great Room
type: custom:mini-media-player
group: true
# Playlist
- type: conditional
conditions:
- entity: media_player.ytube_music_player
state: playing
card:
type: vertical-stack
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.ytube_music_player_show_playlist
name: Playlist
secondary_info: none
tap_action:
action: toggle
- type: conditional
conditions:
- entity: input_boolean.ytube_music_player_show_playlist
state: "on"
card:
type: markdown
content: >-
{% if is_state('media_player.ytube_music_player','playing') %}
{% for i in
range(0,state_attr("sensor.ytube_music_player_extra","total_tracks"))
%}
{% if i == state_attr("media_player.ytube_music_player","current_track") %}Track {{i+1}} of {{state_attr('sensor.ytube_music_player_extra','total_tracks')}}{% endif %}
{%- endfor %}{% else %}Player off{% endif %}
{% if is_state('media_player.ytube_music_player','playing') %}{%
for i in range(0,state_attr("sensor.ytube_music_player_extra",
"total_tracks")) %}
{% if i == state_attr("media_player.ytube_music_player",
"current_track") %}**{% endif %}\[{{i+1}}] {{
state_attr("sensor.ytube_music_player_extra", "tracks")[i] }}{%
if i == state_attr("media_player.ytube_music_player",
"current_track") %}**{% endif %} {%- endfor %}{% else %}Player
off{% endif %}
# Song Details
- type: conditional
conditions:
- entity: media_player.ytube_music_player
state: playing
card:
type: vertical-stack
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.ytube_music_player_show_details
name: Details
secondary_info: none
tap_action:
action: toggle
- type: conditional
conditions:
- entity: input_boolean.ytube_music_player_show_details
state: "on"
card:
type: vertical-stack
cards:
- type: custom:mushroom-template-card
primary: '{{state_attr("media_player.ytube_music_player","media_artist")}}'
secondary: Artist
- type: custom:mushroom-template-card
primary: '{{state_attr("media_player.ytube_music_player","media_title")}}'
secondary: Track
- type: custom:mushroom-template-card
primary: >-
{{state_attr(state_attr("media_player.ytube_music_player","remote_player_id"),"friendly_name")}}
secondary: Speaker(s)
- type: custom:mushroom-template-card
primary: '{{state_attr("media_player.ytube_music_player", "videoId")}}'
secondary: VideoId
parameters: thumb_toggle_up_middle