|
@@ -13,7 +13,7 @@ my $MOTION_TIMEOUT = 15;
|
|
|
my %DIM = (
|
|
my %DIM = (
|
|
|
'OFF' => [ { 'channel' => 3, 'value' => 0, 'time' => 60000 }, ],
|
|
'OFF' => [ { 'channel' => 3, 'value' => 0, 'time' => 60000 }, ],
|
|
|
'PLAY' => [ { 'channel' => 3, 'value' => 80, 'time' => 5000 }, ],
|
|
'PLAY' => [ { 'channel' => 3, 'value' => 80, 'time' => 5000 }, ],
|
|
|
- 'MOTION' => [ { 'channel' => 3, 'value' => 192, 'time' => 500 }, ],
|
|
|
|
|
|
|
+ 'MOTION' => [ { 'channel' => 3, 'value' => 192, 'time' => 750 }, ],
|
|
|
'BRIGHT' => [ { 'channel' => 3, 'value' => 255, 'time' => 1000 }, ],
|
|
'BRIGHT' => [ { 'channel' => 3, 'value' => 255, 'time' => 1000 }, ],
|
|
|
'ERROR' => [ { 'channel' => 3, 'value' => 255, 'time' => 0 }, ],
|
|
'ERROR' => [ { 'channel' => 3, 'value' => 255, 'time' => 0 }, ],
|
|
|
);
|
|
);
|
|
@@ -32,13 +32,6 @@ if ($ENV{'DEBUG'}) {
|
|
|
$DEBUG = 1;
|
|
$DEBUG = 1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-# Construct a list of valid states
|
|
|
|
|
-my %VALID = ();
|
|
|
|
|
-foreach my $key (keys(%DIM)) {
|
|
|
|
|
- $VALID{$key} = 1;
|
|
|
|
|
-}
|
|
|
|
|
-$VALID{'PAUSE'} = 1;
|
|
|
|
|
-
|
|
|
|
|
# State
|
|
# State
|
|
|
my $state = 'OFF';
|
|
my $state = 'OFF';
|
|
|
my $stateLast = $state;
|
|
my $stateLast = $state;
|
|
@@ -63,7 +56,7 @@ while (1) {
|
|
|
my $newState = $state;
|
|
my $newState = $state;
|
|
|
|
|
|
|
|
# Wait for state updates
|
|
# Wait for state updates
|
|
|
- my $cmdState = DMX::readState($DELAY, \%exists, \%mtime, \%VALID);
|
|
|
|
|
|
|
+ my $cmdState = DMX::readState($DELAY, \%exists, \%mtime, undef());
|
|
|
if (defined($cmdState)) {
|
|
if (defined($cmdState)) {
|
|
|
$newState = $cmdState;
|
|
$newState = $cmdState;
|
|
|
$pullLast = time();
|
|
$pullLast = time();
|
|
@@ -87,7 +80,7 @@ while (1) {
|
|
|
$stateLast = $state;
|
|
$stateLast = $state;
|
|
|
if ($exists{'BRIGHT'}) {
|
|
if ($exists{'BRIGHT'}) {
|
|
|
$newState = 'BRIGHT';
|
|
$newState = 'BRIGHT';
|
|
|
- } elsif ($exists{'MOTION_STAIRS'} || $mtime{'MOTION_STAIRS'} > time() - $MOTION_TIMEOUT) {
|
|
|
|
|
|
|
+ } elsif ($mtime{'MOTION_STAIRS'} > time() - $MOTION_TIMEOUT) {
|
|
|
$newState = 'MOTION';
|
|
$newState = 'MOTION';
|
|
|
} elsif ($newState eq 'PAUSE') {
|
|
} elsif ($newState eq 'PAUSE') {
|
|
|
$newState = 'PLAY';
|
|
$newState = 'PLAY';
|