diff --git a/pyasic/miners/backends/luxminer.py b/pyasic/miners/backends/luxminer.py index 48dbc735..abc17b64 100644 --- a/pyasic/miners/backends/luxminer.py +++ b/pyasic/miners/backends/luxminer.py @@ -73,6 +73,9 @@ str(DataOptions.FAULT_LIGHT): DataFunction( "_get_fault_light", [RPCAPICommand("rpc_config", "config")] ), + str(DataOptions.IS_MINING): DataFunction( + "_is_mining", [RPCAPICommand("rpc_config", "config")] + ), } ) @@ -437,6 +440,21 @@ async def _get_fault_light(self, rpc_config: dict | None = None) -> bool | None: pass return None + async def _is_mining(self, rpc_config: dict | None = None) -> bool | None: + if rpc_config is None: + try: + rpc_config = await self.rpc.config() + except APIError: + pass + + if rpc_config is not None: + try: + curtail_mode = rpc_config["CONFIG"][0].get("CurtailMode") + return curtail_mode != "Sleep" + except (LookupError, IndexError): + pass + return None + async def _get_pools(self, rpc_pools: dict | None = None) -> list[PoolMetrics]: if rpc_pools is None: try: