diff --git a/cloud/microwaveThermalEngine.py b/cloud/microwaveThermalEngine.py index a1794c9..5f598c6 100644 --- a/cloud/microwaveThermalEngine.py +++ b/cloud/microwaveThermalEngine.py @@ -76,6 +76,7 @@ class MicrowaveThermalEngine: return { "cook_time_seconds": round(total_seconds), + "effective_power_watts": round(effective_power_watts), "recommended_power_level_pct": power_level, "target_temp": target_temp, "estimated_specific_heat": round(cp, 2), diff --git a/orchestrateur/main.py b/orchestrateur/main.py index 0baa555..f468a2b 100644 --- a/orchestrateur/main.py +++ b/orchestrateur/main.py @@ -182,7 +182,7 @@ def _send_params_to_microwave(microwave_id: str, cook_time_seconds: int, power_l if cancel_event.is_set(): return - log(f"[{microwave_id}] ⚡ Starting microwave cooking : {cook_time_seconds}s @ {power_level_pct}% power, target temp {target_temp}°C.") + log(f"[{microwave_id}] ⚡ Starting microwave cooking : {cook_time_seconds}s @ {power_level_pct}W power, target temp {target_temp}°C.") # TODO: Connect to microwave hardware driver here # e.g., gpio_controller.start(time=cook_time_seconds, power=power_level_pct) @@ -211,6 +211,9 @@ def _cooking_worker(microwave_id: str, sensors_data: dict, cancel_event: threadi print(f"[{microwave_id}] Job was canceled while waiting for cloud response. Discarding result.") return + if (response.status_code != 200): + print(f"[{microwave_id}] Cloud API returned error {response.status_code}: {response.json()}") + return response.raise_for_status() # 2. Extract Response Parameters @@ -218,7 +221,7 @@ def _cooking_worker(microwave_id: str, sensors_data: dict, cancel_event: threadi cook_plan = response_json.get("cook_plan", {}) cook_time = cook_plan.get("cook_time_seconds") - power_level = cook_plan.get("recommended_power_level_pct") + power_level = cook_plan.get("effective_power_watts") target_temp = cook_plan.get("target_temp") dish_name = response_json.get("dish_name", "Unknown Dish") @@ -231,7 +234,7 @@ def _cooking_worker(microwave_id: str, sensors_data: dict, cancel_event: threadi print(f"[{microwave_id}] Job was canceled before starting hardware execution.") return - print(f"[{microwave_id}] Received plan for '{dish_name}': {cook_time}s @ {power_level}% power, target temp {target_temp}°C.") + print(f"[{microwave_id}] Received plan for '{dish_name}': {cook_time}s @ {power_level}W power, target temp {target_temp}°C.") # 3. Start Hardware Execution _send_params_to_microwave(microwave_id, cook_time, power_level, target_temp, cancel_event)