Derive Centauri progress from layers or print time when percent stays at zero.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Joshua King
2026-10-21 14:02:50 -04:00
co-authored by Cursor
parent 994cfb6b60
commit af7f268888
6 changed files with 113 additions and 15 deletions
+39
View File
@@ -224,6 +224,10 @@ sensor:
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
@@ -232,6 +236,10 @@ sensor:
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
@@ -268,6 +276,10 @@ sensor:
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
@@ -1186,6 +1198,16 @@ text_sensor:
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
@@ -1225,6 +1247,11 @@ text_sensor:
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:
@@ -1438,8 +1465,10 @@ script:
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;
@@ -1454,6 +1483,8 @@ script:
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();
@@ -1469,6 +1500,7 @@ script:
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;
@@ -1480,6 +1512,7 @@ script:
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);
@@ -1695,8 +1728,10 @@ script:
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;
@@ -1711,6 +1746,8 @@ script:
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();
@@ -1725,6 +1762,7 @@ script:
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;
@@ -1736,6 +1774,7 @@ script:
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);