diff --git a/firmware/conf.d/automation.yaml b/firmware/conf.d/automation.yaml index 8504a3c..15f0468 100644 --- a/firmware/conf.d/automation.yaml +++ b/firmware/conf.d/automation.yaml @@ -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: |- diff --git a/firmware/conf.d/filament.yaml b/firmware/conf.d/filament.yaml index 712ebfb..e8436e1 100644 --- a/firmware/conf.d/filament.yaml +++ b/firmware/conf.d/filament.yaml @@ -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