feature: add set_power_limit for luxos
This commit is contained in:
committed by
Brett Rowan
parent
53a3bb13af
commit
b6c29d16f9
@@ -160,6 +160,30 @@ class LUXMiner(LuxOSFirmware):
|
||||
|
||||
return False
|
||||
|
||||
async def set_power_limit(self, wattage: int) -> bool:
|
||||
config = await self.get_config()
|
||||
valid_presets = {
|
||||
preset.name: preset.power
|
||||
for preset in config.mining_mode.available_presets
|
||||
if preset.power <= wattage
|
||||
}
|
||||
|
||||
# Set power to highest preset <= wattage
|
||||
new_preset = max(valid_presets, key=valid_presets.get)
|
||||
|
||||
try:
|
||||
result = await self.rpc.profileset(new_preset)
|
||||
except APIError:
|
||||
raise
|
||||
except Exception as e:
|
||||
logging.warning(f"{self} - Failed to set power limit: {e}")
|
||||
return False
|
||||
|
||||
if result["PROFILE"][0]["Profile"] == new_preset:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
##################################################
|
||||
### DATA GATHERING FUNCTIONS (get_{some_data}) ###
|
||||
##################################################
|
||||
|
||||
Reference in New Issue
Block a user