add logging to btminer and fix some bugs
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user