From f64f3d35460b5971decad78935b4133dc80382a2 Mon Sep 17 00:00:00 2001 From: frodeheg Date: Mon, 17 Apr 2023 04:21:24 +0200 Subject: [PATCH] Ticket #173: Added thermostat to make adjusting time schedule more intuitive. Ticket #222: Suggestion for separating cooling from heating base temperatures --- common/constants.js | 4 +- settings/subpages/schedule.html | 218 +++++++++++++++++++++++++++++++- 2 files changed, 216 insertions(+), 6 deletions(-) diff --git a/common/constants.js b/common/constants.js index a8be58b0..59fd51e4 100644 --- a/common/constants.js +++ b/common/constants.js @@ -10,13 +10,15 @@ const ALARMS = { }; // AC Modes -const ACMODE = { +// eslint-disable-next-line no-var +var ACMODE = { UNCHANGED: 0, AUTO: 1, HEAT: 2, COOL: 3, DRY: 4, FAǸ: 5, + PIGGY: 6, }; // Granularity for archive diff --git a/settings/subpages/schedule.html b/settings/subpages/schedule.html index 16fc4fe2..986be088 100644 --- a/settings/subpages/schedule.html +++ b/settings/subpages/schedule.html @@ -173,8 +173,9 @@

Time Schedule Preview


- :
+ :

- :
- °C
+ :
+ °C
+
+ :
+ °C
+
+ + Your browser does not support the HTML5 canvas tag. + +
@@ -254,7 +452,7 @@

Time Schedule Preview

}] }]; let timerSelected = undefined; - let dragging = false; + var dragging = false; let aboveIdx; let belowIdx; let prevPosY; @@ -274,6 +472,11 @@

Time Schedule Preview

function changeACMode(newMode) { schedules[scheduleSelected].items[timerSelected].ACMode = +newMode; + document.getElementById('coolBase').style.display = ((+newMode === parent.ACMODE.PIGGY) + || (+newMode === parent.ACMODE.COOL) || (+newMode === parent.ACMODE.UNCHANGED)) ? 'block' : 'none'; + if (+newMode === parent.ACMODE.PIGGY) { + } else { + } } function changeBaseTemp(newTemp) { @@ -475,12 +678,17 @@

Time Schedule Preview

} newContent += ""; container.innerHTML = newContent; + try { + refreshThermostat(); + } catch (err) { + // Don't refresh thermostat when it's not visible + } } function selectTimer(sourceId) { const sourceElement = document.getElementById(`si${sourceId}`); const onoffElement = document.getElementById('timerOpOnOff'); - const tempElement = document.getElementById('timerBaseTemp'); + const tempElement = document.getElementById('timerBaseTempHeat'); const ACModeElement = document.getElementById('timerACMode'); const timeElements = document.getElementById('scTime'); const ppElements = document.getElementById('scPP');