Files

7621 lines
220 KiB
YAML

# AUTO-GENERATED by bambu-display/generate.py. Edit printers.yaml or generate.py.
sensor:
- platform: homeassistant
id: prints_charming_progress
entity_id: sensor.p1s_01p09c470102673_print_progress
internal: true
- platform: homeassistant
id: prints_charming_nozzle
entity_id: sensor.p1s_01p09c470102673_nozzle_temperature
internal: true
- platform: homeassistant
id: prints_charming_nozzle_target
entity_id: sensor.p1s_01p09c470102673_nozzle_target_temperature
internal: true
- platform: homeassistant
id: prints_charming_bed
entity_id: sensor.p1s_01p09c470102673_bed_temperature
internal: true
- platform: homeassistant
id: prints_charming_bed_target
entity_id: sensor.p1s_01p09c470102673_bed_target_temperature
internal: true
- platform: homeassistant
id: prints_charming_time_left
entity_id: sensor.p1s_01p09c470102673_remaining_time
internal: true
- platform: homeassistant
id: prints_charming_layer
entity_id: sensor.p1s_01p09c470102673_current_layer
internal: true
- platform: homeassistant
id: prints_charming_total_layers
entity_id: sensor.p1s_01p09c470102673_total_layer_count
internal: true
- platform: homeassistant
id: prints_charming_fan
entity_id: sensor.p1s_01p09c470102673_cooling_fan_speed
internal: true
- platform: homeassistant
id: prints_charming_aux_fan
entity_id: sensor.p1s_01p09c470102673_aux_fan_speed
internal: true
- platform: homeassistant
id: prints_charming_exhaust_fan
entity_id: sensor.p1s_01p09c470102673_chamber_fan_speed
internal: true
- platform: homeassistant
id: polly_pocket_progress
entity_id: sensor.a1mini_0309ca580403653_print_progress
internal: true
- platform: homeassistant
id: polly_pocket_nozzle
entity_id: sensor.a1mini_0309ca580403653_nozzle_temperature
internal: true
- platform: homeassistant
id: polly_pocket_nozzle_target
entity_id: sensor.a1mini_0309ca580403653_nozzle_target_temperature
internal: true
- platform: homeassistant
id: polly_pocket_bed
entity_id: sensor.a1mini_0309ca580403653_bed_temperature
internal: true
- platform: homeassistant
id: polly_pocket_bed_target
entity_id: sensor.a1mini_0309ca580403653_bed_target_temperature
internal: true
- platform: homeassistant
id: polly_pocket_time_left
entity_id: sensor.a1mini_0309ca580403653_remaining_time
internal: true
- platform: homeassistant
id: polly_pocket_layer
entity_id: sensor.a1mini_0309ca580403653_current_layer
internal: true
- platform: homeassistant
id: polly_pocket_total_layers
entity_id: sensor.a1mini_0309ca580403653_total_layer_count
internal: true
- platform: homeassistant
id: polly_pocket_fan
entity_id: sensor.a1mini_0309ca580403653_cooling_fan_speed
internal: true
- platform: homeassistant
id: ds_turd_flinger_progress
entity_id: sensor.a1_03919d540806387_print_progress
internal: true
- platform: homeassistant
id: ds_turd_flinger_nozzle
entity_id: sensor.a1_03919d540806387_nozzle_temperature
internal: true
- platform: homeassistant
id: ds_turd_flinger_nozzle_target
entity_id: sensor.a1_03919d540806387_nozzle_target_temperature
internal: true
- platform: homeassistant
id: ds_turd_flinger_bed
entity_id: sensor.a1_03919d540806387_bed_temperature
internal: true
- platform: homeassistant
id: ds_turd_flinger_bed_target
entity_id: sensor.a1_03919d540806387_bed_target_temperature
internal: true
- platform: homeassistant
id: ds_turd_flinger_time_left
entity_id: sensor.a1_03919d540806387_remaining_time
internal: true
- platform: homeassistant
id: ds_turd_flinger_layer
entity_id: sensor.a1_03919d540806387_current_layer
internal: true
- platform: homeassistant
id: ds_turd_flinger_total_layers
entity_id: sensor.a1_03919d540806387_total_layer_count
internal: true
- platform: homeassistant
id: ds_turd_flinger_fan
entity_id: sensor.a1_03919d540806387_cooling_fan_speed
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_progress
entity_id: sensor.jordyns_layer_slayer_print_progress
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_nozzle
entity_id: sensor.jordyns_layer_slayer_nozzle_temperature
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_nozzle_target
entity_id: sensor.jordyns_layer_slayer_nozzle_target_temperature
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_bed
entity_id: sensor.jordyns_layer_slayer_bed_temperature
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_bed_target
entity_id: sensor.jordyns_layer_slayer_bed_target_temperature
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_time_left
entity_id: sensor.jordyns_layer_slayer_remaining_time
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_layer
entity_id: sensor.jordyns_layer_slayer_current_layer
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_total_layers
entity_id: sensor.jordyns_layer_slayer_total_layer_count
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_fan
entity_id: sensor.jordyns_layer_slayer_cooling_fan_speed
internal: true
- platform: homeassistant
id: constipation_orion_progress
entity_id: sensor.constipation_orion_print_progress
internal: true
- platform: homeassistant
id: constipation_orion_nozzle
entity_id: sensor.constipation_orion_nozzle_temperature
internal: true
- platform: homeassistant
id: constipation_orion_nozzle_target
entity_id: sensor.constipation_orion_nozzle_target_temperature
internal: true
- platform: homeassistant
id: constipation_orion_bed
entity_id: sensor.constipation_orion_bed_temperature
internal: true
- platform: homeassistant
id: constipation_orion_bed_target
entity_id: sensor.constipation_orion_bed_target_temperature
internal: true
- platform: homeassistant
id: constipation_orion_time_left
entity_id: sensor.constipation_orion_remaining_time
internal: true
- platform: homeassistant
id: constipation_orion_layer
entity_id: sensor.constipation_orion_current_layer
internal: true
- platform: homeassistant
id: constipation_orion_total_layers
entity_id: sensor.constipation_orion_total_layer_count
internal: true
- platform: homeassistant
id: constipation_orion_fan
entity_id: sensor.constipation_orion_cooling_fan_speed
internal: true
- platform: homeassistant
id: constipation_orion_left_nozzle
entity_id: sensor.constipation_orion_left_nozzle_temperature
internal: true
- platform: homeassistant
id: constipation_orion_left_target
entity_id: sensor.constipation_orion_left_nozzle_target_temperature
internal: true
- platform: homeassistant
id: constipation_orion_right_nozzle
entity_id: sensor.constipation_orion_right_nozzle_temperature
internal: true
- platform: homeassistant
id: constipation_orion_right_target
entity_id: sensor.constipation_orion_right_nozzle_target_temperature
internal: true
- platform: homeassistant
id: constipation_orion_exhaust_fan
entity_id: sensor.constipation_orion_chamber_fan_speed
internal: true
- platform: homeassistant
id: centauri_carbon_progress
entity_id: sensor.centauri_carbon_percent_complete
internal: true
- platform: homeassistant
id: centauri_carbon_time_left
entity_id: sensor.centauri_carbon_remaining_print_time
internal: true
- platform: homeassistant
id: centauri_carbon_layer
entity_id: sensor.centauri_carbon_current_layer
internal: true
- platform: homeassistant
id: centauri_carbon_total_layers
entity_id: sensor.centauri_carbon_total_layers
internal: true
- platform: homeassistant
id: centauri_carbon_total_time
entity_id: sensor.centauri_carbon_total_print_time
internal: true
- platform: homeassistant
id: centauri_carbon_nozzle
entity_id: sensor.centauri_carbon_nozzle_temperature
internal: true
- platform: homeassistant
id: centauri_carbon_bed
entity_id: sensor.centauri_carbon_bed_temperature
internal: true
- platform: homeassistant
id: centauri_carbon_elapsed
entity_id: sensor.centauri_carbon_current_print_time
internal: true
- platform: homeassistant
id: centauri_carbon_nozzle_target
entity_id: number.centauri_carbon_target_nozzle_temp
internal: true
- platform: homeassistant
id: centauri_carbon_bed_target
entity_id: number.centauri_carbon_target_bed_temp
internal: true
- platform: homeassistant
id: centauri_carbon_fan
entity_id: sensor.centauri_carbon_model_fan_speed
internal: true
- platform: homeassistant
id: centauri_carbon_aux_fan
entity_id: sensor.centauri_carbon_auxiliary_fan_speed
internal: true
- platform: homeassistant
id: centauri_carbon_exhaust_fan
entity_id: sensor.centauri_carbon_enclosure_fan_speed
internal: true
- platform: homeassistant
id: saturn_progress
entity_id: sensor.saturn_percent_complete
internal: true
- platform: homeassistant
id: saturn_time_left
entity_id: sensor.saturn_remaining_print_time
internal: true
- platform: homeassistant
id: saturn_layer
entity_id: sensor.saturn_current_layer
internal: true
- platform: homeassistant
id: saturn_total_layers
entity_id: sensor.saturn_total_layers
internal: true
- platform: homeassistant
id: saturn_total_time
entity_id: sensor.saturn_total_print_time
internal: true
- platform: homeassistant
id: saturn_uv
entity_id: sensor.saturn_uv_led_temp
internal: true
- platform: homeassistant
id: saturn_elapsed
entity_id: sensor.saturn_current_print_time
internal: true
text_sensor:
- platform: homeassistant
id: prints_charming_status
entity_id: sensor.p1s_01p09c470102673_print_status
internal: true
- platform: homeassistant
id: prints_charming_task
entity_id: sensor.p1s_01p09c470102673_task_name
internal: true
- platform: homeassistant
id: prints_charming_stage
entity_id: sensor.p1s_01p09c470102673_current_stage
internal: true
- platform: homeassistant
id: prints_charming_online
entity_id: binary_sensor.p1s_01p09c470102673_online
internal: true
- platform: homeassistant
id: prints_charming_print_error
entity_id: binary_sensor.p1s_01p09c470102673_print_error
internal: true
- platform: homeassistant
id: prints_charming_hms_error
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
- platform: homeassistant
id: prints_charming_hms_count
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: Count
- platform: homeassistant
id: prints_charming_hms_1_message
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 1-Error
- platform: homeassistant
id: prints_charming_hms_1_code
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 1-Code
- platform: homeassistant
id: prints_charming_hms_1_severity
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 1-Severity
- platform: homeassistant
id: prints_charming_hms_2_message
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 2-Error
- platform: homeassistant
id: prints_charming_hms_2_code
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 2-Code
- platform: homeassistant
id: prints_charming_hms_2_severity
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 2-Severity
- platform: homeassistant
id: prints_charming_hms_3_message
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 3-Error
- platform: homeassistant
id: prints_charming_hms_3_code
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 3-Code
- platform: homeassistant
id: prints_charming_hms_3_severity
entity_id: binary_sensor.p1s_01p09c470102673_hms_errors
internal: true
attribute: 3-Severity
- platform: homeassistant
id: prints_charming_print_error_message
entity_id: binary_sensor.p1s_01p09c470102673_print_error
internal: true
attribute: error
- platform: homeassistant
id: prints_charming_print_error_code
entity_id: binary_sensor.p1s_01p09c470102673_print_error
internal: true
attribute: code
- platform: homeassistant
id: prints_charming_remaining_unit
entity_id: sensor.p1s_01p09c470102673_remaining_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: prints_charming_nozzle_unit
entity_id: sensor.p1s_01p09c470102673_nozzle_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: prints_charming_bed_unit
entity_id: sensor.p1s_01p09c470102673_bed_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: prints_charming_tray_0_type
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_1
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_0_color
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_1
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_0_active
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_1
internal: true
attribute: active
- platform: homeassistant
id: prints_charming_tray_1_type
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_2
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_1_color
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_2
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_1_active
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_2
internal: true
attribute: active
- platform: homeassistant
id: prints_charming_tray_2_type
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_3
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_2_color
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_3
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_2_active
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_3
internal: true
attribute: active
- platform: homeassistant
id: prints_charming_tray_3_type
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_4
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_3_color
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_4
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_3_active
entity_id: sensor.p1s_01p09c470102673_ams_1_tray_4
internal: true
attribute: active
- platform: homeassistant
id: prints_charming_tray_4_type
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_1
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_4_color
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_1
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_4_active
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_1
internal: true
attribute: active
- platform: homeassistant
id: prints_charming_tray_5_type
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_2
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_5_color
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_2
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_5_active
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_2
internal: true
attribute: active
- platform: homeassistant
id: prints_charming_tray_6_type
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_3
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_6_color
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_3
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_6_active
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_3
internal: true
attribute: active
- platform: homeassistant
id: prints_charming_tray_7_type
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_4
internal: true
attribute: type
- platform: homeassistant
id: prints_charming_tray_7_color
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_4
internal: true
attribute: color
- platform: homeassistant
id: prints_charming_tray_7_active
entity_id: sensor.p1s_01p09c470102673_ams_2_tray_4
internal: true
attribute: active
- platform: homeassistant
id: polly_pocket_status
entity_id: sensor.a1mini_0309ca580403653_print_status
internal: true
- platform: homeassistant
id: polly_pocket_task
entity_id: sensor.a1mini_0309ca580403653_task_name
internal: true
- platform: homeassistant
id: polly_pocket_stage
entity_id: sensor.a1mini_0309ca580403653_current_stage
internal: true
- platform: homeassistant
id: polly_pocket_online
entity_id: binary_sensor.a1mini_0309ca580403653_online
internal: true
- platform: homeassistant
id: polly_pocket_print_error
entity_id: binary_sensor.a1mini_0309ca580403653_print_error
internal: true
- platform: homeassistant
id: polly_pocket_hms_error
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
- platform: homeassistant
id: polly_pocket_hms_count
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: Count
- platform: homeassistant
id: polly_pocket_hms_1_message
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 1-Error
- platform: homeassistant
id: polly_pocket_hms_1_code
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 1-Code
- platform: homeassistant
id: polly_pocket_hms_1_severity
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 1-Severity
- platform: homeassistant
id: polly_pocket_hms_2_message
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 2-Error
- platform: homeassistant
id: polly_pocket_hms_2_code
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 2-Code
- platform: homeassistant
id: polly_pocket_hms_2_severity
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 2-Severity
- platform: homeassistant
id: polly_pocket_hms_3_message
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 3-Error
- platform: homeassistant
id: polly_pocket_hms_3_code
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 3-Code
- platform: homeassistant
id: polly_pocket_hms_3_severity
entity_id: binary_sensor.a1mini_0309ca580403653_hms_errors
internal: true
attribute: 3-Severity
- platform: homeassistant
id: polly_pocket_print_error_message
entity_id: binary_sensor.a1mini_0309ca580403653_print_error
internal: true
attribute: error
- platform: homeassistant
id: polly_pocket_print_error_code
entity_id: binary_sensor.a1mini_0309ca580403653_print_error
internal: true
attribute: code
- platform: homeassistant
id: polly_pocket_remaining_unit
entity_id: sensor.a1mini_0309ca580403653_remaining_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: polly_pocket_nozzle_unit
entity_id: sensor.a1mini_0309ca580403653_nozzle_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: polly_pocket_bed_unit
entity_id: sensor.a1mini_0309ca580403653_bed_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: polly_pocket_tray_0_type
entity_id: sensor.a1mini_0309ca580403653_externalspool_external_spool
internal: true
attribute: type
- platform: homeassistant
id: polly_pocket_tray_0_color
entity_id: sensor.a1mini_0309ca580403653_externalspool_external_spool
internal: true
attribute: color
- platform: homeassistant
id: polly_pocket_tray_0_active
entity_id: sensor.a1mini_0309ca580403653_externalspool_external_spool
internal: true
attribute: active
- platform: homeassistant
id: ds_turd_flinger_status
entity_id: sensor.a1_03919d540806387_print_status
internal: true
- platform: homeassistant
id: ds_turd_flinger_task
entity_id: sensor.a1_03919d540806387_task_name
internal: true
- platform: homeassistant
id: ds_turd_flinger_stage
entity_id: sensor.a1_03919d540806387_current_stage
internal: true
- platform: homeassistant
id: ds_turd_flinger_online
entity_id: binary_sensor.a1_03919d540806387_online
internal: true
- platform: homeassistant
id: ds_turd_flinger_print_error
entity_id: binary_sensor.a1_03919d540806387_print_error
internal: true
- platform: homeassistant
id: ds_turd_flinger_hms_error
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
- platform: homeassistant
id: ds_turd_flinger_hms_count
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: Count
- platform: homeassistant
id: ds_turd_flinger_hms_1_message
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 1-Error
- platform: homeassistant
id: ds_turd_flinger_hms_1_code
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 1-Code
- platform: homeassistant
id: ds_turd_flinger_hms_1_severity
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 1-Severity
- platform: homeassistant
id: ds_turd_flinger_hms_2_message
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 2-Error
- platform: homeassistant
id: ds_turd_flinger_hms_2_code
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 2-Code
- platform: homeassistant
id: ds_turd_flinger_hms_2_severity
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 2-Severity
- platform: homeassistant
id: ds_turd_flinger_hms_3_message
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 3-Error
- platform: homeassistant
id: ds_turd_flinger_hms_3_code
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 3-Code
- platform: homeassistant
id: ds_turd_flinger_hms_3_severity
entity_id: binary_sensor.a1_03919d540806387_hms_errors
internal: true
attribute: 3-Severity
- platform: homeassistant
id: ds_turd_flinger_print_error_message
entity_id: binary_sensor.a1_03919d540806387_print_error
internal: true
attribute: error
- platform: homeassistant
id: ds_turd_flinger_print_error_code
entity_id: binary_sensor.a1_03919d540806387_print_error
internal: true
attribute: code
- platform: homeassistant
id: ds_turd_flinger_remaining_unit
entity_id: sensor.a1_03919d540806387_remaining_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: ds_turd_flinger_nozzle_unit
entity_id: sensor.a1_03919d540806387_nozzle_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: ds_turd_flinger_bed_unit
entity_id: sensor.a1_03919d540806387_bed_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: ds_turd_flinger_tray_0_type
entity_id: sensor.a1_03919d540806387_ams_1_tray_1
internal: true
attribute: type
- platform: homeassistant
id: ds_turd_flinger_tray_0_color
entity_id: sensor.a1_03919d540806387_ams_1_tray_1
internal: true
attribute: color
- platform: homeassistant
id: ds_turd_flinger_tray_0_active
entity_id: sensor.a1_03919d540806387_ams_1_tray_1
internal: true
attribute: active
- platform: homeassistant
id: ds_turd_flinger_tray_1_type
entity_id: sensor.a1_03919d540806387_ams_1_tray_2
internal: true
attribute: type
- platform: homeassistant
id: ds_turd_flinger_tray_1_color
entity_id: sensor.a1_03919d540806387_ams_1_tray_2
internal: true
attribute: color
- platform: homeassistant
id: ds_turd_flinger_tray_1_active
entity_id: sensor.a1_03919d540806387_ams_1_tray_2
internal: true
attribute: active
- platform: homeassistant
id: ds_turd_flinger_tray_2_type
entity_id: sensor.a1_03919d540806387_ams_1_tray_3
internal: true
attribute: type
- platform: homeassistant
id: ds_turd_flinger_tray_2_color
entity_id: sensor.a1_03919d540806387_ams_1_tray_3
internal: true
attribute: color
- platform: homeassistant
id: ds_turd_flinger_tray_2_active
entity_id: sensor.a1_03919d540806387_ams_1_tray_3
internal: true
attribute: active
- platform: homeassistant
id: ds_turd_flinger_tray_3_type
entity_id: sensor.a1_03919d540806387_ams_1_tray_4
internal: true
attribute: type
- platform: homeassistant
id: ds_turd_flinger_tray_3_color
entity_id: sensor.a1_03919d540806387_ams_1_tray_4
internal: true
attribute: color
- platform: homeassistant
id: ds_turd_flinger_tray_3_active
entity_id: sensor.a1_03919d540806387_ams_1_tray_4
internal: true
attribute: active
- platform: homeassistant
id: jordyns_layer_slayer_status
entity_id: sensor.jordyns_layer_slayer_print_status
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_task
entity_id: sensor.jordyns_layer_slayer_task_name
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_stage
entity_id: sensor.jordyns_layer_slayer_current_stage
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_online
entity_id: binary_sensor.jordyns_layer_slayer_online
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_print_error
entity_id: binary_sensor.jordyns_layer_slayer_print_error
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_hms_error
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
- platform: homeassistant
id: jordyns_layer_slayer_hms_count
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: Count
- platform: homeassistant
id: jordyns_layer_slayer_hms_1_message
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 1-Error
- platform: homeassistant
id: jordyns_layer_slayer_hms_1_code
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 1-Code
- platform: homeassistant
id: jordyns_layer_slayer_hms_1_severity
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 1-Severity
- platform: homeassistant
id: jordyns_layer_slayer_hms_2_message
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 2-Error
- platform: homeassistant
id: jordyns_layer_slayer_hms_2_code
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 2-Code
- platform: homeassistant
id: jordyns_layer_slayer_hms_2_severity
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 2-Severity
- platform: homeassistant
id: jordyns_layer_slayer_hms_3_message
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 3-Error
- platform: homeassistant
id: jordyns_layer_slayer_hms_3_code
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 3-Code
- platform: homeassistant
id: jordyns_layer_slayer_hms_3_severity
entity_id: binary_sensor.jordyns_layer_slayer_hms_errors
internal: true
attribute: 3-Severity
- platform: homeassistant
id: jordyns_layer_slayer_print_error_message
entity_id: binary_sensor.jordyns_layer_slayer_print_error
internal: true
attribute: error
- platform: homeassistant
id: jordyns_layer_slayer_print_error_code
entity_id: binary_sensor.jordyns_layer_slayer_print_error
internal: true
attribute: code
- platform: homeassistant
id: jordyns_layer_slayer_remaining_unit
entity_id: sensor.jordyns_layer_slayer_remaining_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: jordyns_layer_slayer_nozzle_unit
entity_id: sensor.jordyns_layer_slayer_nozzle_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: jordyns_layer_slayer_bed_unit
entity_id: sensor.jordyns_layer_slayer_bed_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: jordyns_layer_slayer_tray_0_type
entity_id: sensor.jordyns_layer_slayer_ams_tray_1
internal: true
attribute: type
- platform: homeassistant
id: jordyns_layer_slayer_tray_0_color
entity_id: sensor.jordyns_layer_slayer_ams_tray_1
internal: true
attribute: color
- platform: homeassistant
id: jordyns_layer_slayer_tray_0_active
entity_id: sensor.jordyns_layer_slayer_ams_tray_1
internal: true
attribute: active
- platform: homeassistant
id: jordyns_layer_slayer_tray_1_type
entity_id: sensor.jordyns_layer_slayer_ams_tray_2
internal: true
attribute: type
- platform: homeassistant
id: jordyns_layer_slayer_tray_1_color
entity_id: sensor.jordyns_layer_slayer_ams_tray_2
internal: true
attribute: color
- platform: homeassistant
id: jordyns_layer_slayer_tray_1_active
entity_id: sensor.jordyns_layer_slayer_ams_tray_2
internal: true
attribute: active
- platform: homeassistant
id: jordyns_layer_slayer_tray_2_type
entity_id: sensor.jordyns_layer_slayer_ams_tray_3
internal: true
attribute: type
- platform: homeassistant
id: jordyns_layer_slayer_tray_2_color
entity_id: sensor.jordyns_layer_slayer_ams_tray_3
internal: true
attribute: color
- platform: homeassistant
id: jordyns_layer_slayer_tray_2_active
entity_id: sensor.jordyns_layer_slayer_ams_tray_3
internal: true
attribute: active
- platform: homeassistant
id: jordyns_layer_slayer_tray_3_type
entity_id: sensor.jordyns_layer_slayer_ams_tray_4
internal: true
attribute: type
- platform: homeassistant
id: jordyns_layer_slayer_tray_3_color
entity_id: sensor.jordyns_layer_slayer_ams_tray_4
internal: true
attribute: color
- platform: homeassistant
id: jordyns_layer_slayer_tray_3_active
entity_id: sensor.jordyns_layer_slayer_ams_tray_4
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_status
entity_id: sensor.constipation_orion_print_status
internal: true
- platform: homeassistant
id: constipation_orion_task
entity_id: sensor.constipation_orion_task_name
internal: true
- platform: homeassistant
id: constipation_orion_stage
entity_id: sensor.constipation_orion_current_stage
internal: true
- platform: homeassistant
id: constipation_orion_online
entity_id: binary_sensor.constipation_orion_online
internal: true
- platform: homeassistant
id: constipation_orion_print_error
entity_id: binary_sensor.constipation_orion_print_error
internal: true
- platform: homeassistant
id: constipation_orion_hms_error
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
- platform: homeassistant
id: constipation_orion_hms_count
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: Count
- platform: homeassistant
id: constipation_orion_hms_1_message
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 1-Error
- platform: homeassistant
id: constipation_orion_hms_1_code
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 1-Code
- platform: homeassistant
id: constipation_orion_hms_1_severity
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 1-Severity
- platform: homeassistant
id: constipation_orion_hms_2_message
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 2-Error
- platform: homeassistant
id: constipation_orion_hms_2_code
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 2-Code
- platform: homeassistant
id: constipation_orion_hms_2_severity
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 2-Severity
- platform: homeassistant
id: constipation_orion_hms_3_message
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 3-Error
- platform: homeassistant
id: constipation_orion_hms_3_code
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 3-Code
- platform: homeassistant
id: constipation_orion_hms_3_severity
entity_id: binary_sensor.constipation_orion_hms_errors
internal: true
attribute: 3-Severity
- platform: homeassistant
id: constipation_orion_print_error_message
entity_id: binary_sensor.constipation_orion_print_error
internal: true
attribute: error
- platform: homeassistant
id: constipation_orion_print_error_code
entity_id: binary_sensor.constipation_orion_print_error
internal: true
attribute: code
- platform: homeassistant
id: constipation_orion_remaining_unit
entity_id: sensor.constipation_orion_remaining_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: constipation_orion_nozzle_unit
entity_id: sensor.constipation_orion_nozzle_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: constipation_orion_bed_unit
entity_id: sensor.constipation_orion_bed_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: constipation_orion_tray_0_type
entity_id: sensor.constipation_orion_ams_1_tray_1
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_0_color
entity_id: sensor.constipation_orion_ams_1_tray_1
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_0_active
entity_id: sensor.constipation_orion_ams_1_tray_1
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_tray_1_type
entity_id: sensor.constipation_orion_ams_1_tray_2
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_1_color
entity_id: sensor.constipation_orion_ams_1_tray_2
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_1_active
entity_id: sensor.constipation_orion_ams_1_tray_2
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_tray_2_type
entity_id: sensor.constipation_orion_ams_1_tray_3
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_2_color
entity_id: sensor.constipation_orion_ams_1_tray_3
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_2_active
entity_id: sensor.constipation_orion_ams_1_tray_3
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_tray_3_type
entity_id: sensor.constipation_orion_ams_1_tray_4
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_3_color
entity_id: sensor.constipation_orion_ams_1_tray_4
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_3_active
entity_id: sensor.constipation_orion_ams_1_tray_4
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_tray_4_type
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_1
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_4_color
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_1
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_4_active
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_1
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_tray_5_type
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_2
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_5_color
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_2
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_5_active
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_2
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_tray_6_type
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_3
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_6_color
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_3
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_6_active
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_3
internal: true
attribute: active
- platform: homeassistant
id: constipation_orion_tray_7_type
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_4
internal: true
attribute: type
- platform: homeassistant
id: constipation_orion_tray_7_color
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_4
internal: true
attribute: color
- platform: homeassistant
id: constipation_orion_tray_7_active
entity_id: sensor.h2c_31b8ap5a2200288_ams_2_tray_4
internal: true
attribute: active
- platform: homeassistant
id: centauri_carbon_status
entity_id: sensor.centauri_carbon_print_status
internal: true
- platform: homeassistant
id: centauri_carbon_task
entity_id: sensor.centauri_carbon_file_name
internal: true
- platform: homeassistant
id: centauri_carbon_stage
entity_id: sensor.centauri_carbon_current_status
internal: true
- platform: homeassistant
id: centauri_carbon_print_error
entity_id: sensor.centauri_carbon_print_error
internal: true
- platform: homeassistant
id: centauri_carbon_print_error_reason
entity_id: sensor.centauri_carbon_error_status_reason
internal: true
- platform: homeassistant
id: centauri_carbon_online
entity_id: binary_sensor.centauri_carbon_sdcp_status
internal: true
- platform: homeassistant
id: centauri_carbon_remaining_unit
entity_id: sensor.centauri_carbon_remaining_print_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: centauri_carbon_nozzle_unit
entity_id: sensor.centauri_carbon_nozzle_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: centauri_carbon_bed_unit
entity_id: sensor.centauri_carbon_bed_temperature
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: centauri_carbon_elapsed_unit
entity_id: sensor.centauri_carbon_current_print_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: centauri_carbon_total_time_unit
entity_id: sensor.centauri_carbon_total_print_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: saturn_status
entity_id: sensor.saturn_print_status
internal: true
- platform: homeassistant
id: saturn_task
entity_id: sensor.saturn_file_name
internal: true
- platform: homeassistant
id: saturn_stage
entity_id: sensor.saturn_current_status
internal: true
- platform: homeassistant
id: saturn_print_error
entity_id: sensor.saturn_print_error
internal: true
- platform: homeassistant
id: saturn_print_error_reason
entity_id: sensor.saturn_error_status_reason
internal: true
- platform: homeassistant
id: saturn_online
entity_id: binary_sensor.saturn_sdcp_status
internal: true
- platform: homeassistant
id: saturn_remaining_unit
entity_id: sensor.saturn_remaining_print_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: saturn_uv_unit
entity_id: sensor.saturn_uv_led_temp
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: saturn_elapsed_unit
entity_id: sensor.saturn_current_print_time
internal: true
attribute: unit_of_measurement
- platform: homeassistant
id: saturn_total_time_unit
entity_id: sensor.saturn_total_print_time
internal: true
attribute: unit_of_measurement
script:
- id: prints_charming_refresh
then:
- lambda: !lambda |-
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(prints_charming_progress).state;
data.nozzle = id(prints_charming_nozzle).state;
data.nozzle_target = id(prints_charming_nozzle_target).state;
data.bed = id(prints_charming_bed).state;
data.bed_target = id(prints_charming_bed_target).state;
data.time_left = id(prints_charming_time_left).state;
data.layer = id(prints_charming_layer).state;
data.total_layers = id(prints_charming_total_layers).state;
data.fan = id(prints_charming_fan).state;
data.aux_fan = id(prints_charming_aux_fan).state;
data.exhaust_fan = id(prints_charming_exhaust_fan).state;
data.status = id(prints_charming_status).state;
data.task = id(prints_charming_task).state;
data.stage = id(prints_charming_stage).state;
data.online = id(prints_charming_online).state;
data.print_error = id(prints_charming_print_error).state;
data.hms_error = id(prints_charming_hms_error).state;
data.hms_count = id(prints_charming_hms_count).state;
data.print_error_message = id(prints_charming_print_error_message).state;
data.print_error_code = id(prints_charming_print_error_code).state;
data.remaining_unit = id(prints_charming_remaining_unit).state;
data.nozzle_unit = id(prints_charming_nozzle_unit).state;
data.bed_unit = id(prints_charming_bed_unit).state;
data.health_notices.push_back({id(prints_charming_hms_1_code).state, id(prints_charming_hms_1_message).state, id(prints_charming_hms_1_severity).state});
data.health_notices.push_back({id(prints_charming_hms_2_code).state, id(prints_charming_hms_2_message).state, id(prints_charming_hms_2_severity).state});
data.health_notices.push_back({id(prints_charming_hms_3_code).state, id(prints_charming_hms_3_message).state, id(prints_charming_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(prints_charming_tray_0_type).state, id(prints_charming_tray_0_color).state, id(prints_charming_tray_0_active).state});
data.trays.push_back({"A2", id(prints_charming_tray_1_type).state, id(prints_charming_tray_1_color).state, id(prints_charming_tray_1_active).state});
data.trays.push_back({"A3", id(prints_charming_tray_2_type).state, id(prints_charming_tray_2_color).state, id(prints_charming_tray_2_active).state});
data.trays.push_back({"A4", id(prints_charming_tray_3_type).state, id(prints_charming_tray_3_color).state, id(prints_charming_tray_3_active).state});
data.trays.push_back({"B1", id(prints_charming_tray_4_type).state, id(prints_charming_tray_4_color).state, id(prints_charming_tray_4_active).state});
data.trays.push_back({"B2", id(prints_charming_tray_5_type).state, id(prints_charming_tray_5_color).state, id(prints_charming_tray_5_active).state});
data.trays.push_back({"B3", id(prints_charming_tray_6_type).state, id(prints_charming_tray_6_color).state, id(prints_charming_tray_6_active).state});
data.trays.push_back({"B4", id(prints_charming_tray_7_type).state, id(prints_charming_tray_7_color).state, id(prints_charming_tray_7_active).state});
bambu_display::render(data, {id(prints_charming_status_label), id(prints_charming_task_label), id(prints_charming_top_progress), id(prints_charming_remaining_label), id(prints_charming_layers_label), id(prints_charming_stage_label), id(prints_charming_health_details), {id(prints_charming_progress_arc), id(prints_charming_progress_label), id(prints_charming_progress_detail)}, {id(prints_charming_nozzle_arc), id(prints_charming_nozzle_label), id(prints_charming_nozzle_detail)}, {id(prints_charming_bed_arc), id(prints_charming_bed_label), id(prints_charming_bed_detail)}, {id(prints_charming_fan_arc), id(prints_charming_fan_label), id(prints_charming_fan_detail)}, {id(prints_charming_aux_arc), id(prints_charming_aux_label), id(prints_charming_aux_detail)}, {id(prints_charming_exhaust_arc), id(prints_charming_exhaust_label), id(prints_charming_exhaust_detail)}, {{id(prints_charming_tray_0_card), id(prints_charming_tray_0_swatch), id(prints_charming_tray_0_label)}, {id(prints_charming_tray_1_card), id(prints_charming_tray_1_swatch), id(prints_charming_tray_1_label)}, {id(prints_charming_tray_2_card), id(prints_charming_tray_2_swatch), id(prints_charming_tray_2_label)}, {id(prints_charming_tray_3_card), id(prints_charming_tray_3_swatch), id(prints_charming_tray_3_label)}, {id(prints_charming_tray_4_card), id(prints_charming_tray_4_swatch), id(prints_charming_tray_4_label)}, {id(prints_charming_tray_5_card), id(prints_charming_tray_5_swatch), id(prints_charming_tray_5_label)}, {id(prints_charming_tray_6_card), id(prints_charming_tray_6_swatch), id(prints_charming_tray_6_label)}, {id(prints_charming_tray_7_card), id(prints_charming_tray_7_swatch), id(prints_charming_tray_7_label)}}});
- id: polly_pocket_refresh
then:
- lambda: !lambda |-
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(polly_pocket_progress).state;
data.nozzle = id(polly_pocket_nozzle).state;
data.nozzle_target = id(polly_pocket_nozzle_target).state;
data.bed = id(polly_pocket_bed).state;
data.bed_target = id(polly_pocket_bed_target).state;
data.time_left = id(polly_pocket_time_left).state;
data.layer = id(polly_pocket_layer).state;
data.total_layers = id(polly_pocket_total_layers).state;
data.fan = id(polly_pocket_fan).state;
data.status = id(polly_pocket_status).state;
data.task = id(polly_pocket_task).state;
data.stage = id(polly_pocket_stage).state;
data.online = id(polly_pocket_online).state;
data.print_error = id(polly_pocket_print_error).state;
data.hms_error = id(polly_pocket_hms_error).state;
data.hms_count = id(polly_pocket_hms_count).state;
data.print_error_message = id(polly_pocket_print_error_message).state;
data.print_error_code = id(polly_pocket_print_error_code).state;
data.remaining_unit = id(polly_pocket_remaining_unit).state;
data.nozzle_unit = id(polly_pocket_nozzle_unit).state;
data.bed_unit = id(polly_pocket_bed_unit).state;
data.health_notices.push_back({id(polly_pocket_hms_1_code).state, id(polly_pocket_hms_1_message).state, id(polly_pocket_hms_1_severity).state});
data.health_notices.push_back({id(polly_pocket_hms_2_code).state, id(polly_pocket_hms_2_message).state, id(polly_pocket_hms_2_severity).state});
data.health_notices.push_back({id(polly_pocket_hms_3_code).state, id(polly_pocket_hms_3_message).state, id(polly_pocket_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"EXT", id(polly_pocket_tray_0_type).state, id(polly_pocket_tray_0_color).state, id(polly_pocket_tray_0_active).state});
bambu_display::render(data, {id(polly_pocket_status_label), id(polly_pocket_task_label), id(polly_pocket_top_progress), id(polly_pocket_remaining_label), id(polly_pocket_layers_label), id(polly_pocket_stage_label), id(polly_pocket_health_details), {id(polly_pocket_progress_arc), id(polly_pocket_progress_label), id(polly_pocket_progress_detail)}, {id(polly_pocket_nozzle_arc), id(polly_pocket_nozzle_label), id(polly_pocket_nozzle_detail)}, {id(polly_pocket_bed_arc), id(polly_pocket_bed_label), id(polly_pocket_bed_detail)}, {id(polly_pocket_fan_arc), id(polly_pocket_fan_label), id(polly_pocket_fan_detail)}, {id(polly_pocket_aux_arc), id(polly_pocket_aux_label), id(polly_pocket_aux_detail)}, {id(polly_pocket_exhaust_arc), id(polly_pocket_exhaust_label), id(polly_pocket_exhaust_detail)}, {{id(polly_pocket_tray_0_card), id(polly_pocket_tray_0_swatch), id(polly_pocket_tray_0_label)}}});
- id: ds_turd_flinger_refresh
then:
- lambda: !lambda |-
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(ds_turd_flinger_progress).state;
data.nozzle = id(ds_turd_flinger_nozzle).state;
data.nozzle_target = id(ds_turd_flinger_nozzle_target).state;
data.bed = id(ds_turd_flinger_bed).state;
data.bed_target = id(ds_turd_flinger_bed_target).state;
data.time_left = id(ds_turd_flinger_time_left).state;
data.layer = id(ds_turd_flinger_layer).state;
data.total_layers = id(ds_turd_flinger_total_layers).state;
data.fan = id(ds_turd_flinger_fan).state;
data.status = id(ds_turd_flinger_status).state;
data.task = id(ds_turd_flinger_task).state;
data.stage = id(ds_turd_flinger_stage).state;
data.online = id(ds_turd_flinger_online).state;
data.print_error = id(ds_turd_flinger_print_error).state;
data.hms_error = id(ds_turd_flinger_hms_error).state;
data.hms_count = id(ds_turd_flinger_hms_count).state;
data.print_error_message = id(ds_turd_flinger_print_error_message).state;
data.print_error_code = id(ds_turd_flinger_print_error_code).state;
data.remaining_unit = id(ds_turd_flinger_remaining_unit).state;
data.nozzle_unit = id(ds_turd_flinger_nozzle_unit).state;
data.bed_unit = id(ds_turd_flinger_bed_unit).state;
data.health_notices.push_back({id(ds_turd_flinger_hms_1_code).state, id(ds_turd_flinger_hms_1_message).state, id(ds_turd_flinger_hms_1_severity).state});
data.health_notices.push_back({id(ds_turd_flinger_hms_2_code).state, id(ds_turd_flinger_hms_2_message).state, id(ds_turd_flinger_hms_2_severity).state});
data.health_notices.push_back({id(ds_turd_flinger_hms_3_code).state, id(ds_turd_flinger_hms_3_message).state, id(ds_turd_flinger_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(ds_turd_flinger_tray_0_type).state, id(ds_turd_flinger_tray_0_color).state, id(ds_turd_flinger_tray_0_active).state});
data.trays.push_back({"A2", id(ds_turd_flinger_tray_1_type).state, id(ds_turd_flinger_tray_1_color).state, id(ds_turd_flinger_tray_1_active).state});
data.trays.push_back({"A3", id(ds_turd_flinger_tray_2_type).state, id(ds_turd_flinger_tray_2_color).state, id(ds_turd_flinger_tray_2_active).state});
data.trays.push_back({"A4", id(ds_turd_flinger_tray_3_type).state, id(ds_turd_flinger_tray_3_color).state, id(ds_turd_flinger_tray_3_active).state});
bambu_display::render(data, {id(ds_turd_flinger_status_label), id(ds_turd_flinger_task_label), id(ds_turd_flinger_top_progress), id(ds_turd_flinger_remaining_label), id(ds_turd_flinger_layers_label), id(ds_turd_flinger_stage_label), id(ds_turd_flinger_health_details), {id(ds_turd_flinger_progress_arc), id(ds_turd_flinger_progress_label), id(ds_turd_flinger_progress_detail)}, {id(ds_turd_flinger_nozzle_arc), id(ds_turd_flinger_nozzle_label), id(ds_turd_flinger_nozzle_detail)}, {id(ds_turd_flinger_bed_arc), id(ds_turd_flinger_bed_label), id(ds_turd_flinger_bed_detail)}, {id(ds_turd_flinger_fan_arc), id(ds_turd_flinger_fan_label), id(ds_turd_flinger_fan_detail)}, {id(ds_turd_flinger_aux_arc), id(ds_turd_flinger_aux_label), id(ds_turd_flinger_aux_detail)}, {id(ds_turd_flinger_exhaust_arc), id(ds_turd_flinger_exhaust_label), id(ds_turd_flinger_exhaust_detail)}, {{id(ds_turd_flinger_tray_0_card), id(ds_turd_flinger_tray_0_swatch), id(ds_turd_flinger_tray_0_label)}, {id(ds_turd_flinger_tray_1_card), id(ds_turd_flinger_tray_1_swatch), id(ds_turd_flinger_tray_1_label)}, {id(ds_turd_flinger_tray_2_card), id(ds_turd_flinger_tray_2_swatch), id(ds_turd_flinger_tray_2_label)}, {id(ds_turd_flinger_tray_3_card), id(ds_turd_flinger_tray_3_swatch), id(ds_turd_flinger_tray_3_label)}}});
- id: jordyns_layer_slayer_refresh
then:
- lambda: !lambda |-
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(jordyns_layer_slayer_progress).state;
data.nozzle = id(jordyns_layer_slayer_nozzle).state;
data.nozzle_target = id(jordyns_layer_slayer_nozzle_target).state;
data.bed = id(jordyns_layer_slayer_bed).state;
data.bed_target = id(jordyns_layer_slayer_bed_target).state;
data.time_left = id(jordyns_layer_slayer_time_left).state;
data.layer = id(jordyns_layer_slayer_layer).state;
data.total_layers = id(jordyns_layer_slayer_total_layers).state;
data.fan = id(jordyns_layer_slayer_fan).state;
data.status = id(jordyns_layer_slayer_status).state;
data.task = id(jordyns_layer_slayer_task).state;
data.stage = id(jordyns_layer_slayer_stage).state;
data.online = id(jordyns_layer_slayer_online).state;
data.print_error = id(jordyns_layer_slayer_print_error).state;
data.hms_error = id(jordyns_layer_slayer_hms_error).state;
data.hms_count = id(jordyns_layer_slayer_hms_count).state;
data.print_error_message = id(jordyns_layer_slayer_print_error_message).state;
data.print_error_code = id(jordyns_layer_slayer_print_error_code).state;
data.remaining_unit = id(jordyns_layer_slayer_remaining_unit).state;
data.nozzle_unit = id(jordyns_layer_slayer_nozzle_unit).state;
data.bed_unit = id(jordyns_layer_slayer_bed_unit).state;
data.health_notices.push_back({id(jordyns_layer_slayer_hms_1_code).state, id(jordyns_layer_slayer_hms_1_message).state, id(jordyns_layer_slayer_hms_1_severity).state});
data.health_notices.push_back({id(jordyns_layer_slayer_hms_2_code).state, id(jordyns_layer_slayer_hms_2_message).state, id(jordyns_layer_slayer_hms_2_severity).state});
data.health_notices.push_back({id(jordyns_layer_slayer_hms_3_code).state, id(jordyns_layer_slayer_hms_3_message).state, id(jordyns_layer_slayer_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(jordyns_layer_slayer_tray_0_type).state, id(jordyns_layer_slayer_tray_0_color).state, id(jordyns_layer_slayer_tray_0_active).state});
data.trays.push_back({"A2", id(jordyns_layer_slayer_tray_1_type).state, id(jordyns_layer_slayer_tray_1_color).state, id(jordyns_layer_slayer_tray_1_active).state});
data.trays.push_back({"A3", id(jordyns_layer_slayer_tray_2_type).state, id(jordyns_layer_slayer_tray_2_color).state, id(jordyns_layer_slayer_tray_2_active).state});
data.trays.push_back({"A4", id(jordyns_layer_slayer_tray_3_type).state, id(jordyns_layer_slayer_tray_3_color).state, id(jordyns_layer_slayer_tray_3_active).state});
bambu_display::render(data, {id(jordyns_layer_slayer_status_label), id(jordyns_layer_slayer_task_label), id(jordyns_layer_slayer_top_progress), id(jordyns_layer_slayer_remaining_label), id(jordyns_layer_slayer_layers_label), id(jordyns_layer_slayer_stage_label), id(jordyns_layer_slayer_health_details), {id(jordyns_layer_slayer_progress_arc), id(jordyns_layer_slayer_progress_label), id(jordyns_layer_slayer_progress_detail)}, {id(jordyns_layer_slayer_nozzle_arc), id(jordyns_layer_slayer_nozzle_label), id(jordyns_layer_slayer_nozzle_detail)}, {id(jordyns_layer_slayer_bed_arc), id(jordyns_layer_slayer_bed_label), id(jordyns_layer_slayer_bed_detail)}, {id(jordyns_layer_slayer_fan_arc), id(jordyns_layer_slayer_fan_label), id(jordyns_layer_slayer_fan_detail)}, {id(jordyns_layer_slayer_aux_arc), id(jordyns_layer_slayer_aux_label), id(jordyns_layer_slayer_aux_detail)}, {id(jordyns_layer_slayer_exhaust_arc), id(jordyns_layer_slayer_exhaust_label), id(jordyns_layer_slayer_exhaust_detail)}, {{id(jordyns_layer_slayer_tray_0_card), id(jordyns_layer_slayer_tray_0_swatch), id(jordyns_layer_slayer_tray_0_label)}, {id(jordyns_layer_slayer_tray_1_card), id(jordyns_layer_slayer_tray_1_swatch), id(jordyns_layer_slayer_tray_1_label)}, {id(jordyns_layer_slayer_tray_2_card), id(jordyns_layer_slayer_tray_2_swatch), id(jordyns_layer_slayer_tray_2_label)}, {id(jordyns_layer_slayer_tray_3_card), id(jordyns_layer_slayer_tray_3_swatch), id(jordyns_layer_slayer_tray_3_label)}}});
- id: constipation_orion_refresh
then:
- lambda: !lambda |-
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(constipation_orion_progress).state;
data.nozzle = id(constipation_orion_nozzle).state;
data.nozzle_target = id(constipation_orion_nozzle_target).state;
data.bed = id(constipation_orion_bed).state;
data.bed_target = id(constipation_orion_bed_target).state;
data.time_left = id(constipation_orion_time_left).state;
data.layer = id(constipation_orion_layer).state;
data.total_layers = id(constipation_orion_total_layers).state;
data.fan = id(constipation_orion_fan).state;
data.left_nozzle = id(constipation_orion_left_nozzle).state;
data.left_target = id(constipation_orion_left_target).state;
data.right_nozzle = id(constipation_orion_right_nozzle).state;
data.right_target = id(constipation_orion_right_target).state;
data.exhaust_fan = id(constipation_orion_exhaust_fan).state;
data.status = id(constipation_orion_status).state;
data.task = id(constipation_orion_task).state;
data.stage = id(constipation_orion_stage).state;
data.online = id(constipation_orion_online).state;
data.print_error = id(constipation_orion_print_error).state;
data.hms_error = id(constipation_orion_hms_error).state;
data.hms_count = id(constipation_orion_hms_count).state;
data.print_error_message = id(constipation_orion_print_error_message).state;
data.print_error_code = id(constipation_orion_print_error_code).state;
data.remaining_unit = id(constipation_orion_remaining_unit).state;
data.nozzle_unit = id(constipation_orion_nozzle_unit).state;
data.bed_unit = id(constipation_orion_bed_unit).state;
data.health_notices.push_back({id(constipation_orion_hms_1_code).state, id(constipation_orion_hms_1_message).state, id(constipation_orion_hms_1_severity).state});
data.health_notices.push_back({id(constipation_orion_hms_2_code).state, id(constipation_orion_hms_2_message).state, id(constipation_orion_hms_2_severity).state});
data.health_notices.push_back({id(constipation_orion_hms_3_code).state, id(constipation_orion_hms_3_message).state, id(constipation_orion_hms_3_severity).state});
data.dual_nozzle = true;
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(constipation_orion_tray_0_type).state, id(constipation_orion_tray_0_color).state, id(constipation_orion_tray_0_active).state});
data.trays.push_back({"A2", id(constipation_orion_tray_1_type).state, id(constipation_orion_tray_1_color).state, id(constipation_orion_tray_1_active).state});
data.trays.push_back({"A3", id(constipation_orion_tray_2_type).state, id(constipation_orion_tray_2_color).state, id(constipation_orion_tray_2_active).state});
data.trays.push_back({"A4", id(constipation_orion_tray_3_type).state, id(constipation_orion_tray_3_color).state, id(constipation_orion_tray_3_active).state});
data.trays.push_back({"B1", id(constipation_orion_tray_4_type).state, id(constipation_orion_tray_4_color).state, id(constipation_orion_tray_4_active).state});
data.trays.push_back({"B2", id(constipation_orion_tray_5_type).state, id(constipation_orion_tray_5_color).state, id(constipation_orion_tray_5_active).state});
data.trays.push_back({"B3", id(constipation_orion_tray_6_type).state, id(constipation_orion_tray_6_color).state, id(constipation_orion_tray_6_active).state});
data.trays.push_back({"B4", id(constipation_orion_tray_7_type).state, id(constipation_orion_tray_7_color).state, id(constipation_orion_tray_7_active).state});
bambu_display::render(data, {id(constipation_orion_status_label), id(constipation_orion_task_label), id(constipation_orion_top_progress), id(constipation_orion_remaining_label), id(constipation_orion_layers_label), id(constipation_orion_stage_label), id(constipation_orion_health_details), {id(constipation_orion_progress_arc), id(constipation_orion_progress_label), id(constipation_orion_progress_detail)}, {id(constipation_orion_nozzle_arc), id(constipation_orion_nozzle_label), id(constipation_orion_nozzle_detail)}, {id(constipation_orion_bed_arc), id(constipation_orion_bed_label), id(constipation_orion_bed_detail)}, {id(constipation_orion_fan_arc), id(constipation_orion_fan_label), id(constipation_orion_fan_detail)}, {id(constipation_orion_aux_arc), id(constipation_orion_aux_label), id(constipation_orion_aux_detail)}, {id(constipation_orion_exhaust_arc), id(constipation_orion_exhaust_label), id(constipation_orion_exhaust_detail)}, {{id(constipation_orion_tray_0_card), id(constipation_orion_tray_0_swatch), id(constipation_orion_tray_0_label)}, {id(constipation_orion_tray_1_card), id(constipation_orion_tray_1_swatch), id(constipation_orion_tray_1_label)}, {id(constipation_orion_tray_2_card), id(constipation_orion_tray_2_swatch), id(constipation_orion_tray_2_label)}, {id(constipation_orion_tray_3_card), id(constipation_orion_tray_3_swatch), id(constipation_orion_tray_3_label)}, {id(constipation_orion_tray_4_card), id(constipation_orion_tray_4_swatch), id(constipation_orion_tray_4_label)}, {id(constipation_orion_tray_5_card), id(constipation_orion_tray_5_swatch), id(constipation_orion_tray_5_label)}, {id(constipation_orion_tray_6_card), id(constipation_orion_tray_6_swatch), id(constipation_orion_tray_6_label)}, {id(constipation_orion_tray_7_card), id(constipation_orion_tray_7_swatch), id(constipation_orion_tray_7_label)}}});
- id: centauri_carbon_refresh
then:
- lambda: !lambda |-
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(centauri_carbon_progress).state;
data.time_left = id(centauri_carbon_time_left).state;
data.layer = id(centauri_carbon_layer).state;
data.total_layers = id(centauri_carbon_total_layers).state;
data.total_time = id(centauri_carbon_total_time).state;
data.nozzle = id(centauri_carbon_nozzle).state;
data.bed = id(centauri_carbon_bed).state;
data.elapsed = id(centauri_carbon_elapsed).state;
data.nozzle_target = id(centauri_carbon_nozzle_target).state;
data.bed_target = id(centauri_carbon_bed_target).state;
data.fan = id(centauri_carbon_fan).state;
data.aux_fan = id(centauri_carbon_aux_fan).state;
data.exhaust_fan = id(centauri_carbon_exhaust_fan).state;
data.status = id(centauri_carbon_status).state;
data.task = id(centauri_carbon_task).state;
data.stage = id(centauri_carbon_stage).state;
data.print_error = id(centauri_carbon_print_error).state;
data.print_error_reason = id(centauri_carbon_print_error_reason).state;
data.online = id(centauri_carbon_online).state;
data.remaining_unit = id(centauri_carbon_remaining_unit).state;
data.nozzle_unit = id(centauri_carbon_nozzle_unit).state;
data.bed_unit = id(centauri_carbon_bed_unit).state;
data.elapsed_unit = id(centauri_carbon_elapsed_unit).state;
data.total_time_unit = id(centauri_carbon_total_time_unit).state;
data.elegoo = true;
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
bambu_display::render(data, {id(centauri_carbon_status_label), id(centauri_carbon_task_label), id(centauri_carbon_top_progress), id(centauri_carbon_remaining_label), id(centauri_carbon_layers_label), id(centauri_carbon_stage_label), id(centauri_carbon_health_details), {id(centauri_carbon_progress_arc), id(centauri_carbon_progress_label), id(centauri_carbon_progress_detail)}, {id(centauri_carbon_nozzle_arc), id(centauri_carbon_nozzle_label), id(centauri_carbon_nozzle_detail)}, {id(centauri_carbon_bed_arc), id(centauri_carbon_bed_label), id(centauri_carbon_bed_detail)}, {id(centauri_carbon_fan_arc), id(centauri_carbon_fan_label), id(centauri_carbon_fan_detail)}, {id(centauri_carbon_aux_arc), id(centauri_carbon_aux_label), id(centauri_carbon_aux_detail)}, {id(centauri_carbon_exhaust_arc), id(centauri_carbon_exhaust_label), id(centauri_carbon_exhaust_detail)}, {}});
- id: saturn_refresh
then:
- lambda: !lambda |-
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(saturn_progress).state;
data.time_left = id(saturn_time_left).state;
data.layer = id(saturn_layer).state;
data.total_layers = id(saturn_total_layers).state;
data.total_time = id(saturn_total_time).state;
data.uv = id(saturn_uv).state;
data.elapsed = id(saturn_elapsed).state;
data.status = id(saturn_status).state;
data.task = id(saturn_task).state;
data.stage = id(saturn_stage).state;
data.print_error = id(saturn_print_error).state;
data.print_error_reason = id(saturn_print_error_reason).state;
data.online = id(saturn_online).state;
data.remaining_unit = id(saturn_remaining_unit).state;
data.uv_unit = id(saturn_uv_unit).state;
data.elapsed_unit = id(saturn_elapsed_unit).state;
data.total_time_unit = id(saturn_total_time_unit).state;
data.elegoo = true;
data.resin = true;
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
bambu_display::render(data, {id(saturn_status_label), id(saturn_task_label), id(saturn_top_progress), id(saturn_remaining_label), id(saturn_layers_label), id(saturn_stage_label), id(saturn_health_details), {id(saturn_progress_arc), id(saturn_progress_label), id(saturn_progress_detail)}, {}, {}, {}, {}, {}, {}, {id(saturn_uv_arc), id(saturn_uv_label), id(saturn_uv_detail)}, {id(saturn_layer_arc), id(saturn_layer_label), id(saturn_layer_detail)}, id(saturn_elapsed_label)});
- id: fleet_refresh
then:
- lambda: !lambda |-
{
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(prints_charming_progress).state;
data.nozzle = id(prints_charming_nozzle).state;
data.nozzle_target = id(prints_charming_nozzle_target).state;
data.bed = id(prints_charming_bed).state;
data.bed_target = id(prints_charming_bed_target).state;
data.time_left = id(prints_charming_time_left).state;
data.layer = id(prints_charming_layer).state;
data.total_layers = id(prints_charming_total_layers).state;
data.fan = id(prints_charming_fan).state;
data.aux_fan = id(prints_charming_aux_fan).state;
data.exhaust_fan = id(prints_charming_exhaust_fan).state;
data.status = id(prints_charming_status).state;
data.task = id(prints_charming_task).state;
data.stage = id(prints_charming_stage).state;
data.online = id(prints_charming_online).state;
data.print_error = id(prints_charming_print_error).state;
data.hms_error = id(prints_charming_hms_error).state;
data.hms_count = id(prints_charming_hms_count).state;
data.print_error_message = id(prints_charming_print_error_message).state;
data.print_error_code = id(prints_charming_print_error_code).state;
data.remaining_unit = id(prints_charming_remaining_unit).state;
data.nozzle_unit = id(prints_charming_nozzle_unit).state;
data.bed_unit = id(prints_charming_bed_unit).state;
data.health_notices.push_back({id(prints_charming_hms_1_code).state, id(prints_charming_hms_1_message).state, id(prints_charming_hms_1_severity).state});
data.health_notices.push_back({id(prints_charming_hms_2_code).state, id(prints_charming_hms_2_message).state, id(prints_charming_hms_2_severity).state});
data.health_notices.push_back({id(prints_charming_hms_3_code).state, id(prints_charming_hms_3_message).state, id(prints_charming_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(prints_charming_tray_0_type).state, id(prints_charming_tray_0_color).state, id(prints_charming_tray_0_active).state});
data.trays.push_back({"A2", id(prints_charming_tray_1_type).state, id(prints_charming_tray_1_color).state, id(prints_charming_tray_1_active).state});
data.trays.push_back({"A3", id(prints_charming_tray_2_type).state, id(prints_charming_tray_2_color).state, id(prints_charming_tray_2_active).state});
data.trays.push_back({"A4", id(prints_charming_tray_3_type).state, id(prints_charming_tray_3_color).state, id(prints_charming_tray_3_active).state});
data.trays.push_back({"B1", id(prints_charming_tray_4_type).state, id(prints_charming_tray_4_color).state, id(prints_charming_tray_4_active).state});
data.trays.push_back({"B2", id(prints_charming_tray_5_type).state, id(prints_charming_tray_5_color).state, id(prints_charming_tray_5_active).state});
data.trays.push_back({"B3", id(prints_charming_tray_6_type).state, id(prints_charming_tray_6_color).state, id(prints_charming_tray_6_active).state});
data.trays.push_back({"B4", id(prints_charming_tray_7_type).state, id(prints_charming_tray_7_color).state, id(prints_charming_tray_7_active).state});
bambu_display::render_overview(data, {id(prints_charming_overview_arc), id(prints_charming_overview_value), id(prints_charming_overview_finish), id(prints_charming_overview_ring)});
}
{
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(polly_pocket_progress).state;
data.nozzle = id(polly_pocket_nozzle).state;
data.nozzle_target = id(polly_pocket_nozzle_target).state;
data.bed = id(polly_pocket_bed).state;
data.bed_target = id(polly_pocket_bed_target).state;
data.time_left = id(polly_pocket_time_left).state;
data.layer = id(polly_pocket_layer).state;
data.total_layers = id(polly_pocket_total_layers).state;
data.fan = id(polly_pocket_fan).state;
data.status = id(polly_pocket_status).state;
data.task = id(polly_pocket_task).state;
data.stage = id(polly_pocket_stage).state;
data.online = id(polly_pocket_online).state;
data.print_error = id(polly_pocket_print_error).state;
data.hms_error = id(polly_pocket_hms_error).state;
data.hms_count = id(polly_pocket_hms_count).state;
data.print_error_message = id(polly_pocket_print_error_message).state;
data.print_error_code = id(polly_pocket_print_error_code).state;
data.remaining_unit = id(polly_pocket_remaining_unit).state;
data.nozzle_unit = id(polly_pocket_nozzle_unit).state;
data.bed_unit = id(polly_pocket_bed_unit).state;
data.health_notices.push_back({id(polly_pocket_hms_1_code).state, id(polly_pocket_hms_1_message).state, id(polly_pocket_hms_1_severity).state});
data.health_notices.push_back({id(polly_pocket_hms_2_code).state, id(polly_pocket_hms_2_message).state, id(polly_pocket_hms_2_severity).state});
data.health_notices.push_back({id(polly_pocket_hms_3_code).state, id(polly_pocket_hms_3_message).state, id(polly_pocket_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"EXT", id(polly_pocket_tray_0_type).state, id(polly_pocket_tray_0_color).state, id(polly_pocket_tray_0_active).state});
bambu_display::render_overview(data, {id(polly_pocket_overview_arc), id(polly_pocket_overview_value), id(polly_pocket_overview_finish), id(polly_pocket_overview_ring)});
}
{
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(ds_turd_flinger_progress).state;
data.nozzle = id(ds_turd_flinger_nozzle).state;
data.nozzle_target = id(ds_turd_flinger_nozzle_target).state;
data.bed = id(ds_turd_flinger_bed).state;
data.bed_target = id(ds_turd_flinger_bed_target).state;
data.time_left = id(ds_turd_flinger_time_left).state;
data.layer = id(ds_turd_flinger_layer).state;
data.total_layers = id(ds_turd_flinger_total_layers).state;
data.fan = id(ds_turd_flinger_fan).state;
data.status = id(ds_turd_flinger_status).state;
data.task = id(ds_turd_flinger_task).state;
data.stage = id(ds_turd_flinger_stage).state;
data.online = id(ds_turd_flinger_online).state;
data.print_error = id(ds_turd_flinger_print_error).state;
data.hms_error = id(ds_turd_flinger_hms_error).state;
data.hms_count = id(ds_turd_flinger_hms_count).state;
data.print_error_message = id(ds_turd_flinger_print_error_message).state;
data.print_error_code = id(ds_turd_flinger_print_error_code).state;
data.remaining_unit = id(ds_turd_flinger_remaining_unit).state;
data.nozzle_unit = id(ds_turd_flinger_nozzle_unit).state;
data.bed_unit = id(ds_turd_flinger_bed_unit).state;
data.health_notices.push_back({id(ds_turd_flinger_hms_1_code).state, id(ds_turd_flinger_hms_1_message).state, id(ds_turd_flinger_hms_1_severity).state});
data.health_notices.push_back({id(ds_turd_flinger_hms_2_code).state, id(ds_turd_flinger_hms_2_message).state, id(ds_turd_flinger_hms_2_severity).state});
data.health_notices.push_back({id(ds_turd_flinger_hms_3_code).state, id(ds_turd_flinger_hms_3_message).state, id(ds_turd_flinger_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(ds_turd_flinger_tray_0_type).state, id(ds_turd_flinger_tray_0_color).state, id(ds_turd_flinger_tray_0_active).state});
data.trays.push_back({"A2", id(ds_turd_flinger_tray_1_type).state, id(ds_turd_flinger_tray_1_color).state, id(ds_turd_flinger_tray_1_active).state});
data.trays.push_back({"A3", id(ds_turd_flinger_tray_2_type).state, id(ds_turd_flinger_tray_2_color).state, id(ds_turd_flinger_tray_2_active).state});
data.trays.push_back({"A4", id(ds_turd_flinger_tray_3_type).state, id(ds_turd_flinger_tray_3_color).state, id(ds_turd_flinger_tray_3_active).state});
bambu_display::render_overview(data, {id(ds_turd_flinger_overview_arc), id(ds_turd_flinger_overview_value), id(ds_turd_flinger_overview_finish), id(ds_turd_flinger_overview_ring)});
}
{
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(jordyns_layer_slayer_progress).state;
data.nozzle = id(jordyns_layer_slayer_nozzle).state;
data.nozzle_target = id(jordyns_layer_slayer_nozzle_target).state;
data.bed = id(jordyns_layer_slayer_bed).state;
data.bed_target = id(jordyns_layer_slayer_bed_target).state;
data.time_left = id(jordyns_layer_slayer_time_left).state;
data.layer = id(jordyns_layer_slayer_layer).state;
data.total_layers = id(jordyns_layer_slayer_total_layers).state;
data.fan = id(jordyns_layer_slayer_fan).state;
data.status = id(jordyns_layer_slayer_status).state;
data.task = id(jordyns_layer_slayer_task).state;
data.stage = id(jordyns_layer_slayer_stage).state;
data.online = id(jordyns_layer_slayer_online).state;
data.print_error = id(jordyns_layer_slayer_print_error).state;
data.hms_error = id(jordyns_layer_slayer_hms_error).state;
data.hms_count = id(jordyns_layer_slayer_hms_count).state;
data.print_error_message = id(jordyns_layer_slayer_print_error_message).state;
data.print_error_code = id(jordyns_layer_slayer_print_error_code).state;
data.remaining_unit = id(jordyns_layer_slayer_remaining_unit).state;
data.nozzle_unit = id(jordyns_layer_slayer_nozzle_unit).state;
data.bed_unit = id(jordyns_layer_slayer_bed_unit).state;
data.health_notices.push_back({id(jordyns_layer_slayer_hms_1_code).state, id(jordyns_layer_slayer_hms_1_message).state, id(jordyns_layer_slayer_hms_1_severity).state});
data.health_notices.push_back({id(jordyns_layer_slayer_hms_2_code).state, id(jordyns_layer_slayer_hms_2_message).state, id(jordyns_layer_slayer_hms_2_severity).state});
data.health_notices.push_back({id(jordyns_layer_slayer_hms_3_code).state, id(jordyns_layer_slayer_hms_3_message).state, id(jordyns_layer_slayer_hms_3_severity).state});
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(jordyns_layer_slayer_tray_0_type).state, id(jordyns_layer_slayer_tray_0_color).state, id(jordyns_layer_slayer_tray_0_active).state});
data.trays.push_back({"A2", id(jordyns_layer_slayer_tray_1_type).state, id(jordyns_layer_slayer_tray_1_color).state, id(jordyns_layer_slayer_tray_1_active).state});
data.trays.push_back({"A3", id(jordyns_layer_slayer_tray_2_type).state, id(jordyns_layer_slayer_tray_2_color).state, id(jordyns_layer_slayer_tray_2_active).state});
data.trays.push_back({"A4", id(jordyns_layer_slayer_tray_3_type).state, id(jordyns_layer_slayer_tray_3_color).state, id(jordyns_layer_slayer_tray_3_active).state});
bambu_display::render_overview(data, {id(jordyns_layer_slayer_overview_arc), id(jordyns_layer_slayer_overview_value), id(jordyns_layer_slayer_overview_finish), id(jordyns_layer_slayer_overview_ring)});
}
{
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(constipation_orion_progress).state;
data.nozzle = id(constipation_orion_nozzle).state;
data.nozzle_target = id(constipation_orion_nozzle_target).state;
data.bed = id(constipation_orion_bed).state;
data.bed_target = id(constipation_orion_bed_target).state;
data.time_left = id(constipation_orion_time_left).state;
data.layer = id(constipation_orion_layer).state;
data.total_layers = id(constipation_orion_total_layers).state;
data.fan = id(constipation_orion_fan).state;
data.left_nozzle = id(constipation_orion_left_nozzle).state;
data.left_target = id(constipation_orion_left_target).state;
data.right_nozzle = id(constipation_orion_right_nozzle).state;
data.right_target = id(constipation_orion_right_target).state;
data.exhaust_fan = id(constipation_orion_exhaust_fan).state;
data.status = id(constipation_orion_status).state;
data.task = id(constipation_orion_task).state;
data.stage = id(constipation_orion_stage).state;
data.online = id(constipation_orion_online).state;
data.print_error = id(constipation_orion_print_error).state;
data.hms_error = id(constipation_orion_hms_error).state;
data.hms_count = id(constipation_orion_hms_count).state;
data.print_error_message = id(constipation_orion_print_error_message).state;
data.print_error_code = id(constipation_orion_print_error_code).state;
data.remaining_unit = id(constipation_orion_remaining_unit).state;
data.nozzle_unit = id(constipation_orion_nozzle_unit).state;
data.bed_unit = id(constipation_orion_bed_unit).state;
data.health_notices.push_back({id(constipation_orion_hms_1_code).state, id(constipation_orion_hms_1_message).state, id(constipation_orion_hms_1_severity).state});
data.health_notices.push_back({id(constipation_orion_hms_2_code).state, id(constipation_orion_hms_2_message).state, id(constipation_orion_hms_2_severity).state});
data.health_notices.push_back({id(constipation_orion_hms_3_code).state, id(constipation_orion_hms_3_message).state, id(constipation_orion_hms_3_severity).state});
data.dual_nozzle = true;
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
data.trays.push_back({"A1", id(constipation_orion_tray_0_type).state, id(constipation_orion_tray_0_color).state, id(constipation_orion_tray_0_active).state});
data.trays.push_back({"A2", id(constipation_orion_tray_1_type).state, id(constipation_orion_tray_1_color).state, id(constipation_orion_tray_1_active).state});
data.trays.push_back({"A3", id(constipation_orion_tray_2_type).state, id(constipation_orion_tray_2_color).state, id(constipation_orion_tray_2_active).state});
data.trays.push_back({"A4", id(constipation_orion_tray_3_type).state, id(constipation_orion_tray_3_color).state, id(constipation_orion_tray_3_active).state});
data.trays.push_back({"B1", id(constipation_orion_tray_4_type).state, id(constipation_orion_tray_4_color).state, id(constipation_orion_tray_4_active).state});
data.trays.push_back({"B2", id(constipation_orion_tray_5_type).state, id(constipation_orion_tray_5_color).state, id(constipation_orion_tray_5_active).state});
data.trays.push_back({"B3", id(constipation_orion_tray_6_type).state, id(constipation_orion_tray_6_color).state, id(constipation_orion_tray_6_active).state});
data.trays.push_back({"B4", id(constipation_orion_tray_7_type).state, id(constipation_orion_tray_7_color).state, id(constipation_orion_tray_7_active).state});
bambu_display::render_overview(data, {id(constipation_orion_overview_arc), id(constipation_orion_overview_value), id(constipation_orion_overview_finish), id(constipation_orion_overview_ring)});
}
{
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(centauri_carbon_progress).state;
data.time_left = id(centauri_carbon_time_left).state;
data.layer = id(centauri_carbon_layer).state;
data.total_layers = id(centauri_carbon_total_layers).state;
data.total_time = id(centauri_carbon_total_time).state;
data.nozzle = id(centauri_carbon_nozzle).state;
data.bed = id(centauri_carbon_bed).state;
data.elapsed = id(centauri_carbon_elapsed).state;
data.nozzle_target = id(centauri_carbon_nozzle_target).state;
data.bed_target = id(centauri_carbon_bed_target).state;
data.fan = id(centauri_carbon_fan).state;
data.aux_fan = id(centauri_carbon_aux_fan).state;
data.exhaust_fan = id(centauri_carbon_exhaust_fan).state;
data.status = id(centauri_carbon_status).state;
data.task = id(centauri_carbon_task).state;
data.stage = id(centauri_carbon_stage).state;
data.print_error = id(centauri_carbon_print_error).state;
data.print_error_reason = id(centauri_carbon_print_error_reason).state;
data.online = id(centauri_carbon_online).state;
data.remaining_unit = id(centauri_carbon_remaining_unit).state;
data.nozzle_unit = id(centauri_carbon_nozzle_unit).state;
data.bed_unit = id(centauri_carbon_bed_unit).state;
data.elapsed_unit = id(centauri_carbon_elapsed_unit).state;
data.total_time_unit = id(centauri_carbon_total_time_unit).state;
data.elegoo = true;
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
bambu_display::render_overview(data, {id(centauri_carbon_overview_arc), id(centauri_carbon_overview_value), id(centauri_carbon_overview_finish), id(centauri_carbon_overview_ring)});
}
{
bambu_display::Snapshot data;
data.connected = id(ha_api).is_connected_with_state_subscription();
data.progress = id(saturn_progress).state;
data.time_left = id(saturn_time_left).state;
data.layer = id(saturn_layer).state;
data.total_layers = id(saturn_total_layers).state;
data.total_time = id(saturn_total_time).state;
data.uv = id(saturn_uv).state;
data.elapsed = id(saturn_elapsed).state;
data.status = id(saturn_status).state;
data.task = id(saturn_task).state;
data.stage = id(saturn_stage).state;
data.print_error = id(saturn_print_error).state;
data.print_error_reason = id(saturn_print_error_reason).state;
data.online = id(saturn_online).state;
data.remaining_unit = id(saturn_remaining_unit).state;
data.uv_unit = id(saturn_uv_unit).state;
data.elapsed_unit = id(saturn_elapsed_unit).state;
data.total_time_unit = id(saturn_total_time_unit).state;
data.elegoo = true;
data.resin = true;
const int seconds_left = bambu_display::duration_seconds(data.time_left, data.remaining_unit);
const auto clock = id(ha_time).now();
if (clock.is_valid() && seconds_left >= 0)
data.finish_time = esphome::ESPTime::from_epoch_local(clock.timestamp + seconds_left).strftime("%H:%M");
bambu_display::render_overview(data, {id(saturn_overview_arc), id(saturn_overview_value), id(saturn_overview_finish), id(saturn_overview_ring)});
}
{
const auto clock = id(ha_time).now();
std::string clock_text = "--:--";
if (clock.is_valid()) {
clock_text = esphome::ESPTime::from_epoch_local(clock.timestamp).strftime("%I:%M %p");
if (!clock_text.empty() && clock_text[0] == '0') clock_text.erase(0, 1);
}
bambu_display::set_text(id(fleet_clock), clock_text);
}
interval:
- interval: 1s
then:
- if:
condition:
lvgl.page.is_showing: prints_charming_page
then:
- script.execute: prints_charming_refresh
- if:
condition:
lvgl.page.is_showing: polly_pocket_page
then:
- script.execute: polly_pocket_refresh
- if:
condition:
lvgl.page.is_showing: ds_turd_flinger_page
then:
- script.execute: ds_turd_flinger_refresh
- if:
condition:
lvgl.page.is_showing: jordyns_layer_slayer_page
then:
- script.execute: jordyns_layer_slayer_refresh
- if:
condition:
lvgl.page.is_showing: constipation_orion_page
then:
- script.execute: constipation_orion_refresh
- if:
condition:
lvgl.page.is_showing: centauri_carbon_page
then:
- script.execute: centauri_carbon_refresh
- if:
condition:
lvgl.page.is_showing: saturn_page
then:
- script.execute: saturn_refresh
- if:
condition:
lvgl.page.is_showing: fleet_page
then:
- script.execute: fleet_refresh
lvgl:
pages:
- id: fleet_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: fleet_refresh
widgets:
- label:
text: Print Status Overview
x: 16
y: 10
width: 520
height: 30
text_color: 65280
text_font: montserrat_22
long_mode: DOT
gesture_bubble: true
- label:
text: --:--
x: 548
y: 12
width: 236
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
id: fleet_clock
text_align: RIGHT
- arc:
id: prints_charming_overview_ring
x: 23
y: 42
width: 153
height: 153
min_value: 0
max_value: 100
value: 100
start_angle: 135
end_angle: 45
arc_width: 20
arc_color: 7239294
indicator:
arc_color: 7239294
arc_width: 20
adjustable: false
hidden: true
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: prints_charming_page
- arc:
id: prints_charming_overview_arc
x: 27
y: 46
width: 145
height: 145
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 12
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 12
adjustable: false
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: prints_charming_page
- label:
text: --
x: 27
y: 90
width: 145
height: 40
text_color: 16777215
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: prints_charming_overview_value
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: prints_charming_page
- label:
text: '%'
x: 27
y: 124
width: 145
height: 24
text_color: 16777215
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_overview_percent
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: prints_charming_page
- label:
text: PrintsCharming
x: 19
y: 193
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: prints_charming_page
- label:
text: --
x: 19
y: 213
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: prints_charming_overview_finish
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: prints_charming_page
- arc:
id: polly_pocket_overview_ring
x: 223
y: 42
width: 153
height: 153
min_value: 0
max_value: 100
value: 100
start_angle: 135
end_angle: 45
arc_width: 20
arc_color: 7239294
indicator:
arc_color: 7239294
arc_width: 20
adjustable: false
hidden: true
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: polly_pocket_page
- arc:
id: polly_pocket_overview_arc
x: 227
y: 46
width: 145
height: 145
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 12
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 12
adjustable: false
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: polly_pocket_page
- label:
text: --
x: 227
y: 90
width: 145
height: 40
text_color: 16777215
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: polly_pocket_overview_value
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: polly_pocket_page
- label:
text: '%'
x: 227
y: 124
width: 145
height: 24
text_color: 16777215
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_overview_percent
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: polly_pocket_page
- label:
text: Polly-Pocket
x: 219
y: 193
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: polly_pocket_page
- label:
text: --
x: 219
y: 213
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: polly_pocket_overview_finish
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: polly_pocket_page
- arc:
id: ds_turd_flinger_overview_ring
x: 423
y: 42
width: 153
height: 153
min_value: 0
max_value: 100
value: 100
start_angle: 135
end_angle: 45
arc_width: 20
arc_color: 7239294
indicator:
arc_color: 7239294
arc_width: 20
adjustable: false
hidden: true
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: ds_turd_flinger_page
- arc:
id: ds_turd_flinger_overview_arc
x: 427
y: 46
width: 145
height: 145
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 12
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 12
adjustable: false
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: ds_turd_flinger_page
- label:
text: --
x: 427
y: 90
width: 145
height: 40
text_color: 16777215
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_overview_value
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: ds_turd_flinger_page
- label:
text: '%'
x: 427
y: 124
width: 145
height: 24
text_color: 16777215
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_overview_percent
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: ds_turd_flinger_page
- label:
text: Ds-Turd-Flinger
x: 419
y: 193
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: ds_turd_flinger_page
- label:
text: --
x: 419
y: 213
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_overview_finish
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: ds_turd_flinger_page
- arc:
id: jordyns_layer_slayer_overview_ring
x: 623
y: 42
width: 153
height: 153
min_value: 0
max_value: 100
value: 100
start_angle: 135
end_angle: 45
arc_width: 20
arc_color: 7239294
indicator:
arc_color: 7239294
arc_width: 20
adjustable: false
hidden: true
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: jordyns_layer_slayer_page
- arc:
id: jordyns_layer_slayer_overview_arc
x: 627
y: 46
width: 145
height: 145
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 12
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 12
adjustable: false
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: jordyns_layer_slayer_page
- label:
text: --
x: 627
y: 90
width: 145
height: 40
text_color: 16777215
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_overview_value
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: jordyns_layer_slayer_page
- label:
text: '%'
x: 627
y: 124
width: 145
height: 24
text_color: 16777215
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_overview_percent
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: jordyns_layer_slayer_page
- label:
text: Jordyns-Layer-Slayer
x: 619
y: 193
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: jordyns_layer_slayer_page
- label:
text: --
x: 619
y: 213
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_overview_finish
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: jordyns_layer_slayer_page
- arc:
id: constipation_orion_overview_ring
x: 123
y: 235
width: 153
height: 153
min_value: 0
max_value: 100
value: 100
start_angle: 135
end_angle: 45
arc_width: 20
arc_color: 7239294
indicator:
arc_color: 7239294
arc_width: 20
adjustable: false
hidden: true
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: constipation_orion_page
- arc:
id: constipation_orion_overview_arc
x: 127
y: 239
width: 145
height: 145
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 12
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 12
adjustable: false
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: constipation_orion_page
- label:
text: --
x: 127
y: 283
width: 145
height: 40
text_color: 16777215
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: constipation_orion_overview_value
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: constipation_orion_page
- label:
text: '%'
x: 127
y: 317
width: 145
height: 24
text_color: 16777215
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_overview_percent
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: constipation_orion_page
- label:
text: Constipation-Orion
x: 119
y: 386
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: constipation_orion_page
- label:
text: --
x: 119
y: 406
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: constipation_orion_overview_finish
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: constipation_orion_page
- arc:
id: centauri_carbon_overview_ring
x: 323
y: 235
width: 153
height: 153
min_value: 0
max_value: 100
value: 100
start_angle: 135
end_angle: 45
arc_width: 20
arc_color: 7239294
indicator:
arc_color: 7239294
arc_width: 20
adjustable: false
hidden: true
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: centauri_carbon_page
- arc:
id: centauri_carbon_overview_arc
x: 327
y: 239
width: 145
height: 145
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 12
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 12
adjustable: false
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: centauri_carbon_page
- label:
text: --
x: 327
y: 283
width: 145
height: 40
text_color: 16777215
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_overview_value
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: centauri_carbon_page
- label:
text: '%'
x: 327
y: 317
width: 145
height: 24
text_color: 16777215
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_overview_percent
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: centauri_carbon_page
- label:
text: Centauri Carbon
x: 319
y: 386
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: centauri_carbon_page
- label:
text: --
x: 319
y: 406
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_overview_finish
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: centauri_carbon_page
- arc:
id: saturn_overview_ring
x: 523
y: 235
width: 153
height: 153
min_value: 0
max_value: 100
value: 100
start_angle: 135
end_angle: 45
arc_width: 20
arc_color: 7239294
indicator:
arc_color: 7239294
arc_width: 20
adjustable: false
hidden: true
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: saturn_page
- arc:
id: saturn_overview_arc
x: 527
y: 239
width: 145
height: 145
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 12
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 12
adjustable: false
gesture_bubble: true
clickable: true
on_click:
- lvgl.page.show: saturn_page
- label:
text: --
x: 527
y: 283
width: 145
height: 40
text_color: 16777215
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: saturn_overview_value
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: saturn_page
- label:
text: '%'
x: 527
y: 317
width: 145
height: 24
text_color: 16777215
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: saturn_overview_percent
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: saturn_page
- label:
text: Saturn
x: 519
y: 386
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: saturn_page
- label:
text: --
x: 519
y: 406
width: 161
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: saturn_overview_finish
text_align: CENTER
clickable: true
on_click:
- lvgl.page.show: saturn_page
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: 1 / 8
x: 94
y: 449
width: 612
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- id: prints_charming_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: prints_charming_refresh
widgets:
- bar:
id: prints_charming_top_progress
x: 0
y: 0
width: 800
height: 5
min_value: 0
max_value: 100
value: 0
bg_color: 1647403
indicator:
bg_color: 65280
gesture_bubble: true
- label:
text: PrintsCharming
x: 16
y: 17
width: 485
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
- label:
text: 2 / 8
x: 520
y: 24
width: 70
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: SYNCING
x: 598
y: 21
width: 186
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_status_label
text_align: RIGHT
clickable: true
on_click:
- lvgl.widget.show: prints_charming_health_panel
- obj:
x: 578
y: 64
width: 1
height: 362
bg_color: 1647403
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- arc:
id: prints_charming_progress_arc
x: 24
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: prints_charming_progress_label
text_align: CENTER
- label:
text: --
x: 30
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_progress_detail
text_align: CENTER
- label:
text: Progress
x: 16
y: 199
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: prints_charming_nozzle_arc
x: 210
y: 62
width: 154
height: 154
min_value: 0
max_value: 300
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: prints_charming_nozzle_label
text_align: CENTER
- label:
text: --
x: 216
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_nozzle_detail
text_align: CENTER
- label:
text: Nozzle
x: 202
y: 199
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: prints_charming_bed_arc
x: 396
y: 62
width: 154
height: 154
min_value: 0
max_value: 120
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 58853
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: prints_charming_bed_label
text_align: CENTER
- label:
text: --
x: 402
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_bed_detail
text_align: CENTER
- label:
text: Bed
x: 388
y: 199
width: 170
height: 26
text_color: 58853
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: prints_charming_fan_arc
x: 24
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: prints_charming_fan_label
text_align: CENTER
- label:
text: --
x: 30
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_fan_detail
text_align: CENTER
- label:
text: Part
x: 16
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: prints_charming_aux_arc
x: 210
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: prints_charming_aux_label
text_align: CENTER
- label:
text: --
x: 216
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_aux_detail
text_align: CENTER
- label:
text: Aux
x: 202
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: prints_charming_exhaust_arc
x: 396
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: prints_charming_exhaust_label
text_align: CENTER
- label:
text: --
x: 402
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_exhaust_detail
text_align: CENTER
- label:
text: Exhaust
x: 388
y: 366
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: --
x: 16
y: 401
width: 544
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
id: prints_charming_remaining_label
text_align: CENTER
- label:
text: Telemetry unavailable
x: 16
y: 430
width: 544
height: 20
text_color: 11449271
text_font: montserrat_12
long_mode: SCROLL_CIRCULAR
gesture_bubble: true
id: prints_charming_stage_label
text_align: CENTER
clickable: true
on_click:
- lvgl.widget.show: prints_charming_health_panel
- label:
text: --
x: 594
y: 397
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: prints_charming_layers_label
text_align: CENTER
- label:
text: AMS A
x: 594
y: 70
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
id: prints_charming_tray_0_card
x: 594
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_0_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A1
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_0_label
text_align: CENTER
- obj:
id: prints_charming_tray_1_card
x: 642
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_1_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A2
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_1_label
text_align: CENTER
- obj:
id: prints_charming_tray_2_card
x: 690
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_2_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A3
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_2_label
text_align: CENTER
- obj:
id: prints_charming_tray_3_card
x: 738
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_3_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A4
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_3_label
text_align: CENTER
- label:
text: AMS B
x: 594
y: 215
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
id: prints_charming_tray_4_card
x: 594
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_4_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B1
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_4_label
text_align: CENTER
- obj:
id: prints_charming_tray_5_card
x: 642
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_5_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B2
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_5_label
text_align: CENTER
- obj:
id: prints_charming_tray_6_card
x: 690
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_6_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B3
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_6_label
text_align: CENTER
- obj:
id: prints_charming_tray_7_card
x: 738
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: prints_charming_tray_7_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B4
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: prints_charming_tray_7_label
text_align: CENTER
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: Waiting for Home Assistant
x: 94
y: 449
width: 612
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: prints_charming_task_label
text_align: CENTER
- obj:
id: prints_charming_health_panel
x: 24
y: 62
width: 752
height: 366
hidden: true
bg_color: 0
bg_opa: COVER
border_width: 2
border_color: 11449271
radius: 10
pad_all: 0
scrollable: false
gesture_bubble: false
widgets:
- label:
text: Printer health / PrintsCharming
x: 16
y: 14
width: 716
height: 28
text_color: 15658734
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
- obj:
x: 12
y: 50
width: 724
height: 246
bg_color: 0
border_width: 0
pad_all: 0
scroll_dir: VER
scrollbar_mode: AUTO
gesture_bubble: false
widgets:
- label:
text: No current health notifications.
x: 0
y: 0
width: 700
height: SIZE_CONTENT
text_color: 15658734
text_font: montserrat_18
long_mode: WRAP
gesture_bubble: true
id: prints_charming_health_details
- button:
x: 624
y: 310
width: 108
height: 40
bg_color: 1647403
radius: 6
widgets:
- label:
text: CLOSE
align: CENTER
on_click:
- lvgl.widget.hide: prints_charming_health_panel
- id: polly_pocket_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: polly_pocket_refresh
widgets:
- bar:
id: polly_pocket_top_progress
x: 0
y: 0
width: 800
height: 5
min_value: 0
max_value: 100
value: 0
bg_color: 1647403
indicator:
bg_color: 65280
gesture_bubble: true
- label:
text: Polly-Pocket
x: 16
y: 17
width: 485
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
- label:
text: 3 / 8
x: 520
y: 24
width: 70
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: SYNCING
x: 598
y: 21
width: 186
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_status_label
text_align: RIGHT
clickable: true
on_click:
- lvgl.widget.show: polly_pocket_health_panel
- obj:
x: 578
y: 64
width: 1
height: 362
bg_color: 1647403
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- arc:
id: polly_pocket_progress_arc
x: 24
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: polly_pocket_progress_label
text_align: CENTER
- label:
text: --
x: 30
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_progress_detail
text_align: CENTER
- label:
text: Progress
x: 16
y: 199
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: polly_pocket_nozzle_arc
x: 210
y: 62
width: 154
height: 154
min_value: 0
max_value: 300
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: polly_pocket_nozzle_label
text_align: CENTER
- label:
text: --
x: 216
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_nozzle_detail
text_align: CENTER
- label:
text: Nozzle
x: 202
y: 199
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: polly_pocket_bed_arc
x: 396
y: 62
width: 154
height: 154
min_value: 0
max_value: 120
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 58853
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: polly_pocket_bed_label
text_align: CENTER
- label:
text: --
x: 402
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_bed_detail
text_align: CENTER
- label:
text: Bed
x: 388
y: 199
width: 170
height: 26
text_color: 58853
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: polly_pocket_fan_arc
x: 24
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: polly_pocket_fan_label
text_align: CENTER
- label:
text: --
x: 30
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_fan_detail
text_align: CENTER
- label:
text: Part
x: 16
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: polly_pocket_aux_arc
x: 210
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: polly_pocket_aux_label
text_align: CENTER
- label:
text: --
x: 216
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_aux_detail
text_align: CENTER
- label:
text: Aux
x: 202
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: polly_pocket_exhaust_arc
x: 396
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: polly_pocket_exhaust_label
text_align: CENTER
- label:
text: --
x: 402
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_exhaust_detail
text_align: CENTER
- label:
text: Exhaust
x: 388
y: 366
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: --
x: 16
y: 401
width: 544
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
id: polly_pocket_remaining_label
text_align: CENTER
- label:
text: Telemetry unavailable
x: 16
y: 430
width: 544
height: 20
text_color: 11449271
text_font: montserrat_12
long_mode: SCROLL_CIRCULAR
gesture_bubble: true
id: polly_pocket_stage_label
text_align: CENTER
clickable: true
on_click:
- lvgl.widget.show: polly_pocket_health_panel
- label:
text: --
x: 594
y: 397
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: polly_pocket_layers_label
text_align: CENTER
- label:
text: EXTERNAL SPOOL
x: 594
y: 70
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
id: polly_pocket_tray_0_card
x: 594
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: polly_pocket_tray_0_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'EXT
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: polly_pocket_tray_0_label
text_align: CENTER
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: Waiting for Home Assistant
x: 94
y: 449
width: 612
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: polly_pocket_task_label
text_align: CENTER
- obj:
id: polly_pocket_health_panel
x: 24
y: 62
width: 752
height: 366
hidden: true
bg_color: 0
bg_opa: COVER
border_width: 2
border_color: 11449271
radius: 10
pad_all: 0
scrollable: false
gesture_bubble: false
widgets:
- label:
text: Printer health / Polly-Pocket
x: 16
y: 14
width: 716
height: 28
text_color: 15658734
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
- obj:
x: 12
y: 50
width: 724
height: 246
bg_color: 0
border_width: 0
pad_all: 0
scroll_dir: VER
scrollbar_mode: AUTO
gesture_bubble: false
widgets:
- label:
text: No current health notifications.
x: 0
y: 0
width: 700
height: SIZE_CONTENT
text_color: 15658734
text_font: montserrat_18
long_mode: WRAP
gesture_bubble: true
id: polly_pocket_health_details
- button:
x: 624
y: 310
width: 108
height: 40
bg_color: 1647403
radius: 6
widgets:
- label:
text: CLOSE
align: CENTER
on_click:
- lvgl.widget.hide: polly_pocket_health_panel
- id: ds_turd_flinger_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: ds_turd_flinger_refresh
widgets:
- bar:
id: ds_turd_flinger_top_progress
x: 0
y: 0
width: 800
height: 5
min_value: 0
max_value: 100
value: 0
bg_color: 1647403
indicator:
bg_color: 65280
gesture_bubble: true
- label:
text: Ds-Turd-Flinger
x: 16
y: 17
width: 485
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
- label:
text: 4 / 8
x: 520
y: 24
width: 70
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: SYNCING
x: 598
y: 21
width: 186
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_status_label
text_align: RIGHT
clickable: true
on_click:
- lvgl.widget.show: ds_turd_flinger_health_panel
- obj:
x: 578
y: 64
width: 1
height: 362
bg_color: 1647403
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- arc:
id: ds_turd_flinger_progress_arc
x: 24
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_progress_label
text_align: CENTER
- label:
text: --
x: 30
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_progress_detail
text_align: CENTER
- label:
text: Progress
x: 16
y: 199
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: ds_turd_flinger_nozzle_arc
x: 210
y: 62
width: 154
height: 154
min_value: 0
max_value: 300
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_nozzle_label
text_align: CENTER
- label:
text: --
x: 216
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_nozzle_detail
text_align: CENTER
- label:
text: Nozzle
x: 202
y: 199
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: ds_turd_flinger_bed_arc
x: 396
y: 62
width: 154
height: 154
min_value: 0
max_value: 120
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 58853
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_bed_label
text_align: CENTER
- label:
text: --
x: 402
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_bed_detail
text_align: CENTER
- label:
text: Bed
x: 388
y: 199
width: 170
height: 26
text_color: 58853
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: ds_turd_flinger_fan_arc
x: 24
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_fan_label
text_align: CENTER
- label:
text: --
x: 30
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_fan_detail
text_align: CENTER
- label:
text: Part
x: 16
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: ds_turd_flinger_aux_arc
x: 210
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_aux_label
text_align: CENTER
- label:
text: --
x: 216
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_aux_detail
text_align: CENTER
- label:
text: Aux
x: 202
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: ds_turd_flinger_exhaust_arc
x: 396
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_exhaust_label
text_align: CENTER
- label:
text: --
x: 402
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_exhaust_detail
text_align: CENTER
- label:
text: Exhaust
x: 388
y: 366
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: --
x: 16
y: 401
width: 544
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_remaining_label
text_align: CENTER
- label:
text: Telemetry unavailable
x: 16
y: 430
width: 544
height: 20
text_color: 11449271
text_font: montserrat_12
long_mode: SCROLL_CIRCULAR
gesture_bubble: true
id: ds_turd_flinger_stage_label
text_align: CENTER
clickable: true
on_click:
- lvgl.widget.show: ds_turd_flinger_health_panel
- label:
text: --
x: 594
y: 397
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_layers_label
text_align: CENTER
- label:
text: AMS A
x: 594
y: 70
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
id: ds_turd_flinger_tray_0_card
x: 594
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: ds_turd_flinger_tray_0_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A1
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_tray_0_label
text_align: CENTER
- obj:
id: ds_turd_flinger_tray_1_card
x: 642
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: ds_turd_flinger_tray_1_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A2
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_tray_1_label
text_align: CENTER
- obj:
id: ds_turd_flinger_tray_2_card
x: 690
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: ds_turd_flinger_tray_2_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A3
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_tray_2_label
text_align: CENTER
- obj:
id: ds_turd_flinger_tray_3_card
x: 738
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: ds_turd_flinger_tray_3_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A4
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_tray_3_label
text_align: CENTER
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: Waiting for Home Assistant
x: 94
y: 449
width: 612
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: ds_turd_flinger_task_label
text_align: CENTER
- obj:
id: ds_turd_flinger_health_panel
x: 24
y: 62
width: 752
height: 366
hidden: true
bg_color: 0
bg_opa: COVER
border_width: 2
border_color: 11449271
radius: 10
pad_all: 0
scrollable: false
gesture_bubble: false
widgets:
- label:
text: Printer health / Ds-Turd-Flinger
x: 16
y: 14
width: 716
height: 28
text_color: 15658734
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
- obj:
x: 12
y: 50
width: 724
height: 246
bg_color: 0
border_width: 0
pad_all: 0
scroll_dir: VER
scrollbar_mode: AUTO
gesture_bubble: false
widgets:
- label:
text: No current health notifications.
x: 0
y: 0
width: 700
height: SIZE_CONTENT
text_color: 15658734
text_font: montserrat_18
long_mode: WRAP
gesture_bubble: true
id: ds_turd_flinger_health_details
- button:
x: 624
y: 310
width: 108
height: 40
bg_color: 1647403
radius: 6
widgets:
- label:
text: CLOSE
align: CENTER
on_click:
- lvgl.widget.hide: ds_turd_flinger_health_panel
- id: jordyns_layer_slayer_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: jordyns_layer_slayer_refresh
widgets:
- bar:
id: jordyns_layer_slayer_top_progress
x: 0
y: 0
width: 800
height: 5
min_value: 0
max_value: 100
value: 0
bg_color: 1647403
indicator:
bg_color: 65280
gesture_bubble: true
- label:
text: Jordyns-Layer-Slayer
x: 16
y: 17
width: 485
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
- label:
text: 5 / 8
x: 520
y: 24
width: 70
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: SYNCING
x: 598
y: 21
width: 186
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_status_label
text_align: RIGHT
clickable: true
on_click:
- lvgl.widget.show: jordyns_layer_slayer_health_panel
- obj:
x: 578
y: 64
width: 1
height: 362
bg_color: 1647403
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- arc:
id: jordyns_layer_slayer_progress_arc
x: 24
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_progress_label
text_align: CENTER
- label:
text: --
x: 30
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_progress_detail
text_align: CENTER
- label:
text: Progress
x: 16
y: 199
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: jordyns_layer_slayer_nozzle_arc
x: 210
y: 62
width: 154
height: 154
min_value: 0
max_value: 300
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_nozzle_label
text_align: CENTER
- label:
text: --
x: 216
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_nozzle_detail
text_align: CENTER
- label:
text: Nozzle
x: 202
y: 199
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: jordyns_layer_slayer_bed_arc
x: 396
y: 62
width: 154
height: 154
min_value: 0
max_value: 120
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 58853
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_bed_label
text_align: CENTER
- label:
text: --
x: 402
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_bed_detail
text_align: CENTER
- label:
text: Bed
x: 388
y: 199
width: 170
height: 26
text_color: 58853
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: jordyns_layer_slayer_fan_arc
x: 24
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_fan_label
text_align: CENTER
- label:
text: --
x: 30
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_fan_detail
text_align: CENTER
- label:
text: Part
x: 16
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: jordyns_layer_slayer_aux_arc
x: 210
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_aux_label
text_align: CENTER
- label:
text: --
x: 216
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_aux_detail
text_align: CENTER
- label:
text: Aux
x: 202
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: jordyns_layer_slayer_exhaust_arc
x: 396
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_exhaust_label
text_align: CENTER
- label:
text: --
x: 402
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_exhaust_detail
text_align: CENTER
- label:
text: Exhaust
x: 388
y: 366
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: --
x: 16
y: 401
width: 544
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_remaining_label
text_align: CENTER
- label:
text: Telemetry unavailable
x: 16
y: 430
width: 544
height: 20
text_color: 11449271
text_font: montserrat_12
long_mode: SCROLL_CIRCULAR
gesture_bubble: true
id: jordyns_layer_slayer_stage_label
text_align: CENTER
clickable: true
on_click:
- lvgl.widget.show: jordyns_layer_slayer_health_panel
- label:
text: --
x: 594
y: 397
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_layers_label
text_align: CENTER
- label:
text: AMS A
x: 594
y: 70
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
id: jordyns_layer_slayer_tray_0_card
x: 594
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: jordyns_layer_slayer_tray_0_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A1
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_tray_0_label
text_align: CENTER
- obj:
id: jordyns_layer_slayer_tray_1_card
x: 642
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: jordyns_layer_slayer_tray_1_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A2
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_tray_1_label
text_align: CENTER
- obj:
id: jordyns_layer_slayer_tray_2_card
x: 690
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: jordyns_layer_slayer_tray_2_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A3
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_tray_2_label
text_align: CENTER
- obj:
id: jordyns_layer_slayer_tray_3_card
x: 738
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: jordyns_layer_slayer_tray_3_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A4
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_tray_3_label
text_align: CENTER
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: Waiting for Home Assistant
x: 94
y: 449
width: 612
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: jordyns_layer_slayer_task_label
text_align: CENTER
- obj:
id: jordyns_layer_slayer_health_panel
x: 24
y: 62
width: 752
height: 366
hidden: true
bg_color: 0
bg_opa: COVER
border_width: 2
border_color: 11449271
radius: 10
pad_all: 0
scrollable: false
gesture_bubble: false
widgets:
- label:
text: Printer health / Jordyns-Layer-Slayer
x: 16
y: 14
width: 716
height: 28
text_color: 15658734
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
- obj:
x: 12
y: 50
width: 724
height: 246
bg_color: 0
border_width: 0
pad_all: 0
scroll_dir: VER
scrollbar_mode: AUTO
gesture_bubble: false
widgets:
- label:
text: No current health notifications.
x: 0
y: 0
width: 700
height: SIZE_CONTENT
text_color: 15658734
text_font: montserrat_18
long_mode: WRAP
gesture_bubble: true
id: jordyns_layer_slayer_health_details
- button:
x: 624
y: 310
width: 108
height: 40
bg_color: 1647403
radius: 6
widgets:
- label:
text: CLOSE
align: CENTER
on_click:
- lvgl.widget.hide: jordyns_layer_slayer_health_panel
- id: constipation_orion_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: constipation_orion_refresh
widgets:
- bar:
id: constipation_orion_top_progress
x: 0
y: 0
width: 800
height: 5
min_value: 0
max_value: 100
value: 0
bg_color: 1647403
indicator:
bg_color: 65280
gesture_bubble: true
- label:
text: Constipation-Orion
x: 16
y: 17
width: 485
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
- label:
text: 6 / 8
x: 520
y: 24
width: 70
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: SYNCING
x: 598
y: 21
width: 186
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_status_label
text_align: RIGHT
clickable: true
on_click:
- lvgl.widget.show: constipation_orion_health_panel
- obj:
x: 578
y: 64
width: 1
height: 362
bg_color: 1647403
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- arc:
id: constipation_orion_progress_arc
x: 24
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: constipation_orion_progress_label
text_align: CENTER
- label:
text: --
x: 30
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_progress_detail
text_align: CENTER
- label:
text: Progress
x: 16
y: 199
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: constipation_orion_nozzle_arc
x: 210
y: 62
width: 154
height: 154
min_value: 0
max_value: 300
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: constipation_orion_nozzle_label
text_align: CENTER
- label:
text: --
x: 216
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_nozzle_detail
text_align: CENTER
- label:
text: Nozzle L
x: 202
y: 199
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: constipation_orion_bed_arc
x: 396
y: 62
width: 154
height: 154
min_value: 0
max_value: 120
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 58853
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: constipation_orion_bed_label
text_align: CENTER
- label:
text: --
x: 402
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_bed_detail
text_align: CENTER
- label:
text: Bed
x: 388
y: 199
width: 170
height: 26
text_color: 58853
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: constipation_orion_fan_arc
x: 24
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: constipation_orion_fan_label
text_align: CENTER
- label:
text: --
x: 30
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_fan_detail
text_align: CENTER
- label:
text: Part
x: 16
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: constipation_orion_aux_arc
x: 210
y: 229
width: 154
height: 154
min_value: 0
max_value: 300
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: constipation_orion_aux_label
text_align: CENTER
- label:
text: --
x: 216
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_aux_detail
text_align: CENTER
- label:
text: Nozzle R
x: 202
y: 366
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: constipation_orion_exhaust_arc
x: 396
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: constipation_orion_exhaust_label
text_align: CENTER
- label:
text: --
x: 402
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_exhaust_detail
text_align: CENTER
- label:
text: Exhaust
x: 388
y: 366
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: --
x: 16
y: 401
width: 544
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
id: constipation_orion_remaining_label
text_align: CENTER
- label:
text: Telemetry unavailable
x: 16
y: 430
width: 544
height: 20
text_color: 11449271
text_font: montserrat_12
long_mode: SCROLL_CIRCULAR
gesture_bubble: true
id: constipation_orion_stage_label
text_align: CENTER
clickable: true
on_click:
- lvgl.widget.show: constipation_orion_health_panel
- label:
text: --
x: 594
y: 397
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: constipation_orion_layers_label
text_align: CENTER
- label:
text: AMS A
x: 594
y: 70
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
id: constipation_orion_tray_0_card
x: 594
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_0_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A1
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_0_label
text_align: CENTER
- obj:
id: constipation_orion_tray_1_card
x: 642
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_1_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A2
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_1_label
text_align: CENTER
- obj:
id: constipation_orion_tray_2_card
x: 690
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_2_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A3
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_2_label
text_align: CENTER
- obj:
id: constipation_orion_tray_3_card
x: 738
y: 102
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_3_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'A4
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_3_label
text_align: CENTER
- label:
text: AMS B
x: 594
y: 215
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
id: constipation_orion_tray_4_card
x: 594
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_4_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B1
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_4_label
text_align: CENTER
- obj:
id: constipation_orion_tray_5_card
x: 642
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_5_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B2
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_5_label
text_align: CENTER
- obj:
id: constipation_orion_tray_6_card
x: 690
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_6_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B3
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_6_label
text_align: CENTER
- obj:
id: constipation_orion_tray_7_card
x: 738
y: 247
width: 44
height: 82
bg_color: 0
radius: 5
border_width: 1
border_color: 1647403
pad_all: 0
scrollable: false
gesture_bubble: true
widgets:
- obj:
id: constipation_orion_tray_7_swatch
x: 3
y: 3
width: 36
height: 40
bg_color: 1647403
radius: 4
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- label:
text: 'B4
--'
x: 1
y: 46
width: 40
height: 34
text_color: 15658734
text_font: montserrat_12
long_mode: DOT
gesture_bubble: true
id: constipation_orion_tray_7_label
text_align: CENTER
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: Waiting for Home Assistant
x: 94
y: 449
width: 612
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: constipation_orion_task_label
text_align: CENTER
- obj:
id: constipation_orion_health_panel
x: 24
y: 62
width: 752
height: 366
hidden: true
bg_color: 0
bg_opa: COVER
border_width: 2
border_color: 11449271
radius: 10
pad_all: 0
scrollable: false
gesture_bubble: false
widgets:
- label:
text: Printer health / Constipation-Orion
x: 16
y: 14
width: 716
height: 28
text_color: 15658734
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
- obj:
x: 12
y: 50
width: 724
height: 246
bg_color: 0
border_width: 0
pad_all: 0
scroll_dir: VER
scrollbar_mode: AUTO
gesture_bubble: false
widgets:
- label:
text: No current health notifications.
x: 0
y: 0
width: 700
height: SIZE_CONTENT
text_color: 15658734
text_font: montserrat_18
long_mode: WRAP
gesture_bubble: true
id: constipation_orion_health_details
- button:
x: 624
y: 310
width: 108
height: 40
bg_color: 1647403
radius: 6
widgets:
- label:
text: CLOSE
align: CENTER
on_click:
- lvgl.widget.hide: constipation_orion_health_panel
- id: centauri_carbon_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: centauri_carbon_refresh
widgets:
- bar:
id: centauri_carbon_top_progress
x: 0
y: 0
width: 800
height: 5
min_value: 0
max_value: 100
value: 0
bg_color: 1647403
indicator:
bg_color: 65280
gesture_bubble: true
- label:
text: Centauri Carbon
x: 16
y: 17
width: 485
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
- label:
text: 7 / 8
x: 520
y: 24
width: 70
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: SYNCING
x: 598
y: 21
width: 186
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_status_label
text_align: RIGHT
clickable: true
on_click:
- lvgl.widget.show: centauri_carbon_health_panel
- obj:
x: 578
y: 64
width: 1
height: 362
bg_color: 1647403
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- arc:
id: centauri_carbon_progress_arc
x: 24
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_progress_label
text_align: CENTER
- label:
text: --
x: 30
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_progress_detail
text_align: CENTER
- label:
text: Progress
x: 16
y: 199
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: centauri_carbon_nozzle_arc
x: 210
y: 62
width: 154
height: 154
min_value: 0
max_value: 300
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_nozzle_label
text_align: CENTER
- label:
text: --
x: 216
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_nozzle_detail
text_align: CENTER
- label:
text: Nozzle
x: 202
y: 199
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: centauri_carbon_bed_arc
x: 396
y: 62
width: 154
height: 154
min_value: 0
max_value: 120
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 58853
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_bed_label
text_align: CENTER
- label:
text: --
x: 402
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_bed_detail
text_align: CENTER
- label:
text: Bed
x: 388
y: 199
width: 170
height: 26
text_color: 58853
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: centauri_carbon_fan_arc
x: 24
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_fan_label
text_align: CENTER
- label:
text: --
x: 30
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_fan_detail
text_align: CENTER
- label:
text: Part
x: 16
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: centauri_carbon_aux_arc
x: 210
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 15658734
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_aux_label
text_align: CENTER
- label:
text: --
x: 216
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_aux_detail
text_align: CENTER
- label:
text: Aux
x: 202
y: 366
width: 170
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: centauri_carbon_exhaust_arc
x: 396
y: 229
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 276
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_exhaust_label
text_align: CENTER
- label:
text: --
x: 402
y: 315
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_exhaust_detail
text_align: CENTER
- label:
text: Exhaust
x: 388
y: 366
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: --
x: 16
y: 401
width: 544
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_remaining_label
text_align: CENTER
- label:
text: Telemetry unavailable
x: 16
y: 430
width: 544
height: 20
text_color: 11449271
text_font: montserrat_12
long_mode: SCROLL_CIRCULAR
gesture_bubble: true
id: centauri_carbon_stage_label
text_align: CENTER
clickable: true
on_click:
- lvgl.widget.show: centauri_carbon_health_panel
- label:
text: --
x: 594
y: 397
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_layers_label
text_align: CENTER
- label:
text: ELEGOO
x: 594
y: 150
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: FDM / Office
x: 594
y: 185
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: Waiting for Home Assistant
x: 94
y: 449
width: 612
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: centauri_carbon_task_label
text_align: CENTER
- obj:
id: centauri_carbon_health_panel
x: 24
y: 62
width: 752
height: 366
hidden: true
bg_color: 0
bg_opa: COVER
border_width: 2
border_color: 11449271
radius: 10
pad_all: 0
scrollable: false
gesture_bubble: false
widgets:
- label:
text: Printer health / Centauri Carbon
x: 16
y: 14
width: 716
height: 28
text_color: 15658734
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
- obj:
x: 12
y: 50
width: 724
height: 246
bg_color: 0
border_width: 0
pad_all: 0
scroll_dir: VER
scrollbar_mode: AUTO
gesture_bubble: false
widgets:
- label:
text: No current health notifications.
x: 0
y: 0
width: 700
height: SIZE_CONTENT
text_color: 15658734
text_font: montserrat_18
long_mode: WRAP
gesture_bubble: true
id: centauri_carbon_health_details
- button:
x: 624
y: 310
width: 108
height: 40
bg_color: 1647403
radius: 6
widgets:
- label:
text: CLOSE
align: CENTER
on_click:
- lvgl.widget.hide: centauri_carbon_health_panel
- id: saturn_page
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
scrollbar_mode: 'OFF'
on_swipe_left:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.next:
animation: MOVE_LEFT
time: 180ms
on_swipe_right:
- lambda: !lambda |-
if (auto *input = lv_indev_active()) lv_indev_wait_release(input);
- lvgl.page.previous:
animation: MOVE_RIGHT
time: 180ms
on_load:
- script.execute: saturn_refresh
widgets:
- bar:
id: saturn_top_progress
x: 0
y: 0
width: 800
height: 5
min_value: 0
max_value: 100
value: 0
bg_color: 1647403
indicator:
bg_color: 65280
gesture_bubble: true
- label:
text: Saturn
x: 16
y: 17
width: 485
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
- label:
text: 8 / 8
x: 520
y: 24
width: 70
height: 22
text_color: 11449271
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: SYNCING
x: 598
y: 21
width: 186
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: saturn_status_label
text_align: RIGHT
clickable: true
on_click:
- lvgl.widget.show: saturn_health_panel
- obj:
x: 578
y: 64
width: 1
height: 362
bg_color: 1647403
border_width: 0
pad_all: 0
scrollable: false
gesture_bubble: true
- arc:
id: saturn_progress_arc
x: 24
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 65280
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 30
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: saturn_progress_label
text_align: CENTER
- label:
text: --
x: 30
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: saturn_progress_detail
text_align: CENTER
- label:
text: Progress
x: 16
y: 199
width: 170
height: 26
text_color: 65280
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: saturn_uv_arc
x: 210
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 16755200
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 216
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: saturn_uv_label
text_align: CENTER
- label:
text: --
x: 216
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: saturn_uv_detail
text_align: CENTER
- label:
text: UV LED
x: 202
y: 199
width: 170
height: 26
text_color: 16755200
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- arc:
id: saturn_layer_arc
x: 396
y: 62
width: 154
height: 154
min_value: 0
max_value: 100
value: 0
start_angle: 135
end_angle: 45
arc_width: 13
arc_color: 1647403
indicator:
arc_color: 58853
arc_width: 13
adjustable: false
gesture_bubble: true
- label:
text: --
x: 402
y: 109
width: 142
height: 40
text_color: 15658734
text_font: montserrat_32
long_mode: DOT
gesture_bubble: true
id: saturn_layer_label
text_align: CENTER
- label:
text: --
x: 402
y: 148
width: 142
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: saturn_layer_detail
text_align: CENTER
- label:
text: Layer
x: 388
y: 199
width: 170
height: 26
text_color: 58853
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: FINISH / TIME REMAINING
x: 16
y: 260
width: 544
height: 26
text_color: 11449271
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: --
x: 16
y: 354
width: 544
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
id: saturn_elapsed_label
text_align: CENTER
- label:
text: --
x: 16
y: 300
width: 544
height: 34
text_color: 65280
text_font: montserrat_26
long_mode: DOT
gesture_bubble: true
id: saturn_remaining_label
text_align: CENTER
- label:
text: Telemetry unavailable
x: 16
y: 430
width: 544
height: 20
text_color: 11449271
text_font: montserrat_12
long_mode: SCROLL_CIRCULAR
gesture_bubble: true
id: saturn_stage_label
text_align: CENTER
clickable: true
on_click:
- lvgl.widget.show: saturn_health_panel
- label:
text: --
x: 594
y: 397
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
id: saturn_layers_label
text_align: CENTER
- label:
text: ELEGOO
x: 594
y: 150
width: 190
height: 28
text_color: 11449271
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- label:
text: Resin / Garage
x: 594
y: 185
width: 190
height: 24
text_color: 11449271
text_font: montserrat_16
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- button:
x: 16
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: <
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.previous: {}
- button:
x: 720
y: 446
width: 64
height: 30
bg_color: 1647403
radius: 8
border_width: 0
pad_all: 0
gesture_bubble: true
widgets:
- label:
text: '>'
align: CENTER
text_color: 15658734
text_font: montserrat_18
on_click:
- lvgl.page.next: {}
- label:
text: Waiting for Home Assistant
x: 94
y: 449
width: 612
height: 22
text_color: 15658734
text_font: montserrat_14
long_mode: DOT
gesture_bubble: true
id: saturn_task_label
text_align: CENTER
- obj:
id: saturn_health_panel
x: 24
y: 62
width: 752
height: 366
hidden: true
bg_color: 0
bg_opa: COVER
border_width: 2
border_color: 11449271
radius: 10
pad_all: 0
scrollable: false
gesture_bubble: false
widgets:
- label:
text: Printer health / Saturn
x: 16
y: 14
width: 716
height: 28
text_color: 15658734
text_font: montserrat_20
long_mode: DOT
gesture_bubble: true
- obj:
x: 12
y: 50
width: 724
height: 246
bg_color: 0
border_width: 0
pad_all: 0
scroll_dir: VER
scrollbar_mode: AUTO
gesture_bubble: false
widgets:
- label:
text: No current health notifications.
x: 0
y: 0
width: 700
height: SIZE_CONTENT
text_color: 15658734
text_font: montserrat_18
long_mode: WRAP
gesture_bubble: true
id: saturn_health_details
- button:
x: 624
y: 310
width: 108
height: 40
bg_color: 1647403
radius: 6
widgets:
- label:
text: CLOSE
align: CENTER
on_click:
- lvgl.widget.hide: saturn_health_panel
- id: color_test_page
skip: true
bg_color: 0
bg_opa: COVER
pad_all: 0
scrollable: false
on_swipe_left:
- lvgl.page.next: {}
on_swipe_right:
- lvgl.page.previous: {}
widgets:
- label:
text: DISPLAY COLOR TEST
x: 16
y: 18
width: 768
height: 36
text_color: 15658734
text_font: montserrat_28
long_mode: DOT
gesture_bubble: true
- label:
text: Each block must match its label. Swipe to return to the printers.
x: 16
y: 62
width: 768
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
- obj:
x: 16
y: 118
width: 122
height: 200
bg_color: 16711680
bg_opa: COVER
border_width: 0
scrollable: false
gesture_bubble: true
- label:
text: RED
x: 16
y: 332
width: 122
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
x: 145
y: 118
width: 122
height: 200
bg_color: 65280
bg_opa: COVER
border_width: 0
scrollable: false
gesture_bubble: true
- label:
text: GREEN
x: 145
y: 332
width: 122
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
x: 274
y: 118
width: 122
height: 200
bg_color: 255
bg_opa: COVER
border_width: 0
scrollable: false
gesture_bubble: true
- label:
text: BLUE
x: 274
y: 332
width: 122
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
x: 403
y: 118
width: 122
height: 200
bg_color: 16777215
bg_opa: COVER
border_width: 0
scrollable: false
gesture_bubble: true
- label:
text: WHITE
x: 403
y: 332
width: 122
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
x: 532
y: 118
width: 122
height: 200
bg_color: 65535
bg_opa: COVER
border_width: 0
scrollable: false
gesture_bubble: true
- label:
text: CYAN
x: 532
y: 332
width: 122
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
- obj:
x: 661
y: 118
width: 122
height: 200
bg_color: 16711935
bg_opa: COVER
border_width: 0
scrollable: false
gesture_bubble: true
- label:
text: MAGENTA
x: 661
y: 332
width: 122
height: 26
text_color: 15658734
text_font: montserrat_18
long_mode: DOT
gesture_bubble: true
text_align: CENTER
button:
- platform: template
name: Display Color Test
entity_category: diagnostic
on_press:
- lvgl.page.show: color_test_page