add logging to btminer and fix some bugs

This commit is contained in:
UpstreamData
2022-03-16 08:40:41 -06:00
parent 9edcd866bb
commit eb8cefa461
2 changed files with 15 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
from API.btminer import BTMinerAPI from API.btminer import BTMinerAPI
from miners import BaseMiner from miners import BaseMiner
from API import APIError from API import APIError
import logging
class BTMiner(BaseMiner): class BTMiner(BaseMiner):
@@ -15,23 +16,33 @@ class BTMiner(BaseMiner):
async def get_model(self): async def get_model(self):
if self.model: if self.model:
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
version_data = await self.api.devdetails() version_data = await self.api.devdetails()
if version_data: if version_data:
self.model = version_data["DEVDETAILS"][0]["Model"].split("V")[0] self.model = version_data["DEVDETAILS"][0]["Model"].split("V")[0]
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
logging.warning(f"Failed to get model for miner: {self}")
return None return None
async def get_hostname(self) -> str: async def get_hostname(self) -> str:
try: try:
host_data = await self.api.get_miner_info() host_data = await self.api.get_miner_info()
if host_data: if host_data:
return host_data["Msg"]["hostname"] host = host_data["Msg"]["hostname"]
logging.debug(f"Found hostname for {self.ip}: {host}")
return host
except APIError: except APIError:
logging.warning(f"Failed to get hostname for miner: {self}")
return "?"
except Exception as e:
logging.warning(f"Failed to get hostname for miner: {self}")
return "?" return "?"
async def get_board_info(self) -> dict: async def get_board_info(self) -> dict:
"""Gets data on each board and chain in the miner.""" """Gets data on each board and chain in the miner."""
logging.debug(f"{self}: Getting board info.")
devs = await self.api.devs() devs = await self.api.devs()
if not devs.get("DEVS"): if not devs.get("DEVS"):
print("devs error", devs) print("devs error", devs)
@@ -53,5 +64,7 @@ class BTMiner(BaseMiner):
"nominal": nominal "nominal": nominal
}) })
else: else:
logging.warning(f"Incorrect board data from {self}: {board}")
print(board) print(board)
logging.debug(f"Found board data for {self}: {boards}")
return boards return boards

View File

@@ -392,7 +392,7 @@ async def get_formatted_data(ip: ipaddress.ip_address):
# alternate temperature data, for BraiinsOS # alternate temperature data, for BraiinsOS
if "temps" in miner_data.keys(): if "temps" in miner_data.keys():
if not miner_data["temps"][0]['TEMPS'] == []: if not miner_data["temps"][0].get('TEMPS') == []:
if "Chip" in miner_data["temps"][0]['TEMPS'][0].keys(): if "Chip" in miner_data["temps"][0]['TEMPS'][0].keys():
for board in miner_data["temps"][0]['TEMPS']: for board in miner_data["temps"][0]['TEMPS']:
if board["Chip"] is not None and not board["Chip"] == 0.0: if board["Chip"] is not None and not board["Chip"] == 0.0: