Reset NsPanelTS.ts from ./iobroker/

This commit is contained in:
ticaki
2024-01-05 11:16:52 +01:00
parent f5019b494f
commit 4b81b1794d

View File

@@ -2769,14 +2769,12 @@ function check_online_display_firmware() {
} }
} }
//mqttCallback (topic: string, message: string): Promise<void> {
on({ id: config.panelRecvTopic }, async (obj) => { on({ id: config.panelRecvTopic }, async (obj) => {
if (obj.state.val.startsWith('\{"CustomRecv":')) { if (obj.state.val.startsWith('\{"CustomRecv":')) {
try { try {
const json = JSON.parse(obj.state.val);
const split = json.CustomRecv.split(',');
if (isSetOptionActive) { if (isSetOptionActive) {
let json = JSON.parse(obj.state.val);
let split = json.CustomRecv.split(',');
if (split[0] == 'event' && split[1] == 'startup') { if (split[0] == 'event' && split[1] == 'startup') {
await createStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.StateCommon>{ type: 'string' }); await createStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.StateCommon>{ type: 'string' });
await createStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.StateCommon>{ type: 'string' }); await createStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.StateCommon>{ type: 'string' });
@@ -2792,11 +2790,9 @@ on({ id: config.panelRecvTopic }, async (obj) => {
} }
} }
} }
HandleMessage(split[0], split[1], parseInt(split[2]), split);
} catch (err: any) { } catch (err: any) {
log('error at trigger rceiving CustomRecv: ' + err.message, 'warn'); log('error at trigger rceiving CustomRecv: ' + err.message, 'warn');
} }
} }
}); });
@@ -2919,7 +2915,7 @@ function update_tasmota_firmware() {
log('error request in function update_tasmota_firmware: ' + err.message, 'warn'); log('error request in function update_tasmota_firmware: ' + err.message, 'warn');
} }
} }
//mqttCallback (topic: string, message: string): Promise<void> {
on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO1', change: 'ne'}, async (obj) => { on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO1', change: 'ne'}, async (obj) => {
try { try {
if (getState(NSPanel_Path + 'Config.Update.activ').val == 0) { if (getState(NSPanel_Path + 'Config.Update.activ').val == 0) {
@@ -2940,6 +2936,23 @@ on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESU
//------------------End Update Functions //------------------End Update Functions
on({ id: config.panelRecvTopic, change: 'any' }, async function (obj) {
try {
if (obj.state.val.startsWith('\{"CustomRecv":')) {
try {
let json = JSON.parse(obj.state.val);
let split = json.CustomRecv.split(',');
HandleMessage(split[0], split[1], parseInt(split[2]), split);
} catch (err: any) {
log('error json.split in Trigger panelRecTopic: ' + err.message, 'warn');
}
}
} catch (err: any) {
log('error at Trigger panelRecTopic: ' + err.message, 'warn');
}
});
async function SendToPanel(val: Payload | Payload[]) { async function SendToPanel(val: Payload | Payload[]) {
try { try {
if (Array.isArray(val)) { if (Array.isArray(val)) {
@@ -3303,6 +3316,17 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
let buttonText: string = 'PRESS'; let buttonText: string = 'PRESS';
let type: string; let type: string;
if (pageItem.id && existsState(pageItem.id + '.ACTUAL') == false) {
if (pageItem.popupTimerType == 'TimeCard' && pageItem.autoCreateALias == true) {
log(NSPanel_Path + 'Userdata.' + pageItem.id + '.Time')
createStateAsync(NSPanel_Path + 'Userdata.' + pageItem.id + '.Time', '0', { type: 'number' });
createStateAsync(NSPanel_Path + 'Userdata.' + pageItem.id + '.State', 'idle', { type: 'string' });
setObject(pageItem.id, { type: 'channel', common: { role: 'value.time', name: 'Time' }, native: {} });
createAliasAsync(pageItem.id + '.ACTUAL', NSPanel_Path + 'Userdata.' + pageItem.id + '.Time', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' });
createAliasAsync(pageItem.id + '.STATE', NSPanel_Path + 'Userdata.' + pageItem.id + '.State', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'STATE' });
}
}
// ioBroker // ioBroker
if (pageItem.id && existsObject(pageItem.id) || pageItem.navigate === true) { if (pageItem.id && existsObject(pageItem.id) || pageItem.navigate === true) {
@@ -8282,23 +8306,22 @@ function HandleScreensaverUpdate(): void {
if (screensaverAdvanced) { if (screensaverAdvanced) {
let checkpoint = true; let checkpoint = true;
let i = 0; let i = 0;
if (config.leftScreensaverEntity && Array.isArray(config.leftScreensaverEntity)) {
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
const leftScreensaverEntity = config.leftScreensaverEntity[i]
if (leftScreensaverEntity === null || leftScreensaverEntity === undefined) {
checkpoint = false;
break;;
}
RegisterScreensaverEntityWatcher(leftScreensaverEntity.ScreensaverEntity)
let val = getState(leftScreensaverEntity.ScreensaverEntity).val; if (config.leftScreensaverEntity[i] == null || config.leftScreensaverEntity[i] == undefined) {
checkpoint = false;
break;
}
RegisterScreensaverEntityWatcher(config.leftScreensaverEntity[i].ScreensaverEntity)
let val = getState(config.leftScreensaverEntity[i].ScreensaverEntity).val;
let iconColor = rgb_dec565(White); let iconColor = rgb_dec565(White);
let icon; let icon;
if (typeof leftScreensaverEntity.ScreensaverEntityIconOn == 'string' && existsObject(leftScreensaverEntity.ScreensaverEntityIconOn as string)) { if (typeof config.leftScreensaverEntity[i].ScreensaverEntityIconOn == 'string' && existsObject(config.leftScreensaverEntity[i].ScreensaverEntityIconOn as string)) {
let iconName = getState(leftScreensaverEntity.ScreensaverEntityIconOn!).val; let iconName = getState(config.leftScreensaverEntity[i].ScreensaverEntityIconOn!).val;
icon = Icons.GetIcon(iconName); icon = Icons.GetIcon(iconName);
} else { } else {
icon = Icons.GetIcon(leftScreensaverEntity.ScreensaverEntityIconOn); icon = Icons.GetIcon(config.leftScreensaverEntity[i].ScreensaverEntityIconOn);
} }
if (parseFloat(val+"") == val) { if (parseFloat(val+"") == val) {
@@ -8306,29 +8329,29 @@ function HandleScreensaverUpdate(): void {
} }
if (typeof(val) == 'number') { if (typeof(val) == 'number') {
val = (val * (leftScreensaverEntity.ScreensaverEntityFactor ? leftScreensaverEntity.ScreensaverEntityFactor! : 0)).toFixed(leftScreensaverEntity.ScreensaverEntityDecimalPlaces) + leftScreensaverEntity.ScreensaverEntityUnitText; val = (val * (config.leftScreensaverEntity[i].ScreensaverEntityFactor ? config.leftScreensaverEntity[i].ScreensaverEntityFactor! : 0)).toFixed(config.leftScreensaverEntity[i].ScreensaverEntityDecimalPlaces) + config.leftScreensaverEntity[i].ScreensaverEntityUnitText;
iconColor = GetScreenSaverEntityColor(leftScreensaverEntity); iconColor = GetScreenSaverEntityColor(config.leftScreensaverEntity[i]);
} }
else if (typeof(val) == 'boolean') { else if (typeof(val) == 'boolean') {
iconColor = GetScreenSaverEntityColor(leftScreensaverEntity); iconColor = GetScreenSaverEntityColor(config.leftScreensaverEntity[i]);
if (!val && leftScreensaverEntity.ScreensaverEntityIconOff != null) { if (!val && config.leftScreensaverEntity[i].ScreensaverEntityIconOff != null) {
icon = Icons.GetIcon(leftScreensaverEntity.ScreensaverEntityIconOff) icon = Icons.GetIcon(config.leftScreensaverEntity[i].ScreensaverEntityIconOff)
} }
} }
else if (typeof(val) == 'string') { else if (typeof(val) == 'string') {
iconColor = GetScreenSaverEntityColor(leftScreensaverEntity); iconColor = GetScreenSaverEntityColor(config.leftScreensaverEntity[i]);
let pformat = parseFormat(val); let pformat = parseFormat(val);
if (Debug) log('moments.js --> Datum ' + val + ' valid?: ' + moment(val, pformat, true).isValid(), 'info'); if (Debug) log('moments.js --> Datum ' + val + ' valid?: ' + moment(val, pformat, true).isValid(), 'info');
if (moment(val, pformat, true).isValid()) { if (moment(val, pformat, true).isValid()) {
let DatumZeit = moment(val, pformat).unix(); // Umwandlung in Unix Time-Stamp let DatumZeit = moment(val, pformat).unix(); // Umwandlung in Unix Time-Stamp
if (leftScreensaverEntity.ScreensaverEntityDateFormat !== undefined) { if (config.leftScreensaverEntity[i].ScreensaverEntityDateFormat !== undefined) {
val = new Date(DatumZeit * 1000).toLocaleString(getState(NSPanel_Path + 'Config.locale').val, leftScreensaverEntity.ScreensaverEntityDateFormat); val = new Date(DatumZeit * 1000).toLocaleString(getState(NSPanel_Path + 'Config.locale').val, config.leftScreensaverEntity[i].ScreensaverEntityDateFormat);
} else { } else {
val = new Date(DatumZeit * 1000).toLocaleString(getState(NSPanel_Path + 'Config.locale').val); val = new Date(DatumZeit * 1000).toLocaleString(getState(NSPanel_Path + 'Config.locale').val);
} }
} }
} }
const temp = leftScreensaverEntity.ScreensaverEntityIconColor; const temp = config.leftScreensaverEntity[i].ScreensaverEntityIconColor;
if (temp && typeof temp == 'string' && existsObject(temp)) { if (temp && typeof temp == 'string' && existsObject(temp)) {
iconColor = getState(temp).val; iconColor = getState(temp).val;
} }
@@ -8337,10 +8360,9 @@ function HandleScreensaverUpdate(): void {
'~' + '~' +
icon + '~' + icon + '~' +
iconColor + '~' + iconColor + '~' +
leftScreensaverEntity.ScreensaverEntityText + '~' + config.leftScreensaverEntity[i].ScreensaverEntityText + '~' +
val + '~'; val + '~';
} }
}
if (checkpoint == false) { if (checkpoint == false) {
for (let j = i; j < 3; j++) { for (let j = i; j < 3; j++) {
payloadString += '~~~~~~'; payloadString += '~~~~~~';
@@ -8447,7 +8469,7 @@ function HandleScreensaverUpdate(): void {
} }
//Alternativ Layout bekommt zusätzlichen Status //Alternativ Layout bekommt zusätzlichen Status
if (config.bottomScreensaverEntity[4] && getState(NSPanel_Path + 'Config.Screensaver.alternativeScreensaverLayout').val) { if (getState(NSPanel_Path + 'Config.Screensaver.alternativeScreensaverLayout').val) {
let val = getState(config.bottomScreensaverEntity[4].ScreensaverEntity).val; let val = getState(config.bottomScreensaverEntity[4].ScreensaverEntity).val;
if (parseFloat(val+"") == val) { if (parseFloat(val+"") == val) {
val = parseFloat(val); val = parseFloat(val);
@@ -8566,38 +8588,37 @@ function HandleScreensaverUpdate(): void {
// 5 indicatorScreensaverEntities // 5 indicatorScreensaverEntities
for (let i = 0; i < 5; i++) { for (let i = 0; i < 5; i++) {
let checkpoint = true; let checkpoint = true;
const indicatorScreensaverEntity:ScreenSaverElementWithUndefined = config.indicatorScreensaverEntity[i]; if (config.indicatorScreensaverEntity[i] == null) {
if (indicatorScreensaverEntity == null) {
checkpoint = false; checkpoint = false;
break; break;
} }
RegisterScreensaverEntityWatcher(indicatorScreensaverEntity.ScreensaverEntity) RegisterScreensaverEntityWatcher(config.indicatorScreensaverEntity[i].ScreensaverEntity)
let val = getState(indicatorScreensaverEntity.ScreensaverEntity).val; let val = getState(config.indicatorScreensaverEntity[i].ScreensaverEntity).val;
if (parseFloat(val+"") == val) { if (parseFloat(val+"") == val) {
val = parseFloat(val); val = parseFloat(val);
} }
let iconColor = rgb_dec565(White); let iconColor = rgb_dec565(White);
let icon; let icon;
if (indicatorScreensaverEntity.ScreensaverEntityIconOn && existsObject(indicatorScreensaverEntity.ScreensaverEntityIconOn!)) { if (config.indicatorScreensaverEntity[i].ScreensaverEntityIconOn && existsObject(config.indicatorScreensaverEntity[i].ScreensaverEntityIconOn!)) {
let iconName = getState(indicatorScreensaverEntity.ScreensaverEntityIconOn!).val; let iconName = getState(config.indicatorScreensaverEntity[i].ScreensaverEntityIconOn!).val;
icon = Icons.GetIcon(iconName); icon = Icons.GetIcon(iconName);
} else { } else {
icon = Icons.GetIcon(indicatorScreensaverEntity.ScreensaverEntityIconOn); icon = Icons.GetIcon(config.indicatorScreensaverEntity[i].ScreensaverEntityIconOn);
} }
if (typeof(val) == 'number') { if (typeof(val) == 'number') {
val = (val * (indicatorScreensaverEntity.ScreensaverEntityFactor ? indicatorScreensaverEntity.ScreensaverEntityFactor! : 0)).toFixed(indicatorScreensaverEntity.ScreensaverEntityDecimalPlaces) + indicatorScreensaverEntity.ScreensaverEntityUnitText; val = (val * (config.indicatorScreensaverEntity[i].ScreensaverEntityFactor ? config.indicatorScreensaverEntity[i].ScreensaverEntityFactor! : 0)).toFixed(config.indicatorScreensaverEntity[i].ScreensaverEntityDecimalPlaces) + config.indicatorScreensaverEntity[i].ScreensaverEntityUnitText;
iconColor = GetScreenSaverEntityColor(indicatorScreensaverEntity); iconColor = GetScreenSaverEntityColor(config.indicatorScreensaverEntity[i]);
} }
else if (typeof(val) == 'boolean') { else if (typeof(val) == 'boolean') {
iconColor = GetScreenSaverEntityColor(indicatorScreensaverEntity); iconColor = GetScreenSaverEntityColor(config.indicatorScreensaverEntity[i]);
if (!val && indicatorScreensaverEntity.ScreensaverEntityIconOff != null) { if (!val && config.indicatorScreensaverEntity[i].ScreensaverEntityIconOff != null) {
icon = Icons.GetIcon(indicatorScreensaverEntity.ScreensaverEntityIconOff) icon = Icons.GetIcon(config.indicatorScreensaverEntity[i].ScreensaverEntityIconOff)
} }
} }
const temp = indicatorScreensaverEntity.ScreensaverEntityIconColor const temp = config.indicatorScreensaverEntity[4].ScreensaverEntityIconColor
if (temp && typeof temp == 'string' && existsObject(temp)) { if (temp && typeof temp == 'string' && existsObject(temp)) {
iconColor = getState(temp).val; iconColor = getState(temp).val;
} }
@@ -8605,7 +8626,7 @@ function HandleScreensaverUpdate(): void {
'~' + '~' +
icon + '~' + icon + '~' +
iconColor + '~' + iconColor + '~' +
indicatorScreensaverEntity.ScreensaverEntityText + '~' + config.indicatorScreensaverEntity[i].ScreensaverEntityText + '~' +
val + '~'; val + '~';
} }
} }
@@ -9257,7 +9278,6 @@ function GetDasWetterIconColor(icon: number): number {
} }
//------------------Begin Read Internal Sensor Data //------------------Begin Read Internal Sensor Data
//mqttCallback (topic: string, message: string): Promise<void> {
on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => { on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
try { try {
const Tasmota_Sensor = JSON.parse(obj.state.val); const Tasmota_Sensor = JSON.parse(obj.state.val);
@@ -9596,7 +9616,7 @@ type PageBaseItem = {
unit?: string, unit?: string,
navigate?: boolean, navigate?: boolean,
colormode?: string, colormode?: string,
colorScale?: IconScaleElement, colorScale?: any,
//adapterPlayerInstance?: adapterPlayerInstanceType, //adapterPlayerInstance?: adapterPlayerInstanceType,
mediaDevice?: string, mediaDevice?: string,
targetPage?: string, targetPage?: string,
@@ -9624,12 +9644,15 @@ type PageBaseItem = {
yAxis?: string, yAxis?: string,
yAxisTicks?: number[] | string, yAxisTicks?: number[] | string,
xAxisDecorationId?: string, xAxisDecorationId?: string,
popupType?: string,
popupOptions?: string[],
useValue?: boolean, useValue?: boolean,
monobutton?: boolean, monobutton?: boolean,
inSel_ChoiceState?: boolean, inSel_ChoiceState?: boolean,
iconArray?: string[], iconArray?: string[],
fontSize?: number, fontSize?: number,
actionStringArray?: string[], actionStringArray?: string[],
popupTimerType?: string,
alwaysOnDisplay?: boolean, alwaysOnDisplay?: boolean,
crossfade?: boolean, crossfade?: boolean,
} }
@@ -9653,9 +9676,9 @@ type Config = {
panelRecvTopic: string, panelRecvTopic: string,
panelSendTopic: string, panelSendTopic: string,
weatherEntity: string, weatherEntity: string,
leftScreensaverEntity: leftScreensaverEntityType leftScreensaverEntity: ScreenSaverElement[],
bottomScreensaverEntity: ScreenSaverElement[], bottomScreensaverEntity: ScreenSaverElement[],
indicatorScreensaverEntity: indicatorScreensaverEntityType indicatorScreensaverEntity: ScreenSaverElement[],
mrIcon1ScreensaverEntity: ScreenSaverMRElement, mrIcon1ScreensaverEntity: ScreenSaverMRElement,
mrIcon2ScreensaverEntity: ScreenSaverMRElement, mrIcon2ScreensaverEntity: ScreenSaverMRElement,
defaultColor: RGB, defaultColor: RGB,
@@ -9667,18 +9690,16 @@ type Config = {
button1: ConfigButtonFunction, button1: ConfigButtonFunction,
button2: ConfigButtonFunction button2: ConfigButtonFunction
} }
type leftScreensaverEntityType = [ScreenSaverElementWithUndefined, ScreenSaverElementWithUndefined, ScreenSaverElementWithUndefined] | [];
type indicatorScreensaverEntityType = [ScreenSaverElementWithUndefined, ScreenSaverElementWithUndefined, ScreenSaverElementWithUndefined, ScreenSaverElementWithUndefined, ScreenSaverElementWithUndefined] | [];
type ScreenSaverElementWithUndefined = null | undefined | ScreenSaverElement
type ScreenSaverElement = { type ScreenSaverElement = {
ScreensaverEntity: string, ScreensaverEntity: string,
ScreensaverEntityText: string,
ScreensaverEntityFactor?: number, ScreensaverEntityFactor?: number,
ScreensaverEntityDecimalPlaces?: number, ScreensaverEntityDecimalPlaces?: number,
ScreensaverEntityDateFormat?: Intl.DateTimeFormatOptions, ScreensaverEntityDateFormat?: any | null,
ScreensaverEntityIconOn?: string | null, ScreensaverEntityIconOn?: string | null,
ScreensaverEntityIconOff?: string | null, ScreensaverEntityIconOff?: string | null,
ScreensaverEntityUnitText?: string, ScreensaverEntityText: string,
ScreensaverEntityUnitText?: string | null,
ScreensaverEntityIconColor?: RGB | IconScaleElement | string ScreensaverEntityIconColor?: RGB | IconScaleElement | string
ScreensaverEntityOnColor?: RGB ScreensaverEntityOnColor?: RGB
ScreensaverEntityOffColor?: RGB ScreensaverEntityOffColor?: RGB