[gelöst] Ausgabe von hh:mm:ss in stateformat

Begonnen von juemuc, 07 April 2019, 17:06:51

Vorheriges Thema - Nächstes Thema

juemuc

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
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Byte09


juemuc

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
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).