From 08a08093ad56f74c7c08c187eb6aed22e65daa0c Mon Sep 17 00:00:00 2001 From: NatHacks Date: Fri, 5 Jun 2026 13:10:23 +0200 Subject: [PATCH] Display current Z height in UI: update backend data, UI rendering, and translations. --- kobrax_moonraker_bridge.py | 1 + web/themes/default/app.js | 4 +++- web/themes/default/index.html | 12 +++++++++--- web/translations/de.json | 1 + web/translations/en.json | 1 + web/translations/es.json | 1 + web/translations/fr.json | 1 + web/translations/zh-cn.json | 1 + 8 files changed, 18 insertions(+), 4 deletions(-) diff --git a/kobrax_moonraker_bridge.py b/kobrax_moonraker_bridge.py index 0a3b163..413a8ea 100644 --- a/kobrax_moonraker_bridge.py +++ b/kobrax_moonraker_bridge.py @@ -3580,6 +3580,7 @@ class KobraXBridge: "remain_time": s["remain_time"], "curr_layer": s["curr_layer"], "total_layers": s["total_layers"], + "z_mm": self._estimate_current_z(), "filename": s["filename"], "slicer_time": slicer_time, "camera_url": s["camera_url"], diff --git a/web/themes/default/app.js b/web/themes/default/app.js index fb20486..be9604f 100644 --- a/web/themes/default/app.js +++ b/web/themes/default/app.js @@ -1,7 +1,7 @@ // ── State ── var S={nozzle_temp:0,nozzle_target:0,bed_temp:0,bed_target:0, print_state:'standby',filename:'',progress:0,print_duration:0,remain_time:0, - curr_layer:0,total_layers:0,printer_name:'Kobra X',firmware_version:'–', + curr_layer:0,total_layers:0,z_mm:0,printer_name:'Kobra X',firmware_version:'–', camera_url:'',fan_speed:0,print_speed_mode:2,light_on:false,light_brightness:80, ams_slots:[],filament_mode:'toolhead',ace_units:[],ace_dry_presets:null,ace_drying:{status:0,target_temp:0,duration:0,remain_time:0,humidity:null,current_temp:null,units:[]},web_upload_warning:1}; var tempHistory={n:[],b:[]}; @@ -282,6 +282,7 @@ function applyLang(){ setText('d-lbl-remain',T.lbl_remaining); setText('d-slicer-label',T.lbl_slicer_time); setText('d-lbl-layers',T.lbl_layers); + setText('d-lbl-zpos',T.lbl_zpos); setText('d-lbl-light',T.lbl_light); setText('d-lbl-nozzle',T.label_nozzle); setText('d-lbl-bed',T.label_bed); @@ -659,6 +660,7 @@ function applyState(){ var layers=s.curr_layer&&s.total_layers?'L '+s.curr_layer+' / '+s.total_layers:'–'; var dlayers=document.getElementById('d-layers');if(dlayers)dlayers.textContent=layers; + var dzpos=document.getElementById('d-zpos');if(dzpos)dzpos.textContent=s.z_mm>0?s.z_mm.toFixed(2)+' mm':'–'; var delapsed=document.getElementById('d-elapsed');if(delapsed)delapsed.textContent=fmtTime(s.print_duration); var dremain=document.getElementById('d-remain');if(dremain)dremain.textContent=s.remain_time>0?fmtTime(s.remain_time):'–'; diff --git a/web/themes/default/index.html b/web/themes/default/index.html index 861b61c..d662a58 100644 --- a/web/themes/default/index.html +++ b/web/themes/default/index.html @@ -267,9 +267,15 @@
0%
-
-
-
+
+
+
+
+
+
+
Z
+
+
diff --git a/web/translations/de.json b/web/translations/de.json index 57a3520..1d00c22 100644 --- a/web/translations/de.json +++ b/web/translations/de.json @@ -37,6 +37,7 @@ "lbl_remaining": "Restzeit:", "lbl_slicer_time": "Slicer-Schätzung:", "lbl_layers": "Layer", + "lbl_zpos": "Z (mm)", "speed_silent": "🐢 Leise", "speed_normal": "⚡ Normal", "speed_sport": "🚀 Sport", diff --git a/web/translations/en.json b/web/translations/en.json index 7458e63..6bed741 100644 --- a/web/translations/en.json +++ b/web/translations/en.json @@ -37,6 +37,7 @@ "lbl_remaining": "Remaining:", "lbl_slicer_time": "Slicer estimate:", "lbl_layers": "Layer", + "lbl_zpos": "Z (mm)", "speed_silent": "🐢 Silent", "speed_normal": "⚡ Normal", "speed_sport": "🚀 Sport", diff --git a/web/translations/es.json b/web/translations/es.json index 3c78f93..8964dc5 100644 --- a/web/translations/es.json +++ b/web/translations/es.json @@ -37,6 +37,7 @@ "lbl_remaining": "Restante:", "lbl_slicer_time": "Estimación del slicer:", "lbl_layers": "Capa", + "lbl_zpos": "Z (mm)", "speed_silent": "🐢 Silencioso", "speed_normal": "⚡ Normal", "speed_sport": "🚀 Sport", diff --git a/web/translations/fr.json b/web/translations/fr.json index 010db4a..42953de 100644 --- a/web/translations/fr.json +++ b/web/translations/fr.json @@ -37,6 +37,7 @@ "lbl_remaining": "Restant :", "lbl_slicer_time": "Estimation slicer :", "lbl_layers": "Couche", + "lbl_zpos": "Z (mm)", "speed_silent": "🐢 Silencieux", "speed_normal": "⚡ Normal", "speed_sport": "🚀 Sport", diff --git a/web/translations/zh-cn.json b/web/translations/zh-cn.json index 867eb35..cf4280e 100644 --- a/web/translations/zh-cn.json +++ b/web/translations/zh-cn.json @@ -37,6 +37,7 @@ "lbl_remaining": "剩余时间:", "lbl_slicer_time": "切片预估:", "lbl_layers": "层", + "lbl_zpos": "Z (mm)", "speed_silent": "🐢 静音", "speed_normal": "⚡ 标准", "speed_sport": "🚀 运动", -- 2.49.1