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.

#tv #automatisierung #telefon #messenger #home-assistant
17. Oktober 2025
TV pausiert automatisch wenn das Telefon klingelt — Anrufe und Messenger

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.