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: http-derived/boiler/http-boiler-script.js
- Revision:
- 47:229338b3adcb
diff -r 352053e6bb9b -r 229338b3adcb http-derived/boiler/http-boiler-script.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/http-derived/boiler/http-boiler-script.js Tue Apr 23 18:47:47 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();