From a026a962f06d644c6e342c78ac5035243655874a Mon Sep 17 00:00:00 2001 From: Yurii Date: Fri, 12 Apr 2024 02:03:43 +0300 Subject: [PATCH] fix: fixed thermostat temperature limits for different unit systems on dashboard --- data/dashboard.html | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/data/dashboard.html b/data/dashboard.html index 7202385..3c71f1f 100644 --- a/data/dashboard.html +++ b/data/dashboard.html @@ -202,10 +202,20 @@ window.onload = async function () { document.querySelector('#thermostat-heating-minus').addEventListener('click', (event) => { + if (!prevSettings) { + return; + } + newSettings.heating.target -= 0.5; modifiedTime = Date.now(); - const minTemp = noRegulators ? prevSettings.heating.minTemp : 5; + let minTemp; + if (noRegulators) { + minTemp = prevSettings.heating.minTemp; + } else { + minTemp = prevSettings.system.unitSystem == 0 ? 5 : 41; + } + if (prevSettings && newSettings.heating.target < minTemp) { newSettings.heating.target = minTemp; } @@ -214,10 +224,20 @@ }); document.querySelector('#thermostat-heating-plus').addEventListener('click', (event) => { + if (!prevSettings) { + return; + } + newSettings.heating.target += 0.5; modifiedTime = Date.now(); - const maxTemp = noRegulators ? prevSettings.heating.maxTemp : 30; + let maxTemp; + if (noRegulators) { + maxTemp = prevSettings.heating.maxTemp; + } else { + maxTemp = prevSettings.system.unitSystem == 0 ? 30 : 86; + } + if (prevSettings && newSettings.heating.target > maxTemp) { newSettings.heating.target = maxTemp; } @@ -226,10 +246,14 @@ }); document.querySelector('#thermostat-dhw-minus').addEventListener('click', (event) => { + if (!prevSettings) { + return; + } + newSettings.dhw.target -= 1; modifiedTime = Date.now(); - if (prevSettings && newSettings.dhw.target < prevSettings.dhw.minTemp) { + if (newSettings.dhw.target < prevSettings.dhw.minTemp) { newSettings.dhw.target = prevSettings.dhw.minTemp; } @@ -237,10 +261,14 @@ }); document.querySelector('#thermostat-dhw-plus').addEventListener('click', (event) => { + if (!prevSettings) { + return; + } + newSettings.dhw.target += 1; modifiedTime = Date.now(); - if (prevSettings && newSettings.dhw.target > prevSettings.dhw.maxTemp) { + if (newSettings.dhw.target > prevSettings.dhw.maxTemp) { newSettings.dhw.target = prevSettings.dhw.maxTemp; }