NEWS
[gelöst] alias DP, Sekunden in Stunden und Minuten umrechnen
-
Hallo, könnte mir mal jemand behilflich sein ?
Mein original DP liefert nur Sekunden, diese würde ich aber gerne in Stunden und Minuten haben.
Ich habe mir von dem DP schon einen Alias angelegt, weiss aber nicht was dort eintragen muss, also welche Formel.
Bisher habe ich nur das hier gefunden und eingetragen:
So ist das Ergebnis z.B. 8,5 Stunden (nennt man das dezimal ?), ich hätte aber lieber 8 h und 30 min.
Schreibweise von dem Ergebnis wäre egal, ich weiss ja dann, dass es Stunden und (echte) Minuten sind. -
Auch wenn ich dir jetzt nicht helfen kann....
Wo magst du den Wert denn anzeigen?
In deiner Visu kann man es ja mit einem Bindung umrechnen und benötigt kein Alias.Ansonsten hier ein Ansatz in Blockly
https://forum.iobroker.net/topic/13488/vorlage-blockly-umrechnung-von-sekunden-in-stunden-minuten-und-sekunden/20 -
@darkblu Versuche doch mal mit
(val/3600).toFixed(1)
Nachtrag:
Ohh... ich habe es falsch gelesen. Da hast du aber ein Problem, dass dein Datenpunkt eine Zahl ist und da können ja nur Zahlen dargestellt werden. Dann erstelle dir eine neuen Datenpunkt und mache es wie oben beschrieben mit Blockly -
@ldittmar ,
ja, angezeigt werden soll es in der Vis.
Blockly war mir eigentlich zu aufwändig. Es sind 10 DP, ok - wäre ja nur eine Fleissarbeit.Ich dachte, es direkt im Alias umzurechnen wäre einfacher und ressourcenschonender.
-
@darkblu Du kannst aber dein Datenpunkt in String umwandeln und dann hast hier schreiben:
new Date(val* 1000).toLocaleString('de-DE', { hour: 'numeric', minute: 'numeric' });
dann hättest du 8:30
Nachtrag:
Du könntest auch sowas probieren:new Date(val * 1000).toLocaleString('de-DE', {hour: 'numeric',minute: 'numeric',hour12: false}).replace(':', ' Stunden und ') + ' Minuten';
-
@ldittmar ,
super, Dankeaber, ich habe gerade 7932 Sekunden, das sind ca. 2h und 12 Minuten
Das Ergebnis mit deiner Formel ist 3h und 12 Minuten
-
@darkblu sagte: Formel ist 3h und 12 Minuten
Es wird die Zeitzone mit eingerechnet.
-
@darkblu sagte in alias DP, Sekunden in Stunden und Minuten umrechnen:
7932
Nutze einfach folgende Berechnung:
(val/3600).toFixed(0) + " Stunden " + ((val%3600)/60).toFixed(0) + " Minuten";
-
@paul53 ,
das wollte ich spasseshalber noch fragen, ob die Zeitzone da reinspielt.Bekommt man die da noch raus ?
-
@mickym said in alias DP, Sekunden in Stunden und Minuten umrechnen:
(val/3600).toFixed(0) + " Stunden " + ((val%3600)/60).toFixed(0) + " Minuten";
so ist es perfektIch danke euch
-
@mickym sagte: (val/3600).toFixed(0)
Das funktioniert nicht, da .toFixed(0) kaufmännisch rundet. Es muss aber abgerundet werden.
Math.floor(val/3600) + ' Stunden ' + ((val%3600)/60).toFixed(0) + ' Minuten'
-
@paul53 ok - Du hast wie immer Recht.
-
@paul53 ,
Jau, jetzt passt es.
hab es für die Optik noch so abgeändert:
Math.floor(val/3600) + " h " + ((val%3600)/60).toFixed(0) + " min"
vielen Dank