bug: Fix whatsminers not reporting error codes due to self.api.get_psu() causing a failed multicommand when used with older miners.

This commit is contained in:
UpstreamData
2022-11-01 08:14:06 -06:00
parent 5c0ac4e665
commit aac7598187
2 changed files with 8 additions and 6 deletions

View File

@@ -157,7 +157,9 @@ If you are sure you want to use this command please use API.send_command("{comma
validation = self._validate_command_output(data) validation = self._validate_command_output(data)
if not validation[0]: if not validation[0]:
if not x19_command: if not x19_command:
logging.warning(f"{self.ip}: API Command Error: {validation[1]}") logging.warning(
f"{self.ip}: API Command Error: {command}: {validation[1]}"
)
raise APIError(validation[1]) raise APIError(validation[1])
return data return data

View File

@@ -263,21 +263,21 @@ class BTMiner(BaseMiner):
miner_data = None miner_data = None
for i in range(PyasicSettings().miner_get_data_retries): for i in range(PyasicSettings().miner_get_data_retries):
try: try:
miner_data = await self.api.multicommand( miner_data = await self.api.multicommand("summary", "devs", "pools")
"summary", "devs", "pools", "get_psu"
)
if miner_data: if miner_data:
break break
except APIError: except APIError:
pass pass
if not miner_data: if not miner_data:
return data return data
summary = miner_data.get("summary")[0] summary = miner_data.get("summary")[0]
devs = miner_data.get("devs")[0] devs = miner_data.get("devs")[0]
pools = miner_data.get("pools")[0] pools = miner_data.get("pools")[0]
psu_data = miner_data.get("get_psu")[0] try:
psu_data = await self.api.get_psu()
except APIError:
psu_data = None
if summary: if summary:
summary_data = summary.get("SUMMARY") summary_data = summary.get("SUMMARY")