Spaces:
Sleeping
Sleeping
| 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() | |