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

Revision:
104:46ce1aaf8be7
Parent:
92:2d1ca4dcbca7
Child:
105:1899f7ed17ec
--- a/web-this/boiler/web-boiler-script.inc	Tue Jan 19 19:05:06 2021 +0000
+++ b/web-this/boiler/web-boiler-script.inc	Wed Feb 10 17:24:36 2021 +0000
@@ -11,19 +11,35 @@
 "let tankHysteresis     = '';\n"
 "let blrRunOnDeg        = '';\n"
 "let blrRunOnTime       = '';\n"
+"let blrPumpSpeed       = '';\n"
+"let blrPumpPwm         = '';\n"
+"let pumpSpeedCalling   = '';\n"
+"let pumpSpeedRunOn     = '';\n"
+"let blrOutputTarget    = '';\n"
+"let riseAt0            = '';\n"
+"let riseAt50           = '';\n"
+"let riseAt100          = '';\n"
 "\n"
 "function parse()\n"
 "{\n"
 "    let lines = Ajax.response.split('\\n');\n"
-"      tankTemperature = Ajax.hexToSignedInt16(lines[0]);\n"
-"    blrOutTemperature = Ajax.hexToSignedInt16(lines[1]);\n"
-"    blrRtnTemperature = Ajax.hexToSignedInt16(lines[2]);\n"
-"    boilerCall        = Ajax.hexToBit        (lines[3], 0);\n"
-"    boilerPump        = Ajax.hexToBit        (lines[3], 1);\n"
-"    tankSetPoint      = Ajax.hexToSignedInt16(lines[4]);\n"
-"    tankHysteresis    = Ajax.hexToSignedInt16(lines[5]);\n"
-"    blrRunOnDeg       = Ajax.hexToSignedInt16(lines[6]);\n"
-"    blrRunOnTime      = Ajax.hexToSignedInt16(lines[7]);\n"
+"      tankTemperature = Ajax.hexToSignedInt16(lines[ 0]);\n"
+"    blrOutTemperature = Ajax.hexToSignedInt16(lines[ 1]);\n"
+"    blrRtnTemperature = Ajax.hexToSignedInt16(lines[ 2]);\n"
+"    boilerCall        = Ajax.hexToBit        (lines[ 3], 0);\n"
+"    boilerPump        = Ajax.hexToBit        (lines[ 3], 1);\n"
+"    tankSetPoint      = Ajax.hexToSignedInt16(lines[ 4]);\n"
+"    tankHysteresis    = Ajax.hexToSignedInt16(lines[ 5]);\n"
+"    blrRunOnDeg       = Ajax.hexToSignedInt16(lines[ 6]);\n"
+"    blrRunOnTime      = Ajax.hexToSignedInt16(lines[ 7]);\n"
+"    blrPumpSpeed      = Ajax.hexToSignedInt16(lines[ 8]);\n"
+"    blrPumpPwm        = Ajax.hexToSignedInt16(lines[ 9]);\n"
+"    pumpSpeedCalling  = Ajax.hexToSignedInt16(lines[10]);\n"
+"    pumpSpeedRunOn    = Ajax.hexToSignedInt16(lines[11]);\n"
+"    blrOutputTarget   = Ajax.hexToSignedInt16(lines[12]);\n"
+"    riseAt0           = Ajax.hexToSignedInt16(lines[13]);\n"
+"    riseAt50          = Ajax.hexToSignedInt16(lines[14]);\n"
+"    riseAt100         = Ajax.hexToSignedInt16(lines[15]);\n"
 "}\n"
 "function display()\n"
 "{\n"
@@ -33,13 +49,23 @@
 "    elem = Ajax.getElementOrNull('ajax-blr-rtn-html'   ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrRtnTemperature);\n"
 "    elem = Ajax.getElementOrNull('ajax-blr-rise-html'  ); if (elem) elem.textContent = OneWire.DS18B20ToString(blrOutTemperature - blrRtnTemperature);\n"
 "    \n"
-"    elem = Ajax.getElementOrNull('ajax-blr-call-toggle'); if (elem) elem.setAttribute('dir', boilerCall ? 'rtl' : 'ltr');\n"
-"    elem = Ajax.getElementOrNull('ajax-blr-pump-toggle'); if (elem) elem.setAttribute('dir', boilerPump ? 'rtl' : 'ltr');\n"
-"    elem = Ajax.getElementOrNull('ajax-tank-set-point' ); if (elem) elem.value = tankSetPoint;\n"
-"    elem = Ajax.getElementOrNull('ajax-tank-hysteresis'); if (elem) elem.value = tankHysteresis;\n"
-"    elem = Ajax.getElementOrNull('ajax-blr-run-on-deg' ); if (elem) elem.value = OneWire.DS18B20ToString(blrRunOnDeg);\n"
-"    elem = Ajax.getElementOrNull('ajax-blr-run-on-time'); if (elem) elem.value = blrRunOnTime;\n"
-"\n"
+"    elem = Ajax.getElementOrNull('ajax-blr-pump-speed-html'); if (elem) elem.textContent = blrPumpSpeed;\n"
+"    elem = Ajax.getElementOrNull('ajax-blr-pump-pwm-html'  ); if (elem) elem.textContent = blrPumpPwm;\n"
+"    \n"
+"    elem = Ajax.getElementOrNull('ajax-blr-call-toggle'   ); if (elem) elem.setAttribute('dir', boilerCall ? 'rtl' : 'ltr');\n"
+"    elem = Ajax.getElementOrNull('ajax-blr-pump-toggle'   ); if (elem) elem.setAttribute('dir', boilerPump ? 'rtl' : 'ltr');\n"
+"    elem = Ajax.getElementOrNull('ajax-tank-set-point'    ); if (elem) elem.value = tankSetPoint;\n"
+"    elem = Ajax.getElementOrNull('ajax-tank-hysteresis'   ); if (elem) elem.value = tankHysteresis;\n"
+"    elem = Ajax.getElementOrNull('ajax-blr-run-on-deg'    ); if (elem) elem.value = OneWire.DS18B20ToString(blrRunOnDeg);\n"
+"    elem = Ajax.getElementOrNull('ajax-blr-run-on-time'   ); if (elem) elem.value = blrRunOnTime;\n"
+"    \n"
+"    elem = Ajax.getElementOrNull('ajax-pump-speed-calling'); if (elem) elem.value = pumpSpeedCalling;\n"
+"    elem = Ajax.getElementOrNull('ajax-pump-speed-run-on' ); if (elem) elem.value = pumpSpeedRunOn;\n"
+"    elem = Ajax.getElementOrNull('ajax-blr-output-target' ); if (elem) elem.value = blrOutputTarget;\n"
+"    \n"
+"    elem = Ajax.getElementOrNull('ajax-pump-rise-at-0'    ); if (elem) elem.value = OneWire.DS18B20ToString(riseAt0);\n"
+"    elem = Ajax.getElementOrNull('ajax-pump-rise-at-50'   ); if (elem) elem.value = OneWire.DS18B20ToString(riseAt50);\n"
+"    elem = Ajax.getElementOrNull('ajax-pump-rise-at-100'  ); if (elem) elem.value = OneWire.DS18B20ToString(riseAt100);\n"
 "}\n"
 "\n"
 "Ajax.server     = '/boiler-ajax';\n"