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.

31 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)

3 Likes

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.

HI @jaburges and thank you for this! I am in the process of setting this up. Already acquired my tablets (but haven’t set them up yet). I’ve got one comment and one question. The comment: the URL to the wall mount changed from what you posted. The new URL is https://makesbymike.com/products/amazon-fire-tablet-wall-mount?variant=31494923649155 (assuming you did the wall mount and not flush mount).

So my question: when you ordered the mount, did you keep the power button open or did you close it off? Also, did you open up the light sensor, or make any other customizations to the mount?

Hey @warlord you are welcome! Glad its helping folks out.
Thanks for the new URL, i’ll edit the OP.

I left the camera open as Fully Kiosk can use that for motion. I also left the power button open to be able to restart the device (My wife wouldnt know where to start to begin messing with the tablet, and my child isnt quite 1 yet. I may re-think that when he can reach the tablet lol)

Other mods were just software really (paid to remove the Ads on amazon.com) BUT the lockscreen keeps being re-enabled (SO annoying). Using SetEdit you can configure:
Device_Provisioned = 0
Lockscreen_Disabled = 1
(I’m looking at a way to do this via ADB every week and restart the tablet. Every month or so the lockscreen comes back - updates and app updates are disabled, so not sure how. Still very annoying to have to swipe to see the dashboard)
ADB command is:
adb shell pm grant by4a.setedit22 android.permission.WRITE_SECURE_SETTINGS

and then

adb shell settings put secure lockscreen_disabled 1

oh and I now use Dwain’s Theme for the UI :slight_smile:

Thanks for the response, @jaburges. Do you need to unmount the device to connect to it to run adb? (I haven’t actually turned my tablets on, yet – I’ve been working on getting HA configured, which I mostly have at this point.
Maybe I’ll ask my wife about the power button. My kids are 6 and 8 so I don’t think they would play with it… So maybe I’ll just leave it open. I was planning to open up the light sensor and was always planning to keep the camera open. So really it’s just a question about the power. It’s the same cost either way. I have no idea what his lead time is for shipping.
Still, I’m very excited to have found your guidance!!!
Thanks!

once set up you can run ADB remotely

Oh, even better. Then why not just set up a cron job to re-run those adb commands every week? :slight_smile:

right now i dont have an ADB server (in the process of reviewing the best way to do it)
i have node-red so can use that - the inbuilt AndroidTV / FireTV doesnt allow for ADB commands so will try a few options and report back

Hi @jaburges
I just want to thnk you for your awesome guide.

Can you show some screenshots of your UI using Dwain’s theme? I’m looking to change to that UI as well but want to see some examples first.

Thanks again.

I decided to take on this project, as I was able to get a tablet at a reduced price over this Black Friday. I think it’s setup okay but I have one issue. When I switch to my Home Assistant website from the Alarm Panel a spinning circle with Loading 10%. I can access the webpage outside of the Alarm Panel app okay. Wondering if it’s a setting in Fully Kiosk or somewhere else?

BTW: I just finished setting up Dwain’s theme myself and it’s pretty slick.

Note: Not all Fire HD8’s can be rooted. I have a pile as proof.

this is quite an old thread, but can you find any difference between the ones you can and ones you cant?

I’m not an android dev by any means, and it has been a LONG while since I rooted one. Do the newer ones have a locked bootloader?