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:
53:c1bf7d9db507
Parent:
49:9491c966dc60
Child:
91:8b192efd0288
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web-this/boiler/web-boiler-script.js	Wed May 01 10:05:00 2019 +0000
@@ -0,0 +1,45 @@
+//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      = '';
+
+function parse()
+{
+    let lines = Ajax.response.split('\n');
+      tankTemperature = OneWire.DS18B20ToString (lines[0]);
+    blrOutTemperature = OneWire.DS18B20ToString (lines[1]);
+    blrRtnTemperature = OneWire.DS18B20ToString (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]);
+    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-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-time'); if (elem) elem.value = blrRunOnTime;
+
+}
+
+Ajax.server     = '/boiler-ajax';
+Ajax.onResponse = function() { parse(); display(); };
+Ajax.init();