| from pydantic import Field | |
| from openenv.core.env_server.types import Action, Observation | |
| class BatteryAction(Action): | |
| """Action for the Battery environment.""" | |
| market_choice: float = Field(..., ge=0.0, le=1.0, description=">=0.6 for Ancillary, else Arbitrage") | |
| p_fraction: float = Field(..., ge=-1.0, le=1.0, description=">0 discharge/sell, <0 charge/buy") | |
| class BatteryObservation(Observation): | |
| """Observation from the Battery environment.""" | |
| energy_price: float = Field(..., description="Energy market price") | |
| fcr_price: float = Field(..., description="FCR market price") | |
| soc: float = Field(..., description="Battery State of Charge") | |