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")