I finally got this one working and it seems to be running better than “Notifications for Android”, at least for me.
I can get the image and web working, but not video. Maybe I misunderstood the video capability, but is it possible somehow to show a love feed of my UniFi Protect cameras?
Hi all, I just finally got this configured using this blog post with the go2rtc addon. When I push the notifications to my Nvidia Shield Pro (2019) box that is attached to my TV I got an error message the pop up displays a “Clear Text Not Permitted” error. From my research it seems like it is due to me using only http instead of https. Is there anyway to use just http as I’m only using this internally to my LAN and have no desire to use it externally?
It’s nearly a year since I did this work, so my memory is a bit fuzzy. I don’t recall ever seeing the “Clear Text Not Permitted” error, but @Insearchofth1ngs’s analysis that it’s related to HTTPS sounds right. In particular, this issue in the PiPup repository describes it and links to a stackoverflow discussion about this issue more generally on Android 9+. This PR on the PiPup repository aims to fix the problem along the lines discussed in that stackoverflow post. The PR doesn’t seem to have been merged, but a build is provided. I see that @droso-hass has a fork merging both that PR and another important PR to allow javascript support, but I don’t see a build. Perhaps one of the many PiPup forks includes both of the big PRs and also provides a build.
I think I didn’t encounter this issue myself because of how I have Home Assistant set up for external access. There is a callout box in my blog post discussing how I use the Nginx Proxy Manager to allow remote access to HA with HTTPS (while maintaining local access via HTTP). I think Nginx Proxy Manager is a particularly good solution here because of how the traffic flows. HTTPS means we must to use a public domain name, but that domain name resolves to my router’s WAN IP address, where TLS port 443 is port forwarded back to Nginx Proxy Manager. When my Nvidia Shield connects to that domain to download the video stream, the traffic hairpins at my router, and never leaves my LAN. It’s basically as optimal as you could hope for, with no additional latency or bandwidth costs. It is also optimal for accessing HA remotely, and it doesn’t interfere with HA being available over cleartext HTTP inside the LAN.
So I think there’s two way forward:
Try the build provided in the PR discussed above (which might be missing the javascript fix), or find another fork/build that fixes it, or fork it yourself and build it (and share the build if you do this work!).
I’m not sure exactly how you are trying to display your camera stream, but direct RTSP etc is not supported by PiPup. However, if you can display the stream in a webpage, then you can make PiPup display that web page. Typically, this would mean embedding a WebRTC video in a webpage that streams from a WebRTC proxy server inside your LAN (the WebRTC Camera integration can do this for you).
I had this working using Sean’s original tutorial but I found the video feed froze and stuttered a lot. I’m not sure if it was because in order to use https I had to use the external url which was then sending the feed to the web and streaming it from there. But in a 15s popup there would only be about 3-4s of actual video and the rest was freezing and stuttering.
I switched to using frigate’s MJPEG stream as described in this post. I’m using the apk linked above, http and an internal ip address.
Now my video stream is very smooth with minimal lag
Thanks @seanblanchfield, I’m using the go2rtc addon to translate my RTSP camera feeds coming from blue iris to WebRTC feeds. I installed the one apk in rogro82 #34 pull request, but I don’t think that has the allow clear text attribute set, so everything needs to be HTTPS. I found one that wasbuild in this my-ugly-code’s repo. I’ll probably give that a try when I get home.
Edit: The apk provided in my-uggly-code’s repo worked like a charm for me. I can finally display my doorbell cameras feed on my TV when the doorbell is pressed.
Indeed, HA doesn’t need to be running, and if you are running zwavejs2mqtt on a different device, like a raspberry PI located in the best place for Zwave connectivity, you can even set the codes in the lock directly through the web frontend, though its a bit clunky, as you have to go into the device control page in the user code section.
I’d also like to know if it’s possible to kill the stream.
I’m hoping to use this as a baby monitor, so it’d be ideal if I could turn it on until I want to turn it off!
Edit: figured out a workaround. If you send a new stream, it replaces the old stream. I set the initial stream to play for 2 hours, then send a subsequent stream for 1 second. Effectively kills it on demand.
It’s forked from the one linked above to allow for http instead of just https. This makes it much easier to keep the feed local to your network without having to setup dns rewrites at the router level.
Hi, I am using the desertblade pipup install - but absolutely nothing shows on TV i.e. no popup, no text, no image … zero (the service call is successful from HA, but nothing happens on TV … I have no clue why sigh