New design for control panel

This commit is contained in:
2026-01-13 23:28:35 +01:00
parent 910b18aa79
commit c9c38d7295

View File

@@ -202,10 +202,6 @@ sensor:
value: !lambda return x; value: !lambda return x;
text_sensor: text_sensor:
- platform: homeassistant
entity_id: image.k2plus_c06b_current_print_preview
attribute: entity_picture
id: printer_preview_url
- platform: homeassistant - platform: homeassistant
entity_id: sensor.k2plus_c06b_print_status entity_id: sensor.k2plus_c06b_print_status
id: printerStatus id: printerStatus
@@ -311,80 +307,85 @@ font:
lvgl: lvgl:
buffer_size: 25% buffer_size: 25%
bg_color: 0x000000
theme: theme:
button: button:
bg_color: 0x2F8CD8 bg_color: 0x000000
bg_grad_color: 0x005782 bg_grad_color: 0x000000
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
border_color: 0x0077b3 border_color: 0x00FF00
border_width: 1 border_width: 2
text_color: 0xFFFFFF text_color: 0x00FF00
pressed: # set some button colors to be different in pressed state pressed: # set some button colors to be different in pressed state
bg_color: 0x006699 bg_color: 0x004d00
bg_grad_color: 0x00334d bg_grad_color: 0x004d00
checked: # set some button colors to be different in checked state checked: # set some button colors to be different in checked state
bg_color: 0x1d5f96 bg_color: 0x004d00
bg_grad_color: 0x03324A bg_grad_color: 0x004d00
text_color: 0xfff300 text_color: 0x00FF00
buttonmatrix: buttonmatrix:
bg_opa: TRANSP bg_color: 0x000000
border_color: 0x0077b3 bg_opa: COVER
border_color: 0x000000
border_width: 0 border_width: 0
text_color: 0xFFFFFF text_color: 0x00FF00
pad_all: 0 pad_all: 0
items: # set all your buttonmatrix buttons to use your custom defined styles and font items: # set all your buttonmatrix buttons to use your custom defined styles and font
bg_color: 0x2F8CD8 bg_color: 0x000000
bg_grad_color: 0x005782 bg_grad_color: 0x000000
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
border_color: 0x0077b3 border_color: 0x00FF00
border_width: 1 border_width: 2
text_color: 0xFFFFFF text_color: 0x00FF00
pressed: pressed:
bg_color: 0x006699 bg_color: 0x004d00
bg_grad_color: 0x00334d bg_grad_color: 0x004d00
checked: checked:
bg_color: 0x1d5f96 bg_color: 0x004d00
bg_grad_color: 0x03324A bg_grad_color: 0x004d00
text_color: 0xFFFFA0 text_color: 0x00FF00
switch: switch:
bg_color: 0xC0C0C0 bg_color: 0x1a1a1a
bg_grad_color: 0xb0b0b0 bg_grad_color: 0x1a1a1a
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
border_color: 0x00FF00
border_width: 2
checked: checked:
bg_color: 0x1d5f96 bg_color: 0x004d00
bg_grad_color: 0x03324A bg_grad_color: 0x004d00
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
knob: knob:
bg_color: 0xFFFFFF bg_color: 0x00FF00
bg_grad_color: 0xC0C0C0 bg_grad_color: 0x00FF00
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
slider: slider:
border_width: 1 border_width: 1
border_opa: 15% border_color: 0x00FF00
bg_color: 0xcccaca border_opa: 50%
bg_opa: 15% bg_color: 0x000000
bg_opa: COVER
indicator: indicator:
bg_color: 0x1d5f96 bg_color: 0x004d00
bg_grad_color: 0x03324A bg_grad_color: 0x004d00
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
knob: knob:
bg_color: 0x2F8CD8 bg_color: 0x00FF00
bg_grad_color: 0x005782 bg_grad_color: 0x00FF00
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
border_color: 0x0077b3 border_color: 0x00FF00
border_width: 1 border_width: 1
text_color: 0xFFFFFF text_color: 0x000000
style_definitions: style_definitions:
- id: header_footer - id: header_footer
bg_color: 0x2F8CD8 bg_color: 0x000000
bg_grad_color: 0x005782 bg_grad_color: 0x000000
bg_grad_dir: VER bg_grad_dir: VER
bg_opa: COVER bg_opa: COVER
border_opa: TRANSP border_opa: TRANSP
@@ -392,8 +393,8 @@ lvgl:
pad_all: 0 pad_all: 0
pad_row: 0 pad_row: 0
pad_column: 0 pad_column: 0
border_color: 0x0077b3 border_color: 0x00FF00
text_color: 0xFFFFFF text_color: 0x00FF00
width: 100% width: 100%
height: 30 height: 30
top_layer: top_layer:
@@ -406,7 +407,7 @@ lvgl:
state: state:
disabled: true disabled: true
recolor: false recolor: false
text_color: white text_color: 0x00FF00
hidden: true hidden: true
- label: - label:
id: haStatusIcon id: haStatusIcon
@@ -416,7 +417,7 @@ lvgl:
state: state:
disabled: true disabled: true
recolor: false recolor: false
text_color: white text_color: 0x00FF00
hidden: true hidden: true
- buttonmatrix: - buttonmatrix:
align: bottom_mid align: bottom_mid
@@ -462,7 +463,7 @@ lvgl:
text: "Ade's Office" text: "Ade's Office"
align: CENTER align: CENTER
text_align: CENTER text_align: CENTER
text_color: 0xFFFFFF text_color: 0x00FF00
- buttonmatrix: - buttonmatrix:
id: matrixId id: matrixId
x: 10 x: 10
@@ -583,7 +584,7 @@ lvgl:
text: "Ground Floor" text: "Ground Floor"
align: CENTER align: CENTER
text_align: CENTER text_align: CENTER
text_color: 0xFFFFFF text_color: 0x00FF00
- buttonmatrix: - buttonmatrix:
id: groundFloorMatrix id: groundFloorMatrix
x: 10 x: 10
@@ -698,7 +699,7 @@ lvgl:
text: "K2 Plus" text: "K2 Plus"
align: CENTER align: CENTER
text_align: CENTER text_align: CENTER
text_color: 0xFFFFFF text_color: 0x00FF00
- label: - label:
long_mode: scroll long_mode: scroll
align_to: align_to:
@@ -707,6 +708,7 @@ lvgl:
y: 3 y: 3
x: 2 x: 2
id: lbl_3dprinter_status id: lbl_3dprinter_status
text_color: 0x00FF00
text: text:
format: "Status: %s" format: "Status: %s"
args: [ 'id(printerStatus).get_state()' ] args: [ 'id(printerStatus).get_state()' ]
@@ -716,6 +718,7 @@ lvgl:
align: OUT_BOTTOM_LEFT align: OUT_BOTTOM_LEFT
y: 3 y: 3
id: lbl_3dprinter_percentage id: lbl_3dprinter_percentage
text_color: 0x00FF00
text: text:
format: "Percentage: %d%%" format: "Percentage: %d%%"
args: ['id(sensor_3dprinter_percentage).state'] args: ['id(sensor_3dprinter_percentage).state']
@@ -727,6 +730,7 @@ lvgl:
long_mode: scroll long_mode: scroll
id: lbl_3dprinter_modelname id: lbl_3dprinter_modelname
width: 240 width: 240
text_color: 0x00FF00
text: "Model: None" text: "Model: None"
- label: - label:
align_to: align_to:
@@ -736,6 +740,7 @@ lvgl:
long_mode: scroll long_mode: scroll
id: lbl_3dprinter_layer id: lbl_3dprinter_layer
width: 240 width: 240
text_color: 0x00FF00
text: "Layer: 0 of 0" text: "Layer: 0 of 0"
- label: - label:
align_to: align_to:
@@ -745,6 +750,7 @@ lvgl:
long_mode: scroll long_mode: scroll
id: lbl_3dprinter_print_time_left id: lbl_3dprinter_print_time_left
width: 240 width: 240
text_color: 0x00FF00
text: "Print time left: NaN" text: "Print time left: NaN"
- meter: - meter:
id: meter_3dprinter_nozzle id: meter_3dprinter_nozzle
@@ -762,7 +768,7 @@ lvgl:
- line: - line:
id: gauge_3dprinter_nozzle_needle id: gauge_3dprinter_nozzle_needle
width: 2 width: 2
color: 0xFF0000 color: 0x00FF00
r_mod: -4 r_mod: -4
- range_from: 0 # scale for the value labels - range_from: 0 # scale for the value labels
range_to: 380 range_to: 380
@@ -772,24 +778,26 @@ lvgl:
width: 1 width: 1
count: 41 count: 41
length: 4 length: 4
color: 0x000000 color: 0x00FF00
major: major:
stride: 20 stride: 20
width: 2 width: 2
length: 6 length: 6
color: 0x404040 color: 0x00FF00
label_gap: 10 label_gap: 10
text_font: roboto_10 text_font: roboto_10
widgets: widgets:
- label: - label:
id: gauge_3dprinter_nozzle_text id: gauge_3dprinter_nozzle_text
text: "-.-C" text: "-.-C"
text_color: 0x00FF00
align_to: align_to:
id: meter_3dprinter_nozzle id: meter_3dprinter_nozzle
align: CENTER align: CENTER
y: 35 y: 35
- label: - label:
text: "Nozzle" text: "Nozzle"
text_color: 0x00FF00
align_to: align_to:
id: meter_3dprinter_nozzle id: meter_3dprinter_nozzle
align: CENTER align: CENTER
@@ -807,7 +815,11 @@ lvgl:
adjustable: true adjustable: true
start_angle: 150 start_angle: 150
end_angle: 30 end_angle: 30
arc_color: 0x004d00
indicator:
arc_color: 0x00FF00
knob: knob:
bg_color: 0x00FF00
pad_all: 0 pad_all: 0
arc_rounded: false arc_rounded: false
arc_width: 6 arc_width: 6
@@ -834,7 +846,7 @@ lvgl:
- line: - line:
id: gauge_3dprinter_bed_needle id: gauge_3dprinter_bed_needle
width: 2 width: 2
color: 0xFF0000 color: 0x00FF00
r_mod: -4 r_mod: -4
- range_from: 0 # scale for the value labels - range_from: 0 # scale for the value labels
range_to: 130 range_to: 130
@@ -844,24 +856,26 @@ lvgl:
width: 1 width: 1
count: 41 count: 41
length: 4 length: 4
color: 0x000000 color: 0x00FF00
major: major:
stride: 20 stride: 20
width: 2 width: 2
length: 6 length: 6
color: 0x404040 color: 0x00FF00
label_gap: 10 label_gap: 10
text_font: roboto_10 text_font: roboto_10
widgets: widgets:
- label: - label:
id: gauge_3dprinter_bed_text id: gauge_3dprinter_bed_text
text: "-.-C" text: "-.-C"
text_color: 0x00FF00
align_to: align_to:
id: meter_3dprinter_bed id: meter_3dprinter_bed
align: CENTER align: CENTER
y: 35 y: 35
- label: - label:
text: "Plate" text: "Plate"
text_color: 0x00FF00
align_to: align_to:
id: meter_3dprinter_bed id: meter_3dprinter_bed
align: CENTER align: CENTER
@@ -879,7 +893,11 @@ lvgl:
adjustable: true adjustable: true
start_angle: 150 start_angle: 150
end_angle: 30 end_angle: 30
arc_color: 0x004d00
indicator:
arc_color: 0x00FF00
knob: knob:
bg_color: 0x00FF00
pad_all: 0 pad_all: 0
arc_rounded: false arc_rounded: false
arc_width: 6 arc_width: 6
@@ -891,33 +909,6 @@ lvgl:
entity_id: number.k2plus_c06b_bed_target entity_id: number.k2plus_c06b_bed_target
value: !lambda "return x;" value: !lambda "return x;"
- id: printer_preview_page
widgets:
- obj:
align: TOP_MID
id: header_page_printer_preview
styles: header_footer
widgets:
- label:
text: "Print Preview"
align: CENTER
text_align: CENTER
text_color: 0xFFFFFF
- label:
align_to:
id: header_page_printer_preview
align: OUT_BOTTOM_MID
y: 10
id: lbl_preview_status
text: "Print preview image"
text_align: CENTER
- label:
align: CENTER
id: lbl_preview_info
text: "View full preview in\nHome Assistant app"
text_align: CENTER
text_color: 0x808080
on_idle: on_idle:
timeout: !lambda "return (id(displayTimeout).state * 1000);" timeout: !lambda "return (id(displayTimeout).state * 1000);"
then: then: