mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-02-22 22:18:38 +01:00
v4.7.2.1 - DEV Update NSPanelTs.ts
add popupSlider to cardMedia (alexa)
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
/*-----------------------------------------------------------------------
|
/*-----------------------------------------------------------------------
|
||||||
TypeScript v4.7.1.3 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @ticaki / @Britzelpuf / @Sternmiere / @ravenS0ne
|
TypeScript v4.7.2.1 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @ticaki / @Britzelpuf / @Sternmiere / @ravenS0ne
|
||||||
- abgestimmt auf TFT 56 / v4.7.1 / BerryDriver 9 / Tasmota 14.5.0
|
- abgestimmt auf TFT 56 / v4.7.2 / BerryDriver 9 / Tasmota 14.6.0
|
||||||
@joBr99 Projekt: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
|
@joBr99 Projekt: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
|
||||||
NsPanelTs.ts (dieses TypeScript in ioBroker) Stable: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
|
NsPanelTs.ts (dieses TypeScript in ioBroker) Stable: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
|
||||||
icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts (TypeScript muss in global liegen)
|
icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts (TypeScript muss in global liegen)
|
||||||
@@ -59,8 +59,9 @@ ReleaseNotes:
|
|||||||
- 10.04.2025 - v4.7.1 TFT 56 / 4.7.1 - Add Player Icon-Logos logo-alexa, logo-spotify, logo-dlna, logo-sonos, logo-mpd, logo-volumios, logo-bose
|
- 10.04.2025 - v4.7.1 TFT 56 / 4.7.1 - Add Player Icon-Logos logo-alexa, logo-spotify, logo-dlna, logo-sonos, logo-mpd, logo-volumios, logo-bose
|
||||||
- 10.04.2025 - v4.7.1.1 Add parameter playerMediaIcon to cardMedia
|
- 10.04.2025 - v4.7.1.1 Add parameter playerMediaIcon to cardMedia
|
||||||
- 12.04.2025 - v4.7.1.2 Fix Play/Pause in MediaPlayers
|
- 12.04.2025 - v4.7.1.2 Fix Play/Pause in MediaPlayers
|
||||||
- 13.04.2025 - v4.7.1.2 TFT 56 / 4.7.1 (US-P and US-L)
|
- 13.04.2025 - v4.7.1.2 TFT 56 / 4.7.1 (US-P and US-L)
|
||||||
- 14.04.2025 - v4.7.1.3 MrIcons also allow other mqtt states
|
- 14.04.2025 - v4.7.1.3 MrIcons also allow other mqtt states
|
||||||
|
- 24.04.2025 - v4.7.2.1 Add popupSlider to cardMedia (alexa)
|
||||||
|
|
||||||
Todo:
|
Todo:
|
||||||
- XX.12.2024 - v5.0.0 ioBroker Adapter
|
- XX.12.2024 - v5.0.0 ioBroker Adapter
|
||||||
@@ -105,6 +106,7 @@ Popup-Pages:
|
|||||||
popupNotify Page - Info - Seite mit Headline Text und Buttons - Intern für manuelle Updates / Extern zur Befüllung von Datenpunkten unter 0_userdata
|
popupNotify Page - Info - Seite mit Headline Text und Buttons - Intern für manuelle Updates / Extern zur Befüllung von Datenpunkten unter 0_userdata
|
||||||
screensaver Notify - Über zwei externe Datenpunkte in 0_userdata können "Headline" und "Text" an den Screensaver zur Info gesendet werden
|
screensaver Notify - Über zwei externe Datenpunkte in 0_userdata können "Headline" und "Text" an den Screensaver zur Info gesendet werden
|
||||||
popupInSel Page - Auswahlliste (InputSelect)
|
popupInSel Page - Auswahlliste (InputSelect)
|
||||||
|
popupSlider Page - 3 vertikal ausgerichtete Slider. Abweichender 0 Punkt möglich
|
||||||
|
|
||||||
Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigurieren, da SET, GET, ACTUAL, etc. verwendet werden)
|
Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigurieren, da SET, GET, ACTUAL, etc. verwendet werden)
|
||||||
Info - Werte aus Datenpunkt
|
Info - Werte aus Datenpunkt
|
||||||
@@ -163,7 +165,7 @@ Install/Upgrades in Konsole:
|
|||||||
|
|
||||||
Tasmota BerryDriver Install: Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
|
Tasmota BerryDriver Install: Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
|
||||||
Tasmota BerryDriver Update: Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
|
Tasmota BerryDriver Update: Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
|
||||||
TFT EU STABLE Version: FlashNextion http://nspanel.de/nspanel-v4.7.1.tft
|
TFT EU STABLE Version: FlashNextion http://nspanel.de/nspanel-v4.7.2.tft
|
||||||
|
|
||||||
TFT US-L STABLE Version: FlashNextion http://nspanel.de/nspanel-us-l-v4.7.1.tft
|
TFT US-L STABLE Version: FlashNextion http://nspanel.de/nspanel-us-l-v4.7.1.tft
|
||||||
TFT US-P STABLE Version: FlashNextion http://nspanel.de/nspanel-us-p-v4.7.1.tft
|
TFT US-P STABLE Version: FlashNextion http://nspanel.de/nspanel-us-p-v4.7.1.tft
|
||||||
@@ -949,8 +951,8 @@ export const config: Config = {
|
|||||||
// _________________________________ DE: Ab hier keine Konfiguration mehr _____________________________________
|
// _________________________________ DE: Ab hier keine Konfiguration mehr _____________________________________
|
||||||
// _________________________________ EN: No more configuration from here _____________________________________
|
// _________________________________ EN: No more configuration from here _____________________________________
|
||||||
|
|
||||||
const scriptVersion: string = 'v4.7.1.3';
|
const scriptVersion: string = 'v4.7.2.1';
|
||||||
const tft_version: string = 'v4.7.1';
|
const tft_version: string = 'v4.7.2';
|
||||||
const desired_display_firmware_version = 56;
|
const desired_display_firmware_version = 56;
|
||||||
const berry_driver_version = 9;
|
const berry_driver_version = 9;
|
||||||
|
|
||||||
@@ -7061,8 +7063,8 @@ function GenerateMediaPage (page: NSPanel.PageMedia): NSPanel.Payload[] {
|
|||||||
if (existsObject(id)) {
|
if (existsObject(id)) {
|
||||||
let name = getState(id + '.ALBUM').val;
|
let name = getState(id + '.ALBUM').val;
|
||||||
let title = getState(id + '.TITLE').val;
|
let title = getState(id + '.TITLE').val;
|
||||||
if (title.length > 26) {
|
if (title.length > 24) {
|
||||||
title = title.slice(0, 26) + '...';
|
title = title.slice(0, 24) + '...';
|
||||||
}
|
}
|
||||||
if (existsObject(id + '.DURATION') && existsObject(id + '.ELAPSED')) {
|
if (existsObject(id + '.DURATION') && existsObject(id + '.ELAPSED')) {
|
||||||
if (v2Adapter == 'alexa2') {
|
if (v2Adapter == 'alexa2') {
|
||||||
@@ -7611,10 +7613,15 @@ function GenerateMediaPage (page: NSPanel.PageMedia): NSPanel.Payload[] {
|
|||||||
//InSel EQ
|
//InSel EQ
|
||||||
let equalizerListString: string = '~~~~~~';
|
let equalizerListString: string = '~~~~~~';
|
||||||
let equalizerListIconCol = rgb_dec565(HMIOff);
|
let equalizerListIconCol = rgb_dec565(HMIOff);
|
||||||
|
|
||||||
if (page.items[0].equalizerList != undefined) {
|
if (page.items[0].equalizerList != undefined) {
|
||||||
equalizerListIconCol = rgb_dec565(HMIOn);
|
equalizerListIconCol = rgb_dec565(HMIOn);
|
||||||
equalizerListString =
|
equalizerListString =
|
||||||
'input_sel' + '~' + tid + '?equalizer' + '~' + Icons.GetIcon('equalizer-outline') + '~' + equalizerListIconCol + '~' + findLocale('media', 'equalizer') + '~' + 'media3~';
|
'input_sel' + '~' + tid + '?equalizer' + '~' + Icons.GetIcon('equalizer-outline') + '~' + equalizerListIconCol + '~' + findLocale('media', 'equalizer') + '~' + 'media3~';
|
||||||
|
} else if (page.items[0].equalizerSlider != undefined && v2Adapter == 'alexa2') {
|
||||||
|
equalizerListIconCol = rgb_dec565(HMIOn);
|
||||||
|
equalizerListString =
|
||||||
|
'slider' + '~' + tid + '~' + Icons.GetIcon('equalizer-outline') + '~' + equalizerListIconCol + '~' + findLocale('media', 'equalizer') + '~' + 'media3~';
|
||||||
} else if (page.items[0].equalizerList == undefined && v2Adapter == 'sonos') {
|
} else if (page.items[0].equalizerList == undefined && v2Adapter == 'sonos') {
|
||||||
let equalizerListIconCol = rgb_dec565(HMIOn);
|
let equalizerListIconCol = rgb_dec565(HMIOn);
|
||||||
//equalizerListString is used for favariteList
|
//equalizerListString is used for favariteList
|
||||||
@@ -8792,6 +8799,18 @@ function HandleButtonEvent (words: any): void {
|
|||||||
pageCounter = 0;
|
pageCounter = 0;
|
||||||
GeneratePage(activePage!);
|
GeneratePage(activePage!);
|
||||||
}
|
}
|
||||||
|
if (words[2] == 'popupSlider' && activePage!.type == 'cardMedia') {
|
||||||
|
if (Debug) log('Leave popupSlider without any action', 'info');
|
||||||
|
pageCounter = 0;
|
||||||
|
GeneratePage(activePage!);
|
||||||
|
setTimeout(async function () {
|
||||||
|
pageCounter = 1;
|
||||||
|
GeneratePage(activePage!);
|
||||||
|
}, 3000);
|
||||||
|
} else {
|
||||||
|
pageCounter = 0;
|
||||||
|
GeneratePage(activePage!);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'bHome':
|
case 'bHome':
|
||||||
if (Debug) {
|
if (Debug) {
|
||||||
@@ -9529,6 +9548,37 @@ function HandleButtonEvent (words: any): void {
|
|||||||
GeneratePage(activePage!);
|
GeneratePage(activePage!);
|
||||||
}, 3000);
|
}, 3000);
|
||||||
break;
|
break;
|
||||||
|
case 'positionSlider1':
|
||||||
|
case 'positionSlider2':
|
||||||
|
case 'positionSlider3':
|
||||||
|
let newSliderVal: number = 0
|
||||||
|
let pageItemSlider = findPageItem(id);
|
||||||
|
if (isPageMediaItem(pageItemSlider)) {
|
||||||
|
let adaInstanceSplit = pageItemSlider.adapterPlayerInstance!.split('.');
|
||||||
|
if (adaInstanceSplit[0] == 'alexa2') {
|
||||||
|
if (words[4] > 6) {
|
||||||
|
newSliderVal = words[4] - 6;
|
||||||
|
} else if (words[4] < 6) {
|
||||||
|
newSliderVal = (6 - words[4]) * -1;
|
||||||
|
}
|
||||||
|
if (Debug) log(words[3] + ': ' + newSliderVal);
|
||||||
|
switch (words[3]) {
|
||||||
|
case 'positionSlider1':
|
||||||
|
if (Debug) log(pageItemSlider.adapterPlayerInstance + 'Echo-Devices.' + pageItemSlider.mediaDevice + '.Preferences.equalizerBass');
|
||||||
|
setState(pageItemSlider.adapterPlayerInstance + 'Echo-Devices.' + pageItemSlider.mediaDevice + '.Preferences.equalizerBass', newSliderVal);
|
||||||
|
break;
|
||||||
|
case 'positionSlider2':
|
||||||
|
if (Debug) log(pageItemSlider.adapterPlayerInstance + 'Echo-Devices.' + pageItemSlider.mediaDevice + '.Preferences.equalizerMidRange');
|
||||||
|
setState(pageItemSlider.adapterPlayerInstance + 'Echo-Devices.' + pageItemSlider.mediaDevice + '.Preferences.equalizerMidRange', newSliderVal);
|
||||||
|
break;
|
||||||
|
case 'positionSlider3':
|
||||||
|
if (Debug) log(pageItemSlider.adapterPlayerInstance + 'Echo-Devices.' + pageItemSlider.mediaDevice + '.Preferences.equalizerTreble');
|
||||||
|
setState(pageItemSlider.adapterPlayerInstance + 'Echo-Devices.' + pageItemSlider.mediaDevice + '.Preferences.equalizerTreble', newSliderVal);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'mode-seek':
|
case 'mode-seek':
|
||||||
let pageItemSeek = findPageItem(id);
|
let pageItemSeek = findPageItem(id);
|
||||||
if (!isPageMediaItem(pageItemSeek)) break;
|
if (!isPageMediaItem(pageItemSeek)) break;
|
||||||
@@ -10656,6 +10706,114 @@ function GenerateDetailPage (type: NSPanel.PopupType, optional: NSPanel.mediaOpt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type == 'popupSlider') {
|
||||||
|
|
||||||
|
let tempId = placeId != undefined ? placeId : id;
|
||||||
|
|
||||||
|
if (isPageMediaItem(pageItem)) {
|
||||||
|
|
||||||
|
const vTempAdapter = pageItem.adapterPlayerInstance!.split('.');
|
||||||
|
const vAdapter: NSPanel.PlayerType = vTempAdapter[0] as NSPanel.PlayerType;
|
||||||
|
|
||||||
|
if (vAdapter == 'alexa2') {
|
||||||
|
|
||||||
|
let tSlider1: string = pageItem.equalizerSlider[0].Slider1.heading ?? "Bass";
|
||||||
|
let tIconS1M: string = Icons.GetIcon(pageItem.equalizerSlider[0].Slider1.icon1 ?? "minus-box");
|
||||||
|
let tIconS1P: string = Icons.GetIcon(pageItem.equalizerSlider[0].Slider1.icon2 ?? "plus-box");
|
||||||
|
let hSlider1MinVal: number = pageItem.equalizerSlider[0].Slider1.minValue ?? 0;
|
||||||
|
let hSlider1MaxVal: number = pageItem.equalizerSlider[0].Slider1.maxValue ?? 12;
|
||||||
|
let hSlider1ZeroVal: number = pageItem.equalizerSlider[0].Slider1.zeroValue ?? 6;
|
||||||
|
let hSlider1CurVal: number = getState(pageItem.adapterPlayerInstance! + 'Echo-Devices.' + pageItem.mediaDevice! + '.Preferences.equalizerBass').val + hSlider1ZeroVal;
|
||||||
|
let hSlider1Step: number = pageItem.equalizerSlider[0].Slider1.stepValue ?? 1;
|
||||||
|
let hSlider1Visibility: string = "enable";
|
||||||
|
|
||||||
|
let tSlider2: string = pageItem.equalizerSlider[0].Slider2.heading ?? "MidRange";
|
||||||
|
let tIconS2M: string = Icons.GetIcon(pageItem.equalizerSlider[0].Slider2.icon1 ?? "minus-box");
|
||||||
|
let tIconS2P: string = Icons.GetIcon(pageItem.equalizerSlider[0].Slider2.icon2 ?? "plus-box");
|
||||||
|
let hSlider2MinVal: number = pageItem.equalizerSlider[0].Slider2.minValue ?? 0;
|
||||||
|
let hSlider2MaxVal: number = pageItem.equalizerSlider[0].Slider2.maxValue ?? 12;
|
||||||
|
let hSlider2ZeroVal: number = pageItem.equalizerSlider[0].Slider2.zeroValue ?? 6;
|
||||||
|
let hSlider2CurVal: number = getState(pageItem.adapterPlayerInstance! + 'Echo-Devices.' + pageItem.mediaDevice! + '.Preferences.equalizerMidRange').val + hSlider2ZeroVal;
|
||||||
|
let hSlider2Step: number = pageItem.equalizerSlider[0].Slider2.stepValue ?? 1;
|
||||||
|
let hSlider2Visibility: string = "enable";
|
||||||
|
|
||||||
|
let tSlider3: string = pageItem.equalizerSlider[0].Slider3.heading ?? "Treble";
|
||||||
|
let tIconS3M: string = Icons.GetIcon(pageItem.equalizerSlider[0].Slider3.icon1 ?? "minus-box");
|
||||||
|
let tIconS3P: string = Icons.GetIcon(pageItem.equalizerSlider[0].Slider3.icon2 ?? "plus-box");
|
||||||
|
let hSlider3MinVal: number = pageItem.equalizerSlider[0].Slider3.minValue ?? 0;
|
||||||
|
let hSlider3MaxVal: number = pageItem.equalizerSlider[0].Slider3.maxValue ?? 12;
|
||||||
|
let hSlider3ZeroVal: number = pageItem.equalizerSlider[0].Slider3.zeroValue ?? 6;
|
||||||
|
let hSlider3CurVal: number = getState(pageItem.adapterPlayerInstance! + 'Echo-Devices.' + pageItem.mediaDevice! + '.Preferences.equalizerTreble').val + hSlider3ZeroVal;
|
||||||
|
let hSlider3Step: number = pageItem.equalizerSlider[0].Slider3.stepValue ?? 1;
|
||||||
|
let hSlider3Visibility: string = "enable";
|
||||||
|
|
||||||
|
out_msgs.push({
|
||||||
|
payload:
|
||||||
|
'entityUpdateDetail' +
|
||||||
|
'~' + //entityUpdateDetail
|
||||||
|
tempId +
|
||||||
|
'~' +
|
||||||
|
// Slider1
|
||||||
|
tSlider1 + // Slider1 Headline --> tmSerial 2
|
||||||
|
'~' +
|
||||||
|
tIconS1M + // Slider1 Left Icon --> tmSerial 3
|
||||||
|
'~' +
|
||||||
|
tIconS1P + // Slider1 Right Icon --> tmSerial 4
|
||||||
|
'~' +
|
||||||
|
hSlider1CurVal + // Slider1 Current Slider Value --> tmSerial 5
|
||||||
|
'~' +
|
||||||
|
hSlider1MinVal + // Slider1 Minimal Slider Value --> tmSerial 6
|
||||||
|
'~' +
|
||||||
|
hSlider1MaxVal + // Slider1 Maximal Slider Value --> tmSerial 7
|
||||||
|
'~' +
|
||||||
|
hSlider1ZeroVal + // If Slider 0 is betweeb Min and Max --> tmSerial 8
|
||||||
|
'~' +
|
||||||
|
hSlider1Step + // If Slider Tap > --> tmSerial 9
|
||||||
|
'~' +
|
||||||
|
hSlider1Visibility // If Slider Tap > --> tmSerial 10
|
||||||
|
// Slider2
|
||||||
|
+ '~' +
|
||||||
|
tSlider2 + // Slider2 Headline --> tmSerial 11
|
||||||
|
'~' +
|
||||||
|
tIconS2M + // Slider2 Left Icon --> tmSerial 12
|
||||||
|
'~' +
|
||||||
|
tIconS2P + // Slider2 Right Icon --> tmSerial 13
|
||||||
|
'~' +
|
||||||
|
hSlider2CurVal + // Slider2 Current Slider Value --> tmSerial 14
|
||||||
|
'~' +
|
||||||
|
hSlider2MinVal + // Slider2 Minimal Slider Value --> tmSerial 15
|
||||||
|
'~' +
|
||||||
|
hSlider2MaxVal + // Slider2 Maximal Slider Value --> tmSerial 16
|
||||||
|
'~' +
|
||||||
|
hSlider2ZeroVal + // If Slider2 0 is betweeb Min and Max --> tmSerial 17
|
||||||
|
'~' +
|
||||||
|
hSlider2Step + // If Slider2 Tap > 1 --> tmSerial 18
|
||||||
|
'~' +
|
||||||
|
hSlider2Visibility // If Slider Tap > --> tmSerial 19
|
||||||
|
// Slider3
|
||||||
|
+ '~' +
|
||||||
|
tSlider3 + // Slider3 Headline --> tmSerial 20
|
||||||
|
'~' +
|
||||||
|
tIconS3M + // Slider3 Left Icon --> tmSerial 21
|
||||||
|
'~' +
|
||||||
|
tIconS3P + // Slider3 Right Icon --> tmSerial 22
|
||||||
|
'~' +
|
||||||
|
hSlider3CurVal + // Slider3 Current Slider Value --> tmSerial 23
|
||||||
|
'~' +
|
||||||
|
hSlider3MinVal + // Slider2 Minimal Slider Value --> tmSerial 24
|
||||||
|
'~' +
|
||||||
|
hSlider3MaxVal + // Slider2 Maximal Slider Value --> tmSerial 25
|
||||||
|
'~' +
|
||||||
|
hSlider3ZeroVal + // If Slider3 0 is betweeb Min and Max --> tmSerial 26
|
||||||
|
'~' +
|
||||||
|
hSlider3Step + // If Slider3 Tap > 1 --> tmSerial 27
|
||||||
|
'~' +
|
||||||
|
hSlider3Visibility // If Slider Tap > --> tmSerial 28
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (type == 'popupShutter') {
|
if (type == 'popupShutter') {
|
||||||
icon = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('window-open');
|
icon = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('window-open');
|
||||||
if (existsState(id + '.ACTUAL')) {
|
if (existsState(id + '.ACTUAL')) {
|
||||||
@@ -13198,6 +13356,7 @@ function isPopupType (F: NSPanel.PopupType | string): F is NSPanel.PopupType {
|
|||||||
case 'popupShutter':
|
case 'popupShutter':
|
||||||
case 'popupThermo':
|
case 'popupThermo':
|
||||||
case 'popupTimer':
|
case 'popupTimer':
|
||||||
|
case 'popupSlider':
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
log(`Please report to developer: Unknown NSPanel.PopupType: ${F} `, 'warn');
|
log(`Please report to developer: Unknown NSPanel.PopupType: ${F} `, 'warn');
|
||||||
@@ -13224,7 +13383,7 @@ function isPagePower (F: NSPanel.PageType | NSPanel.PagePower): F is NSPanel.Pag
|
|||||||
}
|
}
|
||||||
|
|
||||||
namespace NSPanel {
|
namespace NSPanel {
|
||||||
export type PopupType = 'popupFan' | 'popupInSel' | 'popupLight' | 'popupLightNew' | 'popupNotify' | 'popupShutter' | 'popupThermo' | 'popupTimer';
|
export type PopupType = 'popupFan' | 'popupInSel' | 'popupLight' | 'popupLightNew' | 'popupNotify' | 'popupShutter' | 'popupSlider' | 'popupThermo' | 'popupTimer';
|
||||||
|
|
||||||
export type EventMethod = 'startup' | 'sleepReached' | 'pageOpenDetail' | 'buttonPress2' | 'renderCurrentPage' | 'button1' | 'button2';
|
export type EventMethod = 'startup' | 'sleepReached' | 'pageOpenDetail' | 'buttonPress2' | 'renderCurrentPage' | 'button1' | 'button2';
|
||||||
export type panelRecvType = {
|
export type panelRecvType = {
|
||||||
@@ -13232,7 +13391,7 @@ namespace NSPanel {
|
|||||||
method: EventMethod;
|
method: EventMethod;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type SerialType = 'button' | 'light' | 'shutter' | 'text' | 'input_sel' | 'timer' | 'number' | 'fan';
|
export type SerialType = 'button' | 'light' | 'shutter' | 'text' | 'input_sel' | 'timer' | 'number' | 'fan' | 'slider';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines the possible roles for entities in the NSPanel.
|
* Defines the possible roles for entities in the NSPanel.
|
||||||
@@ -13294,6 +13453,9 @@ namespace NSPanel {
|
|||||||
| 'stop'
|
| 'stop'
|
||||||
| 'down'
|
| 'down'
|
||||||
| 'positionSlider'
|
| 'positionSlider'
|
||||||
|
| 'positionSlider1'
|
||||||
|
| 'positionSlider2'
|
||||||
|
| 'positionSlider3'
|
||||||
| 'tiltOpen'
|
| 'tiltOpen'
|
||||||
| 'tiltStop'
|
| 'tiltStop'
|
||||||
| 'tiltSlider'
|
| 'tiltSlider'
|
||||||
@@ -13449,6 +13611,7 @@ namespace NSPanel {
|
|||||||
speakerList?: string[];
|
speakerList?: string[];
|
||||||
playList?: string[];
|
playList?: string[];
|
||||||
equalizerList?: string[];
|
equalizerList?: string[];
|
||||||
|
equalizerSlider?: any[];
|
||||||
repeatList?: string[];
|
repeatList?: string[];
|
||||||
globalTracklist?: string[];
|
globalTracklist?: string[];
|
||||||
crossfade?: boolean;
|
crossfade?: boolean;
|
||||||
|
|||||||
Reference in New Issue
Block a user