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:
- 92:2d1ca4dcbca7
- Parent:
- 91:8b192efd0288
- Child:
- 104:46ce1aaf8be7
--- a/web-this/boiler/web-boiler-script.js Wed Jun 10 10:08:06 2020 +0000 +++ b/web-this/boiler/web-boiler-script.js Wed Jun 10 11:45:38 2020 +0000 @@ -15,29 +15,29 @@ function parse() { let lines = Ajax.response.split('\n'); - 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 = OneWire.parseDS18B20 (lines[6]); - blrRunOnTime = Ajax.hexToSignedInt16(lines[7]); + tankTemperature = Ajax.hexToSignedInt16(lines[0]); + blrOutTemperature = Ajax.hexToSignedInt16(lines[1]); + blrRtnTemperature = Ajax.hexToSignedInt16(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.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-tank-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(tankTemperature); + elem = Ajax.getElementOrNull('ajax-blr-out-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrOutTemperature); + elem = Ajax.getElementOrNull('ajax-blr-rtn-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrRtnTemperature); + elem = Ajax.getElementOrNull('ajax-blr-rise-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrOutTemperature - 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.toFixed(1); + elem = Ajax.getElementOrNull('ajax-blr-run-on-deg' ); if (elem) elem.value = OneWire.DS18B20ToString(blrRunOnDeg); elem = Ajax.getElementOrNull('ajax-blr-run-on-time'); if (elem) elem.value = blrRunOnTime; }