v4.3.3.33 - Hotfix

* Hotfix max Number of indicatorScreensaverEntity
* Beta Player Bose Soundtouch
This commit is contained in:
Armilar
2024-01-05 17:54:07 +01:00
committed by GitHub
parent f4c7287dfd
commit d0e463de98

View File

@@ -1,5 +1,5 @@
/*-----------------------------------------------------------------------
TypeScript v4.3.3.32 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @ticaki / @Britzelpuf / @Sternmiere / @ravenS0ne
TypeScript v4.3.3.33 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
@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
@@ -101,6 +101,8 @@ ReleaseNotes:
- 04.01.2024 - v4.3.3.32 Add more details to types for: leftScreensaverEntity, indicatorScreensaverEntity, PageThermo, PageMedia
- 04.01.2024 - v4.3.3.32 Remove not uses propertys from PageItem
- 05.01.2024 - v4.3.3.32 Add Body for BoseSoundtouch-Player
- 05.01.2024 - v4.3.3.33 Add BoseSoundtouch Functions
- 05.01.2024 - v4.3.3.33 Screensaver Fix max Number of indicatorScreensaverEntity
Todo:
- XX.XX.XXXX - v5.0.0 Change the bottomScreensaverEntity (rolling) if more than 6 entries are defined
@@ -963,7 +965,7 @@ export const config: Config = {
// _________________________________ DE: Ab hier keine Konfiguration mehr _____________________________________
// _________________________________ EN: No more configuration from here _____________________________________
const scriptVersion: string = 'v4.3.3.32';
const scriptVersion: string = 'v4.3.3.33';
const tft_version: string = 'v4.3.3';
const desired_display_firmware_version = 53;
const berry_driver_version = 9;
@@ -6431,6 +6433,18 @@ function HandleButtonEvent(words: any): void {
}
GeneratePage(activePage!);
break;
case 'bosesoundtouch':
log(adapterInstanceRepeat);
let stateBoseRepeat = getState(id + '.REPEAT').val
if (stateBoseRepeat == 'REPEAT_OFF') {
setIfExists(adapterInstanceRepeat + 'key', 'REPEAT_ALL');
} else if (stateBoseRepeat == 'REPEAT_ALL') {
setIfExists(adapterInstanceRepeat + 'key', 'REPEAT_ONE');
} else if (stateBoseRepeat == 'REPEAT_ONE') {
setIfExists(adapterInstanceRepeat + 'key', 'REPEAT_OFF');
}
GeneratePage(activePage!);
break;
case 'sonos':
let stateSonosRepeat = getState(id + '.REPEAT').val
if (stateSonosRepeat == 0) {
@@ -6693,6 +6707,14 @@ function HandleButtonEvent(words: any): void {
setIfExists(id + '.SHUFFLE', false);
}
}
if ((tempPage.adapterPlayerInstance).startsWith("bosesoundtouch")) {
log(tempPage.adapterPlayerInstance);
if (getState(tempPage.adapterPlayerInstance + '.SHUFFLE').val == false) {
setIfExists(tempPage.adapterPlayerInstance + 'key', 'SHUFFLE_ON');
} else {
setIfExists(tempPage.adapterPlayerInstance + 'key', 'SHUFFLE_OFF');
}
}
GeneratePage(activePage!);
}
break;
@@ -6802,9 +6824,12 @@ function HandleButtonEvent(words: any): void {
setState([pageItemPL.adapterPlayerInstance, 'Players', pageItemPL.mediaDevice, 'cmdPlayFavorite'].join('.'), words[4]);
break;
case "bosesoundtouch":
log('bosesoundtouch - playlist ' + pageItemPL.adapterPlayerInstance + ' - ' + words[4]);
log(adapterInstancePL + 'key');
setState(adapterInstancePL + 'key', 'PRESET_' + (parseInt(words[4]) + 1));
break;
default:
log('Hello Mr. Developer u miss in mode-playlist something!', 'warn')
log('Hello Mr. Developer u miss in mode-playlist something!', 'warn');
}
pageCounter = 0;
GeneratePage(activePage!);
@@ -6853,7 +6878,7 @@ function HandleButtonEvent(words: any): void {
case "bosesoundtouch":
break;
default:
log('Hello Mr. Developer u miss in mode-tracklist something!', 'warn')
log('Hello Mr. Developer u miss in mode-tracklist something!', 'warn');
}
pageCounter = 0;
GeneratePage(activePage!);
@@ -8366,7 +8391,7 @@ function HandleScreensaverUpdate(): void {
let checkpoint = true;
let i = 0;
if (config.leftScreensaverEntity && Array.isArray(config.leftScreensaverEntity)) {
for (i = 0; i < 3; i++) {
for (i = 0; i < 3 && i < config.leftScreensaverEntity.length; i++) {
const leftScreensaverEntity = config.leftScreensaverEntity[i]
if (leftScreensaverEntity === null || leftScreensaverEntity === undefined) {
checkpoint = false;
@@ -8573,8 +8598,8 @@ function HandleScreensaverUpdate(): void {
} else {
let checkpoint = true;
let i = 0;
for (i = 0; i < maxEntities - 1; i++) {
if (config.bottomScreensaverEntity[i] == null) {
for (i = 0; i < maxEntities - 1 && i < config.bottomScreensaverEntity.length; i++) {
if (config.bottomScreensaverEntity[i] == null || config.bottomScreensaverEntity[i] === undefined) {
checkpoint = false;
break;
}
@@ -8647,10 +8672,10 @@ function HandleScreensaverUpdate(): void {
if (screensaverAdvanced) {
// 5 indicatorScreensaverEntities
for (let i = 0; i < 5; i++) {
for (let i = 0; i < 5 && i < config.indicatorScreensaverEntity.length; i++) {
let checkpoint = true;
const indicatorScreensaverEntity:ScreenSaverElementWithUndefined = config.indicatorScreensaverEntity[i];
if (indicatorScreensaverEntity == null) {
if (indicatorScreensaverEntity === null || indicatorScreensaverEntity === undefined) {
checkpoint = false;
break;
}
@@ -8697,7 +8722,6 @@ function HandleScreensaverUpdate(): void {
SendToPanel(<Payload>{ payload: 'weatherUpdate~' + payloadString });
HandleScreensaverStatusIcons();
}
} catch (err: any) {