add support for braiins OS errors
This commit is contained in:
@@ -1 +1,2 @@
|
|||||||
from .whatsminer import WhatsminerError
|
from .whatsminer import WhatsminerError
|
||||||
|
from .bos import BraiinsOSError
|
||||||
|
|||||||
11
pyasic/data/error_codes/bos.py
Normal file
11
pyasic/data/error_codes/bos.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
from dataclasses import dataclass, asdict
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class BraiinsOSError:
|
||||||
|
"""A Dataclass to handle error codes of BraiinsOS+ miners."""
|
||||||
|
|
||||||
|
error_message: str
|
||||||
|
|
||||||
|
def asdict(self):
|
||||||
|
return asdict(self)
|
||||||
@@ -9,6 +9,7 @@ from pyasic.miners import BaseMiner
|
|||||||
from pyasic.API.bosminer import BOSMinerAPI
|
from pyasic.API.bosminer import BOSMinerAPI
|
||||||
from pyasic.API import APIError
|
from pyasic.API import APIError
|
||||||
|
|
||||||
|
from pyasic.data.error_codes import BraiinsOSError
|
||||||
from pyasic.data import MinerData
|
from pyasic.data import MinerData
|
||||||
|
|
||||||
from pyasic.config import MinerConfig
|
from pyasic.config import MinerConfig
|
||||||
@@ -395,6 +396,30 @@ class BOSMiner(BaseMiner):
|
|||||||
if wattage:
|
if wattage:
|
||||||
data.wattage = wattage
|
data.wattage = wattage
|
||||||
|
|
||||||
|
chain_status = tuner[0].get("TunerChainStatus")
|
||||||
|
if chain_status and len(chain_status) > 0:
|
||||||
|
board_map = {
|
||||||
|
0: "Left board",
|
||||||
|
1: "Center board",
|
||||||
|
2: "Right board",
|
||||||
|
}
|
||||||
|
offset = (
|
||||||
|
6
|
||||||
|
if chain_status[0]["HashchainIndex"] in [6, 7, 8]
|
||||||
|
else chain_status[0]["HashchainIndex"]
|
||||||
|
)
|
||||||
|
for board in chain_status:
|
||||||
|
_id = board["HashchainIndex"] - offset
|
||||||
|
if board["Status"] not in [
|
||||||
|
"Stable",
|
||||||
|
"Testing performance profile",
|
||||||
|
]:
|
||||||
|
_error = board["Status"]
|
||||||
|
_error = _error[0].lower() + _error[1:]
|
||||||
|
data.errors.append(
|
||||||
|
BraiinsOSError(f"{board_map[_id]} {_error}")
|
||||||
|
)
|
||||||
|
|
||||||
if devdetails:
|
if devdetails:
|
||||||
boards = devdetails[0].get("DEVDETAILS")
|
boards = devdetails[0].get("DEVDETAILS")
|
||||||
if boards:
|
if boards:
|
||||||
|
|||||||
Reference in New Issue
Block a user