My take on a home dashboard running on the Lenovo ThinkSmart View and managing multiple devices running Fully Kiosk

For some time I’ve wanted a table top display device with a good speaker in the form factor that an Amazon Echo Show has, but that’s actually useful!

I thought I would document my journey and what I have currently. Like anything in HA, it’s work in progress. I’ve also not seen any posts on my kiosk display adventure that talk about ways to manage multiple display panels/tablets so thought I’d post a bit about that too. What I talk about below isn’t anything new and is largely based on other people’s work (aren’t most things in HA) but it’s the way I’ve decided to do it. This is my story about some great devices, the dashboards I’ve developed that give me the info I want and nothing else and how I manage them (which used to be a real pain!)

The devices and dashboards

This all started with buying a couple of the Lenovo ThinkSmart View devices (CD-18781Y) that were originally sold as Teams or Zoom corporate machines. Excellent machines (RRP around $350 originally I believe) but ultimately flopped so are being sold off really cheap. With some excellent work by community members here and on other forums like the XDA forum, there’s a way to ‘hack’ these and get a custom ROM running based on Android 8.1 or 11 (and even postmarketOS - Linux) and use the device as an HA display. I won’t go into more detail than this brief intro as there’s a great write-up here and links to some of the other projects. Be warned, that topic is nearing 1,000 posts!

After buying a couple of these, I loved them so much that I’ve now bought five in total with the latest from Amazon US for the amazing bargain price of $40 each! As I’m in the UK and the Amazon marketplace seller doesn’t ship internationally, I used a freight forwarder (Forward2me.com) over three shipments and paid around $65 for priority shipping for two devices and $45 for a single unit. This was via UPS and Fedex and I haven’t been billed for any VAT or duty (so far one month on). I wasn’t expecting duty but was ready to pay VAT.

I wanted a dashboard that has a similar display in each room but with local variations such as lighting scene and individual controls. I also wanted only the information and controls that we use regularly, so no clutter with endless graphs showing the CPU temperature of my NAS! I’m not judging though, if that does it for you, great :slight_smile:

I’ve been working on this over the last month or so and this is some of what I now have:

  • Time and date.
  • Small weather forecast for today.
  • 3-4 lighting scene buttons with conditional colouring.
  • Map showing where we all are.
  • Front door camera streaming from Frigate (reolink door bell).
  • Samsung smart washer and dryer (truly excellent machines) with current mode and time to finish (and conditional colouring of course). Animation of icon still to do.
  • Next bin collection day and what’s being collected.
  • Sonos card in the rooms that have Sonos devices.
  • Popups (using Bubble card) for individual lighting controls, larger camera feed, notification that a parcel has been left in my iParcelBox and popup full weather panel using windy.com.
  • conditional cards shown in red or yellow that pop up at the top to show alerts such as water leak, post in the letterbox and water softener salt level low.
  • plus loads more I’m constantly adding.

I also announce on the excellent speaker in this device when a person is spotted on the camera or when post is pushed through the letterbox. Anything that I really want to know about. The camera popup is also triggered on doorbell push for 60 seconds.

Some gratuitous shots:

These devices work in portrait or landscape mode and auto-rotate. I really like portrait best as they stand out and look great on the kitchen counter, living room side table and office desks.

This screen shot taken from my iPad shows the washer and dryer in operation - probably one of the favourite and most used data items out of everything.

Main software I’ve used on these dashboards

This isn’t exhaustive and I’ve deliberately missed a load as I’d be here all night listing them.

  • Mushroom cards for most of the conditional cards and buttons using the template card with quite a few conditional colours and a lot of styling tweaks using:
  • Card-mod for all the CSS tweaks
  • Digital clock (HACS) for the simple time and date
  • Custom Brand Icons (HACS) for additional icons
  • Bubble card (HACS) for the lighting sliders and the great popups plus the horizontal controlling buttons
  • Kiosk mode (HACS) to control who sees header and side panel (more on that below)
  • Fully Kiosk Browser (not the single app version)
  • Fully Kiosk integration (excellent)

Managing the five devices

