Andrew Boyson / oldheating

Dependencies:   net 1-wire lpc1768 crypto clock web fram log

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers web-radiator-script.inc Source File

web-radiator-script.inc

00001 "//Radiator script\n"
00002 "'use strict';\n"
00003 "\n"
00004 "let   hallTemperature    = '';\n"
00005 "let programTimerOutput   = false;\n"
00006 "let radiatorMode         = false;\n"
00007 "let radiatorOverride     = false;\n"
00008 "let radiatorPump         = false;\n"
00009 "let overrideCancelHour = '';\n"
00010 "let overrideCancelMinute = '';\n"
00011 "let nightSetPoint        = '';\n"
00012 "let frostSetPoint        = '';\n"
00013 "\n"
00014 "function parse()\n"
00015 "{\n"
00016 "    let lines = Ajax.response.split('\\n');\n"
00017 "    hallTemperature      = Ajax.hexToSignedInt16(lines[0]);\n"
00018 "    programTimerOutput   = Ajax.hexToBit        (lines[1],  0);\n"
00019 "    radiatorMode         = Ajax.hexToBit        (lines[1],  1);\n"
00020 "    radiatorOverride     = Ajax.hexToBit        (lines[1],  2);\n"
00021 "    radiatorPump         = Ajax.hexToBit        (lines[1],  3);\n"
00022 "    overrideCancelHour   = Ajax.hexToSignedInt8 (lines[2]);\n"
00023 "    overrideCancelMinute = Ajax.hexToSignedInt8 (lines[3]);\n"
00024 "    nightSetPoint        = Ajax.hexToSignedInt16(lines[4]);\n"
00025 "    frostSetPoint        = Ajax.hexToSignedInt16(lines[5]);\n"
00026 "}\n"
00027 "function display()\n"
00028 "{\n"
00029 "    let elem;\n"
00030 "    elem = Ajax.getElementOrNull('ajax-hall-html'            ); if (elem) elem.textContent =  OneWire.DS18B20ToString(hallTemperature);\n"
00031 "    elem = Ajax.getElementOrNull('ajax-program-toggle'       ); if (elem) elem.setAttribute('dir', programTimerOutput ? 'rtl' : 'ltr');\n"
00032 "    elem = Ajax.getElementOrNull('ajax-mode-toggle'          ); if (elem) elem.setAttribute('dir', radiatorMode       ? 'rtl' : 'ltr');\n"
00033 "    elem = Ajax.getElementOrNull('ajax-override-toggle'      ); if (elem) elem.setAttribute('dir', radiatorOverride   ? 'rtl' : 'ltr');\n"
00034 "    elem = Ajax.getElementOrNull('ajax-radiator-toggle'      ); if (elem) elem.setAttribute('dir', radiatorPump       ? 'rtl' : 'ltr');\n"
00035 "    elem = Ajax.getElementOrNull('ajax-overide-cancel-minute'); if (elem)\n"
00036 "    {\n"
00037 "        elem.value = String(overrideCancelHour*100 + overrideCancelMinute).padStart(4, '0');\n"
00038 "    }\n"
00039 "    elem = Ajax.getElementOrNull('ajax-night-set-point'      ); if (elem) elem.value = nightSetPoint;\n"
00040 "    elem = Ajax.getElementOrNull('ajax-frost-set-point'      ); if (elem) elem.value = frostSetPoint;\n"
00041 "}\n"
00042 "\n"
00043 "Ajax.server     = '/radiator-ajax';\n"
00044 "Ajax.onResponse = function() { parse(); display(); };\n"
00045 "Ajax.init();\n"
00046 ""