From 394e5b4614583f862c9b83e1d9225316c2349aff Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Feb 2023 22:07:49 +0100 Subject: [PATCH] Fix power off state visualization --- ioBroker/NsPanelTs.ts | 25 ++++++++++++++----------- ioBroker/NsPanelTs_without_Examples.ts | 25 ++++++++++++++----------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/ioBroker/NsPanelTs.ts b/ioBroker/NsPanelTs.ts index 4dfb9765..920f2e21 100644 --- a/ioBroker/NsPanelTs.ts +++ b/ioBroker/NsPanelTs.ts @@ -3764,18 +3764,8 @@ function GenerateThermoPage(page: PageThermo): Payload[] { if (o.common.role == 'airCondition') { if (existsState(id + '.MODE') && getState(id + '.MODE').val != null) { let Mode = getState(id + '.MODE').val - - if (existsState(id + '.POWER') && getState(id + '.POWER').val != null) { - if (Mode != 0 || getState(id + '.POWER').val) { //0=ON oder .POWER = true - bt[0] = Icons.GetIcon('power-standby') + '~2016~1~' + 'POWER' + '~'; - statusStr = 'ON'; - } else { - bt[0] = Icons.GetIcon('power-standby') + '~35921~0~' + 'POWER' + '~'; - statusStr = 'OFF'; - } - } - let States = getObject(id + '.MODE').common.states; + let iconIndex: number = 1; for(const statekey in States) { let stateName: string = States[statekey]; @@ -3851,6 +3841,19 @@ function GenerateThermoPage(page: PageThermo): Payload[] { } iconIndex++; } + + // Power Icon zuletzt pruefen, damit der Mode ggf. mit OFF ueberschrieben werden kann + if (existsState(id + '.POWER') && getState(id + '.POWER').val != null) { + console.log(Mode); + console.log(States[Mode]); + if (States[Mode] == 'OFF' || !getState(id + '.POWER').val) { + bt[0] = Icons.GetIcon('power-standby') + '~35921~0~' + 'POWER' + '~'; + statusStr = 'OFF'; + } + else { + bt[0] = Icons.GetIcon('power-standby') + '~2016~1~' + 'POWER' + '~'; + } + } } } } diff --git a/ioBroker/NsPanelTs_without_Examples.ts b/ioBroker/NsPanelTs_without_Examples.ts index 2c7e36fb..52174357 100644 --- a/ioBroker/NsPanelTs_without_Examples.ts +++ b/ioBroker/NsPanelTs_without_Examples.ts @@ -3381,18 +3381,8 @@ function GenerateThermoPage(page: PageThermo): Payload[] { if (o.common.role == 'airCondition') { if (existsState(id + '.MODE') && getState(id + '.MODE').val != null) { let Mode = getState(id + '.MODE').val - - if (existsState(id + '.POWER') && getState(id + '.POWER').val != null) { - if (Mode != 0 || getState(id + '.POWER').val) { //0=ON oder .POWER = true - bt[0] = Icons.GetIcon('power-standby') + '~2016~1~' + 'POWER' + '~'; - statusStr = 'ON'; - } else { - bt[0] = Icons.GetIcon('power-standby') + '~35921~0~' + 'POWER' + '~'; - statusStr = 'OFF'; - } - } - let States = getObject(id + '.MODE').common.states; + let iconIndex: number = 1; for(const statekey in States) { let stateName: string = States[statekey]; @@ -3468,6 +3458,19 @@ function GenerateThermoPage(page: PageThermo): Payload[] { } iconIndex++; } + + // Power Icon zuletzt pruefen, damit der Mode ggf. mit OFF ueberschrieben werden kann + if (existsState(id + '.POWER') && getState(id + '.POWER').val != null) { + console.log(Mode); + console.log(States[Mode]); + if (States[Mode] == 'OFF' || !getState(id + '.POWER').val) { + bt[0] = Icons.GetIcon('power-standby') + '~35921~0~' + 'POWER' + '~'; + statusStr = 'OFF'; + } + else { + bt[0] = Icons.GetIcon('power-standby') + '~2016~1~' + 'POWER' + '~'; + } + } } } }