diff --git a/homeassistant/helpers/system_info.py b/homeassistant/helpers/system_info.py index 766fa90af96..7e65ab858ad 100644 --- a/homeassistant/helpers/system_info.py +++ b/homeassistant/helpers/system_info.py @@ -23,13 +23,17 @@ async def async_get_system_info(hass: HomeAssistant) -> dict[str, Any]: "virtualenv": is_virtual_env(), "python_version": platform.python_version(), "docker": False, - "user": getuser(), "arch": platform.machine(), "timezone": str(hass.config.time_zone), "os_name": platform.system(), "os_version": platform.release(), } + try: + info_object["user"] = getuser() + except KeyError: + info_object["user"] = None + if platform.system() == "Windows": info_object["os_version"] = platform.win32_ver()[0] elif platform.system() == "Darwin": diff --git a/tests/helpers/test_system_info.py b/tests/helpers/test_system_info.py index fd9d488596f..f4cb70f421a 100644 --- a/tests/helpers/test_system_info.py +++ b/tests/helpers/test_system_info.py @@ -27,3 +27,10 @@ async def test_container_installationtype(hass): ), patch("homeassistant.helpers.system_info.getuser", return_value="user"): info = await hass.helpers.system_info.async_get_system_info() assert info["installation_type"] == "Unknown" + + +async def test_getuser_keyerror(hass): + """Test getuser keyerror.""" + with patch("homeassistant.helpers.system_info.getuser", side_effect=KeyError): + info = await hass.helpers.system_info.async_get_system_info() + assert info["user"] is None