[Integration] Android TV live cam video streams in a Picture in Picture triggered by motion detection. AKA video-doorbell

Followed the write up by @seanblanchfield and suffered from stuttering streams with the webrtc link.

Updated the PipUp APK to allow HTTP requests (Releases · desertblade/PiPup · GitHub). This APK allows using Frigate’s local mpjeg streams and other API endpoints, which all load near instantly. This build does not include the WebView changes which is not needed if using Local Frigate streams.

If you have a IoT subnet be sure to create a rule that will allow the IoT device to communicate with Frigate.

Doorbell Notification Automation

- alias: Doorbell Person Alerts
  trigger:
    platform: mqtt
    topic: frigate/events
  condition:
    - "{{states('media_player.firetv_cube') != 'off'}}"
    - '{{ (as_timestamp(now()) - as_timestamp(states.automation.doorbell_person_alerts.attributes.last_triggered, 0 ) | int > 60)}}'
    - "{{ trigger.payload_json['after']['label'] == 'person' }}"
    - "{{ trigger.payload_json['after']['camera'] == 'doorbell' }}"
  action:
  # Make sure PipUp is running
    - service: androidtv.adb_command                                                                      
      data:                                                                                     
        entity_id: media_player.firetv_cube                   
        command: ps -ef | grep -v grep | grep pipup || am start nl.rogro82.pipup/.MainActivity
  # This will exit the screensaver
    - service: androidtv.adb_command
      data:
        entity_id: media_player.firetv_cube
        command: input keyevent KEYCODE_WAKEUP
    - service: rest_command.pipup_url_on_tv
      data:
        title: Front Door
        message: Live Stream of Doorbell
        width: 360
        height: 200
        url: 'http://192.168.X.XX:5000/api/doorbell'
5 Likes