TV pausiert automatisch wenn das Telefon klingelt — Anrufe und Messenger
Eine Automatisierung die den TV pausiert sobald eines der Telefone klingelt — normale Anrufe nehmen automatisch wieder auf, Messenger-Videoanrufe bekommen einen Knopf in der Benachrichtigung.
Das Problem ist offensichtlich sobald man es oft genug erlebt hat. Jemand ruft an. Man sucht die Fernbedienung. Sie steckt unter einem Kissen. Man findet sie. Man pausiert den Film. Den ersten Satz des Gesprächs hat man bereits verpasst.
Die Automatisierung hat eine einzige Bedingung: wenn ein Telefon klingelt und der TV läuft, pausieren. Wenn der Anruf endet, fortsetzen.
Der Telefonsensor
Die HA Companion App (kostenlos für iOS und Android) stellt sensor.pixel_10_phone_state mit vier Zuständen bereit: ringing, in_call, offhook, idle. Sie muss auf dem Telefon installiert sein und HA-Benachrichtigungen zugelassen haben. Der Trigger erfasst alle drei Nicht-Idle-Zustände — der TV soll pausieren sobald das Telefon klingelt, nicht erst nachdem man abgenommen hat.
Die Automatisierung prüft zuerst ob die TV-Fernbedienung tatsächlich eingeschaltet ist. remote.tv_stuen kommt aus der Android TV-Integration (in HA integriert, kein HACS). Es hat keinen Sinn einen Pause-Befehl an einen TV zu schicken der bereits aus oder bereits pausiert ist. input_boolean.tv_was_playing übernimmt Letzteres — es wird beim Pausieren auf on gesetzt und vor dem Fortsetzen geprüft. Ohne es könnte ein Anruf etwas fortsetzen das absichtlich vor dem Anruf pausiert wurde.
alias: TV — Pause bei Anruf
trigger:
- platform: state
entity_id: sensor.pixel_10_phone_state
to: [ringing, in_call, offhook]
id: phone
condition:
- condition: state
entity_id: remote.tv_stuen
state: "on"
- condition: state
entity_id: input_boolean.tv_was_playing
state: "off"
action:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.tv_was_playing
- action: remote.send_command
target:
entity_id: remote.tv_stuen
data:
command: MEDIA_PAUSE
- wait_for_trigger:
- platform: state
entity_id: sensor.pixel_10_phone_state
to: idle
timeout: "02:00:00"
continue_on_timeout: true
- delay:
seconds: 2
- condition: state
entity_id: input_boolean.tv_was_playing
state: "on"
- action: remote.send_command
target:
entity_id: remote.tv_stuen
data:
command: MEDIA_PLAY
- action: input_boolean.turn_off
target:
entity_id: input_boolean.tv_was_playing
Die 2-Sekunden-Verzögerung vor dem Fortsetzen ist absichtlich. Ohne sie feuert der Play-Befehl während der Anruf technisch noch endet — der Telefonsensor erreicht idle eine Millisekunde bevor der Anruf wirklich abbricht, und der Ton kommt mitten ins Auf-Wiedersehen zurück.
Das 2-Stunden-Timeout ist ein Sicherheitsnetz. Falls ein Anruf aus irgendeinem Grund nicht als beendet registriert wird, wartet die Automatisierung nicht ewig. continue_on_timeout: true bedeutet dass sie nach zwei Stunden trotzdem fortsetzt.
Messenger ist anders
Messenger-Videoanrufe registrieren sich nicht in phone_state. Sie kommen als Benachrichtigung. Die Companion App stellt sensor.pixel_10_last_notification bereit, und wenn der Zustand “opkald” (Anruf) enthält, ist es ein Messenger-Anruf.
Die Behandlung ist anders weil das Ende eines Messenger-Anrufs weniger zuverlässig zu erkennen ist. Statt auf den Sensor zu warten sendet sie eine aktionierbare Benachrichtigung mit einer einzigen Schaltfläche: TV fortsetzen. Ein Tippen setzt sofort fort. Falls niemand innerhalb von 30 Minuten tippt, macht die Automatisierung trotzdem weiter.
- choose:
- conditions:
- condition: template
value_template: >
{{ 'opkald' in (trigger.to_state.state | lower) }}
sequence:
- action: remote.send_command
target:
entity_id: remote.tv_stuen
data:
command: MEDIA_PAUSE
- action: notify.alle_enheder
data:
title: "📞 Messenger-Anruf"
message: "TV pausiert — tippen zum Fortsetzen"
data:
actions:
- action: tv_resume_after_call
title: TV fortsetzen
- wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: tv_resume_after_call
- platform: state
entity_id: sensor.pixel_10_phone_state
to: idle
timeout: "00:30:00"
continue_on_timeout: true
- action: remote.send_command
target:
entity_id: remote.tv_stuen
data:
command: MEDIA_PLAY
30 Minuten Timeout bei Messenger gegenüber 2 Stunden bei normalen Anrufen spiegelt die Realität wider — Messenger-Videoanrufe dauern selten länger als eine halbe Stunde. Ein normales Telefonat mit den Eltern kann gut anderthalb Stunden gehen.
Was das wirklich löst
Die Suche nach der Fernbedienung. Das ist alles. Es klingt klein. Nach ein paar Wochen ohne es zu tun merkt man wie oft es früher passiert ist — und dass das Erste was man nach dem Anruf tat war die Fernbedienung zu finden und zu entpausieren, was nicht das ist worüber man nachdenken möchte.
Die Automatisierung läuft still. Es gibt kein “TV pausiert”-Banner außer bei Messenger-Anrufen die den manuellen Fortsetzungsknopf brauchen. Normale Anrufe: sie pausiert, man redet, sie setzt fort. Nichts zu bestätigen, nichts zu tippen.