Central Heating controller using the real time clock, PHY module for internet, 1-wire interface for temperature sensors, a system log and a configuration file

Dependencies:   net 1-wire lpc1768 crypto clock web fram log

/media/uploads/andrewboyson/heating.sch

/media/uploads/andrewboyson/heating.brd

/media/uploads/andrewboyson/eagle.epf

Revision:
91:8b192efd0288
Parent:
53:c1bf7d9db507
Child:
92:2d1ca4dcbca7
diff -r 1c504a7b465e -r 8b192efd0288 web-this/boiler/web-boiler-script.js
--- a/web-this/boiler/web-boiler-script.js	Thu Jun 04 16:37:59 2020 +0000
+++ b/web-this/boiler/web-boiler-script.js	Wed Jun 10 10:08:06 2020 +0000
@@ -1,41 +1,43 @@
 //Boiler script
 'use strict';
 
-let dateTime          = '';
-let   tankTemperature = '';
-let blrOutTemperature = '';
-let blrRtnTemperature = '';
-let boilerCall        = false;
-let boilerPump        = false;
-let tankSetPoint      = '';
-let tankHysteresis    = '';
-let blrRunOnDeg       = '';
-let blrRunOnTime      = '';
+let dateTime           = '';
+let   tankTemperature  = '';
+let blrOutTemperature  = '';
+let blrRtnTemperature  = '';
+let boilerCall         = false;
+let boilerPump         = false;
+let tankSetPoint       = '';
+let tankHysteresis     = '';
+let blrRunOnDeg        = '';
+let blrRunOnTime       = '';
 
 function parse()
 {
     let lines = Ajax.response.split('\n');
-      tankTemperature = OneWire.DS18B20ToString (lines[0]);
-    blrOutTemperature = OneWire.DS18B20ToString (lines[1]);
-    blrRtnTemperature = OneWire.DS18B20ToString (lines[2]);
+      tankTemperature = OneWire.parseDS18B20    (lines[0]);
+    blrOutTemperature = OneWire.parseDS18B20    (lines[1]);
+    blrRtnTemperature = OneWire.parseDS18B20    (lines[2]);
     boilerCall        =    Ajax.hexToBit        (lines[3], 0);
     boilerPump        =    Ajax.hexToBit        (lines[3], 1);
     tankSetPoint      =    Ajax.hexToSignedInt16(lines[4]);
     tankHysteresis    =    Ajax.hexToSignedInt16(lines[5]);
-    blrRunOnDeg       =    Ajax.hexToSignedInt16(lines[6]);
+    blrRunOnDeg       = OneWire.parseDS18B20    (lines[6]);
     blrRunOnTime      =    Ajax.hexToSignedInt16(lines[7]);
 }
 function display()
 {
     let elem;
-    elem = Ajax.getElementOrNull('ajax-tank-html'      ); if (elem) elem.textContent =   tankTemperature;
-    elem = Ajax.getElementOrNull('ajax-blr-out-html'   ); if (elem) elem.textContent = blrOutTemperature;
-    elem = Ajax.getElementOrNull('ajax-blr-rtn-html'   ); if (elem) elem.textContent = blrRtnTemperature;
+    elem = Ajax.getElementOrNull('ajax-tank-html'      ); if (elem) elem.textContent =   tankTemperature.toFixed(1);
+    elem = Ajax.getElementOrNull('ajax-blr-out-html'   ); if (elem) elem.textContent = blrOutTemperature.toFixed(1);
+    elem = Ajax.getElementOrNull('ajax-blr-rtn-html'   ); if (elem) elem.textContent = blrRtnTemperature.toFixed(1);
+    elem = Ajax.getElementOrNull('ajax-blr-rise-html'  ); if (elem) elem.textContent = (blrOutTemperature - blrRtnTemperature).toFixed(1);
+    
     elem = Ajax.getElementOrNull('ajax-blr-call-toggle'); if (elem) elem.setAttribute('dir', boilerCall ? 'rtl' : 'ltr');
     elem = Ajax.getElementOrNull('ajax-blr-pump-toggle'); if (elem) elem.setAttribute('dir', boilerPump ? 'rtl' : 'ltr');
     elem = Ajax.getElementOrNull('ajax-tank-set-point' ); if (elem) elem.value = tankSetPoint;
     elem = Ajax.getElementOrNull('ajax-tank-hysteresis'); if (elem) elem.value = tankHysteresis;
-    elem = Ajax.getElementOrNull('ajax-blr-run-on-deg' ); if (elem) elem.value = blrRunOnDeg;
+    elem = Ajax.getElementOrNull('ajax-blr-run-on-deg' ); if (elem) elem.value = blrRunOnDeg.toFixed(1);
     elem = Ajax.getElementOrNull('ajax-blr-run-on-time'); if (elem) elem.value = blrRunOnTime;
 
 }