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
}