mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-02-17 10:27:00 +01:00
Compare commits
1 Commits
80e6ffaae1
...
aa73cdee5c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa73cdee5c |
@@ -101,8 +101,6 @@ ReleaseNotes:
|
||||
- 16.01.2024 - v4.3.3.38 Fix: joBr99#1098
|
||||
- 16.01.2024 - v4.3.3.38 Types: Number of PageItems defined & HandleScreensaverStatusIcons rewritten
|
||||
- 16.01.2024 - v4.3.3.38 Optimate: function SendTime()
|
||||
- 17.01.2024 - v4.3.3.38 Add: ScreensaverEntityIconSelect for MRIcons is like common.states for states.
|
||||
- 17.01.2024 - v4.3.3.38 Add: Changing the ScreensaverEntityValue value updates the screensaver.
|
||||
|
||||
Todo:
|
||||
- XX.XX.XXXX - v5.0.0 Change the bottomScreensaverEntity (rolling) if more than 6 entries are defined
|
||||
@@ -1433,7 +1431,7 @@ Init_Screensaver_Backckground_Color_Switch();
|
||||
on({id: NSPanel_Path + 'ScreensaverInfo.bgColorIndicator', change: "ne"}, async function (obj) {
|
||||
try {
|
||||
bgColorScrSaver = obj.state.val;
|
||||
if (bgColorScrSaver < 6) {
|
||||
if (bgColorScrSaver < 4) {
|
||||
HandleScreensaverUpdate();
|
||||
}
|
||||
} catch (err: any) {
|
||||
@@ -1789,11 +1787,9 @@ on({id: [String(NSPanel_Path) + 'Relay.1',String(NSPanel_Path) + 'Relay.2'], cha
|
||||
|
||||
async function SubscribeMRIcons () {
|
||||
try {
|
||||
let arr = config.mrIcon1ScreensaverEntity.ScreensaverEntity != null ? [config.mrIcon1ScreensaverEntity.ScreensaverEntity] : [];
|
||||
arr = config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null ? [...arr, config.mrIcon1ScreensaverEntity.ScreensaverEntityValue] : arr;
|
||||
if (arr.length > 0) {
|
||||
on({id: arr, change: "ne"}, async function (obj) {
|
||||
if (obj.id!.substring(0,4) == 'mqtt') {
|
||||
if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
|
||||
on({id: config.mrIcon1ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
|
||||
if (obj.id!.substring(0,4) == 'mqtt') {
|
||||
let Button = obj.id!.split('.');
|
||||
if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
|
||||
await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
|
||||
@@ -1803,10 +1799,8 @@ async function SubscribeMRIcons () {
|
||||
}
|
||||
});
|
||||
}
|
||||
arr = config.mrIcon2ScreensaverEntity.ScreensaverEntity != null ? [config.mrIcon2ScreensaverEntity.ScreensaverEntity] : [];
|
||||
arr = config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null ? [...arr, config.mrIcon2ScreensaverEntity.ScreensaverEntityValue] : arr;
|
||||
if (arr.length > 0) {
|
||||
on({id: arr, change: "ne"}, async function (obj) {
|
||||
if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
|
||||
on({id: config.mrIcon2ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
|
||||
if (obj.id!.substring(0,4) == 'mqtt') {
|
||||
let Button = obj.id!.split('.');
|
||||
if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
|
||||
@@ -8863,10 +8857,10 @@ function HandleScreensaverStatusIcons() : void {
|
||||
&& existsState(config.mrIcon1ScreensaverEntity.ScreensaverEntity)
|
||||
? getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val
|
||||
: null,
|
||||
ScreensaverEntityIconOn: config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn
|
||||
ScreensaverEntityIconOn: config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn != null
|
||||
? Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn)
|
||||
: '',
|
||||
ScreensaverEntityIconOff: config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff
|
||||
ScreensaverEntityIconOff: config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null
|
||||
? Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff)
|
||||
: '',
|
||||
ScreensaverEntityOnColor: config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor,
|
||||
@@ -8876,10 +8870,6 @@ function HandleScreensaverStatusIcons() : void {
|
||||
: getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val,
|
||||
ScreensaverEntityValueDecimalPlace: config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace,
|
||||
ScreensaverEntityValueUnit: config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit,
|
||||
ScreensaverEntityIconSelect: config.mrIcon1ScreensaverEntity.ScreensaverEntityIconSelect
|
||||
&& typeof config.mrIcon1ScreensaverEntity.ScreensaverEntityIconSelect === 'object'
|
||||
? config.mrIcon1ScreensaverEntity.ScreensaverEntityIconSelect
|
||||
: null,
|
||||
|
||||
|
||||
},
|
||||
@@ -8888,10 +8878,10 @@ function HandleScreensaverStatusIcons() : void {
|
||||
&& existsState(config.mrIcon2ScreensaverEntity.ScreensaverEntity)
|
||||
? getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val
|
||||
: null,
|
||||
ScreensaverEntityIconOn: config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn
|
||||
ScreensaverEntityIconOn: config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn != null
|
||||
? Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn)
|
||||
: '',
|
||||
ScreensaverEntityIconOff: config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff
|
||||
ScreensaverEntityIconOff: config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null
|
||||
? Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff)
|
||||
: '',
|
||||
ScreensaverEntityOnColor: config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor,
|
||||
@@ -8901,10 +8891,6 @@ function HandleScreensaverStatusIcons() : void {
|
||||
: getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val,
|
||||
ScreensaverEntityValueDecimalPlace: config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace,
|
||||
ScreensaverEntityValueUnit: config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit,
|
||||
ScreensaverEntityIconSelect: config.mrIcon2ScreensaverEntity.ScreensaverEntityIconSelect
|
||||
&& typeof config.mrIcon2ScreensaverEntity.ScreensaverEntityIconSelect === 'object'
|
||||
? config.mrIcon2ScreensaverEntity.ScreensaverEntityIconSelect
|
||||
: null,
|
||||
}
|
||||
}
|
||||
for (const a in iconData) {
|
||||
@@ -8931,16 +8917,8 @@ function HandleScreensaverStatusIcons() : void {
|
||||
if (iconData[a].ScreensaverEntity != null) {
|
||||
if (typeof (iconData[a].ScreensaverEntity) == 'string') {
|
||||
if (Debug) log('Entity ist String', 'info')
|
||||
switch (String(iconData[a].ScreensaverEntity).toUpperCase()) {
|
||||
case 'ON':
|
||||
case 'OK':
|
||||
case 'AN':
|
||||
case 'YES':
|
||||
case 'TRUE':
|
||||
case 'ONLINE':
|
||||
hwBtn1Col = iconData[a].ScreensaverEntityOnColor;
|
||||
break;
|
||||
default:
|
||||
if (iconData[a].ScreensaverEntity == 'ON') {
|
||||
hwBtn1Col = iconData[a].ScreensaverEntityOnColor;
|
||||
}
|
||||
if (Debug) log('Value: ' + iconData[a].ScreensaverEntity + ' Color: ' + JSON.stringify(hwBtn1Col), 'info')
|
||||
// Alles was kein String ist in Boolean umwandeln
|
||||
@@ -8953,17 +8931,11 @@ function HandleScreensaverStatusIcons() : void {
|
||||
}
|
||||
|
||||
// Icon ermitteln
|
||||
if (iconData[a].ScreensaverEntityIconSelect && iconData[a].ScreensaverEntity != null) {
|
||||
const icon = iconData[a].ScreensaverEntityIconSelect[iconData[a].ScreensaverEntity];
|
||||
if (icon !== undefined) {
|
||||
payloadString += Icons.GetIcon(icon);
|
||||
if (Debug) log('SelectIcon: '+payloadString, 'info')
|
||||
}
|
||||
} else if (iconData[a].ScreensaverEntity) {
|
||||
if (iconData[a].ScreensaverEntity) {
|
||||
payloadString += iconData[a].ScreensaverEntityIconOn;
|
||||
if (Debug) log('Icon if true '+payloadString, 'info')
|
||||
} else {
|
||||
if (iconData[a].ScreensaverEntityIconOff) {
|
||||
if (iconData[a].ScreensaverEntityIconOff != null) {
|
||||
payloadString += iconData[a].ScreensaverEntityIconOff;
|
||||
if (Debug) log('Icon1 else true '+payloadString, 'info')
|
||||
} else {
|
||||
@@ -10050,7 +10022,6 @@ namespace NSPanel {
|
||||
export type ScreenSaverMRElement = {
|
||||
ScreensaverEntity: string | null,
|
||||
ScreensaverEntityIconOn: string | null,
|
||||
ScreensaverEntityIconSelect?: {[key: string]: string} | null | undefined,
|
||||
ScreensaverEntityIconOff: string | null,
|
||||
ScreensaverEntityValue: string | null,
|
||||
ScreensaverEntityValueDecimalPlace: number | null,
|
||||
@@ -10067,7 +10038,6 @@ namespace NSPanel {
|
||||
ScreensaverEntityValueUnit: string | null,
|
||||
ScreensaverEntityOnColor: RGB,
|
||||
ScreensaverEntityOffColor: RGB
|
||||
ScreensaverEntityIconSelect: {[key: string]: string} | null,
|
||||
}
|
||||
|
||||
export type IconScaleElement = {
|
||||
|
||||
Reference in New Issue
Block a user