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() | |