mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
24_TPLinkHS110: Added checks for increased stability
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@12588 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
7365b53477
commit
1e602e595f
@ -101,8 +101,9 @@ sub TPLinkHS110_Get($$)
|
|||||||
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
||||||
$socket->send($c);
|
$socket->send($c);
|
||||||
my $data;
|
my $data;
|
||||||
$socket->recv($data,1024);
|
my $retval = $socket->recv($data,8192);
|
||||||
$socket->close();
|
$socket->close();
|
||||||
|
unless( defined $retval) { return undef; }
|
||||||
$data = decrypt(substr($data,4));
|
$data = decrypt(substr($data,4));
|
||||||
my $json = decode_json($data);
|
my $json = decode_json($data);
|
||||||
|
|
||||||
@ -129,8 +130,9 @@ sub TPLinkHS110_Get($$)
|
|||||||
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
||||||
$socket->send($rc);
|
$socket->send($rc);
|
||||||
my $rdata;
|
my $rdata;
|
||||||
$socket->recv($rdata,1024);
|
$retval = $socket->recv($rdata,8192);
|
||||||
$socket->close();
|
$socket->close();
|
||||||
|
unless( defined $retval) { return undef; }
|
||||||
$rdata = decrypt(substr($rdata,4));
|
$rdata = decrypt(substr($rdata,4));
|
||||||
my $realtimejson = decode_json($rdata);
|
my $realtimejson = decode_json($rdata);
|
||||||
foreach my $key2 (sort keys %{$realtimejson->{'emeter'}->{'get_realtime'}}) {
|
foreach my $key2 (sort keys %{$realtimejson->{'emeter'}->{'get_realtime'}}) {
|
||||||
@ -148,8 +150,9 @@ sub TPLinkHS110_Get($$)
|
|||||||
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
||||||
$socket->send($c);
|
$socket->send($c);
|
||||||
my $data;
|
my $data;
|
||||||
$socket->recv($data,8192);
|
$retval = $socket->recv($data,8192);
|
||||||
$socket->close();
|
$socket->close();
|
||||||
|
unless( defined $retval) { return undef; }
|
||||||
$data = decrypt(substr($data,4));
|
$data = decrypt(substr($data,4));
|
||||||
eval {
|
eval {
|
||||||
my $json = decode_json($data);
|
my $json = decode_json($data);
|
||||||
@ -200,8 +203,9 @@ sub TPLinkHS110_Set($$)
|
|||||||
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
||||||
$socket->send($c);
|
$socket->send($c);
|
||||||
my $data;
|
my $data;
|
||||||
$socket->recv($data,1024);
|
my $retval = $socket->recv($data,8192);
|
||||||
$socket->close();
|
$socket->close();
|
||||||
|
unless( defined $retval) { return undef; }
|
||||||
$data = decrypt(substr($data,4));
|
$data = decrypt(substr($data,4));
|
||||||
my $json = decode_json($data);
|
my $json = decode_json($data);
|
||||||
if ($json->{'system'}->{'set_relay_state'}->{'err_code'} eq "0") {
|
if ($json->{'system'}->{'set_relay_state'}->{'err_code'} eq "0") {
|
||||||
@ -281,8 +285,9 @@ sub TPLinkHS110_Attr {
|
|||||||
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
or return "Couldn't connect to $remote_host:$remote_port: $@\n";
|
||||||
$socket->send($c);
|
$socket->send($c);
|
||||||
my $data;
|
my $data;
|
||||||
$socket->recv($data,1024);
|
my $retval = $socket->recv($data,8192);
|
||||||
$socket->close();
|
$socket->close();
|
||||||
|
unless( defined $retval) { return undef; }
|
||||||
$data = decrypt(substr($data,4));
|
$data = decrypt(substr($data,4));
|
||||||
my $json = decode_json($data);
|
my $json = decode_json($data);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user