Spaces:
Sleeping
Sleeping
File size: 2,740 Bytes
b557be8 bae5280 f513458 bae5280 b557be8 bae5280 b557be8 bae5280 1678cd1 0de2ca5 1678cd1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
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()
|