From 95e2907e425ab302d510a7b6bd94c2bec819aaf6 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Thu, 7 Jul 2016 07:36:25 +0000 Subject: [PATCH] fhem.pl: allow %L for the statefile (Forum #55360) git-svn-id: https://svn.fhem.de/fhem/trunk@11755 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/fhem.pl | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/fhem/fhem.pl b/fhem/fhem.pl index e70ddbf0d..7fdd847e1 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -514,9 +514,14 @@ if(configDBUsed()) { my $ret = CommandInclude(undef, $attr{global}{configfile}); $cfgRet .= "configfile: $ret\n" if($ret); - if($attr{global}{statefile} && -r $attr{global}{statefile}) { - $ret = CommandInclude(undef, $attr{global}{statefile}); - $cfgRet .= "statefile: $ret\n" if($ret); + my $stateFile = $attr{global}{statefile}; + if($stateFile) { + my @t = localtime; + $stateFile = ResolveDateWildcards($stateFile, @t); + if(-r $stateFile) { + $ret = CommandInclude(undef, $stateFile); + $cfgRet .= "$stateFile: $ret\n" if($ret); + } } } @@ -1347,9 +1352,14 @@ WriteStatefile() return cfgDB_SaveState(); } - return "No statefile specified" if(!$attr{global}{statefile}); - if(!open(SFH, ">$attr{global}{statefile}")) { - my $msg = "WriteStateFile: Cannot open $attr{global}{statefile}: $!"; + my $stateFile = AttrVal('global','statefile',undef); + return "No statefile specified" if(!defined($stateFile)); + + my @t = localtime; + $stateFile = ResolveDateWildcards($stateFile, @t); + + if(!open(SFH, ">$stateFile")) { + my $msg = "WriteStateFile: Cannot open $stateFile: $!"; Log 1, $msg; return $msg; }