From 98c3dda23fdca4771255e45b25deaf625ca8b2ae Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 12 Jan 2021 19:37:27 +0000 Subject: [PATCH] 90_at.pm: add at_ultimo from betateilchen (Forum #117269) git-svn-id: https://svn.fhem.de/fhem/trunk@23512 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/90_at.pm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/90_at.pm b/fhem/FHEM/90_at.pm index c9322e50e..89a399583 100644 --- a/fhem/FHEM/90_at.pm +++ b/fhem/FHEM/90_at.pm @@ -410,6 +410,20 @@ EOF return "$h1$h2
$j1$j2"; } +sub +at_ultimo(;$$$) +{ + my ($h,$m,$s) = @_; + $h //= 23; + $m //= 59; + $s //= 0; + my $add = $data{AT_RECOMPUTE} ? DAYSECONDS : 0; + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = + localtime(time+$add); + my ($nm, $ny) = ($mon == 11) ? (0,$year+1) : ($mon+1,$year); + return mktime($s,$m,$h,1,$nm,$ny) - DAYSECONDS; +} + 1; =pod @@ -445,7 +459,7 @@ EOF any spaces or tabs.
<datespec> is either ISO8601 (YYYY-MM-DDTHH:MM:SS) or number of - seconds since 1970. + seconds since 1970 or {perlfunc()}.