mirror of
https://github.com/Ircama/epson_print_conf.git
synced 2024-10-18 09:10:36 -04:00
Add new MIB OIDs
This commit is contained in:
parent
3ce510f1cb
commit
1767ce1ce3
1 changed files with 30 additions and 12 deletions
|
@ -7,6 +7,7 @@ import re
|
||||||
from typing import Any
|
from typing import Any
|
||||||
import datetime
|
import datetime
|
||||||
import easysnmp # pip3 install easysnmp
|
import easysnmp # pip3 install easysnmp
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
class EpsonPrinter:
|
class EpsonPrinter:
|
||||||
|
@ -168,11 +169,10 @@ class EpsonPrinter:
|
||||||
def stats(self):
|
def stats(self):
|
||||||
"""Return information about the printer."""
|
"""Return information about the printer."""
|
||||||
methods = [
|
methods = [
|
||||||
"get_model_full",
|
"get_sys_info",
|
||||||
"get_serial_number",
|
"get_serial_number",
|
||||||
"get_firmware_version",
|
"get_firmware_version",
|
||||||
"get_printer_head_id",
|
"get_printer_head_id",
|
||||||
"get_eeps2_version",
|
|
||||||
"get_cartridges",
|
"get_cartridges",
|
||||||
"get_printer_status",
|
"get_printer_status",
|
||||||
"get_ink_replacement_counters",
|
"get_ink_replacement_counters",
|
||||||
|
@ -288,13 +288,35 @@ class EpsonSession(easysnmp.Session):
|
||||||
d[oid] = int(self.read_eeprom(oid), 16)
|
d[oid] = int(self.read_eeprom(oid), 16)
|
||||||
return d
|
return d
|
||||||
|
|
||||||
def get_model(self) -> str:
|
def get_sys_info(self) -> str:
|
||||||
"""Return model of printer."""
|
"""Return model of printer."""
|
||||||
return self.get_value("1.3.6.1.2.1.1.5.0")
|
info_dict = {
|
||||||
|
"model": "1.3.6.1.2.1.25.3.2.1.3.1",
|
||||||
def get_model_full(self) -> str:
|
"model_short": "1.3.6.1.4.1.1248.1.1.3.1.3.8.0",
|
||||||
"""Return full model of printer."""
|
"EEPS2 version": "1.3.6.1.2.1.2.2.1.2.1",
|
||||||
return self.get_value("1.3.6.1.2.1.25.3.2.1.3.1")
|
"descr": "1.3.6.1.2.1.1.1.0",
|
||||||
|
#"ObjectID": "1.3.6.1.2.1.1.2.0",
|
||||||
|
"UpTime": "1.3.6.1.2.1.1.3.0",
|
||||||
|
#"Contact": "1.3.6.1.2.1.1.4.0",
|
||||||
|
"Name": "1.3.6.1.2.1.1.5.0",
|
||||||
|
#"Location": "1.3.6.1.2.1.1.6.0",
|
||||||
|
#"Services": "1.3.6.1.2.1.1.7.0",
|
||||||
|
#"ORLastChange ": "1.3.6.1.2.1.1.8.0",
|
||||||
|
#"sORTable ": "1.3.6.1.2.1.1.9.0",
|
||||||
|
"MAC Address": "1.3.6.1.2.1.2.2.1.6.1",
|
||||||
|
}
|
||||||
|
sys_info = {}
|
||||||
|
for name, mib in info_dict.items():
|
||||||
|
try:
|
||||||
|
sys_info[name] = self.get_value(mib)
|
||||||
|
except Exception:
|
||||||
|
sys_info[name] = None
|
||||||
|
if sys_info["UpTime"]:
|
||||||
|
sys_info["UpTime"] = time.strftime(
|
||||||
|
'%H:%M:%S', time.gmtime(int(sys_info["UpTime"])/100))
|
||||||
|
if sys_info["MAC Address"]:
|
||||||
|
sys_info["MAC Address"] = bytes([ord(i) for i in sys_info["MAC Address"]]).hex("-").upper()
|
||||||
|
return sys_info
|
||||||
|
|
||||||
def get_serial_number(self) -> str:
|
def get_serial_number(self) -> str:
|
||||||
"""Return serial number of printer."""
|
"""Return serial number of printer."""
|
||||||
|
@ -337,10 +359,6 @@ class EpsonSession(easysnmp.Session):
|
||||||
b = self.read_eeprom_many(self.printer.parm["printer_head_id_f"])
|
b = self.read_eeprom_many(self.printer.parm["printer_head_id_f"])
|
||||||
return(f'{"".join(a)} - {"".join(b)}')
|
return(f'{"".join(a)} - {"".join(b)}')
|
||||||
|
|
||||||
def get_eeps2_version(self) -> str:
|
|
||||||
"""Return EEPS2 version."""
|
|
||||||
return self.get_value("1.3.6.1.2.1.2.2.1.2.1")
|
|
||||||
|
|
||||||
def get_firmware_version(self) -> str:
|
def get_firmware_version(self) -> str:
|
||||||
"""Return firmware version."""
|
"""Return firmware version."""
|
||||||
firmware_string = self.get_value(
|
firmware_string = self.get_value(
|
||||||
|
|
Loading…
Reference in a new issue