publish device manufacturer, model, hw_version
parent
8c83eefcaa
commit
414e734dea
|
@ -19,9 +19,31 @@ class Device:
|
|||
def __init__(self, name, device_id, mqtt_settings: ha_mqtt_discoverable.Settings.MQTT):
|
||||
self.name = name
|
||||
self.device_id = device_id
|
||||
self.mqtt_device = ha_mqtt_discoverable.DeviceInfo(name=name, identifiers=device_id)
|
||||
self.mqtt_settings = mqtt_settings
|
||||
|
||||
device_manufacturer = self._read_device_manufacturer()
|
||||
device_model = self._read_device_model()
|
||||
device_hw_version = self._read_device_hw_version()
|
||||
|
||||
self.mqtt_device = ha_mqtt_discoverable.DeviceInfo(
|
||||
name=name,
|
||||
identifiers=device_id,
|
||||
manufacturer=device_manufacturer,
|
||||
model=device_model,
|
||||
hw_version=device_hw_version)
|
||||
|
||||
def _read_device_manufacturer(self) -> str:
|
||||
with open('/sys/devices/virtual/dmi/id/chassis_vendor') as f:
|
||||
return f.readline()
|
||||
|
||||
def _read_device_model(self) -> str:
|
||||
with open('/sys/devices/virtual/dmi/id/product_family') as f:
|
||||
return f.readline()
|
||||
|
||||
def _read_device_hw_version(self) -> str:
|
||||
with open('/sys/devices/virtual/dmi/id/product_name') as f:
|
||||
return f.readline()
|
||||
|
||||
def get_device_id(self):
|
||||
return self.device_id
|
||||
|
||||
|
|
Loading…
Reference in New Issue