Selaa lähdekoodia

Two-stage oil

Zachary Kotlarek 9 vuotta sitten
vanhempi
sitoutus
035c1ce5dd
2 muutettua tiedostoa jossa 8 lisäystä ja 8 poistoa
  1. 6 6
      dmx/oil.pl
  2. 2 2
      dmx/state.pl

+ 6 - 6
dmx/oil.pl

@@ -9,9 +9,10 @@ use lib dirname(abs_path($0));
 use DMX;
 
 # User config
-my $PREHEAT_DELAY   = 5;
+my $PREHEAT_DELAY   = 2;
 my $PREHEAT_TIMEOUT = $PREHEAT_DELAY + 60;
 my $MOTION_TIMEOUT  = 300;
+my $ENABLE_TIMEOUT  = 1800;
 my %DIM             = (
 	'OFF'     => [ { 'channel' => 20, 'value' => 0,   'time' => 0 }, ],
 	'ON'      => [ { 'channel' => 20, 'value' => 255, 'time' => 0 }, ],
@@ -65,7 +66,7 @@ while (1) {
 	# Record only valid states
 	if (defined($cmdState)) {
 		$masterState = $cmdState;
-		$pullLast = $now;
+		$pullLast    = $now;
 	}
 
 	# Die if we don't see regular updates
@@ -88,12 +89,11 @@ while (1) {
 
 	# Calculate the new state
 	$stateLast = $state;
-	if (exists($exists{'OIL_DISABLE'}) && $exists{'OIL_DISABLE'}) {
-		$state = 'OFF';
-	} elsif ($mtime{'MOTION_GARAGE'} > $now - $MOTION_TIMEOUT) {
+	if ($mtime{'OIL_ENABLE'} > $now - $ENABLE_TIMEOUT && $mtime{'MOTION_GARAGE'} > $now - $MOTION_TIMEOUT) {
 		$state = 'ON';
 	} elsif (($masterState eq 'PAUSE' || $masterState eq 'MOTION')
-		&& $PREHEAT_TIMEOUT > $elapsed && $PREHEAT_DELAY < $elapsed)
+		&& $PREHEAT_TIMEOUT > $elapsed
+		&& $PREHEAT_DELAY < $elapsed)
 	{
 		$state = 'PREHEAT';
 	} else {

+ 2 - 2
dmx/state.pl

@@ -98,8 +98,8 @@ if ($HOST =~ /loki/i) {
     $MON_FILES{'FAN_CMD'} = 'EXISTS-TIMEOUT';
 
     # Oil
-    $MON_FILES{'OIL'}         = 'LINE-NOUPDATE';
-    $MON_FILES{'OIL_DISABLE'} = 'EXISTS-NOUPDATE';
+    $MON_FILES{'OIL'}        = 'LINE-NOUPDATE';
+    $MON_FILES{'OIL_ENABLE'} = 'EXISTS-NOUPDATE';
 
     # Garage
     $MON_FILES{'DOOR'} = 'LINE-NOUPDATE';