Compare commits

..

1 Commits

Author SHA1 Message Date
slajob
8eae83c8ba Merge 127671047f into 3f7fd40d17 2024-02-09 23:15:23 -07:00

View File

@@ -1,5 +1,5 @@
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
TypeScript v4.3.3.43 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @ticaki / @Britzelpuf / @Sternmiere / @ravenS0ne TypeScript v4.3.3.42 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @ticaki / @Britzelpuf / @Sternmiere / @ravenS0ne
- abgestimmt auf TFT 53 / v4.3.3 / BerryDriver 9 / Tasmota 13.3.0 - abgestimmt auf TFT 53 / v4.3.3 / BerryDriver 9 / Tasmota 13.3.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
@@ -112,10 +112,9 @@ ReleaseNotes:
- 06.02.2024 - v4.3.3.41 Fix: activeBrightness -> null - 06.02.2024 - v4.3.3.41 Fix: activeBrightness -> null
- 06.02.2024 - v4.3.3.41 Fix: bHome -> corrected PageId - 06.02.2024 - v4.3.3.41 Fix: bHome -> corrected PageId
- 07.02.2024 - v4.3.3.42 Minor Fixes - 07.02.2024 - v4.3.3.42 Minor Fixes
- 09.02.2024 - v4.3.3.42 Change pageId with Alias in Communication with HMI - 09.02.2024 - v4.3.3.42 Change pageId with Alias in Communication with HMI (cardMedia)
- 09.02.2024 - v4.3.3.42 Spotify Media-Player: Dynamic loading of the speaker list, playlist, tracklist, fix repeat, add seek, add elapsed/duration - 09.02.2024 - v4.3.3.42 spotiffy Media-Player: Dynamic loading of the speaker list, playlist, tracklist, fix repeat, add seek, add elapsed/duration
- 10.02.2024 - v4.3.3.42 Spotify Minor Fixes; Add miValue / maxValue to Volume-Slider
- 10.02.2024 - v4.3.3.43 Fix: cardGrid2 => 9 Entities for Layout 'us-p' issue #1167
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
@@ -213,7 +212,6 @@ Upgrades in Konsole:
--------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------
*/ */
/******************************* Begin CONFIG Parameter *******************************/ /******************************* Begin CONFIG Parameter *******************************/
// DE: liefert bei true detailliertere Meldundgen im Log. // DE: liefert bei true detailliertere Meldundgen im Log.
@@ -983,7 +981,7 @@ 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.3.3.43'; const scriptVersion: string = 'v4.3.3.42';
const tft_version: string = 'v4.3.3'; const tft_version: string = 'v4.3.3';
const desired_display_firmware_version = 53; const desired_display_firmware_version = 53;
const berry_driver_version = 9; const berry_driver_version = 9;
@@ -3384,11 +3382,7 @@ function GeneratePageElements(page: PageType): string {
maxItems = 6; maxItems = 6;
break; break;
case 'cardGrid2': case 'cardGrid2':
if (getState(NSPanel_Path + 'NSPanel_Version').val == 'us-p') { maxItems = 8;
maxItems = 9;
} else {
maxItems = 8;
};
break; break;
} }
@@ -4779,7 +4773,7 @@ function subscribeMediaSubscriptions(id: string): void {
GeneratePage(activePage!); GeneratePage(activePage!);
setTimeout(async function () { setTimeout(async function () {
GeneratePage(activePage!); GeneratePage(activePage!);
}, 1500); }, 3000);
} }
},50) },50)
}); });
@@ -5310,16 +5304,12 @@ function GenerateMediaPage(page: NSPanel.PageMedia): NSPanel.Payload[] {
media_icon = Icons.GetIcon('spotify'); media_icon = Icons.GetIcon('spotify');
name = getState(id + '.CONTEXT_DESCRIPTION').val; name = getState(id + '.CONTEXT_DESCRIPTION').val;
let nameLength = name.length; let nameLength = name.length;
if (name.substring(0,17) == 'Playlist: This Is') { if (name.substring(0,9) == 'Playlist:') {
name = name.slice(18, 34) + '...';
} else if (name.substring(0,9) == 'Playlist:') {
name = name.slice(10, 26) + '...'; name = name.slice(10, 26) + '...';
} else if (name.substring(0,6) == 'Album:') { } else if (name.substring(0,6) == 'Album:') {
name = name.slice(7, 23) + '...'; name = name.slice(7, 23) + '...';
} else if (name.substring(0,6) == 'Track:') { } else if (name.substring(0,6) == 'Track') {
name = name.slice(7, 23) + '...'; name = 'Spotify-Premium';
} else if (name.substring(0,7) == 'Artist:') {
name = name.slice(8, 24) + '...';
} }
if (nameLength == 0) { if (nameLength == 0) {
name = 'Spotify-Premium'; name = 'Spotify-Premium';
@@ -5417,7 +5407,7 @@ function GenerateMediaPage(page: NSPanel.PageMedia): NSPanel.Payload[] {
name = page.heading; name = page.heading;
} }
let volume = scale(getState(id + '.VOLUME').val, activePage.items[0].minValue ?? 0, activePage.items[0].maxValue ?? 100, 100, 0); let volume = getState(id + '.VOLUME').val;
let iconplaypause = Icons.GetIcon('pause'); //pause let iconplaypause = Icons.GetIcon('pause'); //pause
let shuffle_icon = Icons.GetIcon('shuffle-variant'); //shuffle let shuffle_icon = Icons.GetIcon('shuffle-variant'); //shuffle
let onoffbutton = 1374; let onoffbutton = 1374;
@@ -5624,7 +5614,7 @@ function GenerateMediaPage(page: NSPanel.PageMedia): NSPanel.Payload[] {
let tempTrackList = JSON.parse(getState(page.items[0].adapterPlayerInstance + 'player.playlist.trackListArray').val); let tempTrackList = JSON.parse(getState(page.items[0].adapterPlayerInstance + 'player.playlist.trackListArray').val);
globalTracklist = tempTrackList; globalTracklist = tempTrackList;
} catch { } catch {
log('Hello Mr. Developer something went wrong in tracklist!', 'debug') log('Hello Mr. Developer something went wrong in tracklist!', 'warn')
} }
} }
@@ -5702,6 +5692,11 @@ function GenerateMediaPage(page: NSPanel.PageMedia): NSPanel.Payload[] {
repeatIcon = Icons.GetIcon('repeat'); repeatIcon = Icons.GetIcon('repeat');
repeatIconCol = rgb_dec565(HMIOn); repeatIconCol = rgb_dec565(HMIOn);
} }
/*
else {
repeatIcon = Icons.GetIcon('repeat-off');
}
*/
} else if (v2Adapter == 'volumio') { /* Volumio: only Repeat true/false with API */ } else if (v2Adapter == 'volumio') { /* Volumio: only Repeat true/false with API */
if (getState(id + '.REPEAT').val == true) { if (getState(id + '.REPEAT').val == true) {
repeatIcon = Icons.GetIcon('repeat-variant'); repeatIcon = Icons.GetIcon('repeat-variant');
@@ -7048,13 +7043,12 @@ function HandleButtonEvent(words: any): void {
pageCounter = -1; pageCounter = -1;
(function () { if (timeoutSlider) { clearTimeout(timeoutSlider); timeoutSlider = null; } })(); (function () { if (timeoutSlider) { clearTimeout(timeoutSlider); timeoutSlider = null; } })();
timeoutSlider = setTimeout(async function () { timeoutSlider = setTimeout(async function () {
setIfExists(id + '.VOLUME', parseInt(words[4]));
setTimeout(async function () { setTimeout(async function () {
let vVolume = scale(parseInt(words[4]), 100, 0, activePage.items[0].minValue ?? 0, activePage.items[0].maxValue ?? 100);
setIfExists(id + '.VOLUME', Math.floor(vVolume));
pageCounter = 1; pageCounter = 1;
GeneratePage(activePage!); GeneratePage(activePage!);
}, 10); }, 3000);
}, 50); }, 20);
break; break;
case 'mode-speakerlist': case 'mode-speakerlist':
let pageItem = findPageItem(id); let pageItem = findPageItem(id);
@@ -8966,7 +8960,7 @@ function HandleScreensaverUpdate(): void {
val = parseFloat(val); val = parseFloat(val);
} }
let iconColor = rgb_dec565(White); let iconColor = rgb_dec565(White);
let icon; let icon;
if (config.bottomScreensaverEntity[i].ScreensaverEntityIconOn && existsObject(config.bottomScreensaverEntity[i].ScreensaverEntityIconOn!)) { if (config.bottomScreensaverEntity[i].ScreensaverEntityIconOn && existsObject(config.bottomScreensaverEntity[i].ScreensaverEntityIconOn!)) {
let iconName = getState(config.bottomScreensaverEntity[i].ScreensaverEntityIconOn!).val; let iconName = getState(config.bottomScreensaverEntity[i].ScreensaverEntityIconOn!).val;
icon = Icons.GetIcon(iconName); icon = Icons.GetIcon(iconName);
@@ -10130,7 +10124,7 @@ namespace NSPanel {
export type PageGrid2 = { export type PageGrid2 = {
type: 'cardGrid2', type: 'cardGrid2',
items: [PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?], items: [PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?],
} & PageBaseType } & PageBaseType
export type PageThermo = { export type PageThermo = {