use None instead of -1 for temps and wattages (#55)
* use `None` instead of `-1` for temps and wattages this way it's easier for other tools like HomeAssistant to understand if the temperature is really negative or not available * also handle cases where we look for `-1`
This commit is contained in:
@@ -41,8 +41,8 @@ class HashBoard:
|
|||||||
|
|
||||||
slot: int = 0
|
slot: int = 0
|
||||||
hashrate: float = 0.0
|
hashrate: float = 0.0
|
||||||
temp: int = -1
|
temp: int = None
|
||||||
chip_temp: int = -1
|
chip_temp: int = None
|
||||||
chips: int = 0
|
chips: int = 0
|
||||||
expected_chips: int = 0
|
expected_chips: int = 0
|
||||||
missing: bool = True
|
missing: bool = True
|
||||||
@@ -56,7 +56,7 @@ class Fan:
|
|||||||
speed: The speed of the fan.
|
speed: The speed of the fan.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
speed: int = -1
|
speed: int = None
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@@ -115,11 +115,11 @@ class MinerData:
|
|||||||
hashboards: List[HashBoard] = field(default_factory=list)
|
hashboards: List[HashBoard] = field(default_factory=list)
|
||||||
ideal_hashboards: int = 1
|
ideal_hashboards: int = 1
|
||||||
temperature_avg: int = field(init=False)
|
temperature_avg: int = field(init=False)
|
||||||
env_temp: float = -1.0
|
env_temp: float = None
|
||||||
wattage: int = -1
|
wattage: int = None
|
||||||
wattage_limit: int = -1
|
wattage_limit: int = None
|
||||||
fans: List[Fan] = field(default_factory=list)
|
fans: List[Fan] = field(default_factory=list)
|
||||||
fan_psu: int = -1
|
fan_psu: int = None
|
||||||
total_chips: int = field(init=False)
|
total_chips: int = field(init=False)
|
||||||
ideal_chips: int = 1
|
ideal_chips: int = 1
|
||||||
percent_ideal_chips: float = field(init=False)
|
percent_ideal_chips: float = field(init=False)
|
||||||
@@ -255,7 +255,7 @@ class MinerData:
|
|||||||
total_temp = 0
|
total_temp = 0
|
||||||
temp_count = 0
|
temp_count = 0
|
||||||
for hb in self.hashboards:
|
for hb in self.hashboards:
|
||||||
if hb.temp and not hb.temp == -1:
|
if hb.temp and not hb.temp == None:
|
||||||
total_temp += hb.temp
|
total_temp += hb.temp
|
||||||
temp_count += 1
|
temp_count += 1
|
||||||
if not temp_count > 0:
|
if not temp_count > 0:
|
||||||
@@ -268,7 +268,7 @@ class MinerData:
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def efficiency(self): # noqa - Skip PyCharm inspection
|
def efficiency(self): # noqa - Skip PyCharm inspection
|
||||||
if self.hashrate == 0 or self.wattage == -1:
|
if self.hashrate == 0 or self.wattage == None:
|
||||||
return 0
|
return 0
|
||||||
return round(self.wattage / self.hashrate)
|
return round(self.wattage / self.hashrate)
|
||||||
|
|
||||||
|
|||||||
@@ -149,10 +149,10 @@ class _MinerPhaseBalancer:
|
|||||||
not self.miners[data_point.ip]["shutdown"]
|
not self.miners[data_point.ip]["shutdown"]
|
||||||
):
|
):
|
||||||
# cant do anything with it so need to find a semi-accurate power limit
|
# cant do anything with it so need to find a semi-accurate power limit
|
||||||
if not data_point.wattage_limit == -1:
|
if not data_point.wattage_limit == None:
|
||||||
self.miners[data_point.ip]["max"] = int(data_point.wattage_limit)
|
self.miners[data_point.ip]["max"] = int(data_point.wattage_limit)
|
||||||
self.miners[data_point.ip]["min"] = int(data_point.wattage_limit)
|
self.miners[data_point.ip]["min"] = int(data_point.wattage_limit)
|
||||||
elif not data_point.wattage == -1:
|
elif not data_point.wattage == None:
|
||||||
self.miners[data_point.ip]["max"] = int(data_point.wattage)
|
self.miners[data_point.ip]["max"] = int(data_point.wattage)
|
||||||
self.miners[data_point.ip]["min"] = int(data_point.wattage)
|
self.miners[data_point.ip]["min"] = int(data_point.wattage)
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ class HiveonT9(Hiveon, T9):
|
|||||||
hashrate = 0
|
hashrate = 0
|
||||||
chips = 0
|
chips = 0
|
||||||
for chipset in board_map[board]:
|
for chipset in board_map[board]:
|
||||||
if hashboard.chip_temp == -1:
|
if hashboard.chip_temp == None:
|
||||||
try:
|
try:
|
||||||
hashboard.board_temp = api_stats["STATS"][1][f"temp{chipset}"]
|
hashboard.board_temp = api_stats["STATS"][1][f"temp{chipset}"]
|
||||||
hashboard.chip_temp = api_stats["STATS"][1][f"temp2_{chipset}"]
|
hashboard.chip_temp = api_stats["STATS"][1][f"temp2_{chipset}"]
|
||||||
|
|||||||
Reference in New Issue
Block a user