add Attribut fhemServerIp

This commit is contained in:
Marko Oldenburg 2019-03-27 23:25:32 +01:00
parent 124a0bdee5
commit 8fe6bc5a0a
2 changed files with 17 additions and 11 deletions

View File

@ -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 =

View File

@ -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};