CoolFace
Apppublic

Naveen256/Rule-based

sourceHugging Facemitupdated 8mo agoView on Hugging Face
0likes
app.py50 linesDownload Raw Back to root
1class SmartHomeEnergyAgent:2    def __init__(self, battery_capacity=10.0):3        self.battery_capacity = battery_capacity  # kWh4        self.battery_level = 5.0  # initial kWh5 6    def decide(self, load, solar, price):7        """8        load: household demand (kWh)9        solar: solar generation (kWh)10        price: electricity price ($/kWh)11        """12        action = {}13 14        # Use solar first15        used_solar = min(load, solar)16        load -= used_solar17        solar -= used_solar18 19        # Charge battery if excess solar20        if solar > 0 and self.battery_level < self.battery_capacity:21            charge = min(solar, self.battery_capacity - self.battery_level)22            self.battery_level += charge23            action["battery_charge"] = charge24 25        # Discharge battery if price is high26        if load > 0 and price > 0.25 and self.battery_level > 0:27            discharge = min(load, self.battery_level)28            self.battery_level -= discharge29            load -= discharge30            action["battery_discharge"] = discharge31 32        # Buy remaining energy from grid33        if load > 0:34            action["grid_usage"] = load35 36        action["battery_level"] = round(self.battery_level, 2)37        return action38 39 40# Example usage41agent = SmartHomeEnergyAgent()42 43state = agent.decide(44    load=6.0,      # kWh45    solar=4.0,     # kWh46    price=0.30     # $/kWh47)48 49print(state)50