2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 23:06:37 +00:00

10_MQTT2_DEVICE.pm: fix copy problem (Forum #90145)

git-svn-id: https://svn.fhem.de/fhem/trunk@17831 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2018-11-24 15:09:17 +00:00
parent 184c36b52f
commit db44e14449
2 changed files with 22 additions and 8 deletions

View File

@ -372,6 +372,7 @@ sub
MQTT2_DEVICE_addReading($$) MQTT2_DEVICE_addReading($$)
{ {
my ($name, $param) = @_; my ($name, $param) = @_;
MQTT2_DEVICE_delReading($name);
foreach my $line (split("\n", $param)) { foreach my $line (split("\n", $param)) {
my ($re,$code) = split(" ", $line,2); my ($re,$code) = split(" ", $line,2);
$modules{MQTT2_DEVICE}{defptr}{re}{$re}{$name} = $code if($re && $code); $modules{MQTT2_DEVICE}{defptr}{re}{$re}{$name} = $code if($re && $code);

View File

@ -378,14 +378,17 @@ HttpUtils_Connect($)
$hash = $hash->{origHash} if($hash->{origHash}); $hash = $hash->{origHash} if($hash->{origHash});
if($err) { if($err) {
HttpUtils_Close($hash); HttpUtils_Close($hash);
Log3 $hash, $hash->{loglevel}, "HttpUtils: $err";
return $hash->{callback}($hash, $err, "") ; return $hash->{callback}($hash, $err, "") ;
} }
Log 5, "IP: $host -> ".ip2str($iaddr); Log3 $hash, $hash->{loglevel}, "IP: $host -> ".ip2str($iaddr);
$hash->{conn} = length($iaddr) == 4 ? $hash->{conn} = length($iaddr) == 4 ?
IO::Socket::INET ->new(Proto=>'tcp', Blocking=>0) : IO::Socket::INET ->new(Proto=>'tcp', Blocking=>0) :
IO::Socket::INET6->new(Proto=>'tcp', Blocking=>0); IO::Socket::INET6->new(Proto=>'tcp', Blocking=>0);
return $hash->{callback}($hash, "Creating socket: $!", "") if(!$hash->{conn}) {
if(!$hash->{conn}); Log3 $hash, $hash->{loglevel}, "HttpUtils: Creating socket: $!";
return $hash->{callback}($hash, "Creating socket: $!", "");
}
my $sa = length($iaddr)==4 ? sockaddr_in($port, $iaddr) : my $sa = length($iaddr)==4 ? sockaddr_in($port, $iaddr) :
Socket6::pack_sockaddr_in6($port, $iaddr); Socket6::pack_sockaddr_in6($port, $iaddr);
my $ret = connect($hash->{conn}, $sa); my $ret = connect($hash->{conn}, $sa);
@ -406,11 +409,16 @@ HttpUtils_Connect($)
my $errno = unpack("I",$packed); my $errno = unpack("I",$packed);
if($errno) { if($errno) {
HttpUtils_Close($hash); HttpUtils_Close($hash);
return $hash->{callback}($hash, "$host: ".strerror($errno), ""); my $msg = "$host: ".strerror($errno);
Log3 $hash, $hash->{loglevel}, "HttpUtils: $msg";
return $hash->{callback}($hash, $msg, "");
} }
my $err = HttpUtils_Connect2($hash); my $err = HttpUtils_Connect2($hash);
$hash->{callback}($hash, $err, "") if($err); if($err) {
Log3 $hash, $hash->{loglevel}, "HttpUtils: $err";
$hash->{callback}($hash, $err, "");
}
return $err; return $err;
}; };
$hash->{NAME}="" if(!defined($hash->{NAME}));#Delete might check it $hash->{NAME}="" if(!defined($hash->{NAME}));#Delete might check it
@ -421,7 +429,9 @@ HttpUtils_Connect($)
} else { } else {
HttpUtils_Close($hash); HttpUtils_Close($hash);
$hash->{callback}($hash, "connect to $hash->{addr}: $!", ""); my $msg = "connect to $hash->{addr}: $!";
Log3 $hash, $hash->{loglevel}, "HttpUtils: $msg";
$hash->{callback}($hash, $msg, "");
return undef; return undef;
} }
@ -434,8 +444,11 @@ HttpUtils_Connect($)
IO::Socket::INET6->new(PeerAddr=>"$host:$port",Timeout=>$hash->{timeout}): IO::Socket::INET6->new(PeerAddr=>"$host:$port",Timeout=>$hash->{timeout}):
IO::Socket::INET ->new(PeerAddr=>"$host:$port",Timeout=>$hash->{timeout}); IO::Socket::INET ->new(PeerAddr=>"$host:$port",Timeout=>$hash->{timeout});
return "$hash->{displayurl}: Can't connect(1) to $hash->{addr}: $@" if(!$hash->{conn}) {
if(!$hash->{conn}); my $msg = "$hash->{displayurl}: Can't connect(1) to $hash->{addr}: $@";
Log3 $hash, $hash->{loglevel}, "HttpUtils: $msg";
return $msg;
}
} }
return HttpUtils_Connect2($hash); return HttpUtils_Connect2($hash);