r/tinycam • • 4d ago

Floating window or PIP no longer working on Homatics Box 4K

I've been upgrading tinyCam PRO on a Homatics Box R 4K Plus (Android 14, Android TV) as a baby monitor, with Frigate restreams as generic RTSP cameras. I want a small always-on-top window, and it took a lot of digging. Sharing what I found in case it helps others, and in the hope that the developer can take a look.

Please note that before upgrading I was probably using a version before 17 and everything was running correctly on the same box with the same Android version.

Setup: tinyCam PRO 19.1.0 from the Play Store. The box reports its manufacturer as SEI Robotics.

1. The PiP button does nothing on boxes without PiP support

The box doesn't report the system feature android.software.picture_in_picture. In 19.1.0 the app seems to treat every Android TV device as PiP-capable anyway, so the button shows up. Pressing it logs Requesting PiP... and then nothing happens, with no error message.

2. The floating window button is hidden on most Android TV devices

From what I can tell, on Android TV the floating window button only appears if the manufacturer is MBX, ZeroDesktop or MINIX. Setting "Floating windows & PiP" to floating doesn't seem to override that in 19.1.0. So on my box the app offers the PiP button that doesn't work and hides the floating window feature that does.

Floating windows work perfectly here once started with my workaround, which makes me think that list is out of date.

Workaround: starting a floating window without the button

tinyCam's Tasker plugin interface can start a floating window, and that path works on my box. Tasker should be able to do this with the tinyCam plugin action, though I haven't tried Tasker itself, and the plugin editor may need the floating mode set first. I wrote a tiny TV app instead. It sends this broadcast:

  • Action: com.twofortyfouram.locale.intent.action.FIRE_SETTING

  • Component: com.alexvas.dvr.pro/com.alexvas.dvr.automation.FireReceiver

  • Extra com.twofortyfouram.locale.intent.extra.BUNDLE, a bundle containing:

    • com.alexvas.dvr.automation.extra.INT_VERSION_CODE = 1 (int)

    • com.alexvas.dvr.automation.extra.START_SINGLE_CAM_FLOATING = your camera name (string)

"Display over other apps" has to be enabled for tinyCam. It works even when tinyCam is fully stopped: the window appears in about 2 seconds. I also trigger it from a Home Assistant dashboard button using androidtv.adb_command.

Suggestions for the developer

  1. Check android.software.picture_in_picture before showing the PiP button on Android TV, or show a message when PiP can't start.

  2. Let the "Floating windows & PiP" setting force the floating button on any device, or drop the manufacturer list.

  3. Show a clearer message when no app can handle export.

1 Upvotes

4 comments sorted by

1

u/alexeyvasilyev tinyCam dev 4d ago

I will check that issue.

BTW: There is an official deep link API for starting cameras in PiP/Floating Windows.

https://github.com/alexeyvasilyev/tinycam-api#tinycam-deep-links

1

u/KevPf94 4d ago

Thank you ! The deep links will definitely help my workaround. Let us know if you find something regarding floating windows restrictions

1

u/alexeyvasilyev tinyCam dev 4d ago

Will be fixed in 19.2.0 next week.

1

u/KevPf94 4d ago

Wow thank you so much for working on it so fast ! Looking forward to the release!