FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jewe am 26 Mai 2019, 18:47:02

Titel: Umrechung von Stunden:Minuten in sekunden
Beitrag von: Jewe am 26 Mai 2019, 18:47:02
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
Titel: Antw:Umrechung von Stunden:Minuten in sekunden
Beitrag von: Wzut am 26 Mai 2019, 19:22:43
set Ventil3Dauer userReadings minuten { my($a,$b) = split(':', ReadingsVal('Ventil3Dauer', 'state', '0:0')); return ($a*60)+$b; }
Titel: Antw:Umrechung von Stunden:Minuten in sekunden
Beitrag von: MadMax-FHEM am 26 Mai 2019, 19:58:55
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
Titel: Antw:Umrechung von Stunden:Minuten in sekunden
Beitrag von: Wzut am 26 Mai 2019, 20:00:42
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 :)
Titel: Antw:Umrechung von Stunden:Minuten in sekunden
Beitrag von: Jewe am 27 Mai 2019, 23:38:09
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