Seite 1 von 1

Restzeit vom 3D Drucker in Sitemap

Verfasst: 20. Jan 2023 15:26
von Locke
Hi,
könnt ihr mir wieder mal auf die Sprünge helfen.

System: Raspberry Pi 4, 2GB RAM, openHAB 3.3.0

Ich wollte gern mir den Fortschritt (in %), Temperaturen und die Restdruckzeit in der Sitemap auf dem Handy über die App anzeigen lassen.
Fortschritt und Temperaturen funktionieren, nur bei der Restzeit klappt es nicht, es wird mir immer "Err" angezeigt.
Das item in openHAB zeigt mir die Restzeit richtig an.

Ich habe ein String Item angelegt mit dem Namen Timer und eine Rule für die Umrechnug, da von Octoprint die Restzeit nur in Sekunden geliefert wird.
Die Rule habe ich nicht selbst erstell sondern von BangerTech übernommen und angepasst.

Code: Alles auswählen

// Triggers:
rule "Time Left String"
when
Item DruckerDauerbisEnde_DauerbisEnde changed
then
val seconds = (DruckerDauerbisEnde_DauerbisEnde.state as DecimalType).intValue
val int totalMinutes = seconds/60
val int remainderSecs = seconds%60
val int totalHours = totalMinutes/60
val int remainderMins = totalMinutes%60
val formattedTime = String::format("%02d", totalHours) + ":" + String::format("%02d", remainderMins) + ":" +
String::format("%02d", remainderSecs)
OctoprintTimeLeftString.postUpdate(formattedTime)

end

Code: Alles auswählen

sitemap 3D_Drucker label="3D Drucker" {
    List icon="batterylevel" label="3D Drucker Fortschritt" item=DruckerFortschritt_DruckerFortschritt
    List icon="time" label="3D Druck Dauer bis Ende" item=OctoprintTimeLeftString
    List icon="temperature" label="Temperatur Düse" item=DruckerTemperaturDuse_DruckerTemperaturDuse
    List icon="temperature" label="Temperatur Platte" item=DruckerTemperaturPlatte_DruckerPlatteTemperatur
}

Re: Restzeit vom 3D Drucker in Sitemap

Verfasst: 20. Jan 2023 16:47
von udo1toni
Wie kommst Du auf das Schlüsselwort List? Du kannst entweder Default angeben, oder alternativ (reine Anzeige) Text. Es wundert mich extrem, dass da überhaupt eine Ausgabe stattwfindet. Auch die Doku erwähnt kein List Widget: https://www.openhab.org/docs/ui/sitemap ... ment-types.

Unter bestimmten Voraussetzungen könntest Du Dir übrigens die Rule komplett sparen. Du nutzt dazu ein Number:Time Item und schreibst dort den Wert mit Unit s hinein. Anschließend solltest Du die Ausgabe einfach mit %1$tH:%1$tM:%1$tS als Formatierung setzen können.

Ich bin mir allerdings nicht sicher, ob 2.5.10 schon Number:Time als UoM unterstützt, und vermutlich wird das verwendete Binding in 2.5.10 nicht frei mit UoM umgehen können (mqtt z.B. kann das erst mit v3)

Re: Restzeit vom 3D Drucker in Sitemap

Verfasst: 20. Jan 2023 18:00
von Locke
udo1toni hat geschrieben: 20. Jan 2023 16:47 Wie kommst Du auf das Schlüsselwort List?
Hi Udo,
List habe wieder ausgewählt, da ich damit auf einem anderen System auch meine Daten von Temperaturfühlern und Thermostaten anzeigen lasse. Ich hatte aber auch Default und Text probiert, ohne Erfolg.
udo1toni hat geschrieben: 20. Jan 2023 16:47 Ich bin mir allerdings nicht sicher, ob 2.5.10
Das System ist openHAB 3.3.0 hatte ich angegeben. Ich werde es später versuchen umzusetzen so wie Du es vorgschlägst.

Re: Restzeit vom 3D Drucker in Sitemap

Verfasst: 20. Jan 2023 18:13
von udo1toni
Die Reihenfolge der Parameter ist auch zumindest ungewöhnlich. Da es aber ansonsten funktioniert, mag es tatsächlich keine Rolle spielen. Normalerweise wird man immer das Item als erstes benennen, so eines gesetzt wird.
Ansonsten fällt mir dazu momentan nichts ein (bzw. auf).
Das System ist openHAB 3.3.0 hatte ich angegeben.
Stimmt auffallend. Ich hatte nur unten in den Footer geschaut...

Re: Restzeit vom 3D Drucker in Sitemap

Verfasst: 20. Jan 2023 19:30
von Locke
Wie gesagt, ich teste es nach Deinem Vorschlag.
Komm vor das man etwas überliest ;)

Re: Restzeit vom 3D Drucker in Sitemap

Verfasst: 20. Jan 2023 20:33
von Locke
Das war es, jetzt läuft es ohne Rule.
Mir ist jetzt aufgefallen das "Bangertech" von dem ich die Anleitung habe es auf openHAB 2.5.x gemacht hat, deshalb wohl auch die Rule :roll:

Dankeeeee