feature: check if atm enabled before settting power
This commit is contained in:
committed by
Brett Rowan
parent
d148ccfe5f
commit
2ec8054d24
@@ -160,6 +160,13 @@ class LUXMiner(LuxOSFirmware):
|
|||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
async def atm_enabled(self) -> Optional[bool]:
|
||||||
|
try:
|
||||||
|
result = await self.rpc.atm()
|
||||||
|
return result["ATM"][0]["Enabled"]
|
||||||
|
except (APIError, LookupError):
|
||||||
|
pass
|
||||||
|
|
||||||
async def set_power_limit(self, wattage: int) -> bool:
|
async def set_power_limit(self, wattage: int) -> bool:
|
||||||
config = await self.get_config()
|
config = await self.get_config()
|
||||||
valid_presets = {
|
valid_presets = {
|
||||||
@@ -169,10 +176,17 @@ class LUXMiner(LuxOSFirmware):
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Set power to highest preset <= wattage
|
# Set power to highest preset <= wattage
|
||||||
|
# If ATM enabled, must disable it before setting power limit
|
||||||
new_preset = max(valid_presets, key=valid_presets.get)
|
new_preset = max(valid_presets, key=valid_presets.get)
|
||||||
|
|
||||||
|
re_enable_atm = False
|
||||||
try:
|
try:
|
||||||
|
if await self.atm_enabled():
|
||||||
|
re_enable_atm = True
|
||||||
|
await self.rpc.atmset("enabled=false")
|
||||||
result = await self.rpc.profileset(new_preset)
|
result = await self.rpc.profileset(new_preset)
|
||||||
|
if re_enable_atm:
|
||||||
|
await self.rpc.atmset("enabled=true")
|
||||||
except APIError:
|
except APIError:
|
||||||
raise
|
raise
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user