Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 0 additions & 86 deletions firmware/conf.d/automation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,92 +22,6 @@ script:
return output;
};
return pretty_json();
- id: publish_filament_setting
then:
- if:
condition:
and:
- lambda: |-
if (id(filament_brand).state == "" || id(filament_brand).state == "Unknown") {
ESP_LOGE("main", "Filament Brand cannot be empty");
return false;
} else {
return true;
}
- lambda: |-
if (id(filament_brand_code).state == "" || id(filament_brand_code).state == "Unknown") {
ESP_LOGE("main", "Filament Brand Code cannot be empty");
return false;
} else {
return true;
}
- lambda: |-
if (id(filament_color_hex).state == "") {
ESP_LOGE("main", "Filament Color Hex cannot be empty");
return false;
} else {
return true;
}
- lambda: |-
if (id(filament_max_temp).state >= 300) {
ESP_LOGE("main", "Filament Min Temp must be less than 300");
return false;
} else {
return true;
}
- lambda: |-
if (id(filament_min_temp).state <= 150) {
ESP_LOGE("main", "Filament Max Temp must be greater than 150");
return false;
} else {
return true;
}
- lambda: |-
if (id(filament_type).state == "") {
ESP_LOGE("main", "Filament Type cannot be empty");
return false;
} else {
return true;
}
- lambda: |-
if (id(filament_type).state == "") {
ESP_LOGE("main", "Filament Type cannot be empty");
return false;
} else {
return true;
}
- lambda: |-
if (id(bambu_serial_number).state == "") {
ESP_LOGE("main", "Bambu Serial Number cannot be empty");
return false;
} else {
return true;
}
# TODO: Check if mqtt is enabled once this is merged: https://github.com/esphome/esphome/pull/7716
then:
- mqtt.publish:
# topic: device/${bambu_serial_number}/request
topic: !lambda 'return "device/" + id(bambu_serial_number).state + "/request";'
payload: !lambda |-
auto data = json::build_json([=](JsonObject root) {
auto print = root.createNestedObject("print");
print["sequence_id"] = "0";
print["command"] = "ams_filament_setting";
print["ams_id"] = 255; //TODO: support multiple AMS
print["tray_id"] = 254; //TODO: support multiple trays
std::string color = id(filament_color_hex).state + "FF";
print["tray_color"] = color;
print["nozzle_temp_min"] = int8_t(id(filament_min_temp).state);
print["nozzle_temp_max"] = int8_t(id(filament_max_temp).state);
print["tray_type"] = id(filament_type).state.c_str();
print["setting_id"] = "";
print["tray_info_idx"] = id(filament_brand_code).state.c_str();
print["tray_type"] = id(filament_type).state.c_str();
//print["tray_sub_brands"] = "TPU"; //TODO: support sub brands

});
ESP_LOGI("main", "Publishing %s", data.c_str());
return data;
- id: generate_filament_brand_code # TODO: Replace with filament_mappings()
then:
- lambda: |-
Expand Down
12 changes: 0 additions & 12 deletions firmware/conf.d/filament.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -265,15 +265,3 @@ text_sensor:
on_value:
then:
- script.execute: preview_rfid_data
button:
- platform: template
name: Upload Settings
id: upload_filament_settings
state_topic:
icon: mdi:upload
web_server:
sorting_group_id: sorting_group_filament_settings
sorting_weight: 200
on_press:
then:
- script.execute: publish_filament_setting