From 3a17f698c5ccf9c173d6aad35c05cdd39d1de99c Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Fri, 21 Jul 2017 11:06:27 +0200 Subject: [PATCH] =?UTF-8?q?Bugfix=20in=20der=20Commandref=20und=20einige?= =?UTF-8?q?=20Codeanpassungen=20f=C3=BCr=20das=20=C3=B6ffnen=20der=20Bridg?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 73_AMADCommBridge.pm | 26 +++++++++++++++++--------- 74_AMADDevice.pm | 4 ++-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/73_AMADCommBridge.pm b/73_AMADCommBridge.pm index 4ea7e1e..29d1778 100644 --- a/73_AMADCommBridge.pm +++ b/73_AMADCommBridge.pm @@ -544,19 +544,27 @@ sub AMADCommBridge_Open($) { my $port = $hash->{PORT}; - # Oeffnen des TCP Sockets - my $ret = TcpServer_Open( $hash, $port, "global" ); + if( not defined($hash->{FD}) and (! $hash->{FD}) ) { + # Oeffnen des TCP Sockets + my $ret = TcpServer_Open( $hash, $port, "global" ); - if( $ret && !$init_done ) { + if( $ret && !$init_done ) { - Log3 $name, 3, "AMADCommBridge ($name) - $ret. Exiting."; - exit(1); + Log3 $name, 3, "AMADCommBridge ($name) - $ret. Exiting."; + exit(1); + } + + readingsSingleUpdate ( $hash, "state", "opened", 1 ) if( defined($hash->{FD}) ); + Log3 $name, 3, "AMADCommBridge ($name) - Socket opened."; + + return $ret; + + } else { + + Log3 $name, 3, "AMADCommBridge ($name) - Socket already opened"; } - readingsSingleUpdate ( $hash, "state", "opened", 1 ) if( defined($hash->{FD}) ); - Log3 $name, 3, "AMADCommBridge ($name) - Socket opened."; - - return $ret; + return; } sub AMADCommBridge_Close($) { diff --git a/74_AMADDevice.pm b/74_AMADDevice.pm index 7f33100..b73f9f6 100644 --- a/74_AMADDevice.pm +++ b/74_AMADDevice.pm @@ -902,7 +902,7 @@ sub AMADDevice_decrypt($) {

@@ -916,7 +916,7 @@ sub AMADDevice_decrypt($) {

Beispiel:
In diesem Fall wird ein AMADDevice von Hand angelegt. Die AMAD_ID, hier 123456, muß auch exakt so als globale Variable in Automagic eingetragen sein.