@el-lutschi:
Nun bräuchte ich nur noch eine Lösung für den "no playback content".
Ich denke ja, das liegt daran wenn Spotify mal wieder "vergisst" was ich zuletzt gehört habe. Aber das müsste sich doch auch irgendwie in den Griff bekommen lassen? `
Die Problematik "no playback content" habe ich bei mir auch.
Ich habe derzeit einen Button in der View, der mir anzeigt, ob der Adapter läuft oder nicht (Datenpunkt system.adapter.spotify-premium.0.alive) und mit dem ich den Adapter schalten kann. Hierzu ein Script, das den Adapter ein- und ausschaltet.
/*******************************************************
* Spotify-Adapter an- und ausschalten
*******************************************************/
const STATE_PATH = 'javascript.'+ instance + '.' + 'mic.spotify-support.';
MG_createState (STATE_PATH + 'spotifyAdapterAnAus', 'Spotify-Adapter ein- und ausschalten', 'boolean', 'switch', false);
on({id: STATE_PATH + 'spotifyAdapterAnAus', change: "any"}, function (obj) {
if(obj.state.val === true){
g_myAdapterOnOff('spotify-premium.0', true);
} else if(obj.state.val === false){
g_myAdapterOnOff('spotify-premium.0', false);
}
});
/**
* Adapter ein- und ausschalten
* Quelle: https://forum.iobroker.net/viewtopic.php?t=13193
*
* @strAdapterID: Name und Instanz des Adapters, z.B. "spotify-premium.0"
* @bOnOff: true für einschalten, false für ausschalten
*
* WICHTIG: In JavaScript-Adapter-Instanz Haken bei "setObject erlauben" aktivieren !!!!!!!!!!!!!!!
*
*/
function g_myAdapterOnOff(strAdapterID, bOnOff){
var strAdapterFull = 'system.adapter.' + strAdapterID;
var obj = getObject(strAdapterFull);
obj.common.enabled = bOnOff; // Adapter ein- oder ausschalten
setObject(strAdapterFull, obj); // Muss man wohl auch noch ausführen!
// LOG
var strLogState;
if (bOnOff) {
strLogState = "eingeschaltet";
} else if (!bOnOff) {
strLogState = "ausgeschaltet";
}
log("Adapter '" + strAdapterID + "' " + strLogState);
}
/**
* Create States - General
* @param {string} stId ID
* @param {string} stName Name, Description
* @param {mixed} stType Datatype: string, boolean, etc.
* @param {string} stRole Role: button, etc.
* @param {mixed} stDef Default value
*/
function MG_createState(stId, stName, stType, stRole, stDef) {
createState(stId, {
'name': stName,
'desc': stName,
'type': stType,
'read': true,
'write': true,
'role': stRole,
'def': stDef,
});
}
Hier der Widget-Export:
[{"tpl":"tplShapes","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","svgType":"circle","strokeColor":"","fill":"#90ee90","strokeWidth":"5","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"javascript.0.mic.spotify-support.spotifyAdapterAnAus"},"style":{"left":"221px","top":"21px","width":"12px","height":"12px","z-index":"50"},"widgetSet":"basic"},{"tpl":"tplShapes","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"false","visibility-groups-action":"hide","svgType":"circle","strokeColor":"","fill":"#f81d1b","strokeWidth":"5","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"javascript.0.mic.spotify-support.spotifyAdapterAnAus"},"style":{"left":"221px","top":"21px","width":"12px","height":"12px","z-index":"45"},"widgetSet":"basic"},{"tpl":"tplShapes","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","svgType":"circle","strokeColor":"#90ee90","fill":"transparent","strokeWidth":"11","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"system.adapter.spotify-premium.0.alive"},"style":{"left":"217px","top":"17px","z-index":"50","width":"20px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplShapes","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"false","visibility-groups-action":"hide","svgType":"circle","strokeColor":"#f81d1b","fill":"transparent","strokeWidth":"11","scaleWidth":"1","scaleHeight":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"system.adapter.spotify-premium.0.alive"},"style":{"left":"217px","top":"17px","z-index":"45","width":"20px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplHqButton","data":{"oid":"javascript.0.mic.spotify-support.spotifyAdapterAnAus","min":"false","max":"true","iconName":"","btIconWidth":"22","offsetAuto":false,"leftOffset":"24","topOffset":"24","caption":"","captionOn":"","iconOn":"","pushButton":false,"usejQueryStyle":false,"g_visibility":false,"styleActive":"hq-button-no-background","styleNormal":"hq-button-no-background","changeEffect":"","testActive":false,"g_css_shadow_padding":true,"g_signals":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_last_change":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"g_gestures":false,"g_ccontrol":false,"g_leftRight":true,"g_css_font_text":false,"g_css_border":false,"g_fixed":false,"timeAsInterval":true,"infoLeftFontSize":"12","infoFontRightSize":"12","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15","descriptionLeft":"Alle Alexa-Geräte auf Pause","descriptionLeftDisabled":true,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"209px","top":"8px","width":"40px","height":"40px","z-index":"50","background-color":"","opacity":"","background":"","box-shadow":""},"widgetSet":"hqwidgets"}]

Als nächstes überlege ich einen sinnvollen Schedule, um den Adapter automatisch aus- und einzuschalten.
Z.B. auf jeden Fall einschalten, wenn in VIS die Spotify-View aufgerufen wird. Und nach längerer Inaktivität den Adapter ausschalten.
Mal sehen….