GithubHelp home page GithubHelp logo

thlucas1 / homeassistantcomponent_soundtouchplus_card Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 14.47 MB

Home Assistant UI card that supports features unique to the SoundTouchPlus custom integration.

Home Page: https://github.com/thlucas1/homeassistantcomponent_soundtouchplus

License: MIT License

JavaScript 0.55% TypeScript 99.45%
home-assistant home-assistant-custom-card soundtouchplus typescript bose bose-soundtouch soundtouch soundtouch-speaker hacs-plugin home-assistant-hacs

homeassistantcomponent_soundtouchplus_card's Introduction

SoundTouchPlus Card

GitHub Release License docs hacs

Project Maintenance BuyMeCoffee

Home Assistant UI card that supports features unique to the SoundTouchPlus custom integration.
Extended support for the Bose SoundTouch line of speaker products for use in Home Assistant.

Features

  • Media player interface with customizable controls and information display
  • Display / Select / Store SoundTouch Device Presets
  • Display / Select User-Defined Presets
  • Display / Select SoundTouch Device Recently Played items
  • Display / Select your Pandora Stations
  • Display / Select Source Inputs
  • Card Configuration Editor User-Interface for changing options

with more to come!

How it Looks

Here's a quick overview on what the card can look like. The card is highly customizable when it comes to the information displayed. Check out the UI Dashboards wiki page for more examples and YAML configuration.

Media Player Control (Panel Mode)

SoundTouch Recently Played (Panel Mode)

recentlyplayed_nofooter_panel

User-Defined Presets (Panel Mode)

presets_user_nofooter_panel

SoundTouch Device Presets (Panel Mode)

presets_device_nofooter_panel

SoundTouch Sources (Panel Mode)

sources_nofooter_panel

Pandora Stations (Panel Mode)

pandora_nofooter_panel

Editor UI, General Options

general_editor_options

HACS Installation Instructions (recommended)

  • On your Home Assistant sidebar menu, go to HACS > Frontend
  • Click on the 3-dot overflow menu in the upper right, and select custom repositories item.
  • Copy / paste https://github.com/thlucas1/homeassistantcomponent_soundtouchplus_card in the Repository textbox and select Lovelace for the category entry.
  • Click on Add to add the custom repository.
  • You can then click on the SoundTouchPlus Card repository entry (you may need to filter your list first to find the new entry).
  • Click on download to start the download. It will install the card to your /config/www/community/homeassistantcomponent_soundtouchplus_card directory.
  • Go back on your dashboard and click on the icon at the right top corner then on Edit dashboard.
  • You can now click on Add card in the bottom right corner and search for "Custom: SoundTouchPlus Card".

Manual Installation

  • using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  • change directory to the www folder; if you don't have this directory, then create it.
  • download the soundtouchplus-card.js file from the GitHub repository into your <config>/www folder.
  • on your dashboard click on the icon at the right top corner then on Edit dashboard.
  • click again on that icon and then on Manage resources.
  • click on Add resource.
  • copy and paste this: /local/soundtouchplus-card.js?v=1.
  • click on JavaScript Module then Create.
  • go back and refresh your page.
  • you can now click on Add card in the bottom right corner and search for "Custom: SoundTouchPlus Card".
  • after any update of the file you will have to edit /local/soundtouchplus-card.js?v=1 and change the version (e.g. v=1) to any higher number (e.g. v=1.2).

More Information

Check out the following links for more information:

Reporting a Problem

Submit a Bug Report to bring the issue to my attention. I receive a notification when a new issue is opened, and will do my best to address it in a prompt and professional manner.

Request a New Feature

Do you have an idea for a new feature that could be added to the integration? Submit a Feature Request to get your idea into the queue. I receive a notification when a new request is opened, and will do my best to turn your idea into the latest and greatest feature.


homeassistantcomponent_soundtouchplus_card's People

Contributors

thlucas1 avatar

Stargazers

 avatar

Watchers

 avatar

homeassistantcomponent_soundtouchplus_card's Issues

Feature - Recently Played Covert Art Cache

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

from @jasebob on the forum ...

This looks great and is much easier than manually extracting the presets/recent data from directly calling soundtouchplus.recent_list. I appreciate your ongoing efforts to create a great Bose experience that Bose was unable to do themselves! :slight_smile:

For Bose + Spotify users like me, it doesn’t solve the main problem I had before the new card. The recent list does not include the Container Art. So you don’t get nice pictures.

Describe the solution you'd like

I hear you on the recently played cover art. I still am unclear why Bose chose to remove the cover art url links on the recently played items, but links are retained for presets! If you are going to do one, then why not the other?!

I overcame this by building the customImageUrls list for my most-played songs, but that is a pain and is not realistic from a real use-case perspective (it makes my screen caps for documentation look good though). My thought there was to create an imageCache folder on the file system and start downloading links as things are playing. I am hesitant to go that route though, as it clearly violates Spotify (if not other music service) usage terms. It could also fill up the file system if not done properly (e.g. enforce a max cache size). Maybe a hybrid solution to only keep what’s in the recently played list, and remove everything else? Will have to put some thought into that.

Describe alternatives you've considered

none

Additional context

none

Feature - Custom Preset Selection Section

Describe the solution you'd like

add a “custom presets” (Favorites? Name TBD) section, so that you can define your own (not device) presets.

data items can be specified in the configuration itself, or loaded from a file located in the config directory (shared among multiple cards).

data items should be in the form of ContentItem data, so that the ‘play_contentitem’ service can be used to play the content. This also allows cover art url to be specified.

  - ContentItem:
    is_presetable: false
    name: Veronica
    item_type: stationurl
    location: /v1/playback/station/s6717
    source: TUNEIN
    SourceAccount: xxxxxxxxx
    ContainerArt: /local/xxx. or CDN  link or mid:icon format

HACS Repository Information not showing images

Describe the issue

Here is an example of the problem - images are shown as broken links.

image

Reproduction Steps

  1. Add the "SoundTouchPlus Card" custom repository to HACS.
  2. Click on the custom repository entry in HACS to display the README information.

Feature - Group Support

Describe the solution you'd like

You are totally right. I am too using the grouping feature of mini-media-player. My thought was just that all your work seems like you are developping a swiss army knife for the Soundtouch Platform. In mini-media-player. you have to define the master device and add all other speakers manually in each card. In your config all these information are already available.

If you could select a master speaker in the card all other group devices could all be added automatically as children.

Allow group definitions to be stored on the file system so they can be shared among multiple cards. Also allow to be specified directly in the config.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.