Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
Hallo Udo,
danke für die schnelle Antwort. Habe noch eine Frage.
Hier z.B. ist die WAN Verbindung, jetzt knapp 13Std. online.
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
danke für die schnelle Antwort. Habe noch eine Frage.
Hier z.B. ist die WAN Verbindung, jetzt knapp 13Std. online.
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
- udo1toni
- Beiträge: 15244
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
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...
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
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
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.
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
-
- Beiträge: 489
- Registriert: 30. Apr 2021 13:13
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
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"
- udo1toni
- Beiträge: 15244
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
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
-
- Beiträge: 489
- Registriert: 30. Apr 2021 13:13
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
Nein. Es erinnert nur daran das ein Tag zu viel angezeigt wird.
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
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
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
-
- Beiträge: 489
- Registriert: 30. Apr 2021 13:13
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
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)
Ausgabe = 29d 6h 23m 25s (hier ist in erster Line der parse-Befehl dazu gekommen), oder
Ausgabe = 29 Tage 06:25:31
E:/ noch schnell ein Fehler in V1 behoben
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)
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)
E:/ noch schnell ein Fehler in V1 behoben
Zuletzt geändert von Harka am 9. Jan 2024 17:37, insgesamt 1-mal geändert.
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Sitemap Sekunden als Tag:stunden:minuten:sekunden anzeigen lassen.
Super, vielen Dank das klappt super. Es geht auch über die State Description - Pattern im Item:
Ich habe in OH4 das JS Script über die UI angelegt.
Gruß Lenschi
Code: Alles auswählen
JS(config:js:MinToDayHourMinutes):%s
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