Added Heater and Cooler delay edit fields. Added more checks on entered data in the units edit screen.

Sun, 31 Aug 2014 17:51:04 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 31 Aug 2014 17:51:04 +0200
changeset 272
f436d826de4b
parent 271
e3f56dc46bcd
child 273
b863e0147296

Added Heater and Cooler delay edit fields. Added more checks on entered data in the units edit screen.

www-thermferm/units.php file | annotate | diff | comparison | revisions
--- a/www-thermferm/units.php	Sat Aug 30 22:15:54 2014 +0200
+++ b/www-thermferm/units.php	Sun Aug 31 17:51:04 2014 +0200
@@ -95,7 +95,9 @@
 	$cmd[] = "AIR_ADDRESS,".$_POST['AirAddress'];
 	$cmd[] = "BEER_ADDRESS,".$_POST['BeerAddress'];
 	$cmd[] = "HEATER_ADDRESS,".$_POST['HeaterAddress'];
+	$cmd[] = "HEATER_DELAY,".$_POST['HeaterDelay'];
 	$cmd[] = "COOLER_ADDRESS,".$_POST['CoolerAddress'];
+	$cmd[] = "COOLER_DELAY,".$_POST['CoolerDelay'];
 	$cmd[] = "FAN_ADDRESS,".$_POST['FanAddress'];
 	$cmd[] = "DOOR_ADDRESS,".$_POST['DoorAddress'];
 	$cmd[] = "TEMP_SET_MIN,".$_POST['TempSetMin'];
@@ -114,7 +116,9 @@
     unset($_POST['AirAddress']);
     unset($_POST['BeerAddress']);
     unset($_POST['HeaterAddress']);
+    unset($_POST['HeaterDelay']);
     unset($_POST['CoolerAddress']);
+    unset($_POST['CoolerDelay']);
     unset($_POST['FanAddress']);
     unset($_POST['DoorAddress']);
     unset($_POST['TempSetMin']);
@@ -138,6 +142,11 @@
  *         1 = Missing data
  *         2 = Name field too short
  *         3 = Name already in use
+ *         4 = TempSetMax <= TempSetMin
+ *         5 = TempSetMax < 25 or > 35
+ *         6 = TempSetMin < -5 or > 15
+ *         7 = HeaterDelay out of range
+ *         8 = CoolerDelay out of range
  *        99 = Cancel key
  */
 function test_thedata() {
@@ -146,6 +155,7 @@
 
     if (isset($_POST['UUID']) && isset($_POST['Name']) && isset($_POST['Volume']) && isset($_POST['AirAddress']) &&
 	isset($_POST['BeerAddress']) && isset($_POST['HeaterAddress']) && isset($_POST['CoolerAddress']) &&
+	isset($_POST['HeaterDelay']) && isset($_POST['CoolerDelay']) &&
 	isset($_POST['FanAddress']) && isset($_POST['DoorAddress']) && isset($_POST['TempSetMin']) && isset($_POST['TempSetMax']) &&
 	isset($_POST['IdleRangeL']) && isset($_POST['IdleRangeH']) && isset($_POST['key']) && isset($_POST['command'])) {
 
@@ -166,7 +176,28 @@
 	    	}
 	    	$j++;
 	    }
-    	}
+	}
+
+	if ($_POST['TempSetMax'] <= $_POST['TempSetMin'])
+	    return 4;
+
+	if (($_POST['TempSetMax'] < 25) || ($_POST['TempSetMax'] > 35))
+	    return 5;
+
+	if (($_POST['TempSetMin'] < -5) || ($_POST['TempSetMin'] > 15))
+	    return 6;
+
+	if (($_POST['HeaterDelay'] < 0) || ($_POST['HeaterDelay'] > 45))
+	    return 7;
+
+	if (($_POST['CoolerDelay'] < 0) || ($_POST['CoolerDelay'] > 45))
+	    return 8;
+
+	if (($_POST['IdleRangeL'] > 0) || ($_POST['IdleRangeL'] < -5))
+	    return 9;
+
+	if (($_POST['IdleRangeH'] < 0) || ($_POST['IdleRangeH'] > 5))
+	    return 10;
 
     } else {
 	return 1;
@@ -200,6 +231,20 @@
 		break;
 	case 3: $error = 'The name is already in use, choose another one';
 		break;
+	case 4: $error = 'Temperature Maximum cannot be smaller then Temperature Minimum';
+		break;
+	case 5: $error = 'Temperature Maximum must be between 25 and 35 &deg;C';
+		break;
+	case 6:	$error = 'Temperature Minimum must be between -5 and 15 &deg;C';
+		break;
+	case 7: $error = 'Heater Delay must be bewteen 0 and 45';
+		break;
+	case 8:	$error = 'Cooler Delay must be bewteen 0 and 45';
+		break;
+	case 9: $error = 'Idle Range Low must be between -5 en 0';
+		break;
+	case 10: $error = 'Idle Range High must be between 0 and 5';
+		break;
 	case 99:        
 		load('units.php');
 		break;
@@ -328,6 +373,12 @@
 		$outstr .= '        </select></td>'.PHP_EOL;
 		$outstr .= '       </tr>'.PHP_EOL;
 	    }
