21 lines
667 B
Python
21 lines
667 B
Python
from __future__ import annotations
|
|
|
|
from citygrid import LocalProblem
|
|
|
|
class WaterPumpControllerAdapter:
|
|
def __init__(self, adapter_id: str = "water-pump-1"):
|
|
self.adapter_id = adapter_id
|
|
|
|
def build_local_problem(self) -> LocalProblem:
|
|
return LocalProblem(
|
|
id="lp-water-1",
|
|
domain="water",
|
|
assets=["WaterPump-Station-1"],
|
|
objective={"maximize_service": {"priority": 1}},
|
|
constraints={"flow": {"min": 0.0, "max": 100.0}},
|
|
solver_hint=None,
|
|
)
|
|
|
|
def receive_delta(self, delta: dict) -> dict:
|
|
return {"ack": True, "delta_version": delta.get("version", 0)}
|