2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-01 01:09:47 +00:00

51_I2C_BMP180.pm: DbLog_splitFn implemented

52_I2C_SHT21.pm: DbLog_splitFn implemented


git-svn-id: https://svn.fhem.de/fhem/trunk@8611 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
klauswitt 2015-05-20 21:56:48 +00:00
parent 7ea0864508
commit 5742df6b15
2 changed files with 31 additions and 3 deletions

View File

@ -54,6 +54,7 @@ sub I2C_BMP180_readUncompensatedTemperature($);
sub I2C_BMP180_readUncompensatedPressure($$);
sub I2C_BMP180_calcTrueTemperature($$);
sub I2C_BMP180_calcTruePressure($$$);
sub I2C_BMP180_DbLog_splitFn($);
my $libcheck_hasHiPi = 1;
@ -86,6 +87,7 @@ sub I2C_BMP180_Initialize($) {
'roundPressureDecimal:0,1,2 roundTemperatureDecimal:0,1,2 ' .
$readingFnAttributes;
$hash->{AttrList} .= " useHiPiLib:0,1 " if( $libcheck_hasHiPi );
$hash->{DbLog_splitFn} = "I2C_BMP180_DbLog_splitFn";
}
=head2 I2C_BMP180_Define
@ -516,6 +518,20 @@ sub I2C_BMP180_calcTruePressure($$$) {
return $p;
}
sub I2C_BMP180_DbLog_splitFn($) {
my ($event) = @_;
Log3 undef, 5, "in DbLog_splitFn empfangen: $event";
my ($reading, $value, $unit) = "";
my @parts = split(/ /,$event);
$reading = shift @parts;
$reading =~ tr/://d;
$value = $parts[0];
$unit = "\xB0C" if(lc($reading) =~ m/temp/);
$unit = "hPa" if(lc($reading) =~ m/pres/);
return ($reading, $value, $unit);
}
1;
=pod

View File

@ -23,7 +23,7 @@ sub I2C_SHT21_Attr(@);
sub I2C_SHT21_Poll($);
sub I2C_SHT21_Set($@);
sub I2C_SHT21_Undef($$);
sub I2C_SHT21_DbLog_splitFn($);
my %sets = (
'readValues' => 1,
@ -38,10 +38,10 @@ sub I2C_SHT21_Initialize($) {
$hash->{SetFn} = 'I2C_SHT21_Set';
$hash->{UndefFn} = 'I2C_SHT21_Undef';
$hash->{I2CRecFn} = 'I2C_SHT21_I2CRec';
$hash->{AttrList} = 'IODev do_not_notify:0,1 showtime:0,1 poll_interval:1,2,5,10,20,30 ' .
'roundHumidityDecimal:0,1,2 roundTemperatureDecimal:0,1,2 ' .
'roundHumidityDecimal:0,1,2 roundTemperatureDecimal:0,1,2 ' .
$readingFnAttributes;
$hash->{DbLog_splitFn} = "I2C_SHT21_DbLog_splitFn";
}
sub I2C_SHT21_Define($$) {
@ -267,6 +267,18 @@ sub I2C_SHT21_readHumidity($) {
return; # $retVal;
}
sub I2C_SHT21_DbLog_splitFn($) {
my ($event) = @_;
Log3 undef, 5, "in DbLog_splitFn empfangen: $event";
my ($reading, $value, $unit) = "";
my @parts = split(/ /,$event);
$reading = shift @parts;
$reading =~ tr/://d;
$value = $parts[0];
$unit = "\xB0C" if(lc($reading) =~ m/temp/);
$unit = "%" if(lc($reading) =~ m/humi/);
return ($reading, $value, $unit);
}
1;