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-boiler-script.inc Source File

web-boiler-script.inc

00001 "//Boiler script\n"
00002 "'use strict';\n"
00003 "\n"
00004 "let dateTime           = '';\n"
00005 "let   tankTemperature  = '';\n"
00006 "let blrOutTemperature  = '';\n"
00007 "let blrRtnTemperature  = '';\n"
00008 "let blrAlnTemperature  = '';\n"
00009 "let blrDeltaT          = '';\n"
00010 "let boilerEnable       = false;\n"
00011 "let boilerCall         = false;\n"
00012 "let boilerPump         = false;\n"
00013 "let fullSpeedSecs      = '';\n"
00014 "let tankSetPoint       = '';\n"
00015 "let tankHysteresis     = '';\n"
00016 "let blrRunOnDeg        = '';\n"
00017 "let blrRunOnTime       = '';\n"
00018 "let blrPumpSpeed       = '';\n"
00019 "let blrPumpPwm         = '';\n"
00020 "let pumpSpeedCalling   = '';\n"
00021 "let pumpSpeedRunOn     = '';\n"
00022 "let blrOutputTarget    = '';\n"
00023 "let minSpeed           = '';\n"
00024 "let riseAt50           = '';\n"
00025 "let riseAt100          = '';\n"
00026 "\n"
00027 "function parse()\n"
00028 "{\n"
00029 "    let lines = Ajax.response.split('\\n');\n"
00030 "      tankTemperature = Ajax.hexToSignedInt16(lines[ 0]);\n"
00031 "    blrOutTemperature = Ajax.hexToSignedInt16(lines[ 1]);\n"
00032 "    blrRtnTemperature = Ajax.hexToSignedInt16(lines[ 2]);\n"
00033 "    blrAlnTemperature = Ajax.hexToSignedInt16(lines[ 3]);\n"
00034 "    blrDeltaT         = Ajax.hexToSignedInt16(lines[ 4]);\n"
00035 "    boilerCall        = Ajax.hexToBit        (lines[ 5], 0);\n"
00036 "    boilerPump        = Ajax.hexToBit        (lines[ 5], 1);\n"
00037 "    boilerEnable      = Ajax.hexToBit        (lines[ 5], 2);\n"
00038 "    fullSpeedSecs     = Ajax.hexToSignedInt16(lines[ 6]);\n"
00039 "    tankSetPoint      = Ajax.hexToSignedInt16(lines[ 7]);\n"
00040 "    tankHysteresis    = Ajax.hexToSignedInt16(lines[ 8]);\n"
00041 "    blrRunOnDeg       = Ajax.hexToSignedInt16(lines[ 9]);\n"
00042 "    blrRunOnTime      = Ajax.hexToSignedInt16(lines[10]);\n"
00043 "    blrPumpSpeed      = Ajax.hexToSignedInt16(lines[11]);\n"
00044 "    blrPumpPwm        = Ajax.hexToSignedInt16(lines[12]);\n"
00045 "    pumpSpeedCalling  = Ajax.hexToSignedInt16(lines[13]);\n"
00046 "    if (pumpSpeedCalling == -1) pumpSpeedCalling = 'A';\n"
00047 "    if (pumpSpeedCalling == -2) pumpSpeedCalling = 'T';\n"
00048 "    pumpSpeedRunOn    = Ajax.hexToSignedInt16(lines[14]);\n"
00049 "    blrOutputTarget   = Ajax.hexToSignedInt16(lines[15]);\n"
00050 "    minSpeed          = Ajax.hexToSignedInt16(lines[16]);\n"
00051 "    riseAt50          = Ajax.hexToSignedInt16(lines[17]);\n"
00052 "    riseAt100         = Ajax.hexToSignedInt16(lines[18]);\n"
00053 "}\n"
00054 "function display()\n"
00055 "{\n"
00056 "    let elem;\n"
00057 "    elem = Ajax.getElementOrNull('ajax-tank-html'      ); if (elem) elem.textContent = OneWire.DS18B20ToString(tankTemperature);\n"
00058 "    elem = Ajax.getElementOrNull('ajax-blr-out-html'   ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrOutTemperature);\n"
00059 "    elem = Ajax.getElementOrNull('ajax-blr-rtn-html'   ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrRtnTemperature);\n"
00060 "    elem = Ajax.getElementOrNull('ajax-blr-aln-html'   ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrAlnTemperature);\n"
00061 "    elem = Ajax.getElementOrNull('ajax-blr-rise-html'  ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrDeltaT);\n"
00062 "    \n"
00063 "    elem = Ajax.getElementOrNull('ajax-blr-pump-speed-html'); if (elem) elem.textContent = blrPumpSpeed;\n"
00064 "    elem = Ajax.getElementOrNull('ajax-blr-pump-pwm-html'  ); if (elem) elem.textContent = blrPumpPwm;\n"
00065 "    \n"
00066 "    elem = Ajax.getElementOrNull('ajax-blr-call-toggle'   ); if (elem) elem.setAttribute('dir', boilerCall   ? 'rtl' : 'ltr');\n"
00067 "    elem = Ajax.getElementOrNull('ajax-blr-pump-toggle'   ); if (elem) elem.setAttribute('dir', boilerPump   ? 'rtl' : 'ltr');\n"
00068 "    elem = Ajax.getElementOrNull('ajax-blr-enable-toggle' ); if (elem) elem.setAttribute('dir', boilerEnable ? 'rtl' : 'ltr');\n"
00069 "    elem = Ajax.getElementOrNull('ajax-full-speed-secs'   ); if (elem) elem.value = fullSpeedSecs;\n"
00070 "    elem = Ajax.getElementOrNull('ajax-tank-set-point'    ); if (elem) elem.value = tankSetPoint;\n"
00071 "    elem = Ajax.getElementOrNull('ajax-tank-hysteresis'   ); if (elem) elem.value = tankHysteresis;\n"
00072 "    elem = Ajax.getElementOrNull('ajax-blr-run-on-deg'    ); if (elem) elem.value = OneWire.DS18B20ToString(blrRunOnDeg);\n"
00073 "    elem = Ajax.getElementOrNull('ajax-blr-run-on-time'   ); if (elem) elem.value = blrRunOnTime;\n"
00074 "    \n"
00075 "    elem = Ajax.getElementOrNull('ajax-pump-speed-calling'); if (elem) elem.value = pumpSpeedCalling;\n"
00076 "    elem = Ajax.getElementOrNull('ajax-pump-speed-run-on' ); if (elem) elem.value = pumpSpeedRunOn;\n"
00077 "    elem = Ajax.getElementOrNull('ajax-blr-output-target' ); if (elem) elem.value = blrOutputTarget;\n"
00078 "    \n"
00079 "    elem = Ajax.getElementOrNull('ajax-min-speed-value'   ); if (elem) elem.value = minSpeed;\n"
00080 "    elem = Ajax.getElementOrNull('ajax-min-speed-text'    ); if (elem) elem.textContent = minSpeed;\n"
00081 "    elem = Ajax.getElementOrNull('ajax-pump-rise-at-50'   ); if (elem) elem.value = riseAt50;\n"
00082 "    elem = Ajax.getElementOrNull('ajax-pump-rise-at-100'  ); if (elem) elem.value = OneWire.DS18B20ToString(riseAt100);\n"
00083 "}\n"
00084 "\n"
00085 "Ajax.server     = '/boiler-ajax';\n"
00086 "Ajax.onResponse = function() { parse(); display(); };\n"
00087 "Ajax.init();\n"
00088 ""