bug: update miner handling with unknown models, but known makes.
This commit is contained in:
@@ -94,9 +94,9 @@ class MinerData:
|
|||||||
percent_expected_wattage: float = field(init=False)
|
percent_expected_wattage: float = field(init=False)
|
||||||
nominal: bool = field(init=False)
|
nominal: bool = field(init=False)
|
||||||
config: MinerConfig = None
|
config: MinerConfig = None
|
||||||
errors: List[Union[WhatsminerError, BraiinsOSError, X19Error, InnosiliconError]] = (
|
errors: List[
|
||||||
field(default_factory=list)
|
Union[WhatsminerError, BraiinsOSError, X19Error, InnosiliconError]
|
||||||
)
|
] = field(default_factory=list)
|
||||||
fault_light: Union[bool, None] = None
|
fault_light: Union[bool, None] = None
|
||||||
efficiency: int = field(init=False)
|
efficiency: int = field(init=False)
|
||||||
is_mining: bool = True
|
is_mining: bool = True
|
||||||
|
|||||||
@@ -69,7 +69,12 @@ class MinerProtocol(Protocol):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def model(self) -> str:
|
def model(self) -> str:
|
||||||
model_data = [self.raw_model if self.raw_model is not None else "Unknown"]
|
if self.raw_model is not None:
|
||||||
|
model_data = [self.raw_model]
|
||||||
|
elif self.make is not None:
|
||||||
|
model_data = [self.make]
|
||||||
|
else:
|
||||||
|
model_data = ["Unknown"]
|
||||||
if self.firmware is not None:
|
if self.firmware is not None:
|
||||||
model_data.append(f"({self.firmware})")
|
model_data.append(f"({self.firmware})")
|
||||||
return " ".join(model_data)
|
return " ".join(model_data)
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ from pyasic.miners.backends.unknown import UnknownMiner
|
|||||||
from pyasic.miners.base import AnyMiner
|
from pyasic.miners.base import AnyMiner
|
||||||
from pyasic.miners.goldshell import *
|
from pyasic.miners.goldshell import *
|
||||||
from pyasic.miners.innosilicon import *
|
from pyasic.miners.innosilicon import *
|
||||||
|
from pyasic.miners.makes import *
|
||||||
from pyasic.miners.whatsminer import *
|
from pyasic.miners.whatsminer import *
|
||||||
|
|
||||||
|
|
||||||
@@ -66,7 +67,7 @@ class MinerTypes(enum.Enum):
|
|||||||
|
|
||||||
MINER_CLASSES = {
|
MINER_CLASSES = {
|
||||||
MinerTypes.ANTMINER: {
|
MinerTypes.ANTMINER: {
|
||||||
None: BMMiner,
|
None: type("AntminerUnknown", (BMMiner, AntMinerMake), {}),
|
||||||
"ANTMINER D3": CGMinerD3,
|
"ANTMINER D3": CGMinerD3,
|
||||||
"ANTMINER HS3": BMMinerHS3,
|
"ANTMINER HS3": BMMinerHS3,
|
||||||
"ANTMINER L3+": BMMinerL3Plus,
|
"ANTMINER L3+": BMMinerL3Plus,
|
||||||
@@ -101,7 +102,7 @@ MINER_CLASSES = {
|
|||||||
"ANTMINER T19": BMMinerT19,
|
"ANTMINER T19": BMMinerT19,
|
||||||
},
|
},
|
||||||
MinerTypes.WHATSMINER: {
|
MinerTypes.WHATSMINER: {
|
||||||
None: BTMiner,
|
None: type("WhatsminerUnknown", (BTMiner, WhatsMinerMake), {}),
|
||||||
"M20V10": BTMinerM20V10,
|
"M20V10": BTMinerM20V10,
|
||||||
"M20SV10": BTMinerM20SV10,
|
"M20SV10": BTMinerM20SV10,
|
||||||
"M20SV20": BTMinerM20SV20,
|
"M20SV20": BTMinerM20SV20,
|
||||||
@@ -317,7 +318,7 @@ MINER_CLASSES = {
|
|||||||
"M66SVK40": BTMinerM66SVK40,
|
"M66SVK40": BTMinerM66SVK40,
|
||||||
},
|
},
|
||||||
MinerTypes.AVALONMINER: {
|
MinerTypes.AVALONMINER: {
|
||||||
None: AvalonMiner,
|
None: type("AvalonUnknown", (AvalonMiner, AvalonMinerMake), {}),
|
||||||
"AVALONMINER 721": CGMinerAvalon721,
|
"AVALONMINER 721": CGMinerAvalon721,
|
||||||
"AVALONMINER 741": CGMinerAvalon741,
|
"AVALONMINER 741": CGMinerAvalon741,
|
||||||
"AVALONMINER 761": CGMinerAvalon761,
|
"AVALONMINER 761": CGMinerAvalon761,
|
||||||
@@ -332,12 +333,12 @@ MINER_CLASSES = {
|
|||||||
"AVALONMINER 1246": CGMinerAvalon1246,
|
"AVALONMINER 1246": CGMinerAvalon1246,
|
||||||
},
|
},
|
||||||
MinerTypes.INNOSILICON: {
|
MinerTypes.INNOSILICON: {
|
||||||
None: Innosilicon,
|
None: type("InnosiliconUnknown", (Innosilicon, InnosiliconMake), {}),
|
||||||
"T3H+": InnosiliconT3HPlus,
|
"T3H+": InnosiliconT3HPlus,
|
||||||
"A10X": InnosiliconA10X,
|
"A10X": InnosiliconA10X,
|
||||||
},
|
},
|
||||||
MinerTypes.GOLDSHELL: {
|
MinerTypes.GOLDSHELL: {
|
||||||
None: GoldshellMiner,
|
None: type("GoldshellUnknown", (GoldshellMiner, GoldshellMake), {}),
|
||||||
"GOLDSHELL CK5": GoldshellCK5,
|
"GOLDSHELL CK5": GoldshellCK5,
|
||||||
"GOLDSHELL HS5": GoldshellHS5,
|
"GOLDSHELL HS5": GoldshellHS5,
|
||||||
"GOLDSHELL KD5": GoldshellKD5,
|
"GOLDSHELL KD5": GoldshellKD5,
|
||||||
@@ -403,7 +404,7 @@ MINER_CLASSES = {
|
|||||||
"ANTMINER S9": LUXMinerS9,
|
"ANTMINER S9": LUXMinerS9,
|
||||||
},
|
},
|
||||||
MinerTypes.AURADINE: {
|
MinerTypes.AURADINE: {
|
||||||
None: Auradine,
|
None: type("GoldshellUnknown", (Auradine, AuradineMake), {}),
|
||||||
"AT1500": AuradineFluxAT1500,
|
"AT1500": AuradineFluxAT1500,
|
||||||
"AT2860": AuradineFluxAT2860,
|
"AT2860": AuradineFluxAT2860,
|
||||||
"AT2880": AuradineFluxAT2880,
|
"AT2880": AuradineFluxAT2880,
|
||||||
@@ -499,7 +500,6 @@ class MinerFactory:
|
|||||||
)
|
)
|
||||||
except asyncio.TimeoutError:
|
except asyncio.TimeoutError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
miner = self._select_miner_from_classes(
|
miner = self._select_miner_from_classes(
|
||||||
ip,
|
ip,
|
||||||
miner_type=miner_type,
|
miner_type=miner_type,
|
||||||
|
|||||||
Reference in New Issue
Block a user