diff --git a/data/index.html b/data/index.html
index 2fd57f6..488f783 100644
--- a/data/index.html
+++ b/data/index.html
@@ -180,23 +180,31 @@
| Indoor temp: |
- C |
+ |
| Outdoor temp: |
- C |
+ |
| Heating temp: |
- C |
+ |
| Heating setpoint temp: |
- C |
+ |
+
+
+ | Heating return temp: |
+ |
| DHW temp: |
- C |
+ |
+
+
+ | Exhaust temp: |
+ |
diff --git a/data/static/app.js.gz b/data/static/app.js.gz
index 306d6ea..bcd065f 100644
Binary files a/data/static/app.js.gz and b/data/static/app.js.gz differ
diff --git a/src/MqttTask.h b/src/MqttTask.h
index 1496aa8..aa3fca4 100644
--- a/src/MqttTask.h
+++ b/src/MqttTask.h
@@ -387,7 +387,8 @@ protected:
bool published = false;
bool isStupidMode = !settings.pid.enable && !settings.equitherm.enable;
- byte heatingMinTemp, heatingMaxTemp = 0;
+ byte heatingMinTemp = 0;
+ byte heatingMaxTemp = 0;
bool editableOutdoorTemp = settings.sensors.outdoor.type == SensorType::MANUAL;
bool editableIndoorTemp = settings.sensors.indoor.type == SensorType::MANUAL;
diff --git a/src_data/static/app.js b/src_data/static/app.js
index 97b8807..9e7ba1b 100644
--- a/src_data/static/app.js
+++ b/src_data/static/app.js
@@ -484,6 +484,7 @@ async function loadSettings() {
setCheckboxValue('.system-debug', result.system.debug);
setCheckboxValue('.system-use-serial', result.system.useSerial);
setCheckboxValue('.system-use-telnet', result.system.useTelnet);
+ setRadioValue('.system-unit-system', result.system.unitSystem);
setBusy('#system-settings-busy', '#system-settings', false);
setCheckboxValue('.portal-use-auth', result.portal.useAuth);
@@ -491,6 +492,7 @@ async function loadSettings() {
setInputValue('.portal-password', result.portal.password);
setBusy('#portal-settings-busy', '#portal-settings', false);
+ setRadioValue('.opentherm-unit-system', result.opentherm.unitSystem);
setInputValue('.opentherm-in-gpio', result.opentherm.inGpio < 255 ? result.opentherm.inGpio : '');
setInputValue('.opentherm-out-gpio', result.opentherm.outGpio < 255 ? result.opentherm.outGpio : '');
setInputValue('.opentherm-member-id-code', result.opentherm.memberIdCode);
@@ -534,6 +536,21 @@ async function loadVars() {
let response = await fetch('/api/vars');
let result = await response.json();
+ let unitSystemStr;
+ switch (result.system.unitSystem) {
+ case 0:
+ unitSystemStr = 'C';
+ break;
+
+ case 1:
+ unitSystemStr = 'F';
+ break;
+
+ default:
+ unitSystemStr = '?';
+ break;
+ }
+
setState('.ot-connected', result.states.otStatus);
setState('.ot-emergency', result.states.emergency);
setState('.ot-heating', result.states.heating);
@@ -552,10 +569,13 @@ async function loadVars() {
setValue('.outdoor-temp', result.temperatures.outdoor);
setValue('.heating-temp', result.temperatures.heating);
setValue('.heating-setpoint-temp', result.parameters.heatingSetpoint);
+ setValue('.heating-return-temp', result.temperatures.heatingReturn);
setValue('.dhw-temp', result.temperatures.dhw);
+ setValue('.exhaust-temp', result.temperatures.exhaust);
setBusy('.ot-busy', '.ot-table', false);
+ setValue('.unit-system', unitSystemStr);
setValue('.version', result.system.version);
setValue('.build-date', result.system.buildDate);
setValue('.uptime', result.system.uptime);
@@ -601,12 +621,14 @@ function setState(selector, value) {
}
function setValue(selector, value) {
- let item = document.querySelector(selector);
- if (!item) {
+ let items = document.querySelectorAll(selector);
+ if (!items.length) {
return;
}
- item.innerHTML = value;
+ for (let item of items) {
+ item.innerHTML = value;
+ }
}
function setCheckboxValue(selector, value) {