bug: make sure all data locations are accurate.
This commit is contained in:
@@ -30,7 +30,7 @@ class HiveonT9(Hiveon, T9):
|
|||||||
### DATA GATHERING FUNCTIONS (get_{some_data}) ###
|
### DATA GATHERING FUNCTIONS (get_{some_data}) ###
|
||||||
##################################################
|
##################################################
|
||||||
|
|
||||||
async def get_mac(self):
|
async def _get_mac(self):
|
||||||
try:
|
try:
|
||||||
mac = (
|
mac = (
|
||||||
(await self.send_ssh_command("cat /sys/class/net/eth0/address"))
|
(await self.send_ssh_command("cat /sys/class/net/eth0/address"))
|
||||||
@@ -41,7 +41,7 @@ class HiveonT9(Hiveon, T9):
|
|||||||
except (TypeError, ValueError, asyncssh.Error, OSError, AttributeError):
|
except (TypeError, ValueError, asyncssh.Error, OSError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
async def get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
|
async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
|
||||||
hashboards = [
|
hashboards = [
|
||||||
HashBoard(slot=board, expected_chips=self.expected_chips)
|
HashBoard(slot=board, expected_chips=self.expected_chips)
|
||||||
for board in range(self.expected_hashboards)
|
for board in range(self.expected_hashboards)
|
||||||
@@ -83,7 +83,7 @@ class HiveonT9(Hiveon, T9):
|
|||||||
|
|
||||||
return hashboards
|
return hashboards
|
||||||
|
|
||||||
async def get_wattage(self, api_stats: dict = None) -> Optional[int]:
|
async def _get_wattage(self, api_stats: dict = None) -> Optional[int]:
|
||||||
if not api_stats:
|
if not api_stats:
|
||||||
try:
|
try:
|
||||||
api_stats = await self.api.stats()
|
api_stats = await self.api.stats()
|
||||||
@@ -100,7 +100,7 @@ class HiveonT9(Hiveon, T9):
|
|||||||
# parse wattage position out of raw data
|
# parse wattage position out of raw data
|
||||||
return round(float(wattage_raw.split(" ")[0]))
|
return round(float(wattage_raw.split(" ")[0]))
|
||||||
|
|
||||||
async def get_env_temp(self, api_stats: dict = None) -> Optional[float]:
|
async def _get_env_temp(self, api_stats: dict = None) -> Optional[float]:
|
||||||
env_temp_list = []
|
env_temp_list = []
|
||||||
board_map = {
|
board_map = {
|
||||||
0: [2, 9, 10],
|
0: [2, 9, 10],
|
||||||
|
|||||||
@@ -364,5 +364,5 @@ class CGMinerAvalon(CGMiner):
|
|||||||
async def _is_mining(self, *args, **kwargs) -> Optional[bool]:
|
async def _is_mining(self, *args, **kwargs) -> Optional[bool]:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
async def get_uptime(self) -> Optional[int]:
|
async def _get_uptime(self) -> Optional[int]:
|
||||||
return None
|
return None
|
||||||
|
|||||||
@@ -22,39 +22,39 @@ from pyasic.miners.base import DataFunction, DataLocations, DataOptions, RPCAPIC
|
|||||||
|
|
||||||
HIVEON_DATA_LOC = DataLocations(
|
HIVEON_DATA_LOC = DataLocations(
|
||||||
**{
|
**{
|
||||||
str(DataOptions.MAC): DataFunction("get_mac"),
|
str(DataOptions.MAC): DataFunction("_get_mac"),
|
||||||
str(DataOptions.API_VERSION): DataFunction(
|
str(DataOptions.API_VERSION): DataFunction(
|
||||||
"get_api_ver", [RPCAPICommand("api_version", "version")]
|
"_get_api_ver", [RPCAPICommand("api_version", "version")]
|
||||||
),
|
),
|
||||||
str(DataOptions.FW_VERSION): DataFunction(
|
str(DataOptions.FW_VERSION): DataFunction(
|
||||||
"get_fw_ver", [RPCAPICommand("api_version", "version")]
|
"_get_fw_ver", [RPCAPICommand("api_version", "version")]
|
||||||
),
|
),
|
||||||
str(DataOptions.HOSTNAME): DataFunction("get_hostname"),
|
str(DataOptions.HOSTNAME): DataFunction("_get_hostname"),
|
||||||
str(DataOptions.HASHRATE): DataFunction(
|
str(DataOptions.HASHRATE): DataFunction(
|
||||||
"get_hashrate", [RPCAPICommand("api_summary", "summary")]
|
"_get_hashrate", [RPCAPICommand("api_summary", "summary")]
|
||||||
),
|
),
|
||||||
str(DataOptions.EXPECTED_HASHRATE): DataFunction(
|
str(DataOptions.EXPECTED_HASHRATE): DataFunction(
|
||||||
"get_expected_hashrate", [RPCAPICommand("api_stats", "stats")]
|
"_get_expected_hashrate", [RPCAPICommand("api_stats", "stats")]
|
||||||
),
|
),
|
||||||
str(DataOptions.HASHBOARDS): DataFunction(
|
str(DataOptions.HASHBOARDS): DataFunction(
|
||||||
"get_hashboards", [RPCAPICommand("api_stats", "stats")]
|
"_get_hashboards", [RPCAPICommand("api_stats", "stats")]
|
||||||
),
|
),
|
||||||
str(DataOptions.ENVIRONMENT_TEMP): DataFunction(
|
str(DataOptions.ENVIRONMENT_TEMP): DataFunction(
|
||||||
"get_env_temp", [RPCAPICommand("api_stats", "stats")]
|
"_get_env_temp", [RPCAPICommand("api_stats", "stats")]
|
||||||
),
|
),
|
||||||
str(DataOptions.WATTAGE): DataFunction(
|
str(DataOptions.WATTAGE): DataFunction(
|
||||||
"get_wattage", [RPCAPICommand("api_stats", "stats")]
|
"_get_wattage", [RPCAPICommand("api_stats", "stats")]
|
||||||
),
|
),
|
||||||
str(DataOptions.WATTAGE_LIMIT): DataFunction("get_wattage_limit"),
|
str(DataOptions.WATTAGE_LIMIT): DataFunction("_get_wattage_limit"),
|
||||||
str(DataOptions.FANS): DataFunction(
|
str(DataOptions.FANS): DataFunction(
|
||||||
"get_fans", [RPCAPICommand("api_stats", "stats")]
|
"_get_fans", [RPCAPICommand("api_stats", "stats")]
|
||||||
),
|
),
|
||||||
str(DataOptions.FAN_PSU): DataFunction("get_fan_psu"),
|
str(DataOptions.FAN_PSU): DataFunction("_get_fan_psu"),
|
||||||
str(DataOptions.ERRORS): DataFunction("get_errors"),
|
str(DataOptions.ERRORS): DataFunction("_get_errors"),
|
||||||
str(DataOptions.FAULT_LIGHT): DataFunction("get_fault_light"),
|
str(DataOptions.FAULT_LIGHT): DataFunction("_get_fault_light"),
|
||||||
str(DataOptions.IS_MINING): DataFunction("is_mining"),
|
str(DataOptions.IS_MINING): DataFunction("_is_mining"),
|
||||||
str(DataOptions.UPTIME): DataFunction(
|
str(DataOptions.UPTIME): DataFunction(
|
||||||
"get_uptime", [RPCAPICommand("api_stats", "stats")]
|
"_get_uptime", [RPCAPICommand("api_stats", "stats")]
|
||||||
),
|
),
|
||||||
str(DataOptions.CONFIG): DataFunction("get_config"),
|
str(DataOptions.CONFIG): DataFunction("get_config"),
|
||||||
}
|
}
|
||||||
@@ -71,11 +71,11 @@ class Hiveon(BMMiner):
|
|||||||
# data gathering locations
|
# data gathering locations
|
||||||
self.data_locations = HIVEON_DATA_LOC
|
self.data_locations = HIVEON_DATA_LOC
|
||||||
|
|
||||||
async def get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
|
async def _get_hashboards(self, api_stats: dict = None) -> List[HashBoard]:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
async def get_wattage(self, api_stats: dict = None) -> Optional[int]:
|
async def _get_wattage(self, api_stats: dict = None) -> Optional[int]:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
async def get_env_temp(self, api_stats: dict = None) -> Optional[float]:
|
async def _get_env_temp(self, api_stats: dict = None) -> Optional[float]:
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -33,68 +33,67 @@ from pyasic.web.innosilicon import InnosiliconWebAPI
|
|||||||
INNOSILICON_DATA_LOC = DataLocations(
|
INNOSILICON_DATA_LOC = DataLocations(
|
||||||
**{
|
**{
|
||||||
str(DataOptions.MAC): DataFunction(
|
str(DataOptions.MAC): DataFunction(
|
||||||
"get_mac",
|
"_get_mac",
|
||||||
[
|
[
|
||||||
WebAPICommand("web_get_all", "getAll"),
|
WebAPICommand("web_get_all", "getAll"),
|
||||||
WebAPICommand("web_overview", "overview"),
|
WebAPICommand("web_overview", "overview"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
str(DataOptions.MODEL): DataFunction("get_model"),
|
|
||||||
str(DataOptions.API_VERSION): DataFunction(
|
str(DataOptions.API_VERSION): DataFunction(
|
||||||
"get_api_ver", [RPCAPICommand("api_version", "version")]
|
"_get_api_ver", [RPCAPICommand("api_version", "version")]
|
||||||
),
|
),
|
||||||
str(DataOptions.FW_VERSION): DataFunction(
|
str(DataOptions.FW_VERSION): DataFunction(
|
||||||
"get_fw_ver", [RPCAPICommand("api_version", "version")]
|
"_get_fw_ver", [RPCAPICommand("api_version", "version")]
|
||||||
),
|
),
|
||||||
str(DataOptions.HOSTNAME): DataFunction("get_hostname"),
|
str(DataOptions.HOSTNAME): DataFunction("_get_hostname"),
|
||||||
str(DataOptions.HASHRATE): DataFunction(
|
str(DataOptions.HASHRATE): DataFunction(
|
||||||
"get_hashrate",
|
"_get_hashrate",
|
||||||
[
|
[
|
||||||
RPCAPICommand("api_summary", "summary"),
|
RPCAPICommand("api_summary", "summary"),
|
||||||
WebAPICommand("web_get_all", "getAll"),
|
WebAPICommand("web_get_all", "getAll"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
str(DataOptions.EXPECTED_HASHRATE): DataFunction(
|
str(DataOptions.EXPECTED_HASHRATE): DataFunction(
|
||||||
"get_expected_hashrate",
|
"_get_expected_hashrate",
|
||||||
),
|
),
|
||||||
str(DataOptions.HASHBOARDS): DataFunction(
|
str(DataOptions.HASHBOARDS): DataFunction(
|
||||||
"get_hashboards",
|
"_get_hashboards",
|
||||||
[
|
[
|
||||||
RPCAPICommand("api_stats", "stats"),
|
RPCAPICommand("api_stats", "stats"),
|
||||||
WebAPICommand("web_get_all", "getAll"),
|
WebAPICommand("web_get_all", "getAll"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
str(DataOptions.ENVIRONMENT_TEMP): DataFunction("get_env_temp"),
|
str(DataOptions.ENVIRONMENT_TEMP): DataFunction("_get_env_temp"),
|
||||||
str(DataOptions.WATTAGE): DataFunction(
|
str(DataOptions.WATTAGE): DataFunction(
|
||||||
"get_wattage",
|
"_get_wattage",
|
||||||
[
|
[
|
||||||
WebAPICommand("web_get_all", "getAll"),
|
WebAPICommand("web_get_all", "getAll"),
|
||||||
RPCAPICommand("api_stats", "stats"),
|
RPCAPICommand("api_stats", "stats"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
str(DataOptions.WATTAGE_LIMIT): DataFunction(
|
str(DataOptions.WATTAGE_LIMIT): DataFunction(
|
||||||
"get_wattage_limit",
|
"_get_wattage_limit",
|
||||||
[
|
[
|
||||||
WebAPICommand("web_get_all", "getAll"),
|
WebAPICommand("web_get_all", "getAll"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
str(DataOptions.FANS): DataFunction(
|
str(DataOptions.FANS): DataFunction(
|
||||||
"get_fans",
|
"_get_fans",
|
||||||
[
|
[
|
||||||
WebAPICommand("web_get_all", "getAll"),
|
WebAPICommand("web_get_all", "getAll"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
str(DataOptions.FAN_PSU): DataFunction("get_fan_psu"),
|
str(DataOptions.FAN_PSU): DataFunction("_get_fan_psu"),
|
||||||
str(DataOptions.ERRORS): DataFunction(
|
str(DataOptions.ERRORS): DataFunction(
|
||||||
"get_errors",
|
"_get_errors",
|
||||||
[
|
[
|
||||||
WebAPICommand("web_get_error_detail", "getErrorDetail"),
|
WebAPICommand("web_get_error_detail", "getErrorDetail"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
str(DataOptions.FAULT_LIGHT): DataFunction("get_fault_light"),
|
str(DataOptions.FAULT_LIGHT): DataFunction("_get_fault_light"),
|
||||||
str(DataOptions.IS_MINING): DataFunction("is_mining"),
|
str(DataOptions.IS_MINING): DataFunction("is_mining"),
|
||||||
str(DataOptions.UPTIME): DataFunction(
|
str(DataOptions.UPTIME): DataFunction(
|
||||||
"get_uptime", [RPCAPICommand("api_stats", "stats")]
|
"_get_uptime", [RPCAPICommand("api_stats", "stats")]
|
||||||
),
|
),
|
||||||
str(DataOptions.CONFIG): DataFunction("get_config"),
|
str(DataOptions.CONFIG): DataFunction("get_config"),
|
||||||
}
|
}
|
||||||
@@ -176,7 +175,7 @@ class Innosilicon(CGMiner):
|
|||||||
### DATA GATHERING FUNCTIONS (get_{some_data}) ###
|
### DATA GATHERING FUNCTIONS (get_{some_data}) ###
|
||||||
##################################################
|
##################################################
|
||||||
|
|
||||||
async def get_mac(
|
async def _get_mac(
|
||||||
self, web_get_all: dict = None, web_overview: dict = None
|
self, web_get_all: dict = None, web_overview: dict = None
|
||||||
) -> Optional[str]:
|
) -> Optional[str]:
|
||||||
if web_get_all:
|
if web_get_all:
|
||||||
@@ -202,7 +201,7 @@ class Innosilicon(CGMiner):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
async def get_hashrate(
|
async def _get_hashrate(
|
||||||
self, api_summary: dict = None, web_get_all: dict = None
|
self, api_summary: dict = None, web_get_all: dict = None
|
||||||
) -> Optional[float]:
|
) -> Optional[float]:
|
||||||
if web_get_all:
|
if web_get_all:
|
||||||
@@ -234,7 +233,7 @@ class Innosilicon(CGMiner):
|
|||||||
except (KeyError, IndexError):
|
except (KeyError, IndexError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
async def get_hashboards(
|
async def _get_hashboards(
|
||||||
self, api_stats: dict = None, web_get_all: dict = None
|
self, api_stats: dict = None, web_get_all: dict = None
|
||||||
) -> List[HashBoard]:
|
) -> List[HashBoard]:
|
||||||
if web_get_all:
|
if web_get_all:
|
||||||
@@ -292,7 +291,7 @@ class Innosilicon(CGMiner):
|
|||||||
|
|
||||||
return hashboards
|
return hashboards
|
||||||
|
|
||||||
async def get_wattage(
|
async def _get_wattage(
|
||||||
self, web_get_all: dict = None, api_stats: dict = None
|
self, web_get_all: dict = None, api_stats: dict = None
|
||||||
) -> Optional[int]:
|
) -> Optional[int]:
|
||||||
if web_get_all:
|
if web_get_all:
|
||||||
@@ -329,7 +328,7 @@ class Innosilicon(CGMiner):
|
|||||||
wattage = int(wattage)
|
wattage = int(wattage)
|
||||||
return wattage
|
return wattage
|
||||||
|
|
||||||
async def get_fans(self, web_get_all: dict = None) -> List[Fan]:
|
async def _get_fans(self, web_get_all: dict = None) -> List[Fan]:
|
||||||
if web_get_all:
|
if web_get_all:
|
||||||
web_get_all = web_get_all["all"]
|
web_get_all = web_get_all["all"]
|
||||||
|
|
||||||
@@ -354,7 +353,7 @@ class Innosilicon(CGMiner):
|
|||||||
|
|
||||||
return fans
|
return fans
|
||||||
|
|
||||||
async def get_errors(
|
async def _get_errors(
|
||||||
self, web_get_error_detail: dict = None
|
self, web_get_error_detail: dict = None
|
||||||
) -> List[MinerErrorData]:
|
) -> List[MinerErrorData]:
|
||||||
errors = []
|
errors = []
|
||||||
@@ -377,7 +376,7 @@ class Innosilicon(CGMiner):
|
|||||||
errors.append(InnosiliconError(error_code=err))
|
errors.append(InnosiliconError(error_code=err))
|
||||||
return errors
|
return errors
|
||||||
|
|
||||||
async def get_wattage_limit(self, web_get_all: dict = None) -> Optional[int]:
|
async def _get_wattage_limit(self, web_get_all: dict = None) -> Optional[int]:
|
||||||
if web_get_all:
|
if web_get_all:
|
||||||
web_get_all = web_get_all["all"]
|
web_get_all = web_get_all["all"]
|
||||||
|
|
||||||
@@ -400,5 +399,5 @@ class Innosilicon(CGMiner):
|
|||||||
limit = 1250 + (250 * level)
|
limit = 1250 + (250 * level)
|
||||||
return limit
|
return limit
|
||||||
|
|
||||||
async def get_expected_hashrate(self) -> Optional[float]:
|
async def _get_expected_hashrate(self) -> Optional[float]:
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from tests.api_tests import *
|
from tests.api_tests import *
|
||||||
|
from tests.config_tests import TestConfig
|
||||||
|
from tests.miners_tests import MinersTest
|
||||||
from tests.network_tests import NetworkTest
|
from tests.network_tests import NetworkTest
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
# See the License for the specific language governing permissions and -
|
# See the License for the specific language governing permissions and -
|
||||||
# limitations under the License. -
|
# limitations under the License. -
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
import inspect
|
||||||
import unittest
|
import unittest
|
||||||
import warnings
|
import warnings
|
||||||
from dataclasses import asdict
|
from dataclasses import asdict
|
||||||
|
|||||||
Reference in New Issue
Block a user