I2C_SHT21 Temperatur aber keine Luftfeuchtigkeit

Begonnen von schami23, 02 Januar 2016, 20:14:50

Vorheriges Thema - Nächstes Thema

schami23

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
FHEM auf Debian Stretch, HM-CFG-LAN, HM Thermostat und Rauchmelder, ESPEasy, viel selbst gebasteltes mit MQTT, Snips

schami23

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);
}
FHEM auf Debian Stretch, HM-CFG-LAN, HM Thermostat und Rauchmelder, ESPEasy, viel selbst gebasteltes mit MQTT, Snips