add Attribut fhemServerIp
This commit is contained in:
		| @@ -89,6 +89,7 @@ sub AMADCommBridge_Initialize($) { | ||||
|       . 'enableSubCalls:0,1 ' | ||||
|       . 'disable:1 ' | ||||
|       . 'allowfrom ' | ||||
|       . 'fhemServerIP ' | ||||
|       . $readingFnAttributes; | ||||
|  | ||||
|     foreach my $d ( sort keys %{ $modules{AMADCommBridge}{defptr} } ) { | ||||
| @@ -189,10 +190,10 @@ sub Undef($$) { | ||||
|  | ||||
|     my ( $hash, $arg ) = @_; | ||||
|  | ||||
|     TcpServer_Close($hash); | ||||
|     delete $modules{AMADCommBridge}{defptr}{BRIDGE} | ||||
|       if ( defined( $modules{AMADCommBridge}{defptr}{BRIDGE} ) | ||||
|         and $hash->{BRIDGE} ); | ||||
|     TcpServer_Close($hash); | ||||
|  | ||||
|     return undef; | ||||
| } | ||||
| @@ -732,8 +733,8 @@ sub ErrorHandling($$$) { | ||||
| } | ||||
|  | ||||
| sub Open($) { | ||||
|  | ||||
|     my $hash = shift; | ||||
|  | ||||
|     my $name = $hash->{NAME}; | ||||
|     my $port = $hash->{PORT}; | ||||
|  | ||||
| @@ -753,7 +754,6 @@ sub Open($) { | ||||
|         Log3( $name, 3, "AMADCommBridge ($name) - Socket opened." ); | ||||
|  | ||||
|         return $ret; | ||||
|  | ||||
|     } | ||||
|     else { | ||||
|  | ||||
| @@ -764,12 +764,10 @@ sub Open($) { | ||||
| } | ||||
|  | ||||
| sub Close($) { | ||||
|  | ||||
|     my $hash = shift; | ||||
|  | ||||
|     my $name = $hash->{NAME}; | ||||
|  | ||||
|     delete $modules{AMADCommBridge}{defptr}{BRIDGE}; | ||||
|     TcpServer_Close($hash); | ||||
|  | ||||
|     if ( not defined( $hash->{FD} ) ) { | ||||
| @@ -1027,8 +1025,10 @@ sub ResponseProcessing($$) { | ||||
|  | ||||
|             Dispatch( $bhash, $json, undef ); | ||||
|             Log3( $bname, 4, "AMADCommBridge ($bname) - call Dispatcher" ); | ||||
|             readingsSingleUpdate( $bhash, 'fhemServerIP', | ||||
|                 $decode_json->{firstrun}{'fhemserverip'}, 1 ) | ||||
|             CommandAttr( undef, | ||||
|                     $bname | ||||
|                   . ' fhemServerIP ' | ||||
|                   . $decode_json->{firstrun}{'fhemserverip'} ) | ||||
|               if ( defined( $decode_json->{firstrun}{'fhemserverip'} ) ); | ||||
|  | ||||
|             $response = | ||||
|   | ||||
| @@ -114,6 +114,8 @@ use warnings; | ||||
| use POSIX; | ||||
| use FHEM::Meta; | ||||
|  | ||||
| use Data::Dumper;    #only for Debugging | ||||
|  | ||||
| use GPUtils qw(GP_Import) | ||||
|   ;    # wird für den Import der FHEM Funktionen aus der fhem.pl benötigt | ||||
|  | ||||
| @@ -236,6 +238,8 @@ sub Define($$) { | ||||
| "AMADDevice ($name) - defined with AMAD_ID: $amad_id on port $hash->{PORT}" | ||||
|     ); | ||||
|  | ||||
|     $hash->{NOTIFYDEV} .= ',' . $iodev | ||||
|       if ( defined($iodev) ); | ||||
|     $modules{AMADDevice}{defptr}{$amad_id} = $hash; | ||||
|  | ||||
|     return undef; | ||||
| @@ -380,9 +384,11 @@ sub Notify($$) { | ||||
|             @{$events} | ||||
|             or grep /^ATTR.$name.setUserFlowState.*/, | ||||
|             @{$events} | ||||
|             or grep /^ATTR.$hash->{IODev}->{NAME}.fhemServerIP.*/, | ||||
|             @{$events} | ||||
|         ) | ||||
|         and $init_done | ||||
|         and $devname eq 'global' | ||||
|         and $init_done | ||||
|       ); | ||||
|  | ||||
|     GetUpdate($hash) | ||||
| @@ -427,7 +433,7 @@ sub GetUpdate($) { | ||||
|         and (  ReadingsVal( $name, 'deviceState', 'unknown' ) eq 'unknown' | ||||
|             or ReadingsVal( $name, 'deviceState', 'online' ) eq 'online' ) | ||||
|         and AttrVal( $name,  'disable',      0 ) ne 1 | ||||
|         and ReadingsVal( $bname, 'fhemServerIP', 'not set' ) ne 'not set' | ||||
|         and AttrVal( $bname, 'fhemServerIP', 'not set' ) ne 'not set' | ||||
|       ) | ||||
|     { | ||||
|  | ||||
| @@ -461,7 +467,7 @@ sub statusRequest($) { | ||||
|     my $activetask    = AttrVal( $name, 'checkActiveTask',  'none' ); | ||||
|     my $userFlowState = AttrVal( $name, 'setUserFlowState', 'none' ); | ||||
|     my $apssid        = AttrVal( $name, 'setAPSSID',        'none' ); | ||||
|     my $fhemip = ReadingsVal( $hash->{IODev}->{NAME}, 'fhemServerIP', 'none' ); | ||||
|     my $fhemip = AttrVal( $hash->{IODev}->{NAME}, 'fhemServerIP', 'none' ); | ||||
|     my $fhemCtlMode = | ||||
|       AttrVal( $hash->{IODev}->{NAME}, 'fhemControlMode', 'none' ); | ||||
|     my $bport = $hash->{IODev}->{PORT}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user