From 49e6c90f37717f943dff72bb53b76aa3f687a96d Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Fri, 30 Jan 2015 12:34:48 +0000 Subject: [PATCH] 36_JeeLink.pm: added dummy mode (by BerndOst). see forum: http://forum.fhem.de/index.php/topic,19329.msg246982.html#msg246982 git-svn-id: https://svn.fhem.de/fhem/trunk@7777 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/36_JeeLink.pm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/36_JeeLink.pm b/fhem/FHEM/36_JeeLink.pm index 3f40916ba..7ea048164 100644 --- a/fhem/FHEM/36_JeeLink.pm +++ b/fhem/FHEM/36_JeeLink.pm @@ -77,6 +77,8 @@ JeeLink_Initialize($) $hash->{SetFn} = "JeeLink_Set"; $hash->{AttrFn} = "JeeLink_Attr"; $hash->{AttrList} = "Clients MatchList" + ." sendpool" + ." dummy" ." initCommands" ." flashCommand" ." DebounceTime BeepLong BeepShort BeepDelay" @@ -99,7 +101,7 @@ JeeLink_Define($$) my @a = split("[ \t][ \t]*", $def); if(@a != 3) { - my $msg = "wrong syntax: define JeeLink {devicename[\@baudrate] ". + my $msg = "wrong syntax: define JeeLink {none | devicename[\@baudrate] ". "| devicename\@directio}"; Log3 undef, 2, $msg; return $msg; @@ -108,9 +110,7 @@ JeeLink_Define($$) DevIo_CloseDev($hash); my $name = $a[0]; - my $dev = $a[2]; - $dev .= "\@57600" if( $dev !~ m/\@/ ); $hash->{Clients} = $clientsJeeLink; $hash->{MatchList} = \%matchListPCA301; @@ -119,6 +119,12 @@ JeeLink_Define($$) $attr{$name}{flashCommand} = "avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]" } + if($dev eq "none") { + Log3 $name, 1, "$name device is none, commands will be echoed only"; + $attr{$name}{dummy} = 1; + return undef; + } + $dev .= "\@57600" if( $dev !~ m/\@/ ); $hash->{DeviceName} = $dev; my $ret = DevIo_OpenDev($hash, 0, "JeeLink_DoInit"); @@ -355,6 +361,9 @@ JeeLink_Get($@) my ($hash, $name, $cmd, @msg ) = @_; my $arg = join(" ", @msg); + my ($hash, @a) = @_; + return "No $a[1] for dummies" if(IsDummy($name)); + my $list = "devices:noArg initJeeLink:noArg RFMconfig:noArg updateAvailRam:noArg raw"; if( $cmd eq "devices" ) {