diff --git a/fhem/FHEM/92_FileLog.pm b/fhem/FHEM/92_FileLog.pm
index 7bddf06fd..c1dabd08b 100755
--- a/fhem/FHEM/92_FileLog.pm
+++ b/fhem/FHEM/92_FileLog.pm
@@ -45,6 +45,7 @@ FileLog_Initialize($)
archiveCompress
archivecmd
archivedir
+ archivesort
createGluedFile:0,1
disable:0,1
disabledForIntervals
@@ -1257,6 +1258,7 @@ FileLog_regexpFn($$)
+
archivecmd / archivedir / nrarchive
When a new FileLog file is opened, the FileLog archiver wil be called.
@@ -1265,6 +1267,9 @@ FileLog_regexpFn($$)
section), and there is a new entry to be written into the file.
+ archivesort may be the (default) alphanum or timestamp, and specifies
+ how the last files are computed.
+
If the attribute archivecmd is specified, then it will be started as a
shell command (no enclosing " is needed), and each % in the command
will be replaced with the name of the old logfile.
@@ -1574,6 +1579,7 @@ FileLog_regexpFn($$)
+
archivecmd / archivedir / nrarchive
Wenn eine neue FileLog-Datei geöffnet wird, wird der FileLog
@@ -1583,6 +1589,10 @@ FileLog_regexpFn($$)
(define) beschrieben werden) und gleichzeitig ein neuer Datensatz
in diese Datei geschrieben werden muss.
+ archivedir kann auf dem (voreingestellten) Wert alphanum oder timestamp
+ gesetzt werden, und bestimmt die Methode für die
+ Reihenfolgenberechnung der Dateien.
+
Wenn das Attribut archivecmd benutzt wird, startet es als
shell-Kommando ( eine Einbettung in " ist nicht notwendig), und jedes %
in diesem Befehl wird durch den Namen des alten Logfiles ersetzt.
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index 56dac255f..515fbd20b 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -270,6 +270,7 @@ my @globalAttrList = qw(
apiversion
archivecmd
archivedir
+ archivesort:timestamp,alphanum
archiveCompress
autoload_undefined_devices:1,0
autosave:1,0
@@ -3453,8 +3454,9 @@ HandleArchiving($;$)
my @t = localtime;
$dir = ResolveDateWildcards($dir, @t);
return if(!opendir(DH, $dir));
- my @files = sort { (stat("$dir/$a"))[9] cmp (stat("$dir/$b"))[9] } #66896
- grep {/^$file$/} readdir(DH);
+ my @files = sort grep {/^$file$/} readdir(DH);
+ @files = sort { (stat("$dir/$a"))[9] cmp (stat("$dir/$b"))[9] } @files
+ if(AttrVal("global", "archivesort", "alphanum") eq "timestamp");
closedir(DH);
my $max = int(@files)-$nra;