Project

homekit-steam-user-switcher

stable

Switch Steam accounts on a shared PC via HomeKit.

Overview

A Python service that exposes Steam account selection as a HomeKit Television accessory on Linux. Each configured Steam user appears as an input, so an automation can select the account for a shared gaming PC.

How it works

The service uses HAP-python to advertise a HomeKit accessory. Selecting an input changes Steam's local AutoLoginUser setting; turning the accessory off restarts Steam so the change takes effect. This does not require Steam's Web API.

It runs as a systemd user service and keeps HomeKit pairing state under ~/.local/state/homekit-steam-user-switcher/.

Features
🏠
HomeKit accessory

Steam users appear as inputs on a virtual Television accessory.

🎮
Local account selection

Changes Steam's AutoLoginUser setting and restarts the client to apply it.

🐧
Linux user service

Runs under systemd in the desktop user's session.

Architecture
HomeKit virtual switch HAP server Python HAP-python Steam config loginusers.vdf Active user registry write