publish device manufacturer, model, hw_version

main
Hendrik Sokolowski 2024-03-25 02:38:30 +01:00
parent 8c83eefcaa
commit 414e734dea
1 changed files with 23 additions and 1 deletions

View File

@ -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