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

Committer:
andrewboyson
Date:
Sat Oct 03 14:29:33 2020 +0000
Revision:
96:18a3813bb4b5
Parent:
92:2d1ca4dcbca7
Added override cancel time to UI.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 47:229338b3adcb 1 "//Radiator script\n"
andrewboyson 47:229338b3adcb 2 "'use strict';\n"
andrewboyson 47:229338b3adcb 3 "\n"
andrewboyson 96:18a3813bb4b5 4 "let hallTemperature = '';\n"
andrewboyson 96:18a3813bb4b5 5 "let programTimerOutput = false;\n"
andrewboyson 96:18a3813bb4b5 6 "let radiatorMode = false;\n"
andrewboyson 96:18a3813bb4b5 7 "let radiatorOverride = false;\n"
andrewboyson 96:18a3813bb4b5 8 "let radiatorPump = false;\n"
andrewboyson 96:18a3813bb4b5 9 "let overrideCancelHour = '';\n"
andrewboyson 96:18a3813bb4b5 10 "let overrideCancelMinute = '';\n"
andrewboyson 96:18a3813bb4b5 11 "let nightSetPoint = '';\n"
andrewboyson 96:18a3813bb4b5 12 "let frostSetPoint = '';\n"
andrewboyson 47:229338b3adcb 13 "\n"
andrewboyson 47:229338b3adcb 14 "function parse()\n"
andrewboyson 47:229338b3adcb 15 "{\n"
andrewboyson 47:229338b3adcb 16 " let lines = Ajax.response.split('\\n');\n"
andrewboyson 96:18a3813bb4b5 17 " hallTemperature = Ajax.hexToSignedInt16(lines[0]);\n"
andrewboyson 96:18a3813bb4b5 18 " programTimerOutput = Ajax.hexToBit (lines[1], 0);\n"
andrewboyson 96:18a3813bb4b5 19 " radiatorMode = Ajax.hexToBit (lines[1], 1);\n"
andrewboyson 96:18a3813bb4b5 20 " radiatorOverride = Ajax.hexToBit (lines[1], 2);\n"
andrewboyson 96:18a3813bb4b5 21 " radiatorPump = Ajax.hexToBit (lines[1], 3);\n"
andrewboyson 96:18a3813bb4b5 22 " overrideCancelHour = Ajax.hexToSignedInt8 (lines[2]);\n"
andrewboyson 96:18a3813bb4b5 23 " overrideCancelMinute = Ajax.hexToSignedInt8 (lines[3]);\n"
andrewboyson 96:18a3813bb4b5 24 " nightSetPoint = Ajax.hexToSignedInt16(lines[4]);\n"
andrewboyson 96:18a3813bb4b5 25 " frostSetPoint = Ajax.hexToSignedInt16(lines[5]);\n"
andrewboyson 47:229338b3adcb 26 "}\n"
andrewboyson 47:229338b3adcb 27 "function display()\n"
andrewboyson 47:229338b3adcb 28 "{\n"
andrewboyson 47:229338b3adcb 29 " let elem;\n"
andrewboyson 96:18a3813bb4b5 30 " elem = Ajax.getElementOrNull('ajax-hall-html' ); if (elem) elem.textContent = OneWire.DS18B20ToString(hallTemperature);\n"
andrewboyson 96:18a3813bb4b5 31 " elem = Ajax.getElementOrNull('ajax-program-toggle' ); if (elem) elem.setAttribute('dir', programTimerOutput ? 'rtl' : 'ltr');\n"
andrewboyson 96:18a3813bb4b5 32 " elem = Ajax.getElementOrNull('ajax-mode-toggle' ); if (elem) elem.setAttribute('dir', radiatorMode ? 'rtl' : 'ltr');\n"
andrewboyson 96:18a3813bb4b5 33 " elem = Ajax.getElementOrNull('ajax-override-toggle' ); if (elem) elem.setAttribute('dir', radiatorOverride ? 'rtl' : 'ltr');\n"
andrewboyson 96:18a3813bb4b5 34 " elem = Ajax.getElementOrNull('ajax-radiator-toggle' ); if (elem) elem.setAttribute('dir', radiatorPump ? 'rtl' : 'ltr');\n"
andrewboyson 96:18a3813bb4b5 35 " elem = Ajax.getElementOrNull('ajax-overide-cancel-minute'); if (elem)\n"
andrewboyson 96:18a3813bb4b5 36 " {\n"
andrewboyson 96:18a3813bb4b5 37 " elem.value = String(overrideCancelHour*100 + overrideCancelMinute).padStart(4, '0');\n"
andrewboyson 96:18a3813bb4b5 38 " }\n"
andrewboyson 96:18a3813bb4b5 39 " elem = Ajax.getElementOrNull('ajax-night-set-point' ); if (elem) elem.value = nightSetPoint;\n"
andrewboyson 96:18a3813bb4b5 40 " elem = Ajax.getElementOrNull('ajax-frost-set-point' ); if (elem) elem.value = frostSetPoint;\n"
andrewboyson 47:229338b3adcb 41 "}\n"
andrewboyson 47:229338b3adcb 42 "\n"
andrewboyson 47:229338b3adcb 43 "Ajax.server = '/radiator-ajax';\n"
andrewboyson 47:229338b3adcb 44 "Ajax.onResponse = function() { parse(); display(); };\n"
andrewboyson 47:229338b3adcb 45 "Ajax.init();\n"
andrewboyson 47:229338b3adcb 46 ""