New brightness parameter; Menu arrows (buttonXPage)

- New parameter "active" for standard brightness in Config
- Menu arrows in Hardware Button Pages (button1Page; button2Page) lead to page 0
This commit is contained in:
Armilar
2022-06-08 12:42:56 +02:00
committed by GitHub
parent 374b1f610b
commit 00e70db76c

View File

@@ -5,11 +5,18 @@ 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)
ioBroker-Unterstützung: https://forum.iobroker.net/topic/50888/sonoff-nspanel ioBroker-Unterstützung: https://forum.iobroker.net/topic/50888/sonoff-nspanel
ReleaseNotes: ReleaseNotes:
Bugfixes und Erweiterungen seit letzter Verion: Bugfixes und Erweiterungen seit letzter Verion:
- cardQR (für Gäste WLAN) - cardQR (für Gäste WLAN)
- cardThermo (Neues Design für Alias Thermostat und zusätzlich für Alias Klimaanlage) - cardThermo (Neues Design für Alias Thermostat und zusätzlich für Alias Klimaanlage)
- Bugfixes - 08.05.2022 - Menüpfeile bei HardwareButtons (button1Page; button2Page) mit Navigation auf Page 0
- 08.05.2022 - Standard-Brightness über neuen Parameter active einstellbar (Test mit 2.9.3)
Known-Bugs --> Bugfix folgt:
- cardGrid - Schalter funktionieren nicht
- Aktion auf Submenüs schaltet unmittelbar auf vorheriges Mainmenu
- Menü-Pfeile in Subpages (z.B. card QR, cardMedia, etc)
Wenn Rule definiert, dann können die Hardware-Tasten ebenfalls für Seitensteuerung (dann nicht mehr als Releais) genutzt werden Wenn Rule definiert, dann können die Hardware-Tasten ebenfalls für Seitensteuerung (dann nicht mehr als Releais) genutzt werden
Tasmota Konsole: Tasmota Konsole:
@@ -137,12 +144,12 @@ var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config
//Alexa-Instanz //Alexa-Instanz
var alexaInstanz = "alexa2.0" var alexaInstanz = "alexa2.0"
var alexaDevice = "G0XXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer) var alexaDevice = "G0XXXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer)
// Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
// Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists // Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists
const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"]; //const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"];
//const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"]; const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"];
//Datenpunkte für Nachricht an Screensaver //Datenpunkte für Nachricht an Screensaver
var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading"; var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading";
@@ -243,6 +250,7 @@ var Subpages_1: PageEntities =
"subPage": false, "subPage": false,
"items": [ "items": [
<PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"}, <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
<PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
<PageItem>{ navigate: true, id: "Buero_Seite_2", onColor: White, name: "Büro Card Grid"} <PageItem>{ navigate: true, id: "Buero_Seite_2", onColor: White, name: "Büro Card Grid"}
] ]
}; };
@@ -311,7 +319,7 @@ var WLAN: PageQR =
"type": "cardQR", "type": "cardQR",
"heading": "Gäste WLAN", "heading": "Gäste WLAN",
"useColor": true, "useColor": true,
"subPage": false, "subPage": true,
"items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }] "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }]
}; };
@@ -419,6 +427,7 @@ export const config: Config = {
fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" }, fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
timeoutScreensaver: 15, timeoutScreensaver: 15,
dimmode: 8, dimmode: 8,
active: 100, //Standard-Brightness TFT
screenSaverDoubleClick: false, screenSaverDoubleClick: false,
locale: "de_DE", locale: "de_DE",
timeFormat: "%H:%M", timeFormat: "%H:%M",
@@ -430,8 +439,8 @@ export const config: Config = {
temperatureUnit: "°C", temperatureUnit: "°C",
pages: [ pages: [
Buero_Seite_1, Buero_Seite_1,
Buero_Klimaanlage, Buero_Klimaanlage,
WLAN, //WLAN,
Button_1, Button_1,
Test_Licht, Test_Licht,
Test_Funktionen, Test_Funktionen,
@@ -894,7 +903,7 @@ function HandleStartupProcess(): void {
SendDate(); SendDate();
SendTime(); SendTime();
SendToPanel({ payload: "timeout~" + config.timeoutScreensaver }); SendToPanel({ payload: "timeout~" + config.timeoutScreensaver });
SendToPanel({ payload: "dimmode~" + config.dimmode }); SendToPanel({ payload: "dimmode~" + config.dimmode + "~" + config.active});
} }
function SendDate(): void { function SendDate(): void {
@@ -1850,6 +1859,15 @@ function HandleButtonEvent(words): void {
} }
switch (buttonAction) { switch (buttonAction) {
case "bUp":
if (pageId < 0) { //Prüfen, ob button1page oder button2page
pageId = 0;
} else {
pageId = Math.abs(pageNum);
}
UnsubscribeWatcher();
GeneratePage(config.pages[pageId]);
break;
case "bNext": case "bNext":
var pageNum = ((pageId + 1) % config.pages.length); var pageNum = ((pageId + 1) % config.pages.length);
pageId = Math.abs(pageNum); pageId = Math.abs(pageNum);
@@ -2142,13 +2160,18 @@ function HandleButtonEvent(words): void {
} }
function GetNavigationString(pageId: number): string { function GetNavigationString(pageId: number): string {
if (Debug) console.log(pageId);
if (Debug) console.log(subPage_open);
switch (pageId) { switch (pageId) {
case 0: case 0:
return "0|1"; return "0|1";
case config.pages.length - 1: case config.pages.length - 1:
return "1|0"; return "1|0";
case -1: case -1:
return "0|0"; return "2|0";
case -2:
return "2|0";
default: default:
return "1|1"; return "1|1";
} }
@@ -2845,7 +2868,7 @@ type Config = {
panelSendTopic: string, panelSendTopic: string,
timeoutScreensaver: number, timeoutScreensaver: number,
dimmode: number, dimmode: number,
//brightnessScreensaver: active: number,
locale: string, locale: string,
timeFormat: string, timeFormat: string,
dateFormat: string, dateFormat: string,