Der eigene Mac weiss ziemlich genau, was du gerade tust – welche App im Vordergrund läuft, ob Maus und Tastatur aktiv sind, ob Kamera oder Mikrofon in Gebrauch sind. Die Home-Assistant-Companion-App für macOS macht diese Information als Sensoren nutzbar. Damit lässt sich der Arbeitsplatz in die Heimautomation einbinden: Licht, Status und Benachrichtigungen reagieren darauf, was am Bildschirm passiert. In dieser Anleitung machen wir aus sensor.frontmost_app einen praktischen Automations-Baustein.
Die Idee: der Rechner als Präsenz- und Status-Sensor
Die meisten Präsenzlösungen erkennen, ob jemand im Raum ist – aber nicht, was die Person tut. Genau hier setzt der Frontmost-App-Sensor an. Er liefert als Zustand den Namen der App, die gerade im Vordergrund ist, oder None, wenn keine aktiv ist. Der Wert aktualisiert sich sofort, wenn du die App wechselst. Kombiniert mit dem Sensor sensor.active, der über Maus- und Tastaturaktivität erkennt, ob du den Mac wirklich benutzt, entsteht ein erstaunlich präzises Bild deines Arbeitsstatus.
Damit lassen sich schöne Automationen bauen: ein «Beschäftigt»-Licht, das rot leuchtet, sobald eine Videokonferenz-App im Vordergrund ist. Eine automatische Arbeitszeiterfassung, die zählt, wie lange berufliche Apps aktiv sind. Oder ein sanfter Hinweis, wenn du zu lange im Browser statt im Editor hängst. Der Mac wird so vom passiven Werkzeug zum aktiven Sensor deines Zuhauses.
Schritt 1: Sensoren aktivieren
Die entscheidenden Sensoren sind in der Companion-App nicht alle standardmässig eingeschaltet. Öffne dazu in der macOS-App die Einstellungen und navigiere zu «Companion App» und dann «Sensoren verwalten». Aktiviere dort mindestens «Frontmost App» und «Active». Auf dem Mac werden Entitäts-Updates sofort ausgelöst, sobald sich etwas ändert – anders als bei mobilen Geräten, wo teils Intervalle gelten.
Nach der Aktivierung erscheinen die Entitäten in Home Assistant, üblicherweise unter Namen wie sensor.macbook_pro_von_mike_frontmost_app und binary_sensor.macbook_pro_von_mike_active. Prüfe die genauen Entitäts-IDs unter «Entwicklerwerkzeuge» und «Zustände», da sie den Gerätenamen enthalten. Passe die folgenden Beispiele entsprechend an deine IDs an.
Schritt 2: Das «Beschäftigt»-Licht
Ein klassischer Anwendungsfall: Sobald eine Meeting-App wie Zoom, Teams oder FaceTime im Vordergrund ist, soll eine Lampe im Flur rot leuchten – ein Signal für die Mitbewohner, nicht zu stören. Die Automation reagiert auf den Zustandswechsel des Frontmost-App-Sensors:
automation:
- alias: "Beschäftigt-Licht bei Videocall"
trigger:
- platform: state
entity_id: sensor.macbook_pro_von_mike_frontmost_app
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: sensor.macbook_pro_von_mike_frontmost_app
state:
- "zoom.us"
- "Microsoft Teams"
- "FaceTime"
sequence:
- service: light.turn_on
target:
entity_id: light.flur
data:
rgb_color: [255, 0, 0]
brightness_pct: 80
default:
- service: light.turn_off
target:
entity_id: light.flur
Die exakten App-Namen findest du im Zustand des Sensors, wenn die jeweilige App gerade läuft – notiere sie dir einmal und trage sie in die Liste ein.
Schritt 3: Arbeitszeit mit History Stats zählen
Willst du wissen, wie viel Zeit du täglich in beruflichen Apps verbringst, hilft ein history_stats-Sensor. Er misst, wie lange eine Bedingung im Tagesverlauf erfüllt war. Kombiniert mit einem Template-Sensor, der «Arbeit» oder «Freizeit» zurückgibt, entsteht eine simple Zeiterfassung:
template:
- sensor:
- name: "Arbeitsmodus"
state: >
{% set app = states('sensor.macbook_pro_von_mike_frontmost_app') %}
{% if app in ['Visual Studio Code', 'Notion', 'Mail', 'Excel'] %}
on
{% else %}
off
{% endif %}
sensor:
- platform: history_stats
name: "Arbeitszeit heute"
entity_id: sensor.arbeitsmodus
state: "on"
type: time
start: "{{ today_at('00:00') }}"
end: "{{ now() }}"
Der Sensor sensor.arbeitszeit_heute zeigt dann die kumulierte Stundenzahl an, die du auf einem Dashboard visualisieren kannst. Wer tiefer in die Auswertung von Laufzeiten einsteigen möchte, findet weitere Ideen zum Einbinden von iOS-Geräten im Beitrag Actionable Notifications: iPhone-Buttons in HA.
Fazit
Der Frontmost-App-Sensor verwandelt den Mac von einem stummen Endgerät in eine ergiebige Datenquelle für die Heimautomation. Ob «Bitte nicht stören»-Licht, automatische Arbeitszeiterfassung oder ein Fokus-Modus, der störende Benachrichtigungen unterdrückt – die Bausteine sind mit wenigen Zeilen YAML gebaut. Wichtig ist nur, die Sensoren in der Companion-App bewusst zu aktivieren und die App-Namen einmal sauber zu erfassen.
Ein letzter Tipp zur Zuverlässigkeit: Ergänze die App-Automationen mit dem Kamera- und Mikrofon-Binärsensor, den die macOS-App ebenfalls bereitstellt. So erkennt dein «Beschäftigt»-Licht auch dann einen Videocall, wenn die Meeting-App im Hintergrund läuft, aber die Kamera aktiv ist – eine robustere Bedingung als der App-Name allein. Kombiniere ausserdem beide Signale mit dem active-Sensor, damit die Automation nicht anspringt, wenn du den Rechner nur laufen lässt, ohne wirklich davor zu sitzen. Danach arbeitet dein Rechner ganz nebenbei für ein Zuhause, das mitdenkt.