1
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-05-07 22:29:19 +00:00

changed: added NotifyFn for autostart

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@4037 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
betateilchen 2013-10-12 20:27:52 +00:00
parent fdb8d0986a
commit 27bed97f81

View File

@ -36,16 +36,15 @@ sub BBB_BMP180_Define($$);
sub BBB_BMP180_Undefine($$); sub BBB_BMP180_Undefine($$);
sub BBB_BMP180_Get($@); sub BBB_BMP180_Get($@);
sub BBB_BMP180_Attr($@); sub BBB_BMP180_Attr($@);
sub BBB_BMP180_Notify($$);
# $next = gettimeofday()+$hash->{helper}{INTERVAL};
# readingsSingleUpdate($hash, "c_nextUpdate", localtime($next), 1);
# InternalTimer($next, "GDS_GetUpdate", $hash, 1);
sub BBB_BMP180_Initialize($){ sub BBB_BMP180_Initialize($){
my ($hash) = @_; my ($hash) = @_;
$hash->{DefFn} = "BBB_BMP180_Define"; $hash->{DefFn} = "BBB_BMP180_Define";
$hash->{UndefFn} = "BBB_BMP180_Undefine"; $hash->{UndefFn} = "BBB_BMP180_Undefine";
$hash->{GetFn} = "BBB_BMP180_Get"; $hash->{GetFn} = "BBB_BMP180_Get";
$hash->{NotifyFn} = "BBB_BMP180_Notify";
$hash->{AttrFn} = "BBB_BMP180_Attr"; $hash->{AttrFn} = "BBB_BMP180_Attr";
$hash->{AttrList} = "bbbRoundPressure:0,1 bbbRoundTemperature:0,1 ". $hash->{AttrList} = "bbbRoundPressure:0,1 bbbRoundTemperature:0,1 ".
"bbbInterval ". "bbbInterval ".
@ -57,17 +56,33 @@ sub BBB_BMP180_Define($$){
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my @a = split("[ \t][ \t]*", $def); my @a = split("[ \t][ \t]*", $def);
Log3($name, 3, "BBB_BMP180 $name: created"); Log3($name, 3, "BBB_BMP180 $name: created");
readingsSingleUpdate($hash, "state", "active",1);
$hash->{helper}{i2cbus} = '1'; $hash->{helper}{i2cbus} = '1';
$hash->{helper}{i2cbus} = $a[2] if(defined($a[2])); $hash->{helper}{i2cbus} = $a[2] if(defined($a[2]));
my $next = gettimeofday()+10; if( $init_done ) {
InternalTimer($next, "bbb_getValues", $hash, 0); delete $modules{BBB_BMP180}->{NotifyFn};
bbb_getValues($hash);
} else {
readingsSingleUpdate($hash, "state", "active",1);
}
return undef; return undef;
} }
sub BBB_BMP180_Notify($$) {
my ($hash,$dev) = @_;
if( grep(m/^INITIALIZED$/, @{$dev->{CHANGED}}) ) {
delete $modules{BBB_BMP180}->{NotifyFn};
foreach my $d (keys %defs) {
next if($defs{$d}{TYPE} ne "BBB_BMP180");
bbb_getValues($hash);
}
}
}
sub BBB_BMP180_Undefine($$){ sub BBB_BMP180_Undefine($$){
my($hash, $name) = @_; my($hash, $name) = @_;
RemoveInternalTimer($hash); RemoveInternalTimer($hash);