mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-26 01:14:25 +01:00
Fixed: update every minute
Fixed: Schedule: {hour: minutes:} works with summer/winter time
This commit is contained in:
@@ -1397,7 +1397,7 @@ async function Init_Screensaver_Backckground_Color_Switch() {
|
||||
type: "number",
|
||||
name: "Color Indicator",
|
||||
role: "level",
|
||||
states: {0:'black', 1:'red', 2:'green', 3:'attention', 4: 'pink'},
|
||||
states: {0:'black', 1:'red', 2:'green', 3:'attention', 4: 'pink', 5: 'dark red'},
|
||||
read: true,
|
||||
write: true
|
||||
},
|
||||
@@ -2175,7 +2175,7 @@ let pageId = 0;
|
||||
let activePage: PageType | undefined = undefined;
|
||||
|
||||
//Send time to NSPanel
|
||||
let scheduleSendTime = adapterSchedule(new Date().setMilliseconds(0), 1, () => {
|
||||
let scheduleSendTime = adapterSchedule(new Date().setSeconds(0,0), 60, () => {
|
||||
try {
|
||||
SendTime();
|
||||
HandleScreensaverUpdate();
|
||||
@@ -9062,8 +9062,10 @@ function HandleScreensaverColors(): void {
|
||||
scrSvrBGCol = rgb_dec565(scbackgroundInd3);
|
||||
} else if (bgColorScrSaver == 4) {
|
||||
scrSvrBGCol = rgb_dec565({red:255, green:16, blue:240});
|
||||
} else if (bgColorScrSaver == 5) {
|
||||
scrSvrBGCol = rgb_dec565({ red: 100, green: 0, blue: 0 });
|
||||
}
|
||||
|
||||
|
||||
let payloadString = 'color' + '~' +
|
||||
scrSvrBGCol + '~' + //background
|
||||
rgb_dec565(sctime) + '~' + //time
|
||||
@@ -9671,7 +9673,13 @@ type PageAlarm = NSPanel.PageAlarm;
|
||||
|
||||
|
||||
|
||||
// dont work with summer/winter time has to be fixed
|
||||
/**
|
||||
*
|
||||
* @param time object: { hour: number, minutes: number } | starttime
|
||||
* @param repeatTime in ms
|
||||
* @param callback what todo
|
||||
* @returns
|
||||
*/
|
||||
function adapterSchedule(time: {hour?: number, minute?: number} | undefined | number, repeatTime: number, callback: () => void): number|null {
|
||||
if (typeof callback !== 'function') return null
|
||||
const ref = Math.random() + 1;
|
||||
@@ -9688,11 +9696,12 @@ function _schedule(time: {hour?: number, minute?: number} | undefined | number,
|
||||
} else if (typeof time === 'number') {
|
||||
targetTime = time + repeatTime * 1000;
|
||||
} else {
|
||||
time.hour = time.hour !== undefined ? time.hour : 0;
|
||||
time.hour = time.hour !== undefined ? time.hour : 1;
|
||||
time.minute = time.minute !== undefined ? time.minute : 0;
|
||||
targetTime = time.hour !== undefined ? new Date().setHours(time.hour, time.minute, 0) : new Date().setMinutes(time.minute, 0);
|
||||
targetTime = time.hour !== -1 ? new Date().setHours(time.hour, time.minute, 0) : new Date().setMinutes(time.minute, 0);
|
||||
if (new Date().getTime() > targetTime) {
|
||||
targetTime += repeatTime * 1000;
|
||||
targetTime = time.hour !== -1 ? new Date(targetTime).setHours(time.hour, time.minute, 0) : new Date(targetTime).setMinutes(time.minute, 0);
|
||||
}
|
||||
}
|
||||
const timeout = targetTime - new Date().getTime();
|
||||
|
||||
Reference in New Issue
Block a user