diff --git a/73_AMADCommBridge.pm b/73_AMADCommBridge.pm index c39b19a..230c3a1 100644 --- a/73_AMADCommBridge.pm +++ b/73_AMADCommBridge.pm @@ -74,7 +74,7 @@ eval "use Encode qw(encode encode_utf8);1" or $missingModul .= "Encode "; eval "use JSON;1" or $missingModul .= "JSON "; -my $modulversion = "4.1.99.17"; +my $modulversion = "4.1.99.22"; my $flowsetversion = "4.1.99.1"; diff --git a/74_AMADDevice.pm b/74_AMADDevice.pm index 16ff8b7..372c296 100644 --- a/74_AMADDevice.pm +++ b/74_AMADDevice.pm @@ -58,7 +58,7 @@ eval "use Encode qw(encode encode_utf8);1" or $missingModul .= "Encode "; eval "use JSON;1" or $missingModul .= "JSON "; -my $modulversion = "4.1.99.17"; +my $modulversion = "4.1.99.22"; my $flowsetversion = "4.1.99.1"; @@ -135,28 +135,16 @@ sub AMADDevice_Define($$) { my ( $hash, $def ) = @_; my @a = split( "[ \t]+", $def ); - splice( @a, 1, 1 ); - my $iodev; - my $i = 0; - - ######## Kann in kommenden Versionen gelöscht werden ############### - foreach my $param ( @a ) { - if( $param =~ m/IODev=([^\s]*)/ ) { - - $iodev = $1; - splice( @a, $i, 4 ); - last; - } - - $i++; - } return "too few parameters: define AMADDevice " if( @a != 4 ); return "Cannot define a AMAD device. Perl modul $missingModul is missing." if ( $missingModul ); - - my ($name,$host,$amad_id,$remoteServer) = @a; + my $name = $a[0] + my $host = $a[2] + my $amad_id = $a[3] + my $remoteServer = $a[4] + $hash->{HOST} = $host; $hash->{AMAD_ID} = $amad_id; $hash->{VERSIONMODUL} = $modulversion; @@ -170,9 +158,12 @@ sub AMADDevice_Define($$) { $hash->{helper}{setCmdErrorCounter} = 0; $hash->{helper}{deviceStateErrorCounter} = 0; + + + CommandAttr(undef,"$name IODev $modules{AMADCommBridge}{defptr}{BRIDGE}->{NAME}") if(AttrVal($name,'IODev','none') eq 'none'); + + my $iodev = AttrVal($name,'IODev','none'); - - AssignIoPort($hash,$iodev) if( !$hash->{IODev} ); if(defined($hash->{IODev}->{NAME})) { @@ -764,7 +755,7 @@ sub AMADDevice_Parse($$) { } else { - return "UNDEFINED $fhemDevice AMADDevice $decode_json->{firstrun}{'amaddevice_ip'} $decode_json->{amad}{'amad_id'} $decode_json->{firstrun}{remoteserver} IODev=$name"; + return "UNDEFINED $fhemDevice AMADDevice $decode_json->{firstrun}{'amaddevice_ip'} $decode_json->{amad}{'amad_id'} $decode_json->{firstrun}{remoteserver}"; } }