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:
@@ -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
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user