From 414e734dea5d7d08edec7f1b8b3cd5ac91143e3e Mon Sep 17 00:00:00 2001 From: Hendrik Sokolowski Date: Mon, 25 Mar 2024 02:38:30 +0100 Subject: [PATCH] publish device manufacturer, model, hw_version --- src/sensors.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/sensors.py b/src/sensors.py index 8d73147..33e3985 100644 --- a/src/sensors.py +++ b/src/sensors.py @@ -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