mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-10 02:50:12 -04:00
293 lines
11 KiB
YAML
293 lines
11 KiB
YAML
theme: Mushroom
|
|
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
|
|
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
|
|
name: Playlist
|
|
layout: vertical
|
|
hide_icon: true
|
|
primary_info: state
|
|
secondary_info: name
|
|
- type: custom:mushroom-entity-card
|
|
entity: input_select.ytube_music_player_speakers
|
|
name: Speakers
|
|
hide_icon: true
|
|
layout: vertical
|
|
primary_info: state
|
|
secondary_info: name
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: custom:mushroom-media-player-card
|
|
entity: media_player.ytube_music_player
|
|
name: YouTube Music Player
|
|
volume_controls:
|
|
- volume_mute
|
|
- volume_set
|
|
use_media_info: true
|
|
use_media_artwork: true
|
|
media_controls:
|
|
- on_off
|
|
- previous
|
|
- next
|
|
- play_pause_stop
|
|
- type: vertical-stack
|
|
cards:
|
|
- !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
|
|
layout: vertical
|
|
hide_icon: true
|
|
name: Continuous?
|
|
- type: custom:mushroom-entity-card
|
|
entity: input_select.ytube_music_player_playmode
|
|
layout: vertical
|
|
hide_icon: true
|
|
- type: custom:mushroom-entity-card
|
|
entity: input_select.ytube_music_player_source
|
|
layout: vertical
|
|
hide_icon: true
|
|
- type: custom:button-card
|
|
styles:
|
|
card:
|
|
- height: 64px
|
|
state:
|
|
- operator: template
|
|
value: >
|
|
[[[ 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
|
|
== "INDIFFERENT"]]]
|
|
icon: mdi:thumb-up-outline
|
|
- operator: default
|
|
icon: mdi:power-off
|
|
value: false
|
|
tap_action:
|
|
action: call-service
|
|
service: ytube_music_player.call_method
|
|
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
|