FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: schami23 am 02 Januar 2016, 20:14:50

Titel: I2C_SHT21 Temperatur aber keine Luftfeuchtigkeit
Beitrag von: schami23 am 02 Januar 2016, 20:14:50
Hallo,
ich benutze einen Arduino mit Firmata drauf und möchte einen HTU21D Sensor einbinden ich habe den Sensor wie folgt eingebunden:
Internals:
   FIRMATA_SENDSTAT Ok
   I2C_Address 64
   IODev      FIRMATA
   NAME       AdaSensor
   NR         177
   STATE      T: 23.2 H: 35.0
   TYPE       I2C_SHT21
   Readings:
     2016-01-02 14:45:35   humidity        35.0
     2016-01-02 14:45:35   state           T: 23.2 H: 35.0
     2016-01-02 19:51:36   temperature     22.6
Attributes:
   IODev      FIRMATA
   poll_interval 5


Das auslesen der Temperatur funktioniert aber aber die Luftfeuchtigkeit wird kurz nach dem anlegen ausgelesen aber dann nicht mehr.
Was mir seltsam erscheint ist das laut Log die Temperatur zweimal ausgelesen wird.

2016-01-02_14:45:35 AdaSensor temperature: 23.2
2016-01-02_14:45:35 AdaSensor humidity: 35.0
2016-01-02_14:48:37 AdaSensor temperature: 23.1
2016-01-02_14:48:37 AdaSensor temperature: 23.1
2016-01-02_14:48:40 AdaSensor temperature: 23.1
2016-01-02_14:48:40 AdaSensor temperature: 23.1
2016-01-02_14:48:42 AdaSensor temperature: 23.1
2016-01-02_14:48:42 AdaSensor temperature: 23.1
2016-01-02_14:48:43 AdaSensor temperature: 23.1
2016-01-02_14:48:43 AdaSensor temperature: 23.1
2016-01-02_14:50:36 AdaSensor temperature: 23.1
2016-01-02_14:50:36 AdaSensor temperature: 23.1
2016-01-02_14:55:36 AdaSensor temperature: 22.9
2016-01-02_14:55:36 AdaSensor temperature: 22.9
2016-01-02_15:00:36 AdaSensor temperature: 22.9
2016-01-02_15:00:36 AdaSensor temperature: 22.9
2016-01-02_15:05:36 AdaSensor temperature: 22.8
2016-01-02_15:05:36 AdaSensor temperature: 22.8
2016-01-02_15:10:36 AdaSensor temperature: 22.8
2016-01-02_15:10:36 AdaSensor temperature: 22.8
2016-01-02_15:15:36 AdaSensor temperature: 22.9
2016-01-02_15:15:36 AdaSensor temperature: 22.9
2016-01-02_15:20:36 AdaSensor temperature: 22.7
2016-01-02_15:20:36 AdaSensor temperature: 22.7
2016-01-02_15:25:37 AdaSensor temperature: 22.8
2016-01-02_15:25:37 AdaSensor temperature: 22.8
2016-01-02_15:30:37 AdaSensor temperature: 22.7
2016-01-02_15:30:37 AdaSensor temperature: 22.7
2016-01-02_15:35:37 AdaSensor temperature: 22.8
2016-01-02_15:35:37 AdaSensor temperature: 22.8
2016-01-02_15:40:37 AdaSensor temperature: 22.7
2016-01-02_15:40:38 AdaSensor temperature: 22.7
2016-01-02_15:45:37 AdaSensor temperature: 22.8
2016-01-02_15:45:37 AdaSensor temperature: 22.8
2016-01-02_15:50:37 AdaSensor temperature: 22.7
2016-01-02_15:50:37 AdaSensor temperature: 22.7
2016-01-02_15:55:37 AdaSensor temperature: 22.8
2016-01-02_15:55:37 AdaSensor temperature: 22.8
2016-01-02_16:00:38 AdaSensor temperature: 22.8
2016-01-02_16:00:38 AdaSensor temperature: 22.8
2016-01-02_16:05:38 AdaSensor temperature: 22.7
2016-01-02_16:05:38 AdaSensor temperature: 22.7
2016-01-02_16:10:38 AdaSensor temperature: 22.8
2016-01-02_16:10:38 AdaSensor temperature: 22.8
2016-01-02_16:15:38 AdaSensor temperature: 22.8
2016-01-02_16:15:38 AdaSensor temperature: 22.8
2016-01-02_16:20:38 AdaSensor temperature: 22.7
2016-01-02_16:20:38 AdaSensor temperature: 22.7
2016-01-02_16:25:38 AdaSensor temperature: 22.7
2016-01-02_16:25:38 AdaSensor temperature: 22.7
2016-01-02_16:30:38 AdaSensor temperature: 22.7
2016-01-02_16:30:38 AdaSensor temperature: 22.7
2016-01-02_16:35:38 AdaSensor temperature: 22.6
2016-01-02_16:35:38 AdaSensor temperature: 22.6
2016-01-02_16:40:39 AdaSensor temperature: 22.7
2016-01-02_16:40:39 AdaSensor temperature: 22.7
2016-01-02_16:45:39 AdaSensor temperature: 22.6
2016-01-02_16:45:39 AdaSensor temperature: 22.6
2016-01-02_16:50:39 AdaSensor temperature: 22.5
2016-01-02_16:50:39 AdaSensor temperature: 22.5
2016-01-02_16:55:39 AdaSensor temperature: 22.4
2016-01-02_16:55:39 AdaSensor temperature: 22.4
2016-01-02_17:00:39 AdaSensor temperature: 22.4
2016-01-02_17:00:39 AdaSensor temperature: 22.4
2016-01-02_17:05:39 AdaSensor temperature: 22.3
2016-01-02_17:05:39 AdaSensor temperature: 22.3
2016-01-02_17:10:39 AdaSensor temperature: 22.2
2016-01-02_17:10:39 AdaSensor temperature: 22.2
2016-01-02_17:15:40 AdaSensor temperature: 22.3
2016-01-02_17:15:40 AdaSensor temperature: 22.3
2016-01-02_17:20:40 AdaSensor temperature: 22.3
2016-01-02_17:20:40 AdaSensor temperature: 22.3
2016-01-02_17:25:40 AdaSensor temperature: 22.2
2016-01-02_17:25:40 AdaSensor temperature: 22.2
2016-01-02_17:30:40 AdaSensor temperature: 22.2
2016-01-02_17:30:40 AdaSensor temperature: 22.2
2016-01-02_17:35:40 AdaSensor temperature: 22.2
2016-01-02_17:35:40 AdaSensor temperature: 22.2
2016-01-02_17:40:40 AdaSensor temperature: 22.3
2016-01-02_17:40:40 AdaSensor temperature: 22.3
2016-01-02_17:45:40 AdaSensor temperature: 22.5
2016-01-02_17:45:40 AdaSensor temperature: 22.5
2016-01-02_17:50:41 AdaSensor temperature: 22.5
2016-01-02_17:50:41 AdaSensor temperature: 22.5
2016-01-02_17:55:41 AdaSensor temperature: 22.4
2016-01-02_17:55:41 AdaSensor temperature: 22.4
2016-01-02_18:00:41 AdaSensor temperature: 22.4
2016-01-02_18:00:41 AdaSensor temperature: 22.4
2016-01-02_18:05:41 AdaSensor temperature: 22.4
2016-01-02_18:05:41 AdaSensor temperature: 22.4
2016-01-02_18:10:41 AdaSensor temperature: 22.3
2016-01-02_18:10:41 AdaSensor temperature: 22.3
2016-01-02_18:15:41 AdaSensor temperature: 22.5
2016-01-02_18:15:41 AdaSensor temperature: 22.5
2016-01-02_18:20:41 AdaSensor temperature: 22.5
2016-01-02_18:20:41 AdaSensor temperature: 22.5
2016-01-02_18:25:42 AdaSensor temperature: 22.4
2016-01-02_18:25:42 AdaSensor temperature: 22.4
2016-01-02_18:30:42 AdaSensor temperature: 22.5
2016-01-02_18:30:42 AdaSensor temperature: 22.5
2016-01-02_18:35:42 AdaSensor temperature: 62.7
2016-01-02_18:35:42 AdaSensor temperature: 62.7
2016-01-02_18:40:42 AdaSensor temperature: 62.7
2016-01-02_18:40:42 AdaSensor temperature: 62.7
2016-01-02_18:50:32 AdaSensor temperature: 22.4
2016-01-02_18:50:32 AdaSensor temperature: 22.4
2016-01-02_18:55:32 AdaSensor temperature: 22.4
2016-01-02_18:55:32 AdaSensor temperature: 22.4
2016-01-02_19:00:32 AdaSensor temperature: 22.4
2016-01-02_19:00:32 AdaSensor temperature: 22.4
2016-01-02_19:05:33 AdaSensor temperature: 22.3
2016-01-02_19:05:33 AdaSensor temperature: 22.3
2016-01-02_19:10:33 AdaSensor temperature: 22.4
2016-01-02_19:10:33 AdaSensor temperature: 22.4
2016-01-02_19:15:33 AdaSensor temperature: 22.5
2016-01-02_19:15:33 AdaSensor temperature: 22.5
2016-01-02_19:20:33 AdaSensor temperature: 22.6
2016-01-02_19:20:33 AdaSensor temperature: 22.6
2016-01-02_19:25:33 AdaSensor temperature: 22.5
2016-01-02_19:25:33 AdaSensor temperature: 22.5
2016-01-02_19:30:33 AdaSensor temperature: 22.6
2016-01-02_19:30:33 AdaSensor temperature: 22.6
2016-01-02_19:35:33 AdaSensor temperature: 22.6
2016-01-02_19:35:33 AdaSensor temperature: 22.6
2016-01-02_19:40:33 AdaSensor temperature: 22.6
2016-01-02_19:40:33 AdaSensor temperature: 22.6
2016-01-02_19:40:41 AdaSensor temperature: 22.6
2016-01-02_19:40:41 AdaSensor temperature: 22.6
2016-01-02_19:40:43 AdaSensor temperature: 22.6
2016-01-02_19:40:43 AdaSensor temperature: 22.6
2016-01-02_19:40:44 AdaSensor temperature: 22.6
2016-01-02_19:40:44 AdaSensor temperature: 22.6
2016-01-02_19:40:45 AdaSensor temperature: 22.6
2016-01-02_19:40:45 AdaSensor temperature: 22.6
2016-01-02_19:45:34 AdaSensor temperature: 22.6
2016-01-02_19:45:34 AdaSensor temperature: 22.6
2016-01-02_19:50:34 AdaSensor temperature: 22.6
2016-01-02_19:50:34 AdaSensor temperature: 22.6
2016-01-02_19:51:34 AdaSensor temperature: 22.6
2016-01-02_19:51:34 AdaSensor temperature: 22.6
2016-01-02_19:51:35 AdaSensor temperature: 22.7
2016-01-02_19:51:35 AdaSensor temperature: 22.7
2016-01-02_19:51:36 AdaSensor temperature: 22.6
2016-01-02_19:51:36 AdaSensor temperature: 22.6
2016-01-02_19:55:34 AdaSensor temperature: 22.6
2016-01-02_19:55:34 AdaSensor temperature: 22.6


