Hi Everyone,
This has taken me a while to get right so hope others can benefit from it.
This shows an Alarm panel (most of my automations handle when my family come and go, but guests always create a tough situation, without capturing their phones, or giving them a BLE beacon).
When you swipe the panel to one side, it shows a lovelace panel, and is limited by Custom Compact Header (CCH) and the user logged in on the tablet to prevent any admin access.
Alexa is enabled on the tablet
When my doorbell is rung, all the wall tablets in the house open an RTSP feed for 30 seconds.
Ingredients:
Video Doorbell (2MP, RTSP / ONVIF, existing doorbell wiring power)
Fire 8 HD Tablet
MQTT Alarm Panel
Fire 8 HD Wall mount and Power
Tasker for android
MQTT Tasker plug-in
TinyCam Pro
Fully Kiosk Browser for Fire OS
custom compact header (for older webbrowser instances)
Pre-Step - Make sure you can download .apk files to your Fire 8 HD. My preferred way is to save the .apk to my Home Assistant config folder under config/www/apk/blah.apk
so I can just enter the URL:
[u]http://<IP>:8123/local/apk/blah.apk
[/u]. You’ll need to obtain the apk files as not many of these are available in the Amazon store and Google Play store isnt included out of box (you can install it an a bunch of other services, but I didnt see the need to slow the tablet with the Google stuff)
These include Tasker, MQTT Client and Fully for Fire OS
Step 1: Prepare the Tablet - Camera launch
Install the applications:
- Tasker & MQTT Plugin
- TinyCam Pro
- Fully Kiosk
Open Tasker, then switch and launch the MQTT plugin and enter your MQTT broker information
Before switching back to tasker add a topic to listen to home/panel
for example.
Now in Tasker create a new profile
, name it, and then select event > plugin > MQTT Client
.
Under Topic enter front
then payload on
So now Tasker will listen for an MQTT message
Topic = home/panel/front
payload = on
Now you have to decide what to do when that comes in.
So switch to TinyCam Pro, and setup a new camera called doorbell
.
Enter your RTSP info and be sure to test to ensure you can see it and SAVE the info.
As mentioned i’m using the Halo ONE gen2 and my RTSP info is:
rtsp://admin:<password>@192.168.X.X:554/Streaming/Channels/101
password = 6 digit code on the back of the doorbell camera.
Now switch back to Tasker and complete the set up of the action when the MQTT message is received.
Firstly I add a beep so I can ensure the tablet is getting the MQTT msg
Hit the plus, Alert > Beep
Hit the plus Plugin > TinyCam Pro > View Single camera
Hit the plus Task > Wait
set to 30 seconds
Hit the plus App > Go Home
Back out to the main Tasker screen and hit the tick to ensure all is saved.
Now to test, use Home Assistant to send the MQTT message:
topic = home/panel/front
payload = on
You should hear a beep, then the camera loads up
Step 2: Prepare the Tablet - Set up Lovelace & CCH
First lets get CCH prepared as there are some changes to your lovelace.yaml
(if you don’t use yaml version, then you’ll need to find the way to add the following information to the top of your yaml file (NOT under each view):
You’ll need to ensure you have installed the compact-custom-header.js in your lovelace folder.
Next up in Home Assistant configuration options, add a new user called tablet
then ensure their permissions are only users.
Now you can add the below to your lovelace_ui.yaml
you will need to either add more numbers, or remove numbers based on how many lovelace tabs you have under hide_tabs
- but be sure not to include your tablet view number
cch:
compact_header: true
exceptions:
- conditions:
user: tablet
config:
hide_tabs: 0,1,2,5,6,7,8,9,10,11
disable_sidebar: true
chevrons: false
menu: hide
hide_help: true
hide_config: true
hide_unused: true
options: clock
Now here is the extra little trick to ensure custom-cards in lovelace show up on the Fire HD browser.
In your lovelace_ui.yaml
change anything from module
to js
url: <some URL>
type: module
Now you should be able to hit your HA instance in the FireHD browser and custom-cards load.
I then configured a tablet specific tab lovelace_ui.yaml
which on the Fire 8 HD which is 2 columns wide - I also havent yet decided on what else I want to add. However you can get creative based on the position of the tablet if you have more than one.
Step 3: Set up MQTT Alarm Panel & Fully
You’re ready to install MQTT Alarm Panel - info above, apk here or you can get it from the store.
Config of this couldn’t be easier - and be sure to read the info here on how to set it up and what to put in you HA configuration.yaml
Set the URL of the page to load when you swipe as your HA instance
(ideally http://:8123/lovelace/5 where 5 is the page you have built for the layout)
Next up is Fully. Be sure to download the SPECIFIC FIRE OS version here - this is designed to only open a browser, but also has an app lock down functionality.
Configure only Kiosk Mode (PLUS)
(and yes that means you have to pay a few euro/GBP/$$ to buy it.
- Enable
Kiosk Mode
- Set a
Kiosk Mode PIN
- disable status bar, volume, power, home, other apps
- Enable
Single App Mode
then SelectAlarm Panel
(Note 7 fast taps on the screen will allow you to exit - PIN required)
Step 4: installation of the Mount
This in comparison was the easiest bit. The mount comes with a red box all well labelled containing the converter from 100V to 5V, The mount itself comes with a low profile micro-usb power adapter.
My choice was to replace one of the switches in a 3-way switch for a light. If you still need that light, you can use an in-wall z-wave microcontroller to control it another way (motion or automations etc). There are cheaper ones around.
Step 5: Connect and Power up - Tinker with display brightness, and screen rotation.
Step 6: Advanced users only - disable screen lock and time out (so the Alarm Panel app can remain on the entire time) https://forum.xda-developers.com/hd8-hd10/help/root-required-completely-disable-enable-t3739257
Step 7: Automation - i’m guessing if you have made it this far you are familiar with automations. Set up so that on doorbell ring send an MQTT command. This will load the camera, wait 30 seconds and then return to the Alarm Panel running under fully.