From a670b81a913c80ac1ab30b4f5f1b5fba5ea4ec04 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Wed, 12 Aug 2020 17:07:11 +0000 Subject: [PATCH] 60_Watches.pm: contrib 0.27.0 git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@22585 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- contrib/DS_Starter/60_Watches.pm | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/contrib/DS_Starter/60_Watches.pm b/contrib/DS_Starter/60_Watches.pm index 9b4fe05bd..f73ede6bf 100644 --- a/contrib/DS_Starter/60_Watches.pm +++ b/contrib/DS_Starter/60_Watches.pm @@ -114,10 +114,18 @@ my %vNotesIntern = ( ); my %hcb = ( # Hash der Steuertastendefinition - 1 => {cmd => "start", img => "default/remotecontrol/black_btn_GREEN.png", }, - 2 => {cmd => "stop", img => "default/remotecontrol/black_btn_RED.png", }, + 1 => {cmd => "start", img => "default/remotecontrol/black_btn_GREEN.png", }, + 2 => {cmd => "stop", img => "default/remotecontrol/black_btn_RED.png", }, 3 => {cmd => "resume", img => "default/remotecontrol/black_btn_YELLOW.png", }, - 4 => {cmd => "reset", img => "default/remotecontrol/black_btn_STOP.png", }, + 4 => {cmd => "reset", img => "default/remotecontrol/black_btn_STOP.png", }, +); + +my %hset = ( # Hash der Set-Werte + staticwatch => {set => "time" }, + stopwatch => {set => "alarmSet alarmDel:noArg reset:noArg resume:noArg start:noArg stop:noArg" }, + countdownwatch => {set => "alarmSet alarmDel:noArg reset:noArg resume:noArg start:noArg stop:noArg countDownInit" }, + watch => {set => "alarmSet alarmDel:noArg" }, + text => {set => "displayTextSet displayTextDel:noArg textTicker:on,off" }, ); ############################################################################## @@ -210,16 +218,17 @@ sub Set { ## no critic 'compl my $prop1 = $a[3]; my $prop2 = $a[4]; my $prop3 = $a[5]; - my $addp = AttrVal($name, "digitalDisplayPattern", "watch"); return if(IsDisabled($name)); + + my $addp = AttrVal($name, "digitalDisplayPattern", "watch"); + if (!$hset{$addp}) { + Log3($name, 1, "$name - ERROR - The attribute 'digitalDisplayPattern' value '$addp' is not known by module '$hash->{TYPE}'"); + return; + } - my $setlist = "Unknown argument $opt, choose one of "; - $setlist .= "time " if($addp =~ /staticwatch/x); - $setlist .= "alarmSet alarmDel:noArg reset:noArg resume:noArg start:noArg stop:noArg " if($addp =~ /stopwatch|countdownwatch/x); - $setlist .= "countDownInit " if($addp =~ /countdownwatch/x); - $setlist .= "alarmSet alarmDel:noArg " if($addp =~ /\bwatch\b/x); - $setlist .= "displayTextSet displayTextDel:noArg textTicker:on,off " if($addp eq "text"); + my $setlist = "Unknown argument $opt, choose one of "; + $setlist .= "$hset{$addp}{set} "; if ($opt eq "start") { ## no critic 'Cascading' return qq{Please set "countDownInit" before !} if($addp =~ /countdownwatch/x && !ReadingsVal($name, "countInitVal", ""));