From 3041cb654817a249f6d10f951be04e43a11d6d7d Mon Sep 17 00:00:00 2001 From: klausw <> Date: Sun, 10 Sep 2017 21:45:38 +0000 Subject: [PATCH] =?UTF-8?q?52=5FI2C=5FLM75A:=20neue=20Version=20auf=200.12?= =?UTF-8?q?5=C2=B0C=20genau=20gerechnet=20(NXP-Sensorem)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.fhem.de/fhem/trunk@15048 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/52_I2C_LM75A.pm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/52_I2C_LM75A.pm b/fhem/FHEM/52_I2C_LM75A.pm index 31bfc03f2..20d70ef8b 100644 --- a/fhem/FHEM/52_I2C_LM75A.pm +++ b/fhem/FHEM/52_I2C_LM75A.pm @@ -196,9 +196,13 @@ sub I2C_LM75A_GetTemp ($$) { if(($raw[0] & 0x80) > 0) { $temperature = 0xffffff00; } - $temperature |= ($raw[0] & 0x7f) << 1; - $temperature |= (($raw[1] >> 7) & 1); - $temperature = $temperature / 2; +# $temperature |= ($raw[0] & 0x7f) << 1; +# $temperature |= (($raw[1] >> 7) & 1); + + my $temperature_11_bit = ($raw[0]<<8 | $raw[1]) >> 5; # Compute 11-bit temperature output value + $temperature = ($temperature_11_bit) * 0.125; # Compute temperature in °C + +# $temperature = $temperature / 2; Log3 $hash, 5, "temperature: $temperature"; $temperature = sprintf( '%.' . AttrVal($hash->{NAME}, 'roundTemperatureDecimal', 1) . 'f',