mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-20 06:27:01 +01:00
adapterPlayerInstance more types
This commit is contained in:
1732
ioBroker/.iobroker/types/javascript.d.ts
vendored
Normal file
1732
ioBroker/.iobroker/types/javascript.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -94,6 +94,8 @@ ReleaseNotes:
|
|||||||
- 03.02.2024 - v4.3.3.31 Remove: autoCreateAlias from cardMedia
|
- 03.02.2024 - v4.3.3.31 Remove: autoCreateAlias from cardMedia
|
||||||
- 03.02.2024 - v4.3.3.31 Remove: adapterPlayerInstance from every card except cardMedia
|
- 03.02.2024 - v4.3.3.31 Remove: adapterPlayerInstance from every card except cardMedia
|
||||||
- 03.02.2024 - v4.3.3.31 [dev]: optional with type - cardMedia has adapterPlayerInstance all other not
|
- 03.02.2024 - v4.3.3.31 [dev]: optional with type - cardMedia has adapterPlayerInstance all other not
|
||||||
|
- 03.02.2024 - v4.3.3.31 [dev]: add PlayerType some more work to do
|
||||||
|
- 03.02.2024 - v4.3.3.31 changed: adapterPlayerInstance instance 0-9 allowed. Always require a '.' at the end.
|
||||||
|
|
||||||
Todo:
|
Todo:
|
||||||
- XX.XX.XXXX - v5.0.0 Change the bottomScreensaverEntity (rolling) if more than 6 entries are defined
|
- XX.XX.XXXX - v5.0.0 Change the bottomScreensaverEntity (rolling) if more than 6 entries are defined
|
||||||
@@ -4710,14 +4712,24 @@ function subscribeMediaSubscriptionsAlexaAdd(id: string): void {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function createAutoMediaAlias(id: string, mediaDevice: string, adapterPlayerInstance: string) {
|
async function createAutoMediaAlias (id: string, mediaDevice: string, adapterPlayerInstance: adapterPlayerInstanceType) {
|
||||||
if (autoCreateAlias) {
|
if (autoCreateAlias) {
|
||||||
if (isSetOptionActive) {
|
if (isSetOptionActive) {
|
||||||
if (adapterPlayerInstance == 'alexa2.0.') {
|
switch (adapterPlayerInstance) {
|
||||||
|
case "alexa2.0.":
|
||||||
|
case "alexa2.1.":
|
||||||
|
case "alexa2.2.":
|
||||||
|
case "alexa2.3.":
|
||||||
|
case "alexa2.4.":
|
||||||
|
case "alexa2.5.":
|
||||||
|
case "alexa2.6.":
|
||||||
|
case "alexa2.7.":
|
||||||
|
case "alexa2.8.":
|
||||||
|
case "alexa2.9.": {
|
||||||
if (existsObject(id) == false) {
|
if (existsObject(id) == false) {
|
||||||
log('Alexa Alias ' + id + ' does not exist - will be created now', 'info');
|
log('Alexa Alias ' + id + ' does not exist - will be created now', 'info');
|
||||||
|
|
||||||
let dpPath: string = adapterPlayerInstance + 'Echo-Devices.' + mediaDevice;
|
const dpPath: string = adapterPlayerInstance + 'Echo-Devices.' + mediaDevice;
|
||||||
try {
|
try {
|
||||||
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
||||||
await createAliasAsync(id + '.ACTUAL', dpPath + '.Player.volume', true, <iobJS.StateCommon> {type: 'number', role: 'value.volume', name: 'ACTUAL'});
|
await createAliasAsync(id + '.ACTUAL', dpPath + '.Player.volume', true, <iobJS.StateCommon> {type: 'number', role: 'value.volume', name: 'ACTUAL'});
|
||||||
@@ -4743,41 +4755,23 @@ async function createAutoMediaAlias(id: string, mediaDevice: string, adapterPlay
|
|||||||
await createAliasAsync(id + '.DURATION', dpPath + '.Player.mediaLength', true, <iobJS.StateCommon> {type: 'string', role: 'media.duration.text', name: 'DURATION'});
|
await createAliasAsync(id + '.DURATION', dpPath + '.Player.mediaLength', true, <iobJS.StateCommon> {type: 'string', role: 'media.duration.text', name: 'DURATION'});
|
||||||
await createAliasAsync(id + '.ELAPSED', dpPath + '.Player.mediaProgressStr', true, <iobJS.StateCommon> {type: 'string', role: 'media.elapsed.text', name: 'ELAPSED'});
|
await createAliasAsync(id + '.ELAPSED', dpPath + '.Player.mediaProgressStr', true, <iobJS.StateCommon> {type: 'string', role: 'media.elapsed.text', name: 'ELAPSED'});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (adapterPlayerInstance == 'spotify-premium.0.') {
|
|
||||||
if (existsObject(id) == false){
|
|
||||||
log('Spotify Alias ' + id + ' does not exist - will be created now', 'info');
|
|
||||||
|
|
||||||
let dpPath: string = adapterPlayerInstance;
|
|
||||||
try {
|
|
||||||
setObject(id, {_id: id + 'player', type: 'channel', common: {role: 'media', name:'media'}, native: {}});
|
|
||||||
await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' });
|
|
||||||
await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' });
|
|
||||||
await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' });
|
|
||||||
await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' });
|
|
||||||
await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' });
|
|
||||||
await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' });
|
|
||||||
await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' });
|
|
||||||
await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' });
|
|
||||||
await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' });
|
|
||||||
await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' });
|
|
||||||
await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' });
|
|
||||||
await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' });
|
|
||||||
await createAliasAsync(id + '.REPEAT', dpPath + 'player.repeat', true, <iobJS.StateCommon>{ type: 'string', role: 'value', name: 'REPEAT' });
|
|
||||||
await createAliasAsync(id + '.SHUFFLE', dpPath + 'player.shuffle', true, <iobJS.StateCommon>{ type: 'string', role: 'value', name: 'SHUFFLE' });
|
|
||||||
|
|
||||||
} catch (err: any) {
|
|
||||||
log('error at function createAutoMediaAlias Adapter spotify-premium: ' + err.message, 'warn');
|
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
}
|
case "sonos.0.":
|
||||||
|
case "sonos.1.":
|
||||||
if (adapterPlayerInstance == 'sonos.0.') {
|
case "sonos.2.":
|
||||||
|
case "sonos.3.":
|
||||||
|
case "sonos.4.":
|
||||||
|
case "sonos.5.":
|
||||||
|
case "sonos.6.":
|
||||||
|
case "sonos.7.":
|
||||||
|
case "sonos.8.":
|
||||||
|
case "sonos.9.": {
|
||||||
if (existsObject(id) == false) {
|
if (existsObject(id) == false) {
|
||||||
log('Sonos Alias ' + id + ' does not exist - will be created now', 'info');
|
log('Sonos Alias ' + id + ' does not exist - will be created now', 'info');
|
||||||
|
|
||||||
let dpPath: string = adapterPlayerInstance + 'root.' + mediaDevice;
|
const dpPath: string = adapterPlayerInstance + 'root.' + mediaDevice;
|
||||||
try {
|
try {
|
||||||
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
||||||
await createAliasAsync(id + '.ACTUAL', dpPath + '.volume', true, <iobJS.StateCommon> {type: 'number', role: 'value.volume', name: 'ACTUAL'});
|
await createAliasAsync(id + '.ACTUAL', dpPath + '.volume', true, <iobJS.StateCommon> {type: 'number', role: 'value.volume', name: 'ACTUAL'});
|
||||||
@@ -4805,13 +4799,61 @@ async function createAutoMediaAlias(id: string, mediaDevice: string, adapterPlay
|
|||||||
await createAliasAsync(id + '.DURATION', dpPath + '.current_duration_s', true, <iobJS.StateCommon> {type: 'string', role: 'media.duration.text', name: 'DURATION'});
|
await createAliasAsync(id + '.DURATION', dpPath + '.current_duration_s', true, <iobJS.StateCommon> {type: 'string', role: 'media.duration.text', name: 'DURATION'});
|
||||||
await createAliasAsync(id + '.ELAPSED', dpPath + '.current_elapsed_s', true, <iobJS.StateCommon> {type: 'string', role: 'media.elapsed.text', name: 'ELAPSED'});
|
await createAliasAsync(id + '.ELAPSED', dpPath + '.current_elapsed_s', true, <iobJS.StateCommon> {type: 'string', role: 'media.elapsed.text', name: 'ELAPSED'});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "spotify-premium.0.":
|
||||||
|
case "spotify-premium.1.":
|
||||||
|
case "spotify-premium.2.":
|
||||||
|
case "spotify-premium.3.":
|
||||||
|
case "spotify-premium.4.":
|
||||||
|
case "spotify-premium.5.":
|
||||||
|
case "spotify-premium.6.":
|
||||||
|
case "spotify-premium.7.":
|
||||||
|
case "spotify-premium.8.":
|
||||||
|
case "spotify-premium.9.": {
|
||||||
|
if (existsObject(id) == false) {
|
||||||
|
log('Spotify Alias ' + id + ' does not exist - will be created now', 'info');
|
||||||
|
|
||||||
|
const dpPath: string = adapterPlayerInstance;
|
||||||
|
try {
|
||||||
|
setObject(id, {_id: id + 'player', type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
||||||
|
await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon> {type: 'number', role: 'value.volume', name: 'ACTUAL'});
|
||||||
|
await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon> {type: 'string', role: 'media.album', name: 'ALBUM'});
|
||||||
|
await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon> {type: 'string', role: 'media.artist', name: 'ARTIST'});
|
||||||
|
await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon> {type: 'string', role: 'media.title', name: 'TITLE'});
|
||||||
|
await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon> {type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION'});
|
||||||
|
await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon> {type: 'boolean', role: 'button.next', name: 'NEXT'});
|
||||||
|
await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon> {type: 'boolean', role: 'button.prev', name: 'PREV'});
|
||||||
|
await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon> {type: 'boolean', role: 'button.play', name: 'PLAY'});
|
||||||
|
await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon> {type: 'boolean', role: 'button.pause', name: 'PAUSE'});
|
||||||
|
await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon> {type: 'boolean', role: 'button.stop', name: 'STOP'});
|
||||||
|
await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon> {type: 'boolean', role: 'media.state', name: 'STATE'});
|
||||||
|
await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon> {type: 'number', role: 'level.volume', name: 'VOLUME'});
|
||||||
|
await createAliasAsync(id + '.REPEAT', dpPath + 'player.repeat', true, <iobJS.StateCommon> {type: 'string', role: 'value', name: 'REPEAT'});
|
||||||
|
await createAliasAsync(id + '.SHUFFLE', dpPath + 'player.shuffle', true, <iobJS.StateCommon> {type: 'string', role: 'value', name: 'SHUFFLE'});
|
||||||
|
|
||||||
|
} catch (err: any) {
|
||||||
|
log('error at function createAutoMediaAlias Adapter spotify-premium: ' + err.message, 'warn');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (adapterPlayerInstance.startsWith('volumio')) {
|
}
|
||||||
|
break;
|
||||||
|
case "volumio.0.":
|
||||||
|
case "volumio.1.":
|
||||||
|
case "volumio.2.":
|
||||||
|
case "volumio.3.":
|
||||||
|
case "volumio.4.":
|
||||||
|
case "volumio.5.":
|
||||||
|
case "volumio.6.":
|
||||||
|
case "volumio.7.":
|
||||||
|
case "volumio.8.":
|
||||||
|
case "volumio.9.": {
|
||||||
if (existsObject(id) == false) {
|
if (existsObject(id) == false) {
|
||||||
log('Volumio Alias ' + id + ' does not exist - will be created now', 'info');
|
log('Volumio Alias ' + id + ' does not exist - will be created now', 'info');
|
||||||
|
|
||||||
let dpPath: string = adapterPlayerInstance;
|
const dpPath: string = adapterPlayerInstance;
|
||||||
try {
|
try {
|
||||||
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
||||||
await createAliasAsync(id + '.ACTUAL', dpPath + 'playbackInfo.volume', true, <iobJS.StateCommon> {type: 'number', role: 'value.volume', name: 'ACTUAL'});
|
await createAliasAsync(id + '.ACTUAL', dpPath + 'playbackInfo.volume', true, <iobJS.StateCommon> {type: 'number', role: 'value.volume', name: 'ACTUAL'});
|
||||||
@@ -4832,13 +4874,23 @@ async function createAutoMediaAlias(id: string, mediaDevice: string, adapterPlay
|
|||||||
log('error function createAutoMediaAlias Adapter volumio: ' + err.message, 'warn');
|
log('error function createAutoMediaAlias Adapter volumio: ' + err.message, 'warn');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (adapterPlayerInstance.startsWith('squeezeboxrpc')) {
|
}
|
||||||
|
break;
|
||||||
|
case "squeezeboxrpc.0.":
|
||||||
|
case "squeezeboxrpc.1.":
|
||||||
|
case "squeezeboxrpc.2.":
|
||||||
|
case "squeezeboxrpc.3.":
|
||||||
|
case "squeezeboxrpc.4.":
|
||||||
|
case "squeezeboxrpc.5.":
|
||||||
|
case "squeezeboxrpc.6.":
|
||||||
|
case "squeezeboxrpc.7.":
|
||||||
|
case "squeezeboxrpc.8.":
|
||||||
|
case "squeezeboxrpc.9.": {
|
||||||
if (existsObject(id) == false) {
|
if (existsObject(id) == false) {
|
||||||
log('Squeezebox Alias ' + id + ' does not exist - will be created now', 'info');
|
log('Squeezebox Alias ' + id + ' does not exist - will be created now', 'info');
|
||||||
|
|
||||||
let dpPath: string = adapterPlayerInstance + '.Players.' + mediaDevice;
|
const dpPath: string = adapterPlayerInstance + 'Players.' + mediaDevice;
|
||||||
try {
|
try {
|
||||||
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
setObject(id, {_id: id, type: 'channel', common: {role: 'media', name: 'media'}, native: {}});
|
||||||
await createAliasAsync(id + '.ALBUM', dpPath + '.Album', true, <iobJS.StateCommon> {type: 'string', role: 'media.album', name: 'ALBUM'});
|
await createAliasAsync(id + '.ALBUM', dpPath + '.Album', true, <iobJS.StateCommon> {type: 'string', role: 'media.album', name: 'ALBUM'});
|
||||||
@@ -4858,6 +4910,12 @@ async function createAutoMediaAlias(id: string, mediaDevice: string, adapterPlay
|
|||||||
log('error at function createAutoMediaAlias Adapter Squeezebox: ' + err.message, 'warn');
|
log('error at function createAutoMediaAlias Adapter Squeezebox: ' + err.message, 'warn');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default: {
|
||||||
|
log(`Dont find adapterPlayerInstance: ${adapterPlayerInstance}!`, 'warn')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4875,7 +4933,7 @@ function GenerateMediaPage(page: PageMedia): Payload[] {
|
|||||||
if (!page.items[0].adapterPlayerInstance!) throw new Error('page.items[0].adapterPlayerInstance is undefined!')
|
if (!page.items[0].adapterPlayerInstance!) throw new Error('page.items[0].adapterPlayerInstance is undefined!')
|
||||||
let vInstance = page.items[0].adapterPlayerInstance!;
|
let vInstance = page.items[0].adapterPlayerInstance!;
|
||||||
let v1Adapter = vInstance.split('.');
|
let v1Adapter = vInstance.split('.');
|
||||||
let v2Adapter = v1Adapter[0];
|
let v2Adapter:PlayerType = v1Adapter[0] as PlayerType;
|
||||||
|
|
||||||
// Some magic to change the ID of the alias, since speakers are not a property but separate objects
|
// Some magic to change the ID of the alias, since speakers are not a property but separate objects
|
||||||
if(v2Adapter == 'squeezeboxrpc') {
|
if(v2Adapter == 'squeezeboxrpc') {
|
||||||
@@ -6272,7 +6330,7 @@ function HandleButtonEvent(words: any): void {
|
|||||||
if (isPageMediaItem(pageItemRepeat)) {
|
if (isPageMediaItem(pageItemRepeat)) {
|
||||||
let adapterInstanceRepeat = pageItemRepeat.adapterPlayerInstance;
|
let adapterInstanceRepeat = pageItemRepeat.adapterPlayerInstance;
|
||||||
let adapterRepeat = adapterInstanceRepeat.split('.');
|
let adapterRepeat = adapterInstanceRepeat.split('.');
|
||||||
let deviceAdapterRP = adapterRepeat[0];
|
const deviceAdapterRP: PlayerType = adapterRepeat[0] as PlayerType;
|
||||||
|
|
||||||
switch (deviceAdapterRP) {
|
switch (deviceAdapterRP) {
|
||||||
case 'spotify-premium':
|
case 'spotify-premium':
|
||||||
@@ -6565,7 +6623,7 @@ function HandleButtonEvent(words: any): void {
|
|||||||
if (isPageMediaItem(pageItem)) {
|
if (isPageMediaItem(pageItem)) {
|
||||||
let adapterInstance = pageItem.adapterPlayerInstance!;
|
let adapterInstance = pageItem.adapterPlayerInstance!;
|
||||||
let adapter = adapterInstance!.split('.');
|
let adapter = adapterInstance!.split('.');
|
||||||
let deviceAdapter = adapter[0];
|
const deviceAdapter: PlayerType = adapter[0] as PlayerType;
|
||||||
|
|
||||||
switch (deviceAdapter) {
|
switch (deviceAdapter) {
|
||||||
case 'spotify-premium':
|
case 'spotify-premium':
|
||||||
@@ -6588,8 +6646,8 @@ function HandleButtonEvent(words: any): void {
|
|||||||
break;
|
break;
|
||||||
case 'sonos':
|
case 'sonos':
|
||||||
break;
|
break;
|
||||||
case 'chromecast':
|
/*case 'chromecast':
|
||||||
break;
|
break;*/
|
||||||
case 'squeezeboxrpc':
|
case 'squeezeboxrpc':
|
||||||
pageItem.mediaDevice = pageItem.speakerList![words[4]];
|
pageItem.mediaDevice = pageItem.speakerList![words[4]];
|
||||||
break;
|
break;
|
||||||
@@ -6608,7 +6666,7 @@ function HandleButtonEvent(words: any): void {
|
|||||||
if (!isPageMediaItem(pageItemPL)) break;
|
if (!isPageMediaItem(pageItemPL)) break;
|
||||||
let adapterInstancePL = pageItemPL.adapterPlayerInstance!;
|
let adapterInstancePL = pageItemPL.adapterPlayerInstance!;
|
||||||
let adapterPL = adapterInstancePL.split('.');
|
let adapterPL = adapterInstancePL.split('.');
|
||||||
let deviceAdapterPL = adapterPL[0];
|
const deviceAdapterPL: PlayerType = adapterPL[0] as PlayerType;
|
||||||
|
|
||||||
switch (deviceAdapterPL) {
|
switch (deviceAdapterPL) {
|
||||||
case 'spotify-premium':
|
case 'spotify-premium':
|
||||||
@@ -6664,7 +6722,7 @@ function HandleButtonEvent(words: any): void {
|
|||||||
if (!isPageMediaItem(pageItemTL)) break;
|
if (!isPageMediaItem(pageItemTL)) break;
|
||||||
let adapterInstanceTL = pageItemTL.adapterPlayerInstance!;
|
let adapterInstanceTL = pageItemTL.adapterPlayerInstance!;
|
||||||
let adapterTL = adapterInstanceTL.split('.');
|
let adapterTL = adapterInstanceTL.split('.');
|
||||||
let deviceAdapterTL = adapterTL[0];
|
const deviceAdapterTL: PlayerType = adapterTL[0] as PlayerType;
|
||||||
|
|
||||||
switch (deviceAdapterTL) {
|
switch (deviceAdapterTL) {
|
||||||
case 'spotify-premium':
|
case 'spotify-premium':
|
||||||
@@ -6799,7 +6857,7 @@ function HandleButtonEvent(words: any): void {
|
|||||||
case 'media-OnOff':
|
case 'media-OnOff':
|
||||||
let pageItemTem = findPageItem(id);
|
let pageItemTem = findPageItem(id);
|
||||||
if (!isPageMediaItem(pageItemTem)) break;
|
if (!isPageMediaItem(pageItemTem)) break;
|
||||||
let adaInstanceSpli = pageItemTem.adapterPlayerInstance!.split('.');
|
let adaInstanceSpli = pageItemTem.adapterPlayerInstance.split('.');
|
||||||
if (adaInstanceSpli[0] == 'squeezeboxrpc') {
|
if (adaInstanceSpli[0] == 'squeezeboxrpc') {
|
||||||
let adapterPlayerInstancePowerSelector: string = [pageItemTem.adapterPlayerInstance, 'Players', pageItemTem.mediaDevice, 'Power'].join('.');
|
let adapterPlayerInstancePowerSelector: string = [pageItemTem.adapterPlayerInstance, 'Players', pageItemTem.mediaDevice, 'Power'].join('.');
|
||||||
let stateVal = getState(adapterPlayerInstancePowerSelector).val;
|
let stateVal = getState(adapterPlayerInstancePowerSelector).val;
|
||||||
@@ -7807,8 +7865,8 @@ function GenerateDetailPage(type: string, optional: mediaOptional | undefined, p
|
|||||||
let optionalString: string = 'Kein Eintrag';
|
let optionalString: string = 'Kein Eintrag';
|
||||||
let mode: string = '';
|
let mode: string = '';
|
||||||
if (isPageMediaItem(pageItem)) {
|
if (isPageMediaItem(pageItem)) {
|
||||||
let vTempAdapter = (pageItem.adapterPlayerInstance!).split('.');
|
const vTempAdapter = (pageItem.adapterPlayerInstance!).split('.');
|
||||||
let vAdapter = vTempAdapter[0];
|
const vAdapter: PlayerType = vTempAdapter[0] as PlayerType;
|
||||||
if (optional == 'seek') {
|
if (optional == 'seek') {
|
||||||
let actualStateTemp: number = getState(pageItem.adapterPlayerInstance + 'root.' + pageItem.mediaDevice + '.seek').val;
|
let actualStateTemp: number = getState(pageItem.adapterPlayerInstance + 'root.' + pageItem.mediaDevice + '.seek').val;
|
||||||
if (actualStateTemp >= 95) {
|
if (actualStateTemp >= 95) {
|
||||||
@@ -9612,19 +9670,13 @@ type IconScaleElement = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type adapterPlayerInstanceType =
|
type adapterPlayerInstanceType =
|
||||||
'alexa2.1.' | 'sonos.1.' | 'spotify-premium.1.' | 'volumio.1.' | 'squeezeboxrpc.1.'
|
'alexa2.0.' | 'alexa2.1.'| 'alexa2.2.' | 'alexa2.3.' | 'alexa2.4.' | 'alexa2.5.' | 'alexa2.6.' | 'alexa2.7.' | 'alexa2.8.' | 'alexa2.9.'
|
||||||
| 'alexa2.2.' | 'sonos.2.' | 'spotify-premium.2.' | 'volumio.2.' | 'squeezeboxrpc.2.'
|
| 'sonos.0.' | 'sonos.1.' | 'sonos.2.' | 'sonos.3.' | 'sonos.4.' | 'sonos.5.' | 'sonos.6.' | 'sonos.7.' | 'sonos.8.' | 'sonos.9.'
|
||||||
| 'alexa2.0.' | 'sonos.0.' | 'spotify-premium.0.' | 'volumio.0.' | 'squeezeboxrpc.0.'
|
| 'spotify-premium.0.' | 'spotify-premium.1.' | 'spotify-premium.2.' | 'spotify-premium.3.' | 'spotify-premium.4.' | 'spotify-premium.5.' | 'spotify-premium.6.' | 'spotify-premium.7.' | 'spotify-premium.8.' | 'spotify-premium.9.'
|
||||||
| 'alexa2.3.' | 'sonos.3.' | 'spotify-premium.3.' | 'volumio.3.' | 'squeezeboxrpc.3.'
|
| 'volumio.0.' | 'volumio.1.' | 'volumio.2.' | 'volumio.3.' |'volumio.4.' | 'volumio.5.' | 'volumio.6.' | 'volumio.7.' | 'volumio.8.' | 'volumio.9.'
|
||||||
| 'alexa2.4.' | 'sonos.4.' | 'spotify-premium.4.' | 'volumio.4.' | 'squeezeboxrpc.4.'
|
| 'squeezeboxrpc.0.' | 'squeezeboxrpc.1.' | 'squeezeboxrpc.2.' | 'squeezeboxrpc.3.' | 'squeezeboxrpc.4.' | 'squeezeboxrpc.5.' | 'squeezeboxrpc.6.' | 'squeezeboxrpc.7.' | 'squeezeboxrpc.8.' | 'squeezeboxrpc.9.'
|
||||||
| 'alexa2.5.' | 'sonos.5.' | 'spotify-premium.5.' | 'volumio.5.' | 'squeezeboxrpc.5.'
|
|
||||||
| 'alexa2.6.' | 'sonos.6.' | 'spotify-premium.6.' | 'volumio.6.' | 'squeezeboxrpc.6.'
|
|
||||||
| 'alexa2.7.' | 'sonos.7.' | 'spotify-premium.7.' | 'volumio.7.' | 'squeezeboxrpc.7.'
|
|
||||||
| 'alexa2.8.' | 'sonos.8.' | 'spotify-premium.8.' | 'volumio.8.' | 'squeezeboxrpc.8.'
|
|
||||||
| 'alexa2.9.' | 'sonos.9.' | 'spotify-premium.9.' | 'volumio.9.' | 'squeezeboxrpc.9.'
|
|
||||||
| 'alexa2.10.' | 'sonos.10.' | 'spotify-premium.10.' | 'volumio.10.' | 'squeezeboxrpc.10'
|
|
||||||
|
|
||||||
|
|
||||||
|
type PlayerType = 'alexa2' | 'sonos'| 'sonos' | 'spotify-premium' | 'volumio' |'squeezeboxrpc'
|
||||||
|
|
||||||
type mediaOptional = 'seek' | 'crossfade' | 'speakerlist' | 'playlist' | 'tracklist' | 'equalizer' | 'repeat' | 'favorites'
|
type mediaOptional = 'seek' | 'crossfade' | 'speakerlist' | 'playlist' | 'tracklist' | 'equalizer' | 'repeat' | 'favorites'
|
||||||
|
|
||||||
|
|||||||
27
ioBroker/tsconfig.json
Normal file
27
ioBroker/tsconfig.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"compileOnSave": true,
|
||||||
|
"compilerOptions": {
|
||||||
|
"noEmit": true,
|
||||||
|
"allowJs": true,
|
||||||
|
"checkJs": true,
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"strict": true,
|
||||||
|
"noImplicitAny": false,
|
||||||
|
"target": "es2020",
|
||||||
|
"typeRoots": [
|
||||||
|
".iobroker/types",
|
||||||
|
"node_modules/@types"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"**/*.js",
|
||||||
|
"**/*.ts",
|
||||||
|
"./.iobroker/types/javascript.d.ts"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user