mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-25 15:59:21 +00:00
dash_dhcp, fakeRoku: changed state handling
git-svn-id: https://svn.fhem.de/fhem/trunk@12443 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
187b9587d6
commit
e846e8e85b
@ -42,7 +42,7 @@ dash_dhcp_Define($$)
|
||||
if( $init_done ) {
|
||||
dash_dhcp_startListener($hash);
|
||||
|
||||
} elsif( $hash->{STATE} ne "???" ) {
|
||||
} else {
|
||||
readingsSingleUpdate($hash, 'state', 'initialized', 1 );
|
||||
|
||||
}
|
||||
@ -77,9 +77,9 @@ dash_dhcp_startListener($)
|
||||
$hash->{PORT} = AttrVal($name, 'port', $hash->{PORT});
|
||||
Log3 $name, 4, "$name: using port $hash->{PORT}";
|
||||
|
||||
my $socket = IO::Socket::INET->new(LocalPort=>$hash->{PORT}, Proto=>'udp', Broadcast=>1, ReuseAddr=>1, ReusePort=>defined(&ReusePort)?1:0);
|
||||
if($socket) {
|
||||
if( my $socket = IO::Socket::INET->new(LocalPort=>$hash->{PORT}, Proto=>'udp', Broadcast=>1, ReuseAddr=>1, ReusePort=>defined(&ReusePort)?1:0) ) {
|
||||
readingsSingleUpdate($hash, 'state', 'listening', 1 );
|
||||
Log3 $name, 3, "$name: listening";
|
||||
$hash->{LAST_CONNECT} = FmtDateTime( gettimeofday() );
|
||||
|
||||
$hash->{FD} = $socket->fileno();
|
||||
@ -109,8 +109,8 @@ dash_dhcp_stopListener($)
|
||||
delete($hash->{FD});
|
||||
delete($hash->{CD});
|
||||
delete($selectlist{$name});
|
||||
readingsSingleUpdate($hash, 'state', 'disconnected', 1 );
|
||||
Log3 $name, 3, "$name: Disconnected";
|
||||
readingsSingleUpdate($hash, 'state', 'stopped', 1 );
|
||||
Log3 $name, 3, "$name: stopped";
|
||||
$hash->{LAST_DISCONNECT} = FmtDateTime( gettimeofday() );
|
||||
}
|
||||
|
||||
|
@ -100,8 +100,8 @@ fakeRoku_Define($$)
|
||||
fakeRoku_startDiscovery($hash);
|
||||
fakeRoku_startListener($hash);
|
||||
|
||||
} elsif( $hash->{STATE} ne "???" ) {
|
||||
$hash->{STATE} = "Initialized";
|
||||
} else {
|
||||
readingsSingleUpdate($hash, 'state', 'initialized', 1 );
|
||||
|
||||
}
|
||||
|
||||
@ -230,6 +230,8 @@ fakeRoku_startListener($)
|
||||
|
||||
my $port = AttrVal($name, 'httpPort', 0);
|
||||
if( my $socket = IO::Socket::INET->new(LocalPort=>$port, Listen=>10, Blocking=>0, ReuseAddr=>1, ReusePort=>defined(&ReusePort)?1:0) ) {
|
||||
readingsSingleUpdate($hash, 'state', 'listening', 1 );
|
||||
|
||||
|
||||
my $chash = fakeRoku_newChash( $hash, $socket, {NAME=>"$name:listener", STATE=>'accepting'} );
|
||||
|
||||
@ -240,7 +242,8 @@ fakeRoku_startListener($)
|
||||
Log3 $name, 3, "$name: listener started";
|
||||
|
||||
} else {
|
||||
Log3 $name, 3, "$name: failed to start listener: $@";
|
||||
Log3 $name, 3, "$name: failed to start listener on port $port: $@";
|
||||
readingsSingleUpdate($hash, 'state', 'disconnected', 1 );
|
||||
|
||||
InternalTimer(gettimeofday()+10, "fakeRoku_startListener", $hash, 0);
|
||||
}
|
||||
@ -271,6 +274,7 @@ fakeRoku_stopListener($)
|
||||
delete($defs{$cname});
|
||||
delete $hash->{helper}{listener};
|
||||
|
||||
readingsSingleUpdate($hash, 'state', 'stopped', 1 );
|
||||
Log3 $name, 3, "$name: listener stoped";
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user