fixed more bugs with whatsminers and added more versions
This commit is contained in:
@@ -15,7 +15,7 @@ def init_logger():
|
|||||||
_logger.setLevel(logging.DEBUG)
|
_logger.setLevel(logging.DEBUG)
|
||||||
logging.getLogger("asyncssh").setLevel(logging.DEBUG)
|
logging.getLogger("asyncssh").setLevel(logging.DEBUG)
|
||||||
else:
|
else:
|
||||||
_logger.setLevel(logging.INFO)
|
_logger.setLevel(logging.WARNING)
|
||||||
logging.getLogger("asyncssh").setLevel(logging.WARNING)
|
logging.getLogger("asyncssh").setLevel(logging.WARNING)
|
||||||
|
|
||||||
return _logger
|
return _logger
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class BTMiner(BaseMiner):
|
|||||||
self.hostname = host
|
self.hostname = host
|
||||||
return self.hostname
|
return self.hostname
|
||||||
except APIError:
|
except APIError:
|
||||||
logging.warning(f"Failed to get hostname for miner: {self}")
|
logging.info(f"Failed to get hostname for miner: {self}")
|
||||||
return "?"
|
return "?"
|
||||||
except Exception:
|
except Exception:
|
||||||
logging.warning(f"Failed to get hostname for miner: {self}")
|
logging.warning(f"Failed to get hostname for miner: {self}")
|
||||||
|
|||||||
@@ -1,10 +1,19 @@
|
|||||||
from miners import BaseMiner
|
from miners import BaseMiner
|
||||||
|
|
||||||
|
|
||||||
class M21S(BaseMiner):
|
class M21SV60(BaseMiner):
|
||||||
def __init__(self, ip: str):
|
def __init__(self, ip: str):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.ip = ip
|
self.ip = ip
|
||||||
self.model = "M21S"
|
self.model = "M21S V60"
|
||||||
self.nominal_chips = 105
|
self.nominal_chips = 105
|
||||||
self.fan_count = 2
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M21SV20(BaseMiner):
|
||||||
|
def __init__(self, ip: str):
|
||||||
|
super().__init__()
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M21S V20"
|
||||||
|
self.nominal_chips = 66
|
||||||
|
self.fan_count = 2
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ from .M20S import M20S
|
|||||||
from .M20S_Plus import M20SPlus
|
from .M20S_Plus import M20SPlus
|
||||||
|
|
||||||
from .M21 import M21
|
from .M21 import M21
|
||||||
from .M21S import M21S
|
from .M21S import M21SV20, M21SV60
|
||||||
from .M21S_Plus import M21SPlus
|
from .M21S_Plus import M21SPlus
|
||||||
|
|||||||
@@ -8,3 +8,12 @@ class M30S(BaseMiner):
|
|||||||
self.model = "M30S"
|
self.model = "M30S"
|
||||||
self.nominal_chips = 148
|
self.nominal_chips = 148
|
||||||
self.fan_count = 2
|
self.fan_count = 2
|
||||||
|
|
||||||
|
|
||||||
|
class M30SV50(BaseMiner):
|
||||||
|
def __init__(self, ip: str):
|
||||||
|
super().__init__()
|
||||||
|
self.ip = ip
|
||||||
|
self.model = "M30S V50"
|
||||||
|
self.nominal_chips = 156
|
||||||
|
self.fan_count = 2
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ class M30SPlusPlusVG30(BaseMiner):
|
|||||||
def __init__(self, ip: str):
|
def __init__(self, ip: str):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.ip = ip
|
self.ip = ip
|
||||||
self.model = "M30S++V30"
|
self.model = "M30S++ V30"
|
||||||
self.nominal_chips = 111
|
self.nominal_chips = 111
|
||||||
self.fan_count = 2
|
self.fan_count = 2
|
||||||
|
|
||||||
@@ -14,6 +14,6 @@ class M30SPlusPlusVG40(BaseMiner):
|
|||||||
def __init__(self, ip: str):
|
def __init__(self, ip: str):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.ip = ip
|
self.ip = ip
|
||||||
self.model = "M30S++V40"
|
self.model = "M30S++ V40"
|
||||||
self.nominal_chips = 117
|
self.nominal_chips = 117
|
||||||
self.fan_count = 2
|
self.fan_count = 2
|
||||||
|
|||||||
@@ -14,6 +14,6 @@ class M31SPlusVE20(BaseMiner):
|
|||||||
def __init__(self, ip: str):
|
def __init__(self, ip: str):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.ip = ip
|
self.ip = ip
|
||||||
self.model = "M31S+VE20"
|
self.model = "M31S+ VE20"
|
||||||
self.nominal_chips = 78
|
self.nominal_chips = 78
|
||||||
self.fan_count = 2
|
self.fan_count = 2
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from .M30S import M30S
|
from .M30S import M30S, M30SV50
|
||||||
from .M30S_Plus import M30SPlus
|
from .M30S_Plus import M30SPlus
|
||||||
from .M30S_Plus_Plus import M30SPlusPlusVG30, M30SPlusPlusVG40
|
from .M30S_Plus_Plus import M30SPlusPlusVG30, M30SPlusPlusVG40
|
||||||
|
|
||||||
|
|||||||
@@ -133,8 +133,10 @@ MINER_CLASSES = {
|
|||||||
"BTMiner": BTMinerM21,
|
"BTMiner": BTMinerM21,
|
||||||
},
|
},
|
||||||
"M21S": {
|
"M21S": {
|
||||||
"Default": BTMinerM21S,
|
"Default": BTMinerM21SV60,
|
||||||
"BTMiner": BTMinerM21S,
|
"BTMiner": BTMinerM21SV60,
|
||||||
|
"60": BTMinerM21SV60,
|
||||||
|
"20": BTMinerM21SV20,
|
||||||
},
|
},
|
||||||
"M21S+": {
|
"M21S+": {
|
||||||
"Default": BTMinerM21SPlus,
|
"Default": BTMinerM21SPlus,
|
||||||
@@ -143,6 +145,7 @@ MINER_CLASSES = {
|
|||||||
"M30S": {
|
"M30S": {
|
||||||
"Default": BTMinerM30S,
|
"Default": BTMinerM30S,
|
||||||
"BTMiner": BTMinerM30S,
|
"BTMiner": BTMinerM30S,
|
||||||
|
"50": BTMinerM30SV50,
|
||||||
},
|
},
|
||||||
"M30S+": {
|
"M30S+": {
|
||||||
"Default": BTMinerM30SPlus,
|
"Default": BTMinerM30SPlus,
|
||||||
@@ -433,6 +436,7 @@ class MinerFactory(metaclass=Singleton):
|
|||||||
if "V" in model:
|
if "V" in model:
|
||||||
_ver = model.split("V")
|
_ver = model.split("V")
|
||||||
if len(_ver) > 1:
|
if len(_ver) > 1:
|
||||||
|
ver = model.split("V")[1]
|
||||||
if "VE" in model:
|
if "VE" in model:
|
||||||
ver = model.split("VE")[1]
|
ver = model.split("VE")[1]
|
||||||
if "VG" in model:
|
if "VG" in model:
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
from miners._backends import BTMiner # noqa - Ignore access to _module
|
from miners._backends import BTMiner # noqa - Ignore access to _module
|
||||||
from miners._types import M21S # noqa - Ignore access to _module
|
from miners._types import M21SV20, M21SV60 # noqa - Ignore access to _module
|
||||||
|
|
||||||
|
|
||||||
class BTMinerM21S(BTMiner, M21S):
|
class BTMinerM21SV20(BTMiner, M21SV20):
|
||||||
|
def __init__(self, ip: str) -> None:
|
||||||
|
super().__init__(ip)
|
||||||
|
self.ip = ip
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM21SV60(BTMiner, M21SV60):
|
||||||
def __init__(self, ip: str) -> None:
|
def __init__(self, ip: str) -> None:
|
||||||
super().__init__(ip)
|
super().__init__(ip)
|
||||||
self.ip = ip
|
self.ip = ip
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ from .M20S import BTMinerM20S
|
|||||||
from .M20S_Plus import BTMinerM20SPlus
|
from .M20S_Plus import BTMinerM20SPlus
|
||||||
|
|
||||||
from .M21 import BTMinerM21
|
from .M21 import BTMinerM21
|
||||||
from .M21S import BTMinerM21S
|
from .M21S import BTMinerM21SV20, BTMinerM21SV60
|
||||||
from .M21S_Plus import BTMinerM21SPlus
|
from .M21S_Plus import BTMinerM21SPlus
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
from miners._backends import BTMiner # noqa - Ignore access to _module
|
from miners._backends import BTMiner # noqa - Ignore access to _module
|
||||||
from miners._types import M30S # noqa - Ignore access to _module
|
from miners._types import M30S, M30SV50 # noqa - Ignore access to _module
|
||||||
|
|
||||||
|
|
||||||
class BTMinerM30S(BTMiner, M30S):
|
class BTMinerM30S(BTMiner, M30S):
|
||||||
def __init__(self, ip: str) -> None:
|
def __init__(self, ip: str) -> None:
|
||||||
super().__init__(ip)
|
super().__init__(ip)
|
||||||
self.ip = ip
|
self.ip = ip
|
||||||
|
|
||||||
|
|
||||||
|
class BTMinerM30SV50(BTMiner, M30SV50):
|
||||||
|
def __init__(self, ip: str) -> None:
|
||||||
|
super().__init__(ip)
|
||||||
|
self.ip = ip
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from .M30S import BTMinerM30S
|
from .M30S import BTMinerM30S, BTMinerM30SV50
|
||||||
from .M30S_Plus import BTMinerM30SPlus
|
from .M30S_Plus import BTMinerM30SPlus
|
||||||
from .M30S_Plus_Plus import BTMinerM30SPlusPlusVG40, BTMinerM30SPlusPlusVG30
|
from .M30S_Plus_Plus import BTMinerM30SPlusPlusVG40, BTMinerM30SPlusPlusVG30
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user