34 lines
917 B
Python
34 lines
917 B
Python
from __future__ import annotations
|
|
from typing import Any, Dict
|
|
|
|
|
|
class BaseAdapter:
|
|
name: str
|
|
|
|
def __init__(self, name: str) -> None:
|
|
self.name = name
|
|
|
|
def connect(self) -> bool:
|
|
# In a real adapter, establish a secure channel
|
|
return True
|
|
|
|
def status(self) -> Dict[str, Any]:
|
|
return {"name": self.name, "connected": True}
|
|
|
|
|
|
class SolarMicrogridAdapter(BaseAdapter):
|
|
def __init__(self, name: str = "solar-mg-1") -> None:
|
|
super().__init__(name)
|
|
|
|
def get_output_estimate(self) -> Dict[str, float]:
|
|
# Placeholder: synthetic light-load estimate
|
|
return {"peak_kw": 42.0, "min_kw": 5.0}
|
|
|
|
|
|
class WaterPurifierAdapter(BaseAdapter):
|
|
def __init__(self, name: str = "water-purifier-1") -> None:
|
|
super().__init__(name)
|
|
|
|
def get_production_plan(self) -> Dict[str, Any]:
|
|
return {"liters_per_hour": 100.0, "uptime_hours": 24.0}
|