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/radiator/http-radiator-script.js
- Revision:
- 47:229338b3adcb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/http-derived/radiator/http-radiator-script.js Tue Apr 23 18:47:47 2019 +0000 @@ -0,0 +1,37 @@ +//Radiator script +'use strict'; + +let hallTemperature = ''; +let programTimerOutput = false; +let radiatorMode = false; +let radiatorOverride = false; +let radiatorPump = false; +let nightSetPoint = ''; +let frostSetPoint = ''; + +function parse() +{ + let lines = Ajax.response.split('\n'); + hallTemperature = OneWire.DS18B20ToString (lines[0]); + programTimerOutput = Ajax.hexToBit (lines[1], 0); + radiatorMode = Ajax.hexToBit (lines[1], 1); + radiatorOverride = Ajax.hexToBit (lines[1], 2); + radiatorPump = Ajax.hexToBit (lines[1], 3); + nightSetPoint = Ajax.hexToSignedInt16(lines[2], 16); + frostSetPoint = Ajax.hexToSignedInt16(lines[3], 16); +} +function display() +{ + let elem; + elem = Ajax.getElementOrNull('ajax-hall-html' ); if (elem) elem.textContent = hallTemperature; + elem = Ajax.getElementOrNull('ajax-program-toggle' ); if (elem) elem.setAttribute('dir', programTimerOutput ? 'rtl' : 'ltr'); + elem = Ajax.getElementOrNull('ajax-mode-toggle' ); if (elem) elem.setAttribute('dir', radiatorMode ? 'rtl' : 'ltr'); + elem = Ajax.getElementOrNull('ajax-override-toggle'); if (elem) elem.setAttribute('dir', radiatorOverride ? 'rtl' : 'ltr'); + elem = Ajax.getElementOrNull('ajax-radiator-toggle'); if (elem) elem.setAttribute('dir', radiatorPump ? 'rtl' : 'ltr'); + elem = Ajax.getElementOrNull('ajax-night-set-point'); if (elem) elem.value = nightSetPoint; + elem = Ajax.getElementOrNull('ajax-frost-set-point'); if (elem) elem.value = frostSetPoint; +} + +Ajax.server = '/radiator-ajax'; +Ajax.onResponse = function() { parse(); display(); }; +Ajax.init();