This repository was archived by the owner on Jul 6, 2026. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -83,6 +83,7 @@ class MinerData(BaseModel):
8383
8484 # about
8585 device_info : DeviceInfo | None = None
86+ serial_number : str | None = None
8687 mac : str | None = None
8788 api_ver : str | None = None
8889 fw_ver : str | None = None
Original file line number Diff line number Diff line change 3939
4040ANTMINER_MODERN_DATA_LOC = DataLocations (
4141 ** {
42+ str (DataOptions .SERIAL_NUMBER ): DataFunction (
43+ "_get_serial_number" ,
44+ [WebAPICommand ("web_get_system_info" , "get_system_info" )],
45+ ),
4246 str (DataOptions .MAC ): DataFunction (
4347 "_get_mac" ,
4448 [WebAPICommand ("web_get_system_info" , "get_system_info" )],
@@ -360,6 +364,21 @@ async def _get_expected_hashrate(
360364 except LookupError :
361365 pass
362366
367+ async def _get_serial_number (
368+ self , web_get_system_info : dict = None
369+ ) -> Optional [str ]:
370+ if web_get_system_info is None :
371+ try :
372+ web_get_system_info = await self .web .get_system_info ()
373+ except APIError :
374+ pass
375+
376+ if web_get_system_info is not None :
377+ try :
378+ return web_get_system_info ["serinum" ]
379+ except LookupError :
380+ pass
381+
363382 async def set_static_ip (
364383 self ,
365384 ip : str ,
Original file line number Diff line number Diff line change @@ -209,6 +209,14 @@ async def upgrade_firmware(
209209 ### DATA GATHERING FUNCTIONS (get_{some_data}) ###
210210 ##################################################
211211
212+ async def get_serial_number (self ) -> Optional [str ]:
213+ """Get the serial number of the miner and return it as a string.
214+
215+ Returns:
216+ A string representing the serial number of the miner.
217+ """
218+ return await self ._get_serial_number ()
219+
212220 async def get_mac (self ) -> Optional [str ]:
213221 """Get the MAC address of the miner and return it as a string.
214222
@@ -379,6 +387,9 @@ async def get_pools(self) -> List[PoolMetrics]:
379387 """
380388 return await self ._get_pools ()
381389
390+ async def _get_serial_number (self ) -> Optional [str ]:
391+ pass
392+
382393 async def _get_mac (self ) -> Optional [str ]:
383394 pass
384395
Original file line number Diff line number Diff line change 2020
2121
2222class DataOptions (Enum ):
23+ SERIAL_NUMBER = "serial_number"
2324 MAC = "mac"
2425 API_VERSION = "api_ver"
2526 FW_VERSION = "fw_ver"
Original file line number Diff line number Diff line change @@ -92,6 +92,7 @@ def test_miner_data_map_keys(self):
9292 "hashrate" ,
9393 "hostname" ,
9494 "is_mining" ,
95+ "serial_number" ,
9596 "mac" ,
9697 "expected_hashrate" ,
9798 "uptime" ,
You can’t perform that action at this time.
0 commit comments