Stunden/Minuten ist tatsächlich nur mit Aufwand möglich, Du könntest aber einfach als state Description pattern "%.2f h" angeben, die Ausgabe erfolgt dann in Stunden mit zwei Nachkommastellen, also z.B. 12,25 für 12 Stunden/15 Minuten. Gerade für Betriebsstunden ist die Angabe der Stundenbruchteile als Dezimalbruch sehr üblich.
Alternativ kannst Du auch Im Label das Pattern "[%1$tT]" setzen, dann bekommst Du die Ausgabe in HHHHHH:MM:SS, allerdings funktioniert diese Formatierung nur in der Sitemap, nicht in der Main UI. Es liefe also auf eine Rule heraus, welche sich um die Formatierung kümmert und den Wert dafür in ein anderes Item übernimmt, wahlweise auch die direkte Übernahme in ein anderes Item und Umwandlung per Transformation Service, potentiell unter Verlust der Möglichkeit, auf den Zahlenwert zuzugreifen...
(solved) Laufzeiten Kompressor und Heizkartusche einer Wärmepumpe erfassen
- udo1toni
- Beiträge: 14539
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Laufzeiten Kompressor und Heizkartusche einer Wärmepumpe erfassen
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.7, LXC), mit openHABian eingerichtet
-
- Beiträge: 56
- Registriert: 17. Nov 2020 22:38
Re: Laufzeiten Kompressor und Heizkartusche einer Wärmepumpe erfassen
Hab mir was zusammen gedragedanddroped, könntne von Dir sein.
sec2min2hour.js
hier Teil der .items:
Sieht so aus:
Nutze nur sitemaps, deswegen für mich optimal.
Leider funktioniert das mit dem UoM nicht, deswegen kein Number:Time
Wenn das mit einem "[%1$tT]" hin haut, würde mir reichen
edit:
Der Tip mit dem "[%1$tT]" ist sogar noch besser.
In welcher Doku steht sowas?
Der Betriebszähler läuft geschmeidig und ist Neustartfest. Am 01.01.2025 wird zurückgesetzt und dann sehen wir was das Jahr so bringt.
Danke Dir, Udo.
sec2min2hour.js
Code: Alles auswählen
(function(seconds){
var retval = "";
var minutes = Math.floor(seconds / 60)
var hours = Math.floor(minutes / 60)
seconds = seconds % 60
minutes = minutes % 60
if (hours < 10)
retval = retval + "0";
retval = retval + hours + "'";
if (minutes < 10)
retval = retval + "0";
retval = retval + minutes + "'";
if (seconds < 10)
retval = retval + "0";
retval = retval + seconds + "\"";
return retval;
})(input)
Code: Alles auswählen
Number NibeCounter_1 "Kompressor [JS(sec2min2hour.js):%s]" <time> (gNibeCount)
Code: Alles auswählen
00'16'31"
Leider funktioniert das mit dem UoM nicht, deswegen kein Number:Time
Wenn das mit einem "[%1$tT]" hin haut, würde mir reichen
edit:
Der Tip mit dem "[%1$tT]" ist sogar noch besser.
In welcher Doku steht sowas?
Der Betriebszähler läuft geschmeidig und ist Neustartfest. Am 01.01.2025 wird zurückgesetzt und dann sehen wir was das Jahr so bringt.
Danke Dir, Udo.
openHAB 4.2.0 auf Debian 12 als VM unter Proxmox
- udo1toni
- Beiträge: 14539
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: (solved) Laufzeiten Kompressor und Heizkartusche einer Wärmepumpe erfassen
Ja, gut möglich, dass das irgendwann mal auf meinem Mist gewachsen ist. Die Schreibweise mit ' und " ist nicht so weit verbreitet...
Die Formatierung im Label ist "uralt", noch aus OH1-Zeiten.
Die meisten Sachen in openHAB sind aus Java übernommen (oftmals indirekt, funktioniert aber trotzdem...), entsprechend kann man vieles in der offiziellen Doku von Java nachschlagen, z.B. String-Formatter: https://docs.oracle.com/en/java/javase/ ... atter.html
Leider funktioniert dieses Format nicht im Pattern, oder zumindest nicht bei Number:Time, da hier die Unit zum Einsatz kommt.
Die Formatierung im Label ist "uralt", noch aus OH1-Zeiten.
Die meisten Sachen in openHAB sind aus Java übernommen (oftmals indirekt, funktioniert aber trotzdem...), entsprechend kann man vieles in der offiziellen Doku von Java nachschlagen, z.B. String-Formatter: https://docs.oracle.com/en/java/javase/ ... atter.html
Leider funktioniert dieses Format nicht im Pattern, oder zumindest nicht bei Number:Time, da hier die Unit zum Einsatz kommt.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.7, LXC), mit openHABian eingerichtet