diff --git a/FHEM/21_OWAD.pm b/FHEM/21_OWAD.pm index f8acd9bee..fdbbb7741 100644 --- a/FHEM/21_OWAD.pm +++ b/FHEM/21_OWAD.pm @@ -76,7 +76,7 @@ use strict; use warnings; sub Log($$); -my $owx_version="5.11"; +my $owx_version="5.12"; #-- fixed raw channel name, flexible channel name my @owg_fixed = ("A","B","C","D"); my @owg_channel = ("A","B","C","D"); @@ -555,7 +555,12 @@ sub OWAD_Get($@) { if($a[1] eq "present") { #-- hash of the busmaster my $master = $hash->{IODev}; - $value = OWX_Verify($master,$owx_dev); + #-- asynchronous mode + if( $hash->{ASYNC} ){ + $value = OWX_ASYNC_Verify($master,$hash->{ROM_ID}); + } else { + $value = OWX_Verify($master,$hash->{ROM_ID}); + } $hash->{PRESENT} = $value; return "$name.present => $value"; } diff --git a/FHEM/21_OWID.pm b/FHEM/21_OWID.pm index 4f4cc3eb3..f98ab2d3b 100644 --- a/FHEM/21_OWID.pm +++ b/FHEM/21_OWID.pm @@ -299,7 +299,12 @@ sub OWID_Get($@) { if($a[1] eq "present") { #-- hash of the busmaster my $master = $hash->{IODev}; - $value = OWX_Verify($master,$hash->{ROM_ID}); + #-- asynchronous mode + if( $hash->{ASYNC} ){ + $value = OWX_ASYNC_Verify($master,$hash->{ROM_ID}); + } else { + $value = OWX_Verify($master,$hash->{ROM_ID}); + } if( $value == 0 ){ readingsSingleUpdate($hash,"present",0,$hash->{PRESENT}); } else { diff --git a/FHEM/21_OWMULTI.pm b/FHEM/21_OWMULTI.pm index eab1d834a..a31a9fc70 100644 --- a/FHEM/21_OWMULTI.pm +++ b/FHEM/21_OWMULTI.pm @@ -442,10 +442,15 @@ sub OWMULTI_Get($@) { #-- get present if($a[1] eq "present" ) { #-- OWX interface - if( $interface eq "OWX" ){ + if( $interface =~ /^OWX/ ){ #-- hash of the busmaster my $master = $hash->{IODev}; - $value = OWX_Verify($master,$hash->{ROM_ID}); + #-- asynchronous mode + if( $hash->{ASYNC} ){ + $value = OWX_ASYNC_Verify($master,$hash->{ROM_ID}); + } else { + $value = OWX_Verify($master,$hash->{ROM_ID}); + } $hash->{PRESENT} = $value; return "$name.present => $value"; } else { diff --git a/FHEM/21_OWSWITCH.pm b/FHEM/21_OWSWITCH.pm index 5f1d0f811..e19451c13 100644 --- a/FHEM/21_OWSWITCH.pm +++ b/FHEM/21_OWSWITCH.pm @@ -450,7 +450,12 @@ sub OWSWITCH_Get($@) { if($a[1] eq "present") { #-- hash of the busmaster my $master = $hash->{IODev}; - $value = OWX_Verify($master,$hash->{ROM_ID}); + #-- asynchronous mode + if( $hash->{ASYNC} ){ + $value = OWX_ASYNC_Verify($master,$hash->{ROM_ID}); + } else { + $value = OWX_Verify($master,$hash->{ROM_ID}); + } $hash->{PRESENT} = $value; return "$name.present => $value"; } diff --git a/FHEM/21_OWTHERM.pm b/FHEM/21_OWTHERM.pm index c42077baa..b228e23f0 100755 --- a/FHEM/21_OWTHERM.pm +++ b/FHEM/21_OWTHERM.pm @@ -424,7 +424,12 @@ sub OWTHERM_Get($@) { if( $interface =~ /^OWX/ ){ #-- hash of the busmaster my $master = $hash->{IODev}; - $value = OWX_Verify($master,$hash->{ROM_ID}); + #-- asynchronous mode + if( $hash->{ASYNC} ){ + $value = OWX_ASYNC_Verify($master,$hash->{ROM_ID}); + } else { + $value = OWX_Verify($master,$hash->{ROM_ID}); + } $hash->{PRESENT} = $value; return "$name.present => $value"; } else {