+	    if ($f[0] == "HEATER_DELAY") {
+		$outstr .= '       <tr class="editor">'.PHP_EOL;
+		$outstr .= '        <td class="editname">Heater Switch Delay</td>'.PHP_EOL;
+		$outstr .= '        <td class="editfield"><input type="text" name="HeaterDelay" size="5" value="'.$f[1].'"> * 15 seconds</td>'.PHP_EOL;
+		$outstr .= '       </tr>'.PHP_EOL;
+	    }
 	    if ($f[0] == "COOLER_ADDRESS") {
 		$outstr .= '       <tr class="editor">'.PHP_EOL;
 		$outstr .= '        <td class="editname">Cooler Switch Address</td>'.PHP_EOL;
@@ -349,6 +400,12 @@
 		$outstr .= '        </select></td>'.PHP_EOL;
 		$outstr .= '       </tr>'.PHP_EOL;
 	    }
+	    if ($f[0] == "COOLER_DELAY") {
+		$outstr .= '       <tr class="editor">'.PHP_EOL;
+		$outstr .= '        <td class="editname">Cooler Switch Delay</td>'.PHP_EOL;
+		$outstr .= '        <td class="editfield"><input type="text" name="CoolerDelay" size="5" value="'.$f[1].'"> * 15 seconds</td>'.PHP_EOL;
+		$outstr .= '       </tr>'.PHP_EOL;
+	    }
 	    if ($f[0] == "FAN_ADDRESS") {
 		$outstr .= '       <tr class="editor">'.PHP_EOL;
 		$outstr .= '        <td class="editname">Fan Switch Address</td>'.PHP_EOL;
@@ -394,25 +451,25 @@
 	    if ($f[0] == "TEMP_SET_MIN") {
 		$outstr .= '       <tr class="editor">'.PHP_EOL;
 		$outstr .= '        <td class="editname">Min. temp setting</td>'.PHP_EOL;
-		$outstr .= '        <td class="editfield"><input type="text" name="TempSetMin" size="5" value="'.$f[1].'"></td>'.PHP_EOL;
+		$outstr .= '        <td class="editfield"><input type="text" name="TempSetMin" size="5" value="'.$f[1].'"> &deg;C</td>'.PHP_EOL;
 		$outstr .= '       </tr>'.PHP_EOL;
 	    }
 	    if ($f[0] == "TEMP_SET_MAX") {
 		$outstr .= '       <tr class="editor">'.PHP_EOL;
 		$outstr .= '        <td class="editname">Max. temp setting</td>'.PHP_EOL;
-		$outstr .= '        <td class="editfield"><input type="text" name="TempSetMax" size="5" value="'.$f[1].'"></td>'.PHP_EOL;
+		$outstr .= '        <td class="editfield"><input type="text" name="TempSetMax" size="5" value="'.$f[1].'"> &deg;C</td>'.PHP_EOL;
 		$outstr .= '       </tr>'.PHP_EOL;
 	    }
 	    if ($f[0] == "IDLE_RANGE_L") {
 		$outstr .= '       <tr class="editor">'.PHP_EOL;
 		$outstr .= '        <td class="editname">Idle Range Low</td>'.PHP_EOL;
-		$outstr .= '        <td class="editfield"><input type="text" name="IdleRangeL" size="5" value="'.$f[1].'"></td>'.PHP_EOL;
+		$outstr .= '        <td class="editfield"><input type="text" name="IdleRangeL" size="5" value="'.$f[1].'"> &deg;C (Heater margin)</td>'.PHP_EOL;
 		$outstr .= '       </tr>'.PHP_EOL;
 	    }
 	    if ($f[0] == "IDLE_RANGE_H") {
 		$outstr .= '       <tr class="editor">'.PHP_EOL;
 		$outstr .= '        <td class="editname">Idle Range High</td>'.PHP_EOL;
-		$outstr .= '        <td class="editfield"><input type="text" name="IdleRangeH" size="5" value="'.$f[1].'"></td>'.PHP_EOL;
+		$outstr .= '        <td class="editfield"><input type="text" name="IdleRangeH" size="5" value="'.$f[1].'"> &deg;C (Cooler margin)</td>'.PHP_EOL;
 		$outstr .= '       </tr>'.PHP_EOL;
 	    }
 	    $i++;
@@ -507,7 +564,9 @@
     $outstr .= '<input type="hidden" value="" name="AirAddress">';
     $outstr .= '<input type="hidden" value="" name="BeerAddress">';
     $outstr .= '<input type="hidden" value="" name="HeaterAddress">';
+    $outstr .= '<input type="hidden" value="20" name="HeaterDelay">';
     $outstr .= '<input type="hidden" value="" name="CoolerAddress">';
+    $outstr .= '<input type="hidden" value="20" name="CoolerDelay">';
     $outstr .= '<input type="hidden" value="" name="FanAddress">';
     $outstr .= '<input type="hidden" value="" name="DoorAddress">';
     $outstr .= '<input type="hidden" value="1.0" name="TempSetMin">';

mercurial