Use folder-card. Refactor youtube play scripts

This commit is contained in:
2020-03-29 02:32:15 +02:00
parent 8403e44659
commit 388fdba16f
4 changed files with 61 additions and 41 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ homeassistant:
time_zone: Europe/Sofia
packages: !include_dir_named packages
whitelist_external_dirs:
- /config/www/audio/youtube/pds
- /config/www/audio/youtube
#
# ─── HOME ASSISTANT COMPONENTS ENABLED ──────────────────────────────────────────
+45 -34
View File
@@ -4,38 +4,47 @@ panel: false
icon: mdi:youtube
badges: []
cards:
- type: entities
style: |
ha-icon {
color: red;
}
title: Youtube controls
icon: mdi:youtube
show_header_toggle: false
entities:
- entity: input_text.youtube_download_url
type: "custom:text-input-row"
- entity: input_text.youtube_download_name
type: "custom:text-input-row"
- type: horizontal-stack
- type: vertical-stack
cards:
- type: entity-button
entity: script.youtube_download_selected
name: Download
icon: mdi:download
icon_height: 48px
- type: entities
style: |
ha-icon {
color: red;
}
title: Youtube controls
icon: mdi:youtube
show_header_toggle: false
entities:
- entity: input_text.youtube_download_url
type: "custom:text-input-row"
- entity: input_text.youtube_download_name
type: "custom:text-input-row"
- type: horizontal-stack
cards:
- type: entity-button
entity: script.youtube_download_selected
name: Download
icon: mdi:download
icon_height: 48px
tap_action:
action: call-service
service: script.youtube_download_selected
- type: entity-button
entity: script.youtube_download_and_play
name: Download & Play
icon: mdi:youtube-tv
icon_height: 48px
tap_action:
action: call-service
service: script.youtube_download_and_play
- type: custom:folder-card
entity: sensor.youtube
title: Available Youtube
icon: "mdi:youtube"
tap_action:
action: call-service
service: script.youtube_download_selected
- type: entity-button
entity: script.youtube_download_and_play
name: Download & Play
icon: mdi:youtube-tv
icon_height: 48px
tap_action:
action: call-service
service: script.youtube_download_and_play
service: script.youtube_play_file
- type: custom:config-template-card
entities:
@@ -54,8 +63,10 @@ cards:
service: script.youtube_play_latest_pds
- type: custom:text-element
text: "${states['sensor.philip_defranco'].state}"
- type: custom:text-element
text: "Available:"
- type: custom:text-element
text: "${states['sensor.pds'].attributes.file_list.join('<br />')}"
- type: custom:folder-card
entity: sensor.pds
title: Available PDS
icon: "mdi:youtube"
tap_action:
action: call-service
service: script.youtube_play_file
+2
View File
@@ -40,3 +40,5 @@
url: /hacsfiles/travel-time-card/travel-time-card.js
- type: module
url: /hacsfiles/weather-card/weather-card.js
- type: module
url: /hacsfiles/lovelace-folder-card/folder-card.js
+13 -6
View File
@@ -3,6 +3,8 @@ sensor:
channel_id: UClFSU9_bUb4Rc6OYfTt5SPw
- platform: folder
folder: /config/www/audio/youtube/pds
- platform: folder
folder: /config/www/audio/youtube
input_text:
youtube_download_url:
@@ -18,20 +20,25 @@ shell_command:
youtube_download: python3.7 /config/custom_scripts/youtube_download.py {{ url }} {{ name }} {{ folder }}
script:
youtube_play_latest_pds:
alias: Youtube · Play latest PDS
youtube_play_file:
alias: Youtube · Play file
sequence:
- service: script.music_join_sonoses
- service: media_player.play_media
data_template:
entity_id: media_player.master_bedroom
media_content_id: >
{% set last_pds = state_attr('sensor.pds', 'file_list') | sort | last %}
{{ states('sensor.sarah_url') }}/local/audio/youtube/pds/{{ last_pds.split('/') | last }}
{{ states('sensor.sarah_url') }}/local{{ file.split('/config/www') | last }}
media_content_type: "music"
youtube_play_latest_pds:
alias: Youtube · Play latest PDS
sequence:
- service: script.youtube_play_file
data_template:
file: "{{ state_attr('sensor.pds', 'file_list') | sort | last }}"
youtube_download_selected:
alias: Youtube · Download selected video
sequence: