v4.2.0.2 - Add cardGrid2

* Add cardGrid2
This commit is contained in:
Armilar
2023-08-23 12:32:07 +02:00
committed by GitHub
parent affb663579
commit 5a07523a86

View File

@@ -1,5 +1,5 @@
/*-----------------------------------------------------------------------
TypeScript v4.2.0.1 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @Sternmiere / @Britzelpuf / @ravenS0ne
TypeScript v4.2.0.2 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @Sternmiere / @Britzelpuf / @ravenS0ne
- abgestimmt auf TFT 52 / v4.2.0 / BerryDriver 8 / Tasmota 13.1.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
@@ -152,6 +152,7 @@ ReleaseNotes:
- 21.08.2023 - v4.2.0 Upgrade TFT 52 / 4.2.0
- 21.08.2023 - v4.2.0 Add new alias state for iconcolor and buttontext for icon for subpages
- 22.08.2023 - v4.2.0.1 Add iconArray to Alias "Klimaanlage" (airCondition)
- 23.08.2023 - v4.2.0.2 Add CardGrid2 with maxItems = 8
***********************************************************************************************************
* Für die Erstellung der Aliase durch das Skript, muss in der JavaScript Instanz "setObect" gesetzt sein! *
@@ -169,6 +170,7 @@ Mögliche Seiten-Ansichten:
(die 4 kleineren Icons können als Wetter-Vorschau + 4Tage (Symbol + Höchsttemperatur) oder zur Anzeige definierter Infos konfiguriert werden)
cardEntities Page - 4 vertikale angeordnete Steuerelemente - auch als Subpage
cardGrid Page - 6 horizontal angeordnete Steuerelemente in 2 Reihen a 3 Steuerelemente - auch als Subpage
cardGrid2 Page - 8 horizontal angeordnete Steuerelemente in 2 Reihen a 4 Steuerelemente - auch als Subpage
cardThermo Page - Thermostat mit Solltemperatur, Isttemperatur, Mode - Weitere Eigenschaften können im Alias definiert werden
cardMedia Page - Mediaplayer - Ausnahme: Alias sollte mit Alias-Manager automatisch über Alexa-Verzeichnis Player angelegt werden
cardAlarm Page - Alarmseite mit Zustand und Tastenfeld
@@ -512,9 +514,9 @@ let Subpages_1 = <PageEntities>
'items': [<PageItem>{ id: 'alias.0.NSPanel_1.Guest_Wifi', hidePassword: false }]
};
let Buero_Seite_2 = <PageGrid>
let Buero_Seite_2 = <PageGrid2>
{
'type': 'cardGrid',
'type': 'cardGrid2',
'heading': 'Büro 2',
'useColor': true,
'items': [
@@ -524,7 +526,7 @@ let Buero_Seite_2 = <PageGrid>
<PageItem>{ id: 'alias.0.NSPanel_1.Luftreiniger', icon: 'power', offColor: MSRed, onColor: MSGreen},
<PageItem>{ id: 'alias.0.NSPanel_1.TestBlind', icon: 'projector-screen', onColor: White, name: 'Beamer', secondRow: 'auch Text'},
<PageItem>{ id: 'alias.0.NSPanel_1.Kippfenster', useValue: true },
//PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'play', onColor: White, name: 'TuneIn'}
<PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'play', onColor: White, name: 'TuneIn'}
]
};
@@ -3082,6 +3084,9 @@ function GeneratePage(page: Page): void {
case 'cardGrid':
SendToPanel(GenerateGridPage(<PageGrid>page));
break;
case 'cardGrid2':
SendToPanel(GenerateGridPage2(<PageGrid2>page));
break;
case 'cardMedia':
useMediaEvents = true;
SendToPanel(GenerateMediaPage(<PageMedia>page));
@@ -3212,6 +3217,16 @@ function GenerateGridPage(page: PageGrid): Payload[] {
}
}
function GenerateGridPage2(page: PageGrid2): Payload[] {
try {
let out_msgs: Array<Payload> = [{ payload: 'pageType~cardGrid2' }];
out_msgs.push({ payload: GeneratePageElements(page) });
return out_msgs;
} catch (err) {
console.warn('error at function GenerateGridPage2: ' + err.message);
}
}
function GeneratePageElements(page: Page): string {
try {
activePage = page;
@@ -3246,6 +3261,9 @@ function GeneratePageElements(page: Page): string {
}
break;
case 'cardGrid':
maxItems = 6;
break;
case 'cardGrid2':
maxItems = 8;
break;
}
@@ -8317,6 +8335,11 @@ interface PageGrid extends Page {
items: PageItem[],
}
interface PageGrid2 extends Page {
type: 'cardGrid2',
items: PageItem[],
}
interface PageThermo extends Page {
type: 'cardThermo',
items: PageItem[],
@@ -8417,7 +8440,7 @@ type DimMode = {
type ConfigButtonFunction = {
mode: string | null,
page: (PageThermo | PageMedia | PageAlarm | PageQR | PageEntities | PageGrid | PagePower | PageChart | PageUnlock | null),
page: (PageThermo | PageMedia | PageAlarm | PageQR | PageEntities | PageGrid | PageGrid2 | PagePower | PageChart | PageUnlock | null),
entity: string | null,
setValue: string | number | null
}
@@ -8435,8 +8458,8 @@ type Config = {
defaultOnColor: RGB,
defaultOffColor: RGB,
defaultBackgroundColor: RGB,
pages: (PageThermo | PageMedia | PageAlarm | PageQR | PageEntities | PageGrid | PagePower | PageChart | PageUnlock )[],
subPages: (PageThermo | PageMedia | PageAlarm | PageQR | PageEntities | PageGrid | PagePower | PageChart | PageUnlock)[],
pages: (PageThermo | PageMedia | PageAlarm | PageQR | PageEntities | PageGrid | PageGrid2 | PagePower | PageChart | PageUnlock )[],
subPages: (PageThermo | PageMedia | PageAlarm | PageQR | PageEntities | PageGrid | PageGrid2 | PagePower | PageChart | PageUnlock)[],
button1: ConfigButtonFunction,
button2: ConfigButtonFunction
}