Controls the central heating system and the lights.
Dependencies: 1-wire clock crypto fram log lpc1768 net web wiz mbed
Diff: web-this/radiator/web-radiator-script.js
- Revision:
- 5:3579001bea1b
- Parent:
- 0:22b158d3c76f
- Child:
- 8:8ac076ce51af
--- a/web-this/radiator/web-radiator-script.js Thu May 13 19:09:54 2021 +0000 +++ b/web-this/radiator/web-radiator-script.js Thu May 20 14:34:51 2021 +0000 @@ -2,42 +2,51 @@ 'use strict'; let hallTemperature = ''; +let tankTemperature = ''; let programTimerOutput = false; let radiatorMode = false; let radiatorOverride = false; let radiatorPump = false; +let hotWaterProtectOn = false; let overrideCancelHour = ''; let overrideCancelMinute = ''; let nightSetPoint = ''; let frostSetPoint = ''; +let hotWaterProtectTemp = ''; function parse() { let lines = Ajax.response.split('\n'); hallTemperature = Ajax.hexToSignedInt16(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); - overrideCancelHour = Ajax.hexToSignedInt8 (lines[2]); - overrideCancelMinute = Ajax.hexToSignedInt8 (lines[3]); - nightSetPoint = Ajax.hexToSignedInt16(lines[4]); - frostSetPoint = Ajax.hexToSignedInt16(lines[5]); + tankTemperature = Ajax.hexToSignedInt16(lines[1]); + programTimerOutput = Ajax.hexToBit (lines[2], 0); + radiatorMode = Ajax.hexToBit (lines[2], 1); + radiatorOverride = Ajax.hexToBit (lines[2], 2); + radiatorPump = Ajax.hexToBit (lines[2], 3); + hotWaterProtectOn = Ajax.hexToBit (lines[2], 4); + overrideCancelHour = Ajax.hexToSignedInt8 (lines[3]); + overrideCancelMinute = Ajax.hexToSignedInt8 (lines[4]); + nightSetPoint = Ajax.hexToSignedInt16(lines[5]); + frostSetPoint = Ajax.hexToSignedInt16(lines[6]); + hotWaterProtectTemp = Ajax.hexToSignedInt8 (lines[7]); } function display() { let elem; - elem = Ajax.getElementOrNull('ajax-hall-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(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-overide-cancel-minute'); if (elem) + elem = Ajax.getElementOrNull('ajax-hall-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(hallTemperature); + elem = Ajax.getElementOrNull('ajax-tank-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(tankTemperature); + 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-hw-prot-toggle' ); if (elem) elem.setAttribute('dir', hotWaterProtectOn ? 'rtl' : 'ltr'); + elem = Ajax.getElementOrNull('ajax-override-cancel-minute'); if (elem) { elem.value = String(overrideCancelHour*100 + overrideCancelMinute).padStart(4, '0'); } elem = Ajax.getElementOrNull('ajax-night-set-point' ); if (elem) elem.value = nightSetPoint; elem = Ajax.getElementOrNull('ajax-frost-set-point' ); if (elem) elem.value = frostSetPoint; + elem = Ajax.getElementOrNull('ajax-hw-prot-temp' ); if (elem) elem.value = hotWaterProtectTemp; } Ajax.server = '/radiator-ajax';