From c7a70e6fa165243ca28b4d6dcb275becaaef5547 Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Sat, 24 Jan 2015 18:21:10 +0000 Subject: [PATCH] 38_netatmo.pm: added autocreate command, documentation changes git-svn-id: https://svn.fhem.de/fhem/trunk@7697 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/38_netatmo.pm | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/fhem/FHEM/38_netatmo.pm b/fhem/FHEM/38_netatmo.pm index 6aac45c01..4d099951a 100644 --- a/fhem/FHEM/38_netatmo.pm +++ b/fhem/FHEM/38_netatmo.pm @@ -29,7 +29,7 @@ netatmo_Initialize($) $hash->{NOTIFYDEV} = "global"; $hash->{NotifyFn} = "netatmo_Notify"; $hash->{UndefFn} = "netatmo_Undefine"; - #$hash->{SetFn} = "netatmo_Set"; + $hash->{SetFn} = "netatmo_Set"; $hash->{GetFn} = "netatmo_Get"; $hash->{AttrFn} = "netatmo_Attr"; $hash->{AttrList} = "IODev ". @@ -210,7 +210,13 @@ netatmo_Set($$@) { my ($hash, $name, $cmd) = @_; - my $list = ""; + my $list = "autocreate:noArgs"; + + if( $cmd eq "autocreate" ) { + return netatmo_autocreate($hash, 1 ); + return undef; + } + return "Unknown argument $cmd, choose one of $list"; } @@ -596,19 +602,21 @@ netatmo_dispatch($$$) } sub -netatmo_autocreate($) +netatmo_autocreate($;$) { - my($hash) = @_; + my($hash,$force) = @_; my $name = $hash->{NAME}; if( !$hash->{helper}{devices} ) { netatmo_getDevices($hash); - return undef; + return undef if( !$force ); } - foreach my $d (keys %defs) { - next if($defs{$d}{TYPE} ne "autocreate"); - return undef if(AttrVal($defs{$d}{NAME},"disable",undef)); + if( !$force ) { + foreach my $d (keys %defs) { + next if($defs{$d}{TYPE} ne "autocreate"); + return undef if(AttrVal($defs{$d}{NAME},"disable",undef)); + } } my $autocreated = 0; @@ -646,6 +654,8 @@ netatmo_autocreate($) } CommandSave(undef,undef) if( $autocreated && AttrVal( "autocreate", "autosave", 1 ) ); + + return "created $autocreated devices"; } sub @@ -1068,7 +1078,7 @@ netatmo_Attr($$$)

netatmo