async def METHOD_NAME(self) -> None:
    """Start hardware monitor."""
    try:
        self.monitor = pyudev.Monitor.from_netlink(self.context, "kernel")
        self.monitor.set_receive_buffer_size(32 * 1024 * 1024)
        self.observer = pyudev.MonitorObserver(
            self.monitor,
            callback=lambda x: self.sys_loop.call_soon_threadsafe(
                self._udev_events, x
            ),
        )
    except OSError:
        self.sys_resolution.unhealthy = UnhealthyReason.PRIVILEGED
        _LOGGER.critical("Not privileged to run udev monitor!")
    else:
        self.observer.start()
        _LOGGER.info("Started Supervisor hardware monitor")