Umrechung von Stunden:Minuten in sekunden

Begonnen von Jewe, 26 Mai 2019, 18:47:02

Vorheriges Thema - Nächstes Thema

Jewe

Hallo,

muss mal wiede ne "blöde" Frage stellen....
Ich möchte in einem userreadings eine Zeit von Stunden:Minuten in Sekunden umrechnen.

Der state von Ventil3Dauer ist z.B. 00:20 also 20 Minuten.

set Ventil3Dauer userReadings minuten {ReadingsVal("Ventil3Dauer", "state", 0)*60}
[/code]
so einfach geht es leider nicht ;-)

Jens

Wzut

#1
set Ventil3Dauer userReadings minuten { my($a,$b) = split(':', ReadingsVal('Ventil3Dauer', 'state', '0:0')); return ($a*60)+$b; }
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

MadMax-FHEM

#2
Sollte dann das userReadings nicht besser "Sekunden" heißen!? ;)

Und wenn es eine Umrechnung von Stunde(n):Minute(n) in Sekunden sein soll, müsste es dann nicht $a*3600+$b*60 sein!?

Und es sollte auch $NAME statt 'Ventil3Dauer' gehen, dann könnte es an jedes solches Gerät "gehangen" werden...

Hier meine Variante (nicht so elegant ;)  ) aber dafür von Stunde(n):Minute(n) in Sekunden:


userReadings Sekunden {
my @TimeParts=split(/:/,ReadingsVal($NAME,"state","00:00"));
my $Seconds=$TimeParts[0]*3600 + $TimeParts[1]*60;
return $Seconds;
}


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wzut

warum Sekunden ? er schrieb doch
Zitat von: Jewe am 26 Mai 2019, 18:47:02
Der state von Ventil3Dauer ist z.B. 00:20 also 20 Minuten.
mit $NAME hast natürlich recht :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Jewe

Hallo Liebe Helfer,
Danke für die Hilfe. Ich habe es nun wie folgt umgesetzt und bin sehr zufrieden:

attr Ventil3Dauer userReadings sekunden { my($a,$b) = split(':', ReadingsVal($NAME, 'state', '0:0'));; return ($a*3600)+$b*60;; }

Und ich habe das Reading nun auch sekunden genannt  ;) ;)

Jens