So I will start by saying that there are loads of ways to manage these devices. I’m currently developing new functions and items to display but have to replicate these additions and changes across each device which can be a bit time consuming and prone to error. I did look into using the decluttering card to reuse key items but had some issues and put that on hold for now. I’m also running Android 8.1 which on this device, is quite old and there are some slight niggles. I’ll list those below. I’ve also been exploring Android 11 but on the one test device I’ve put aside, I’ve run into additional issues flashing which I’m still trying to resolve.

Part of why I wanted to write and share this post is that it took me a while to work out how to manage multiple devices. I was making a change and running around the house, refreshing the devices or struggling with turning the header and sidebar on/off and getting in a bit of a mess. Sound familiar?

This is the quite basic management dashboard I’ve ended up with:

From the top, this allows me to:

  • one-click to dynamically display or hide the header and sidebar on all ThinkSmart View devices. As an admin user, this doesn’t affect me wherever I’m logged in and editing from, I’ll always have access to the menus etc.
  • Reload all of the devices (reload the start URL but a restart of the browser is also possible)
  • Reload the nspanel pro (not shown in this post)
  • Exposes all of the features and functions the Fully Kiosk integration allows. Some don’t work on this device or I don’t use, so I could remove them to make it simpler - future work.

So I can edit on my office PC or iPad and then click the reload button to have them all ready to go. Works really well and saves me running up and down the stairs all day long :slight_smile: I setup individual non-admin users for each device e.g. kitchen, livingroom, office etc and log in on each relevant device with those unique user names. That’s a bit of a hang-over from how I used to do it but it works still. I could just have one user named ‘kiosk’ maybe and set the start URL from Fully Kiosk for each device.

How I setup Kiosk Mode

The brains behind the dynamic header and side bar hiding is Kiosk Mode (HACS). This is the simple config I used on each dashboard to be displayed on my devices:

kiosk_mode:
  user_settings:
    - users:
        - Paul
      ignore_entity_settings: true
  entity_settings:
    - entity:
        input_boolean.kiosk_hide_header_and_sidebar: 'on'
      hide_sidebar: true
      hide_header: true
    - entity:
        input_boolean.kiosk_hide_header_and_sidebar: 'off'
      hide_sidebar: false
      hide_header: false

My user name is ‘paul’ and I’m an admin user. I setup a boolean helper called input_boolean.kiosk_hide_header_and_sidebar. I use this with the top button on my management dashboard and Kiosk Mode does the rest, dynamically turning the header and sidebar on/off. Pretty handy. This is all documented in the Kiosk Mode docs.

How do I control the screen on my devices?

This device and the ‘hacked’ nature of them does introduce a few quirks. Without going into too much detail of those quirks here, I wanted devices that are always on when someone is in the room. That way, it’s easy to look over and see what’s being shown without having to walk over and frantically wave or look at it in a certain way :wink: I have the excellent Athom mmWave presence sensors in each room. I have a couple of scripts for each device. One to turn it on, one to turn it off. I use Blacky’s truly amazing ‘sensor light’ blueprint to control each device, running the ON script on occupancy sensing and turning it off when cleared. Controlling the screens is done via the Fully Kiosk integration and the entities that exposes.

I also use this blueprint for all my auto lighting. You can see the ‘Auto Lighting’ button on my dashboards which enable me to bypass the auto lighting function. Handy for when the dogs keep running around, turning the lights on! I’m still waiting for a mmWave sensor or configuration that can distinguish between humans and dogs - let me know if you know of something.

What quirks do I still see on these devices

These devices are really excellent but there are still some quirks or things that don’t quite work. I’ve played with Android 8.1 (the most stable and easiest to setup) and Android 11 (A11) although I’ve had loads of issues with A11 and so far have failed to get it working properly. Others say they have succeded.

