diff --git a/fhem/FHEM/51_I2C_BMP180.pm b/fhem/FHEM/51_I2C_BMP180.pm index a0648627e..8a0babccd 100644 --- a/fhem/FHEM/51_I2C_BMP180.pm +++ b/fhem/FHEM/51_I2C_BMP180.pm @@ -132,12 +132,20 @@ sub I2C_BMP180_Init($$) { $hash->{I2C_Address} = hex(BMP180_I2C_ADDRESS); my $msg = ''; # create default attributes - $msg = CommandAttr(undef, $name . ' poll_interval 5'); - $msg = CommandAttr(undef, $name . ' oversampling_settings 3'); - if ($msg) { - Log3 ($hash, 1, $msg); - return $msg; - } + if (AttrVal($name, 'poll_interval', '?') eq '?') { + $msg = CommandAttr(undef, $name . ' poll_interval 5'); + if ($msg) { + Log3 ($hash, 1, $msg); + return $msg; + } + } + if (AttrVal($name, '', '?') eq '?') { + $msg = CommandAttr(undef, $name . ' oversampling_settings 3'); + if ($msg) { + Log3 ($hash, 1, $msg); + return $msg; + } + } if ($hash->{HiPi_used}) { my $dev = shift @$args; diff --git a/fhem/FHEM/52_I2C_MCP342x.pm b/fhem/FHEM/52_I2C_MCP342x.pm index 6262dd92c..cacfb437e 100644 --- a/fhem/FHEM/52_I2C_MCP342x.pm +++ b/fhem/FHEM/52_I2C_MCP342x.pm @@ -113,11 +113,13 @@ sub I2C_MCP342x_Init($$) { my $msg = ''; # create default attributes - #$msg = CommandAttr(undef, $name . ' poll_interval 5'); - if ($msg) { - Log3 ($hash, 1, $msg); - return $msg; - } + if (AttrVal($name, 'poll_interval', '?') eq '?') { + $msg = CommandAttr(undef, $name . ' poll_interval 5'); + if ($msg) { + Log3 ($hash, 1, $msg); + return $msg; + } + } AssignIoPort($hash); $hash->{STATE} = 'Initialized'; @@ -158,7 +160,7 @@ sub I2C_MCP342x_Attr (@) {# hier noch Werteueberpruefung einfuegen RemoveInternalTimer($hash); } elsif ($val > 0) { RemoveInternalTimer($hash); - InternalTimer(1, 'I2C_MCP23017_Poll', $hash, 0); + InternalTimer(1, 'I2C_MCP342x_Poll', $hash, 0); } else { $msg = 'Wrong poll intervall defined. poll_interval must be a number > 0'; } diff --git a/fhem/FHEM/52_I2C_SHT21.pm b/fhem/FHEM/52_I2C_SHT21.pm index c1abd0980..2a38eaf58 100644 --- a/fhem/FHEM/52_I2C_SHT21.pm +++ b/fhem/FHEM/52_I2C_SHT21.pm @@ -78,11 +78,13 @@ sub I2C_SHT21_Init($$) { my $msg = ''; # create default attributes - $msg = CommandAttr(undef, $name . ' poll_interval 5'); - if ($msg) { - Log3 ($hash, 1, $msg); - return $msg; - } + if (AttrVal($name, 'poll_interval', '?') eq '?') { + $msg = CommandAttr(undef, $name . ' poll_interval 5'); + if ($msg) { + Log3 ($hash, 1, $msg); + return $msg; + } + } AssignIoPort($hash); $hash->{STATE} = 'Initialized';