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
Diff: web-this/boiler/web-boiler-script.js
- 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; }