Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
lenschith
Beiträge: 313
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von lenschith »

Hallo Udo,
danke für die schnelle Antwort. Habe noch eine Frage.
Hier z.B. ist die WAN Verbindung, jetzt knapp 13Std. online.
Screenshot 2024-01-07 163544.png
Warum wird mir hier 1 Tag angezeigt. Muss ich noch was ändern?
Ich habe auch noch andere Uptimes wie z.B. vom System Info Binding hier kommt die Time in Minuten.
Kann ich das hier auch so einfach lösen?

Hatte das bisher über Rules gelöst aber möchte die alle weg bekommen.

Gruß Lenschi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von udo1toni »

Ich hatte es ja befürchtet, dass der Tag Ärger machen wird. Die Formatierung ist für Datumsangaben gedacht, und das kleine j ist der Tag im Jahr... Doof.
Grundsätzlich kannst Du die Formatierung unverändert auch einsetzen, wenn ein Wert in Minuten rein kommt, solange das Item vom Typ Number:Time ist und im Channel die Unit korrekt gesetzt ist, wird die Anzeige immer den korrekten Wert ausgeben. Also, bis auf den überzähligen Tag... so ein Mist...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
lenschith
Beiträge: 313
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von lenschith »

ok, ja das ist Mist. Kann ich das dann irgendwie lösen z.B. mit einer JS Transformation?
Ich habe einige Sensoren dort wäre mir dieser Tag egal, aber bei manchen wäre mir das wichtig zu wissen ohne viel darüber nachdenken zu müssen.
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Harka
Beiträge: 489
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von Harka »

Ev. reicht es Dir ja auch nur die Darstellung etwas anzupassen. Ich nutze "%1$tj-1d %1$tH:%1$tM", denbar wäre auch "Tag %1$tj %1$tH:%1$tM"

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von udo1toni »

Was macht das -1d? Ist das etwa ein Offset?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Harka
Beiträge: 489
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von Harka »

Nein. Es erinnert nur daran das ein Tag zu viel angezeigt wird.

Benutzeravatar
lenschith
Beiträge: 313
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von lenschith »

ok, ja aber eigentlich möchte ich da nicht rechnen.
Wenn es keine Möglichkeit gibt bleib ich bei meine Rules und rechne das um. Wollte mir die Arbeit ersparen das in Blockly umzubauen da es jetzt ECMA 5.1 Scripte sind. Aber dann werd ich das wohl wieder so machen.
Hatte gedacht mit dem JS Transformation kann ich das machen. Aber da bin ich zu wenig Fachmann.
Trotzdem Danke für die Tipps
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Harka
Beiträge: 489
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von Harka »

ok, habe was gefunden. Du brauchts ein neues Item vom Typ String, welches mit dem Channel Uptime verbunden ist.
Die JS(ECMA)-Transformation hierfür (im Feld Thing To Item Transformation)

Code: Alles auswählen

(function(data){
    var retval  = "";
    var seconds = parseInt(data);
    var days    = Math.floor(seconds / 3600 / 24);
    var hours   = Math.floor(seconds / 3600);
    var minutes = Math.floor(seconds / 60);
    hours       = hours % 24;
    minutes     = minutes % 60;
    seconds     = seconds % 60;
    retval      = retval + days + "d " + hours + "h ";
    if (minutes < 10)
        retval      = retval + "0";
    retval      = retval + minutes + "m ";
    if (seconds < 10)
        retval      = retval + "0";
    retval      = retval + seconds + "s";
    return retval;
})(input)
Ausgabe = 29d 6h 23m 25s (hier ist in erster Line der parse-Befehl dazu gekommen), oder

Code: Alles auswählen

function fuehrendeNull(wert) {
  if (wert < 10) return "0" + parseInt(wert);
  else return parseInt(wert);
}

(function (Sekundenzahl) {
  Sekundenzahl = Math.abs(parseInt(Sekundenzahl));
  var ausgabe = parseInt(Sekundenzahl/60/60/24)+ " Tage " + fuehrendeNull((Sekundenzahl/60/60)%24) + ":" +
                 fuehrendeNull((Sekundenzahl/60)%60) + ":" + fuehrendeNull(Sekundenzahl%60);
  return ausgabe;
})(input)
Ausgabe = 29 Tage 06:25:31

E:/ noch schnell ein Fehler in V1 behoben
Zuletzt geändert von Harka am 9. Jan 2024 17:37, insgesamt 1-mal geändert.

Benutzeravatar
lenschith
Beiträge: 313
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.

Beitrag von lenschith »

Super, vielen Dank das klappt super. Es geht auch über die State Description - Pattern im Item:

Code: Alles auswählen

JS(config:js:MinToDayHourMinutes):%s
Ich habe in OH4 das JS Script über die UI angelegt.

Gruß Lenschi
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Antworten