import gradio as gr device_state = { "ac": False, "fan": False, "heater": False, "dehumidifier": False, "humidifier": False, "window": "closed" } def climate_control(temperature, humidity): messages = [] if temperature > 25: messages.append("⚠️ Ubushyuhe buri hejuru, turakoresha AC.") device_state["ac"] = True device_state["heater"] = False elif temperature < 18: messages.append("⚠️ Ubushyuhe buri hasi, turakoresha Heater.") device_state["heater"] = True device_state["ac"] = False else: messages.append("✅ Ubushyuhe buri mu rugero, AC na Heater birazimye.") device_state["ac"] = False device_state["heater"] = False if humidity < 30: messages.append("⚠️ Umuyaga uri hasi, tuzongera fan na Humidifier.") device_state["fan"] = True device_state["humidifier"] = True device_state["dehumidifier"] = False elif humidity > 60: messages.append("⚠️ Umuyaga uri hejuru cyane, tuzimanura fan kandi dukoreshe dehumidifier.") device_state["fan"] = False device_state["dehumidifier"] = True device_state["humidifier"] = False else: messages.append("✅ Umuyaga uri mu rugero rwiza, fan, humidifier na dehumidifier birazimye.") device_state["fan"] = False device_state["humidifier"] = False device_state["dehumidifier"] = False if temperature > 28 or humidity > 65: device_state["window"] = "closed" messages.append("❌ Amadirishya yafunzwe kubera ubushyuhe cyangwa umuyaga uri hejuru.") else: device_state["window"] = "open" messages.append("✅ Amadirishya yafunguwe.") for device in ["ac", "heater", "fan", "humidifier", "dehumidifier"]: status = "ON" if device_state[device] else "OFF" messages.append(f"ℹ️ {device.capitalize()} status: {status}") messages.append(f"ℹ️ Window status: {device_state['window'].capitalize()}") return "\n".join(messages) with gr.Blocks() as demo: gr.Markdown("## Climate Control System - Igenzura ry'Ubushyuhe, Umuyaga, na Windows") temperature = gr.Slider(0, 50, step=1, label="Ubushyuhe (°C)", value=22) humidity = gr.Slider(0, 100, step=1, label="Humidity (%)", value=40) # hano wasize 'value' utuzuye output = gr.Textbox(label="Ibisubizo bya viateur AI", lines=12) temperature.change(fn=climate_control, inputs=[temperature, humidity], outputs=output) humidity.change(fn=climate_control, inputs=[temperature, humidity], outputs=output) output.value = climate_control(temperature.value, humidity.value) demo.launch()