Hallo,
aktuell gebe ich die in einem reading enthaltenen Sekunden im stateformat über Variablen aus ($h:$m:$s). Allerdings werden hier die führenden Nullen unterdrückt. Bsp. 0:7:3 anstatt 00:07:03. staeformat ist wie folgt definiert:
{if (ReadingsVal($name,"state","") eq "off")
{"off"}
else
{my $sec=ReadingsNum("EZ_Lampe_dimmen_dummy","timerRemaining",0);
my $hour=$sec/3600;
my $h=int($hour);
$sec=$sec - ($h * 3600);
my $min=$sec /60;
my $m=int($min);
my $s=$sec - ($m * 60);
"$h:$m:$s"}}
Wie kann ich die Ausgabe formatieren?
Viele Grüße
Jürgen
das zauberwort hier ist wohl sprintf
https://perldoc.perl.org/functions/sprintf.html (https://perldoc.perl.org/functions/sprintf.html)
gruss Byte09
Danke es funktioniert ;D
hier die Definition, falls es jemand benötigt:
{my $sec=ReadingsNum("EZ_Lampe_dimmen_dummy","timerRemaining",0);
my $hour=$sec / 3600;
my $h=sprintf('%02s',int($hour));
$sec=$sec - ($h * 3600);
my $min=$sec / 60;
my $m=sprintf('%02s',int($min));
my $s=sprintf('%02s',$sec - ($m * 60));
"$h:$m:$s"}
Viele Grüße
Jürgen