Skip to content

Commit

Permalink
bug: update miner handling with unknown models, but known makes.
Browse files Browse the repository at this point in the history
  • Loading branch information
UpstreamData committed Feb 14, 2024
1 parent bec9c31 commit 4073a27
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 11 deletions.
6 changes: 3 additions & 3 deletions pyasic/data/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,9 @@ class MinerData:
percent_expected_wattage: float = field(init=False)
nominal: bool = field(init=False)
config: MinerConfig = None
errors: List[Union[WhatsminerError, BraiinsOSError, X19Error, InnosiliconError]] = (
field(default_factory=list)
)
errors: List[
Union[WhatsminerError, BraiinsOSError, X19Error, InnosiliconError]
] = field(default_factory=list)
fault_light: Union[bool, None] = None
efficiency: int = field(init=False)
is_mining: bool = True
Expand Down
7 changes: 6 additions & 1 deletion pyasic/miners/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,12 @@ def __eq__(self, other):

@property
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:
model_data.append(f"({self.firmware})")
return " ".join(model_data)
Expand Down
14 changes: 7 additions & 7 deletions pyasic/miners/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
from pyasic.miners.base import AnyMiner
from pyasic.miners.goldshell import *
from pyasic.miners.innosilicon import *
from pyasic.miners.makes import *
from pyasic.miners.whatsminer import *


Expand All @@ -66,7 +67,7 @@ class MinerTypes(enum.Enum):

MINER_CLASSES = {
MinerTypes.ANTMINER: {
None: BMMiner,
None: type("AntminerUnknown", (BMMiner, AntMinerMake), {}),
"ANTMINER D3": CGMinerD3,
"ANTMINER HS3": BMMinerHS3,
"ANTMINER L3+": BMMinerL3Plus,
Expand Down Expand Up @@ -101,7 +102,7 @@ class MinerTypes(enum.Enum):
"ANTMINER T19": BMMinerT19,
},
MinerTypes.WHATSMINER: {
None: BTMiner,
None: type("WhatsminerUnknown", (BTMiner, WhatsMinerMake), {}),
"M20V10": BTMinerM20V10,
"M20SV10": BTMinerM20SV10,
"M20SV20": BTMinerM20SV20,
Expand Down Expand Up @@ -317,7 +318,7 @@ class MinerTypes(enum.Enum):
"M66SVK40": BTMinerM66SVK40,
},
MinerTypes.AVALONMINER: {
None: AvalonMiner,
None: type("AvalonUnknown", (AvalonMiner, AvalonMinerMake), {}),
"AVALONMINER 721": CGMinerAvalon721,
"AVALONMINER 741": CGMinerAvalon741,
"AVALONMINER 761": CGMinerAvalon761,
Expand All @@ -332,12 +333,12 @@ class MinerTypes(enum.Enum):
"AVALONMINER 1246": CGMinerAvalon1246,
},
MinerTypes.INNOSILICON: {
None: Innosilicon,
None: type("InnosiliconUnknown", (Innosilicon, InnosiliconMake), {}),
"T3H+": InnosiliconT3HPlus,
"A10X": InnosiliconA10X,
},
MinerTypes.GOLDSHELL: {
None: GoldshellMiner,
None: type("GoldshellUnknown", (GoldshellMiner, GoldshellMake), {}),
"GOLDSHELL CK5": GoldshellCK5,
"GOLDSHELL HS5": GoldshellHS5,
"GOLDSHELL KD5": GoldshellKD5,
Expand Down Expand Up @@ -403,7 +404,7 @@ class MinerTypes(enum.Enum):
"ANTMINER S9": LUXMinerS9,
},
MinerTypes.AURADINE: {
None: Auradine,
None: type("GoldshellUnknown", (Auradine, AuradineMake), {}),
"AT1500": AuradineFluxAT1500,
"AT2860": AuradineFluxAT2860,
"AT2880": AuradineFluxAT2880,
Expand Down Expand Up @@ -499,7 +500,6 @@ async def get_miner(self, ip: str | ipaddress.ip_address) -> AnyMiner | None:
)
except asyncio.TimeoutError:
pass

miner = self._select_miner_from_classes(
ip,
miner_type=miner_type,
Expand Down

0 comments on commit 4073a27

Please sign in to comment.