mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-21 06:54:24 +01:00
HandleScreensaverStatusIcons rewritten
fixed #1098 types: Number of PageItems defined
This commit is contained in:
@@ -3154,9 +3154,9 @@ function findPageItem(searching: String): PageItem {
|
|||||||
function GeneratePage(page: PageType): void {
|
function GeneratePage(page: PageType): void {
|
||||||
try {
|
try {
|
||||||
activePage = page;
|
activePage = page;
|
||||||
setIfExists(NSPanel_Path + 'ActivePage.type', activePage!.type);
|
setIfExists(NSPanel_Path + 'ActivePage.type', activePage.type);
|
||||||
setIfExists(NSPanel_Path + 'ActivePage.heading', activePage!.heading);
|
setIfExists(NSPanel_Path + 'ActivePage.heading', activePage.heading);
|
||||||
setIfExists(NSPanel_Path + 'ActivePage.id0', activePage!.items[0].id);
|
setIfExists(NSPanel_Path + 'ActivePage.id0', activePage.items[0] !== undefined ? activePage.items[0].id : '');
|
||||||
switch (page.type) {
|
switch (page.type) {
|
||||||
case 'cardEntities':
|
case 'cardEntities':
|
||||||
SendToPanel(GenerateEntitiesPage(page));
|
SendToPanel(GenerateEntitiesPage(page));
|
||||||
@@ -4696,8 +4696,9 @@ function GenerateThermoPage(page: NSPanel.PageThermo): NSPanel.Payload[] {
|
|||||||
|
|
||||||
function unsubscribeMediaSubscriptions(): void {
|
function unsubscribeMediaSubscriptions(): void {
|
||||||
for (let i = 0; i < config.pages.length; i++) {
|
for (let i = 0; i < config.pages.length; i++) {
|
||||||
if (config.pages[i].type == 'cardMedia') {
|
const page: NSPanel.PageType = config.pages[i];
|
||||||
let mediaID = config.pages[i].items[0].id;
|
if (isPageMedia(page)) {
|
||||||
|
let mediaID = page.items[0].id;
|
||||||
unsubscribe(mediaID + '.STATE');
|
unsubscribe(mediaID + '.STATE');
|
||||||
unsubscribe(mediaID + '.ARTIST');
|
unsubscribe(mediaID + '.ARTIST');
|
||||||
unsubscribe(mediaID + '.TITLE');
|
unsubscribe(mediaID + '.TITLE');
|
||||||
@@ -4711,8 +4712,9 @@ function unsubscribeMediaSubscriptions(): void {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let i = 0; i < config.subPages.length; i++) {
|
for (let i = 0; i < config.subPages.length; i++) {
|
||||||
if (config.subPages[i].type == 'cardMedia') {
|
const page: NSPanel.PageType = config.subPages[i];
|
||||||
let mediaID = config.subPages[i].items[0].id;
|
if (isPageMedia(page)) {
|
||||||
|
let mediaID = page.items[0].id;
|
||||||
unsubscribe(mediaID + '.STATE');
|
unsubscribe(mediaID + '.STATE');
|
||||||
unsubscribe(mediaID + '.ARTIST');
|
unsubscribe(mediaID + '.ARTIST');
|
||||||
unsubscribe(mediaID + '.TITLE');
|
unsubscribe(mediaID + '.TITLE');
|
||||||
@@ -5999,14 +6001,16 @@ function GenerateQRPage(page: NSPanel.PageQR): NSPanel.Payload[] {
|
|||||||
|
|
||||||
function unsubscribePowerSubscriptions(): void {
|
function unsubscribePowerSubscriptions(): void {
|
||||||
for (let i = 0; i < config.pages.length; i++) {
|
for (let i = 0; i < config.pages.length; i++) {
|
||||||
if (config.pages[i].type == 'cardPower') {
|
const page: NSPanel.PageType = config.pages[i];
|
||||||
let powerID = config.pages[i].items[0].id;
|
if (isPagePower(page)) {
|
||||||
|
let powerID = page.items[0].id;
|
||||||
unsubscribe(powerID + '.ACTUAL');
|
unsubscribe(powerID + '.ACTUAL');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let i = 0; i < config.subPages.length; i++) {
|
for (let i = 0; i < config.subPages.length; i++) {
|
||||||
if (config.subPages[i].type == 'cardPower') {
|
const page: NSPanel.PageType = config.pages[i];
|
||||||
let powerID = config.subPages[i].items[0].id;
|
if (isPagePower(page)) {
|
||||||
|
let powerID = page.items[0].id;
|
||||||
unsubscribe(powerID + '.ACTUAL');
|
unsubscribe(powerID + '.ACTUAL');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8844,97 +8848,155 @@ function RegisterScreensaverEntityWatcher(id: string): void {
|
|||||||
function HandleScreensaverStatusIcons() : void {
|
function HandleScreensaverStatusIcons() : void {
|
||||||
try {
|
try {
|
||||||
let payloadString = '';
|
let payloadString = '';
|
||||||
let hwBtn1Col: any = config.mrIcon1ScreensaverEntity.ScreensaverEntityOffColor;
|
const iconData: Record<'mrIcon1' | 'mrIcon2', NSPanel.ScreenSaverMRDataElement> = {
|
||||||
if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
|
mrIcon1: {
|
||||||
// Prüfung ob ScreensaverEntity vom Typ String ist
|
ScreensaverEntity: config.mrIcon1ScreensaverEntity.ScreensaverEntity != null
|
||||||
if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'string') {
|
&& existsState(config.mrIcon1ScreensaverEntity.ScreensaverEntity)
|
||||||
if (Debug) log('Entity ist String', 'info')
|
? getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val
|
||||||
let hwBtn1: string = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
|
: null,
|
||||||
if (hwBtn1 == 'ON') {
|
ScreensaverEntityIconOn: config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn != null
|
||||||
hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
|
? Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn)
|
||||||
}
|
: null,
|
||||||
if (Debug) log('Value: ' + hwBtn1 + ' Color: ' + JSON.stringify(hwBtn1Col), 'info')
|
ScreensaverEntityIconOff: config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null
|
||||||
|
? Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff)
|
||||||
|
: null,
|
||||||
|
ScreensaverEntityOnColor: config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor,
|
||||||
|
ScreensaverEntityOffColor: config.mrIcon1ScreensaverEntity.ScreensaverEntityOffColor,
|
||||||
|
ScreensaverEntityValue: config.mrIcon1ScreensaverEntity.ScreensaverEntityValue === null
|
||||||
|
? null
|
||||||
|
: getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val,
|
||||||
|
ScreensaverEntityValueDecimalPlace: config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace,
|
||||||
|
ScreensaverEntityValueUnit: config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit,
|
||||||
|
|
||||||
// Icon ermitteln
|
|
||||||
if (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) {
|
},
|
||||||
payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
|
mrIcon2: {
|
||||||
if (Debug) log('Icon if true '+payloadString, 'info')
|
ScreensaverEntity: config.mrIcon2ScreensaverEntity.ScreensaverEntity != null
|
||||||
} else {
|
&& existsState(config.mrIcon2ScreensaverEntity.ScreensaverEntity)
|
||||||
if (config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null) {
|
? getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val
|
||||||
payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff);
|
: null,
|
||||||
if (Debug) log('Icon else true '+payloadString, 'info')
|
ScreensaverEntityIconOn: config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn != null
|
||||||
} else {
|
? Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn)
|
||||||
payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
|
: null,
|
||||||
if (Debug) log('Icon else false '+payloadString, 'info')
|
ScreensaverEntityIconOff: config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null
|
||||||
|
? Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff)
|
||||||
|
: null,
|
||||||
|
ScreensaverEntityOnColor: config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor,
|
||||||
|
ScreensaverEntityOffColor: config.mrIcon2ScreensaverEntity.ScreensaverEntityOffColor,
|
||||||
|
ScreensaverEntityValue: config.mrIcon2ScreensaverEntity.ScreensaverEntityValue === null
|
||||||
|
? null
|
||||||
|
: getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val,
|
||||||
|
ScreensaverEntityValueDecimalPlace: config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace,
|
||||||
|
ScreensaverEntityValueUnit: config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const a in iconData) {
|
||||||
|
if (iconData[a].ScreensaverEntityValue === null) {
|
||||||
|
switch (typeof iconData[a].ScreensaverEntityValue) {
|
||||||
|
case "string":
|
||||||
|
if (iconData[a].ScreensaverEntityValue === '' || isNaN(iconData[a].ScreensaverEntityValue)) break;
|
||||||
|
case "number":
|
||||||
|
case "bigint":
|
||||||
|
iconData[a].ScreensaverEntityValue = Number(iconData[a].ScreensaverEntityValue).toFixed(iconData[a].ScreensaverEntityValueDecimalPlace);
|
||||||
|
break;
|
||||||
|
case "boolean":
|
||||||
|
break;
|
||||||
|
case "symbol":
|
||||||
|
case "undefined":
|
||||||
|
case "object":
|
||||||
|
case "function":
|
||||||
|
iconData[a].ScreensaverEntityValue = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let hwBtn1Col: RGB = iconData[a].ScreensaverEntityOffColor;
|
||||||
|
if (iconData[a].ScreensaverEntity != null) {
|
||||||
|
// Prüfung ob ScreensaverEntity vom Typ String ist
|
||||||
|
if (typeof (iconData[a].ScreensaverEntity) == 'string') {
|
||||||
|
if (Debug) log('Entity ist String', 'info')
|
||||||
|
let hwBtn1: string = iconData[a].ScreensaverEntity;
|
||||||
|
if (hwBtn1 == 'ON') {
|
||||||
|
hwBtn1Col = iconData[a].ScreensaverEntityOnColor;
|
||||||
}
|
}
|
||||||
}
|
if (Debug) log('Value: ' + hwBtn1 + ' Color: ' + JSON.stringify(hwBtn1Col), 'info')
|
||||||
if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
|
|
||||||
if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
|
// Icon ermitteln
|
||||||
payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
if (iconData[a].ScreensaverEntity) {
|
||||||
payloadString += (config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
|
payloadString += iconData[a].ScreensaverEntityIconOn;
|
||||||
if (Debug) log('Value ist eine Zahl ' + payloadString, 'info')
|
if (Debug) log('Icon if true '+payloadString, 'info')
|
||||||
} else {
|
} else {
|
||||||
payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
|
if (iconData[a].ScreensaverEntityIconOff != null) {
|
||||||
if (Debug) log('Value ist keine Zahl ' + payloadString, 'info')
|
payloadString += iconData[a].ScreensaverEntityIconOff;
|
||||||
|
if (Debug) log('Icon1 else true '+payloadString, 'info')
|
||||||
|
} else {
|
||||||
|
payloadString += iconData[a].ScreensaverEntityIconOn;
|
||||||
|
if (Debug) log('Icon1 else false '+payloadString, 'info')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
|
if (iconData[a].ScreensaverEntityValue != null) {
|
||||||
} else if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
|
payloadString += iconData[a].ScreensaverEntityValue;
|
||||||
let hwBtn1: boolean = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
|
if (typeof iconData[a].ScreensaverEntityValue == 'number') {
|
||||||
if (hwBtn1) {
|
//payloadString += iconData[a].ScreensaverEntityValue.toFixed(iconData[a].ScreensaverEntityValueDecimalPlace);
|
||||||
hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
|
payloadString += (iconData[a].ScreensaverEntityValueUnit == null) ? '' : iconData[a].ScreensaverEntityValueUnit;
|
||||||
}
|
if (Debug) log('Value ist eine Zahl ' + payloadString, 'info')
|
||||||
if (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) {
|
} else {
|
||||||
payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
|
if (Debug) log('Value ist keine Zahl ' + payloadString, 'info')
|
||||||
} else {
|
}
|
||||||
if (config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null) {
|
|
||||||
payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff);
|
|
||||||
} else {
|
|
||||||
payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
|
payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
|
||||||
if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
|
} else if (typeof (iconData[a].ScreensaverEntity) == 'boolean') {
|
||||||
payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
let hwBtn1: boolean = iconData[a].ScreensaverEntity;
|
||||||
payloadString += (config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
|
if (hwBtn1) {
|
||||||
|
hwBtn1Col = iconData[a].ScreensaverEntityOnColor;
|
||||||
|
}
|
||||||
|
if (iconData[a].ScreensaverEntity) {
|
||||||
|
payloadString += iconData[a].ScreensaverEntityIconOn;
|
||||||
} else {
|
} else {
|
||||||
payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
|
if (iconData[a].ScreensaverEntityIconOff != null) {
|
||||||
|
payloadString += iconData[a].ScreensaverEntityIconOff;
|
||||||
|
} else {
|
||||||
|
payloadString += iconData[a].ScreensaverEntityIconOn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (iconData[a].ScreensaverEntityValue != null) {
|
||||||
|
payloadString += iconData[a].ScreensaverEntityValue;
|
||||||
|
if (typeof iconData[a].ScreensaverEntityValue == 'number') {
|
||||||
|
//payloadString += iconData[a].ScreensaverEntityValue.toFixed(iconData[a].ScreensaverEntityValueDecimalPlace);
|
||||||
|
payloadString += (iconData[a].ScreensaverEntityValueUnit == null) ? '' : iconData[a].ScreensaverEntityValueUnit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
|
||||||
|
}
|
||||||
|
} else if (iconData[a].ScreensaverEntity == null && iconData[a].ScreensaverEntityValue != null){
|
||||||
|
if(iconData[a].ScreensaverEntityOnColor != null){
|
||||||
|
hwBtn1Col = iconData[a].ScreensaverEntityOnColor;
|
||||||
|
}
|
||||||
|
if(iconData[a].ScreensaverEntityIconOn != null){
|
||||||
|
payloadString += iconData[a].ScreensaverEntityIconOn;
|
||||||
|
}
|
||||||
|
if (iconData[a].ScreensaverEntityValue != null) {
|
||||||
|
payloadString += iconData[a].ScreensaverEntityValue;
|
||||||
|
if (typeof iconData[a].ScreensaverEntityValue == 'number') {
|
||||||
|
//payloadString += (iconData[a].ScreensaverEntityValue).toFixed(iconData[a].ScreensaverEntityValueDecimalPlace);
|
||||||
|
payloadString += (iconData[a].ScreensaverEntityValueUnit == null) ? '' : iconData[a].ScreensaverEntityValueUnit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
|
payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
|
||||||
}
|
}
|
||||||
} else if (config.mrIcon1ScreensaverEntity.ScreensaverEntity == null && config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null){
|
else {
|
||||||
|
hwBtn1Col = Black;
|
||||||
if(config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor != null){
|
payloadString += '~~';
|
||||||
hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
|
|
||||||
}
|
}
|
||||||
if(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn != null){
|
|
||||||
payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
|
|
||||||
if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
|
|
||||||
payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
|
||||||
payloadString += (config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
|
|
||||||
} else {
|
|
||||||
payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
|
|
||||||
}
|
|
||||||
}
|
|
||||||
payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
|
|
||||||
}
|
}
|
||||||
else {
|
/*let hwBtn2Col: any = config.mrIcon2ScreensaverEntity.ScreensaverEntityOffColor;
|
||||||
hwBtn1Col = Black;
|
if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null && existsState(config.mrIcon2ScreensaverEntity.ScreensaverEntity)) {
|
||||||
payloadString += '~~';
|
if (typeof (iconData.mrIcon2.ScreensaverEntity) == 'string') {
|
||||||
}
|
let hwBtn2: string = iconData.mrIcon2.ScreensaverEntity;
|
||||||
|
|
||||||
let hwBtn2Col: any = config.mrIcon2ScreensaverEntity.ScreensaverEntityOffColor;
|
|
||||||
if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
|
|
||||||
if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'string') {
|
|
||||||
let hwBtn2: string = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
|
|
||||||
if (hwBtn2 == 'ON') {
|
if (hwBtn2 == 'ON') {
|
||||||
hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
|
hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
|
||||||
}
|
}
|
||||||
if (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) {
|
if (iconData.mrIcon2.ScreensaverEntity) {
|
||||||
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
||||||
} else {
|
} else {
|
||||||
if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
|
if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
|
||||||
@@ -8943,21 +9005,22 @@ function HandleScreensaverStatusIcons() : void {
|
|||||||
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
|
const value = config.mrIcon2ScreensaverEntity.ScreensaverEntityValue == null ? null : getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val;
|
||||||
if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
|
if (value != null) {
|
||||||
payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
if (value != '' && isNaN(value) == false) {
|
||||||
|
payloadString += value.toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
||||||
payloadString += (config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
|
payloadString += (config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
|
||||||
} else {
|
} else {
|
||||||
payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
|
payloadString += value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
|
payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
|
||||||
} else if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
|
} else if (typeof (iconData.mrIcon2.ScreensaverEntity) == 'boolean') {
|
||||||
let hwBtn2: boolean = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
|
let hwBtn2: boolean = iconData.mrIcon2.ScreensaverEntity;
|
||||||
if (hwBtn2) {
|
if (hwBtn2) {
|
||||||
hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
|
hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
|
||||||
}
|
}
|
||||||
if (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) {
|
if (iconData.mrIcon2.ScreensaverEntity) {
|
||||||
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
||||||
} else {
|
} else {
|
||||||
if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
|
if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
|
||||||
@@ -8966,12 +9029,13 @@ function HandleScreensaverStatusIcons() : void {
|
|||||||
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
|
const value = config.mrIcon2ScreensaverEntity.ScreensaverEntityValue == null ? null : getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val;
|
||||||
if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
|
if (value != null) {
|
||||||
payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
if (value != '' && isNaN(value) == false) {
|
||||||
|
payloadString += value.toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
||||||
payloadString += (config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
|
payloadString += (config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
|
||||||
} else {
|
} else {
|
||||||
payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
|
payloadString += value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
|
payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
|
||||||
@@ -8986,20 +9050,21 @@ function HandleScreensaverStatusIcons() : void {
|
|||||||
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
|
const value = config.mrIcon2ScreensaverEntity.ScreensaverEntityValue == null ? null : getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val;
|
||||||
if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
|
if (value != null) {
|
||||||
payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
if (value != '' && isNaN(value) == false) {
|
||||||
payloadString += (config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
|
payloadString += value.toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
|
||||||
} else {
|
payloadString += (config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit == null) ? '' : config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
|
||||||
payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
|
} else {
|
||||||
|
payloadString += value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
|
payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
|
||||||
} else {
|
} else {
|
||||||
hwBtn2Col = Black;
|
hwBtn2Col = Black;
|
||||||
payloadString += '~~';
|
payloadString += '~~';
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
let alternateScreensaverMFRIcon1Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.1').val
|
let alternateScreensaverMFRIcon1Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.1').val
|
||||||
let alternateScreensaverMFRIcon2Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.2').val
|
let alternateScreensaverMFRIcon2Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.2').val
|
||||||
//Alternate MRIcon Size
|
//Alternate MRIcon Size
|
||||||
@@ -9811,6 +9876,13 @@ function isPageThermoItem(F: PageItem | NSPanel.PageThermoItem):F is NSPanel.Pag
|
|||||||
return 'popupThermoMode1' in F;
|
return 'popupThermoMode1' in F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isPageMedia(F: NSPanel.PageType | NSPanel.PageMedia):F is NSPanel.PageMedia {
|
||||||
|
return F.type == 'cardMedia';
|
||||||
|
}
|
||||||
|
function isPagePower(F: NSPanel.PageType | NSPanel.PagePower):F is NSPanel.PagePower {
|
||||||
|
return F.type == 'cardPower';
|
||||||
|
}
|
||||||
|
|
||||||
namespace NSPanel {
|
namespace NSPanel {
|
||||||
export type PopupType = 'popupFan' | 'popupInSel' | 'popupLight' | 'popupLightNew' | 'popupNotify' | 'popupShutter' | 'popupThermo' | 'popupTimer'
|
export type PopupType = 'popupFan' | 'popupInSel' | 'popupLight' | 'popupLightNew' | 'popupNotify' | 'popupShutter' | 'popupThermo' | 'popupTimer'
|
||||||
|
|
||||||
@@ -9870,48 +9942,49 @@ namespace NSPanel {
|
|||||||
|
|
||||||
export type PageEntities = {
|
export type PageEntities = {
|
||||||
type: 'cardEntities',
|
type: 'cardEntities',
|
||||||
items: PageItem[],
|
items: [PageItem?, PageItem?, PageItem?, PageItem?, PageItem?],
|
||||||
} & PageBaseType
|
} & PageBaseType
|
||||||
|
|
||||||
export type PageGrid = {
|
export type PageGrid = {
|
||||||
type: 'cardGrid',
|
type: 'cardGrid',
|
||||||
items: PageItem[],
|
items: [PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?],
|
||||||
} & PageBaseType
|
} & PageBaseType
|
||||||
|
|
||||||
export type PageGrid2 = {
|
export type PageGrid2 = {
|
||||||
type: 'cardGrid2',
|
type: 'cardGrid2',
|
||||||
items: PageItem[],
|
items: [PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?, PageItem?],
|
||||||
} & PageBaseType
|
} & PageBaseType
|
||||||
|
|
||||||
export type PageThermo = {
|
export type PageThermo = {
|
||||||
type: 'cardThermo',
|
type: 'cardThermo',
|
||||||
items: PageThermoItem[],
|
items: [PageThermoItem],
|
||||||
|
|
||||||
} & Omit<PageBaseType, 'useColor'>
|
} & Omit<PageBaseType, 'useColor'>
|
||||||
|
|
||||||
export type PageMedia = {
|
export type PageMedia = {
|
||||||
type: 'cardMedia',
|
type: 'cardMedia',
|
||||||
items: PageMediaItem[],
|
items: [PageMediaItem],
|
||||||
} & Omit<PageBaseType, 'useColor' | 'autoCreateAlias'>
|
} & Omit<PageBaseType, 'useColor' | 'autoCreateAlias'>
|
||||||
|
|
||||||
|
|
||||||
export type PageAlarm = {
|
export type PageAlarm = {
|
||||||
type: 'cardAlarm',
|
type: 'cardAlarm',
|
||||||
items: PageItem[],
|
items: [PageItem],
|
||||||
} & Omit<PageBaseType, 'useColor'>
|
} & Omit<PageBaseType, 'useColor'>
|
||||||
|
|
||||||
export type PageUnlock = {
|
export type PageUnlock = {
|
||||||
type: 'cardUnlock',
|
type: 'cardUnlock',
|
||||||
items: PageItem[],
|
items: [PageItem],
|
||||||
} & Omit<PageBaseType, 'useColor'> & Partial<Pick<PageBaseType, 'useColor'>>
|
} & Omit<PageBaseType, 'useColor'> & Partial<Pick<PageBaseType, 'useColor'>>
|
||||||
|
|
||||||
export type PageQR = {
|
export type PageQR = {
|
||||||
type: 'cardQR',
|
type: 'cardQR',
|
||||||
items: PageItem[],
|
items: [PageItem],
|
||||||
} & Omit<PageBaseType, 'useColor'>
|
} & Omit<PageBaseType, 'useColor'>
|
||||||
|
|
||||||
export type PagePower = {
|
export type PagePower = {
|
||||||
type: 'cardPower',
|
type: 'cardPower',
|
||||||
items: PageItem[],
|
items: [PageItem],
|
||||||
} & Omit<PageBaseType, 'useColor'>
|
} & Omit<PageBaseType, 'useColor'>
|
||||||
|
|
||||||
export type PageChart = {
|
export type PageChart = {
|
||||||
@@ -10060,6 +10133,16 @@ namespace NSPanel {
|
|||||||
ScreensaverEntityOnColor: RGB,
|
ScreensaverEntityOnColor: RGB,
|
||||||
ScreensaverEntityOffColor: RGB
|
ScreensaverEntityOffColor: RGB
|
||||||
}
|
}
|
||||||
|
export type ScreenSaverMRDataElement = {
|
||||||
|
ScreensaverEntity: string | number | boolean | null,
|
||||||
|
ScreensaverEntityIconOn: string | null,
|
||||||
|
ScreensaverEntityIconOff: string | null,
|
||||||
|
ScreensaverEntityValue: string | number | boolean | null,
|
||||||
|
ScreensaverEntityValueDecimalPlace: number | null,
|
||||||
|
ScreensaverEntityValueUnit: string | null,
|
||||||
|
ScreensaverEntityOnColor: RGB,
|
||||||
|
ScreensaverEntityOffColor: RGB
|
||||||
|
}
|
||||||
|
|
||||||
export type IconScaleElement = {
|
export type IconScaleElement = {
|
||||||
val_min:number,
|
val_min:number,
|
||||||
|
|||||||
Reference in New Issue
Block a user