Wall Panel (Fire 8 HD tablet, Lovelace, CCH, MQTT Alarm and video Doorbell on ring)

Hi Everyone,
This has taken me a while to get right so hope others can benefit from it.

Imgur

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:

  1. Tasker & MQTT Plugin
  2. TinyCam Pro
  3. Fully Kiosk

Open Tasker, then switch and launch the MQTT plugin and enter your MQTT broker information
image
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 :wink:
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 :slight_smile:

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.

  1. Enable Kiosk Mode
  2. Set a Kiosk Mode PIN
  3. disable status bar, volume, power, home, other apps
  4. Enable Single App Mode then Select Alarm 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.

Imgur

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.

23 Likes

Very well written and awesome project. A recommendation: The Fire Tablet HD8 can be rooted and there is a pretty well functioning LineageOS available at XDA Developers: https://forum.xda-developers.com/hd8-hd10/general/lineageos-14-1-fire-hd8-2018-t3936242
With these tweaks - including s newer Android Webview - the tablet runs a lot smoother - at least for me using Lovelace Custom Cards.

1 Like

Wow you suck…

Just when I thought I was done messing with my home assistant you come out of nowhere with this sexy implementation for a DIY security panel :sob:

Well, guess it’s time to get to work!

(On a serious note, good job, it looks really well done and polished)

1 Like

Amazing guide. Thank you these steps have helped me figure out some missing parts with my home assistant

1 Like

Really nice! Do you recommend the Fire 8 HD 16Gb or 32Gb?

just did the same install with the makesbymike mount…its a great mount especially the low profile charging cable. i installed a recessed usb outlet behind my tablet to get constant power

I use the 16Gb as really doesn’t hold much in the way of storage.