Ich habe auch schon einen anderen Arduino und zwei andere HTU21D versucht.

Bitte um Hilfe

danke
Titel: Antw:I2C_SHT21 Temperatur aber keine Luftfeuchtigkeit
Beitrag von: schami23 am 02 Januar 2016, 20:36:27
Ich kenne mich mit Perl nicht so gut aus aber kann sein das hier im I2C_SHT21 Mudul etwas nicht passt?

sub I2C_SHT21_GetTemp ($$) {
my ($hash, $rawdata) = @_;
  my @raw = split(" ",$rawdata);
  my $temperature = $raw[0] << 8 | $raw[1];
$temperature = ( 175.72 * $temperature / 2**16 ) - 46.85;
$temperature = sprintf(
'%.' . AttrVal($hash->{NAME}, 'roundTemperatureDecimal', 1) . 'f',
$temperature
);
readingsSingleUpdate($hash,"temperature", $temperature, 1);
}

sub I2C_SHT21_GetHum ($$) {
my ($hash, $rawdata) = @_;
  my @raw = split(" ",$rawdata);
my $name = $hash->{NAME};
my $temperature = ReadingsVal($name,"temperature","0");

my $humidity = $raw[0] << 8 | $raw[1];
$humidity = ( 125 * $humidity / 2**16 ) - 6;
$humidity = sprintf(
'%.' . AttrVal($hash->{NAME}, 'roundHumidityDecimal', 1) . 'f',
$humidity
);
readingsBeginUpdate($hash);
readingsBulkUpdate(
$hash,
'state',
'T: ' . $temperature . ' H: ' . $humidity
);
#readingsBulkUpdate($hash, 'temperature', $temperature);
readingsBulkUpdate($hash, 'humidity', $humidity);
readingsEndUpdate($hash, 1);
}