These are the quirks I have on 8.1:

  • Audio doesn’t work through webview (the system browser). I’ve tried different versions of webview but no luck so far. Audio works on the device itself so I can send TTS announcements etc. A11 apparently does work.
  • I have an odd sleep or timeout of some kind that means after some time, when tapping the screen, it can take 3-4 seconds at worst to respond. As soon as it does, everything is pretty smooth. I’m still exploring that issue. No one else in the threads I’ve read has reported that though but I see it on all devices I have here. Could be a Fully Kiosk thing or another setting.
  • They don’t have much memory - 2GB so it is possible to crash the webview if loading something like windy.com and enabling complex animated sequences. I only saw this once though and normal views work fine.

I hope that’s been of some use or interest - if there’s anything else you want to know, just let me know and I’ll try to answer. Cheers!

EDIT: I’m now running Lineage 15.1, courtesy of @deadman on Discord. This is a great upgrade to the OS I was previously running. I’ve pulled together multiple posts and writings from a host of people and created a guide to installing which can be found on my GitHub page here:

34 Likes

Hi,

I’ve followed your example and simply can’t get it to work.
For example hide_header: true ; the header is still displayed.
On my tablet logged in as a separate user with non admin rights.
Using fully browser kiosk app and integration.
Any ideas?

Dashboard config starts like yours with:

kiosk_mode:
user_settings:
- users:
- Pocster
ignore_entity_settings: true
entity_settings:
- entity:
kiosk: true
hide_header: true

Did you do the normal restart and clear browser cache etc (in Fully Kiosk too)? I’m not at my machines at the moment but can have a look tomorrow. There’s probably a topic on kiosk mode here somewhere that you can also ask on if needed.

Ah, you’re trying to use the entity settings but you aren’t using an entity. You need to use one of the other methods. Read the docs here:

nice work!

1 Like

Thanks. :smiling_face: I

Sounds great and thanks for sharing. But is there a ‘dummies guide’ to getting these up and running from start to finish?

1 Like

Yes that link near the top of the post. It’s not for the feint hearted though. Depends on your skills with Linux (better than windows for flashing by a long way). Expect to spend a fair bit of time getting them working but when they are (when you understand the process), they work pretty well with a few issues here and there.

Is the link up to date? I bought one of the Lenovo devices when the original post appeared a few months ago and got Home Assistant to work. Sort of*. That thread has grown simply TL;DR. And spawned another, also TL;DR. I am hoping that the same fate doesn’t fall on this thread.

  • Sort of works. Too often I look at Home Assistant on the device and all I see is the HTML text. Rebooting the ThinkSmart is the only way to get my Home Assistant dashboard back. Is there a later version of the custom ROM that I should reload?

Mine work. Same 8.1 ROM. I’ve seen error code a couple of times briefly as the dashboard is loading but it resolves as the (probably) JavaScript modules load for the card it was erroring about.

There’s also PMOS (Linux) which is getting very close now to being a contender.

These devices are great but not a simple setup and go, they need some effort to get going. Not like an off the shelf android tablet. But when they are going, they’re well worth it.

Linux I know. Android is a complete mystery. I’ll be watching for PMOS.

1 Like

Please, you are ot in this thread. You know where the relevant thread is.

1 Like

Who are you replying to?

The person who posted immediately before me.

2 Likes

I’m not sure why reply to isn’t showing, makes it difficult to follow who’s talking g to who :crazy_face:

Okay I’m a complete novice but gonna give it a go. Just a shame these devices are now a bit more expensive at ~$40 but still worth it.

Also, found a handy “beginner” video which seems helpful for getting it set up: https://www.youtube.com/watch?v=V7CMizEOT-0

Yes seen that video - it ISN’T for this ROM though and I think is aimed more at the retro gaming community (possibly). But some of the methods are OK although I would STRONGLY recommend using Linux to flash the device - so much more reliable :slight_smile:

My device arrived today - so going to work on it this weekend. As for Linux - I was planning on creating a VM (ubuntu or debian) on my Unraid server unless you think this is a bad idea.

As long as you have access to a usb port I can’t see why not. For any troubleshooting, I’d ask on the 8.1 ROM thread I linked to.
Good luck with it!

Got it up and running! Pretty proud of myself given I’m a complete novice with Linux/Android. Thanks to @pgale and @stevemann whose posts I found very helpful along the way.

Now the tinkering begins…

1 Like