Spotify Lovelace Card

Thank you for your replays!

My lovelance resourses now looks like this (the card is behaving the same way)

.
I feel like there is some step I’m missing.

Weird, try rebooting and see what happens. All looks ok to me

I have now added a way to filter out chromecast devices in the list in the latest version. This can be done under the advanced settings

I’m gonna do both tonight. thanks

edit:`

  • Advanced settings are not shown in the add item configuration (so not the yaml mode)

  • And do i have to use it as module or js file? I was used to have it loaded through hacs, now i just replaced the js file with your new file. Sometimes it works, sometimes it doesnt. Maybe there’s a more solid way to do? I can not select a beta version on hacs or something. Maybe I’m just checking/messing on wrong place…hopefully you can get me in right direction thanks :slight_smile:

photos showing no advanced:

Hi, tried rebooting both in the UI and restart the docker container, no difference. Again in my screenshot, I have aftership card that I also can’t get to work :frowning: Is there maybe some other settings somewhere that I have missed?

@martheijnen and all.

I have posted a pre-release of version 2 now. This is available through HACS as a beta as I understand it from ludeeus which creates HACS.

Here is the release https://github.com/custom-cards/spotify-card/releases/tag/v2.0.0-beta.1

Thank you @fondberg ! Got it installed and working. Still no chromecast devices unfortunately.

In the advanced tab, your cast devices are shown:


If you need any logging, please hand me in the right direction and I’m willing to share.

Spotcast DOES work, since I use it with one of my scripts whats still functioning. If you want to keep this topic clean, feel free to PM me.

Can you open the js console and paste the output of fetchChromecasts and fetchChromecasts2?

I fixed the hardcoded casts in settings in a new release

Where to find this JS console. I am running it on a vmware virtual machine, and cannot find it in the GUI of the webinterface.

The javascript console is part of the browser you are using. In Firefox and Chrome it is under developer tools.

https://balsamiq.com/support/faqs/browserconsole/#:~:text=To%20open%20the%20developer%20console,(on%20Windows%2FLinux).

Is there a way to force this to refresh/work? I was totally looking in the wrong direction sorry for that :sweat_smile:

you can reload the browser page

    `}};e([J({type:Object})],Be.prototype,"hass",void 0),e([K()],Be.prototype,"_config",void 0),e([K()],Be.prototype,"_toggle",void 0),Be=e([G("spotify-card-editor")],Be);class Je{constructor(e){this.playlists=[],this.devices=[],this.chromecast_devices=[],this.state_ttl=2e3,this.last_state_update_time=0,this.loading=!1,this.parent=e}is_loading(){return setTimeout(this.set_loading_off,100),this.loading}set_loading_off(){this.loading=!1}is_loaded(){return void 0!==this.playlists.length}getPlaybackOptions(e){return{uri:e,force_playback:"playing"==this.parent.getSpotifyEntityState(),random_song:this.parent.config.always_play_random_song||!1,account:this.parent.config.account}}playUri(e){const t=this.getCurrentPlayer();t?this.playUriOnConnectDevice(t.id,e):console.error("No active device")}transferPlaybackToCastDevice(e){this.parent.hass.callService("spotcast","start",{device_name:e,force_playback:!0,account:this.parent.config.account})}transferPlaybackToConnectDevice(e){this.parent.hass.callService("spotcast","start",{spotify_device_id:e,force_playback:!0,account:this.parent.config.account})}playUriOnCastDevice(e,t){const i=Object.assign(Object.assign({},this.getPlaybackOptions(t)),{device_name:e});this.parent.hass.callService("spotcast","start",i)}playUriOnConnectDevice(e,t){const i=Object.assign(Object.assign({},this.getPlaybackOptions(t)),{spotify_device_id:e});this.parent.hass.callService("spotcast","start",i)}async updateState(){(new Date).getTime()-this.last_state_update_time<this.state_ttl?console.log("cache is still valid:",this.last_state_update_time):(console.log("cache is NOT valid:",this.last_state_update_time),await this.fetchDevices(),await this.fetchPlayer(),await this.fetchChromecasts(),this.last_state_update_time=(new Date).getTime())}getCurrentPlayer(){var e;return null===(e=this.player)||void 0===e?void 0:e.device}async fetchPlayer(){const e={type:"spotcast/player",account:this.parent.config.account};this.player=await this.parent.hass.callWS(e)}async fetchDevices(){const e={type:"spotcast/devices",account:this.parent.config.account},t=await this.parent.hass.callWS(e);this.devices=t.devices}async fetchChromecasts(){const e=await this.parent.hass.callWS({type:"spotcast/castdevices"}),t=await this.parent.hass.callWS({type:"config/entity_registry/list"});this.chromecast_devices=t.filter(e=>"cast"==e.platform).map(e=>this.parent.hass.states[e.entity_id]).filter(e=>null!=e&&"unavailable"!=e.state),console.log("fetchChromecasts:",this.chromecast_devices),console.log("fetchChromecasts2:",e)}async fetchPlaylists(){this.loading=!0;const e={type:"spotcast/playlists",playlist_type:this.parent.config.playlist_type||"",account:this.parent.config.account,limit:this.parent.config.limit};this.parent.config.country_code&&(e.country_code=this.parent.config.country_code);const t=await this.parent.hass.callWS(e);this.playlists=t.items}}var Ke;console.info(`%c  SPOTIFY-CARD \n%c  ${We("common.version")} 2.0.0    `,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"spotify-card",name:"Spotify Card",description:We("common.description"),preview:!0});let Ze=Ke=class extends ie{constructor(){super(...arguments),this.spotcast_installed=!1,this.spotify_installed=!1,this.fetch_time_out=0}static async getConfigElement(){return document.createElement("spotify-card-editor")}static getStubConfig(){return{}}connectedCallback(){var e;super.connectedCallback(),this.spotcast_connector=new Je(this),void 0!==(e=this.hass.connection,$e(e,"_srv",Ne,Te)).state.spotcast&&(this.spotcast_installed=!0),Oe(this.hass.connection,e=>this.entitiesUpdated(e))}entitiesUpdated(e){let t=!1;for(const i in e)i.startsWith("media_player")&&(i.startsWith("media_player.spotify_")&&(this.spotify_installed=!0,this.spotify_state=e[i]),t=!0);t&&(this.fetch_time_out&&clearTimeout(this.fetch_time_out),this.fetch_time_out=setTimeout(()=>{this.spotcast_connector.updateState().then(()=>{console.log("State updated:",(new Date).toISOString()),this.requestUpdate()})},500))}getSpotifyEntityState(){return this.spotify_state?this.spotify_state.state:""}setConfig(e){let t="";if(e.limit&&"number"!=typeof e.limit&&(t="limit"),e.playlist_type&&!Ie.includes(e.playlist_type)&&(t="playlist_type"),e.country_code&&"string"!=typeof e.country_code&&(t="country_code"),e.height&&"number"!=typeof e.height&&(t="height"),e.display_style&&!Ge.includes(e.display_style)&&(t="display_style"),e.darkmode&&"boolean"!=typeof e.darkmode&&(t="darkmode"),e.show_error||""!=t)throw new Error(We("common.invalid_configuration")+": "+t);e.test_gui&&function(){var e=document.querySelector("home-assistant");if(e=(e=(e=(e=(e=(e=(e=(e=e&&e.shadowRoot)&&e.querySelector("home-assistant-main"))&&e.shadowRoot)&&e.querySelector("app-drawer-layout partial-panel-resolver"))&&e.shadowRoot||e)&&e.querySelector("ha-panel-lovelace"))&&e.shadowRoot)&&e.querySelector("hui-root")){var t=e.lovelace;return t.current_view=e.___curView,t}return null}().setEditMode(!0),this.config=Object.assign({},e)}spotifyDeviceSelected(e){if(this.spotcast_connector.getCurrentPlayer())return this.spotcast_connector.transferPlaybackToConnectDevice(e.id);const t=this.spotcast_connector.playlists[0];console.log("spotifyDeviceSelected playing first playlist"),this.spotcast_connector.playUriOnConnectDevice(e.id,t.uri)}chromecastDeviceSelected(e){if(this.spotcast_connector.getCurrentPlayer())return this.spotcast_connector.transferPlaybackToCastDevice(e.attributes.friendly_name);const t=this.spotcast_connector.playlists[0];console.log("chromecastDeviceSelected playing first playlist"),this.spotcast_connector.playUriOnCastDevice(e.attributes.friendly_name,t.uri)}onShuffleSelect(){var e;console.log("shuffle;",this.spotify_state),"playing"==(null===(e=this.spotify_state)||void 0===e?void 0:e.state)&&this.hass.callService("media_player","shuffle_set",{entity_id:this.spotify_state.entity_id,shuffle:!0})}handlePlayPauseEvent(e,t){e.stopPropagation(),this.spotify_state&&this.hass.callService("media_player",t,{entity_id:this.spotify_state.entity_id})}onPauseSelect(e){this.handlePlayPauseEvent(e,"media_pause")}onResumeSelect(e){this.handlePlayPauseEvent(e,"media_play")}render(){var e,t;let i=D``;this.config.show_warning&&(i=this.showWarning(We("common.show_warning"))),this.spotcast_installed||(i=this.showWarning(We("common.show_missing_spotcast"))),this.spotify_installed||(i=this.showWarning(We("common.show_missing_spotify")));let s=D`<div>Loading...</div>`;!this.spotcast_connector.is_loading()&&this.spotcast_installed?this.spotcast_connector.fetchPlaylists().then(()=>{this.requestUpdate()}):s="Grid"==this.config.display_style?this.generateGridView():this.generateListView();const n=this.spotcast_connector.getCurrentPlayer(),r=null!==(e=null==n?void 0:n.name)&&void 0!==e?e:We("common.choose_player");return D`

No clue if this is what you need.

Look for the fetchChromecasts line

There’s no fetchchomecast line i can find. I have no idea where to look sorry.
Maybe share a screenshot of what you want me to search for?
Only thing I see coming back is “cache is not valid”

And I’m sure spotcast does its work:

devices_json: >-
  [{"name": "Living Room speaker", "cast_type": "audio", "model_name": "Google
  Home", "uuid": "105cc33b-07fd-e843-d1c4-7080d2f28102", "manufacturer": "Google
  Inc."}, {"name": "Living Room", "cast_type": "group", "model_name": "Google
  Cast Group", "uuid": "895f80fc-22d0-4aad-9e7e-f7d68f15dd21", "manufacturer":
  "Google Inc."}, {"name": "Living room and Kitchen", "cast_type": "group",
  "model_name": "Google Cast Group", "uuid":
  "a6b25e5b-40fc-464b-a245-35cca4d1915d", "manufacturer": "Google Inc."},
  {"name": "All Audio", "cast_type": "group", "model_name": "Google Cast Group",
  "uuid": "a275234f-55cf-49d3-ae78-44bf9d67e5f3", "manufacturer": "Google
  Inc."}, {"name": "Kitchen speaker", "cast_type": "audio", "model_name":
  "Google Home", "uuid": "2d181d1c-37c8-e786-0b4e-b40cd3378ccc", "manufacturer":
  "Google Inc."}, {"name": "Kitchen", "cast_type": "group", "model_name":
  "Google Cast Group", "uuid": "d838ce5e-0bd0-402c-a416-6f16b45cd0dc",
  "manufacturer": "Google Inc."}, {"name": "Kitchen display", "cast_type":
  "cast", "model_name": "Google Nest Hub Max", "uuid":
  "2072c699-f196-d046-010a-d895eaf96c1e", "manufacturer": "Google Inc."},
  {"name": "Office speaker", "cast_type": "audio", "model_name": "Chromecast
  Audio", "uuid": "840430a2-f300-ac5e-8b5d-1a3a7649a013", "manufacturer":
  "Google Inc."}, {"name": "Office", "cast_type": "group", "model_name": "Google
  Cast Group", "uuid": "688238f3-9a48-4a5e-88f4-912917173eda", "manufacturer":
  "Google Inc."}, {"name": "Living Room TV", "cast_type": "cast", "model_name":
  "BRAVIA 4K GB", "uuid": "cb7759df-14cb-457e-9fbe-1f164b96dbf7",
  "manufacturer": "Google Inc."}, {"name": "Living room bar", "cast_type":
  "cast", "model_name": "LG SL8YG ThinQ Soundbar", "uuid":
  "8a461f9b-6d8e-34e0-fbd6-b0f93233cd99", "manufacturer": "Google Inc."},
  {"name": "Office speaker", "cast_type": "audio", "model_name": "Google Home",
  "uuid": "d8a2e6c3-dd3a-92cc-9a5d-d020560a0401", "manufacturer": "Google
  Inc."}, {"name": "Bedroom speaker", "cast_type": "cast", "model_name":
  "Insignia NS-CSPGASP", "uuid": "a4ee400d-3cef-b2b1-0780-05bfcc8e5fc1",
  "manufacturer": "Google Inc."}]
devices:
  - name: Living Room speaker
    cast_type: audio
    model_name: Google Home
    uuid: 105cc33b-07fd-e843-d1c4-7080d2f28102
    manufacturer: Google Inc.
  - name: Living Room
    cast_type: group
    model_name: Google Cast Group
    uuid: 895f80fc-22d0-4aad-9e7e-f7d68f15dd21
    manufacturer: Google Inc.
  - name: Living room and Kitchen
    cast_type: group
    model_name: Google Cast Group
    uuid: a6b25e5b-40fc-464b-a245-35cca4d1915d
    manufacturer: Google Inc.
  - name: All Audio
    cast_type: group
    model_name: Google Cast Group
    uuid: a275234f-55cf-49d3-ae78-44bf9d67e5f3
    manufacturer: Google Inc.
  - name: Kitchen speaker
    cast_type: audio
    model_name: Google Home
    uuid: 2d181d1c-37c8-e786-0b4e-b40cd3378ccc
    manufacturer: Google Inc.
  - name: Kitchen
    cast_type: group
    model_name: Google Cast Group
    uuid: d838ce5e-0bd0-402c-a416-6f16b45cd0dc
    manufacturer: Google Inc.
  - name: Kitchen display
    cast_type: cast
    model_name: Google Nest Hub Max
    uuid: 2072c699-f196-d046-010a-d895eaf96c1e
    manufacturer: Google Inc.
  - name: Office speaker
    cast_type: audio
    model_name: Chromecast Audio
    uuid: 840430a2-f300-ac5e-8b5d-1a3a7649a013
    manufacturer: Google Inc.
  - name: Office
    cast_type: group
    model_name: Google Cast Group
    uuid: 688238f3-9a48-4a5e-88f4-912917173eda
    manufacturer: Google Inc.
  - name: Living Room TV
    cast_type: cast
    model_name: BRAVIA 4K GB
    uuid: cb7759df-14cb-457e-9fbe-1f164b96dbf7
    manufacturer: Google Inc.
  - name: Living room bar
    cast_type: cast
    model_name: LG SL8YG ThinQ Soundbar
    uuid: 8a461f9b-6d8e-34e0-fbd6-b0f93233cd99
    manufacturer: Google Inc.
  - name: Office speaker
    cast_type: audio
    model_name: Google Home
    uuid: d8a2e6c3-dd3a-92cc-9a5d-d020560a0401
    manufacturer: Google Inc.
  - name: Bedroom speaker
    cast_type: cast
    model_name: Insignia NS-CSPGASP
    uuid: a4ee400d-3cef-b2b1-0780-05bfcc8e5fc1
    manufacturer: Google Inc.
last_update: '2020-07-14T17:10:01.172051+02:00'
friendly_name: Chromecast Devices

This is what I get from console but I think its useless for you… sorry @fondberg :frowning:

Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logbook:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
dashboard:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
dashboard:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}code: "unknown_error"message: "Unknown error"__proto__: constructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
spotify-card.js:412 cache is NOT valid: 0
spotify-card.js:412 cache is NOT valid: 0
logs:1 Uncaught (in promise) {code: "unknown_error", message: "Unknown error"}
Promise.then (async)
(anonymous) @ spotify-card.js:412
setTimeout (async)
entitiesUpdated @ spotify-card.js:412
(anonymous) @ spotify-card.js:412
n @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1
_handleMessage @ core.949bdaed.js:1
(anonymous) @ core.949bdaed.js:1

And for the latest beta realease @fondberg : This is reverting it back to the master (so 1.7x version ) and cast devices are shown again.

I see. Very strange indeed.

Hi, is the latest release the one with the new options? I tried them but they don’t change anything on my already configured card.
I tried:

            playlist_type: featured
            always_play_random_song: true
            country_code: 'IT'
            display_style: grid
            grid_cover_size: 100
            grid_center_covers: true

But i don’t get what i think it was supposed with the new options…

When i try to authenticate my account via the android app, it opens homeassistant in the browser and authenticates it there instead of in the app(So it works when i open homeassistant in my phone browser but not in the app). It works fine in the ipad app. Am i missing something?