For this video I am using Fully Kiosk Browser with a Vidabox Mount and Samsung Galaxy Tab A 7.0" - which was new, but quite an old model(2016). It works ok, but it's a bit slow. As Fully Kiosk detects motion it makes it usable as the screen will turn as you approach, with the Home Assistant interface preloaded, ready to use.
If you want to use a similar setup with your Home Assistant, then download and install Fully Kiosk on to your tablet. If you definitely, want a tablet setup then go ahead and buy the full version it's not expensive at all and is an excellent program, it does not work with Apple Devices though so if you have an IPad this won't help you.
In Fully Kiosk there are many setting you can set up, but mainly you want to turn on remote access so that you can login and change settings whenever you want to. You can do that in SETTINGS -> REMOTE ADMINISTRATION(PLUS) -> Turn on the first 5 toggles and set a password - if you want you can turn on the cloudService but I haven't used that as I use a VPN. I was going to try it out as I am using these of customers house now and it would be handy to be able to do admin on installations I have done.
Now you can install the tablet into you wall mount enclosure, if possible provide a power supply for your tablet either a power adaptor or a ethernet POE to micro usb(to suit your tablet). The mount I used was from Vidabox and I am very happy with how it looks and works. The installation video is here: https://youtu.be/-7ChDLprmeU
Once your tablet is connected to your wifi, Fully Kiosk Browser is installed, remote admin turned on and your tablet is wall mounted and ready to go you can run these following commands from a browser or REST client like ARC - Chrome add on (Advanced Rest Client).
You will need your tablet IP address, get that from your tablet network settings or from your router, you should also give your tablet a static IP reservation so it doesn't change. The tablet remote access page is at http://192.168.1.233:2323/?cmd=deviceInfo -> use your IP address though.
Other setting you may want to change: SETTINGS > WEB CONTENT > Start URL SETTINGS > WEB BROWSING > Enable pull to refresh SETTINGS > WEB BROWSING > Enable Back Button SETTINGS > WEB BROWSING > Load Start URL on Home Button SETTINGS > WEB AUTO RELOAD > Auto Reload after Page Error - 60sec SETTINGS > ADVANCED WEB SETTINGS > Enable Keyboard SETTINGS > ADVANCED WEB SETTINGS > Enable Touch Interaction SETTINGS > ADVANCED WEB SETTINGS > Enable Scrolling&Dragging Show Progress Bar SETTINGS > TOOLBARS AND APPEARANCE > Show Progress Bar SETTINGS > DEVICE MANAGEMENT > Keep Screen On SETTINGS > DEVICE MANAGEMENT > Unlock Screen SETTINGS > DEVICE MANAGEMENT > Screen Off Timer (PLUS) 30 SETTINGS > DEVICE MANAGEMENT > Launch on Boot SETTINGS > POWER SETTINGS > Prevent from Sleep while Screen Off SETTINGS > Kiosk Mode (PLUS) > The first 7 toggles, exit gesture and pin number SETTINGS > Motion Detection (PLUS) > Enable Visual Motion Detection SETTINGS > Motion Detection (PLUS) > Detector Sensitivity > 90 SETTINGS > Motion Detection (PLUS) > Detector Frame Rate > 5 SETTINGS > Motion Detection (PLUS) > Turn Screen On on Motion SETTINGS > Motion Detection (PLUS) > Exit Screensaver on Motion SETTINGS > Device Movement Detection (PLUS) > Physical movement of tablet
To get information on tablet, enter the following into a browser or ARC, but change the IP address to the address of your tablet, and change password to the remote admin password you set previously in Fully Kiosk. http://192.168.1.233:2323/?cmd=deviceInfo&type=json&password=password
To get extended settings on the tablet enter the following, these are the keys you need to use to change them as per below. http://192.168.1.233:2323/?cmd=listSettings&type=json&password=password
As per Fully Kiosk Web Site you can do the following: Change any of 200+ Fully settings New values will be applied immediately
Some values are Boolean (true/false):
Don't leave in [] when substituting the value you want to send. http://192.168.1.233:2323/?cmd=setBooleanSetting&key=[key]&value=[true|false]&password=[pass]
Example:
http://192.168.1.233:2323/?cmd=setBooleanSetting&key=motionDetection&value=false&password=password - Will turn off motion detection.
Some values are values:
The key to change each setting in the settings list you retrieved just above. http://192.168.1.233:2323/?cmd=setStringSetting&key=[key]&value=[value]&password=[pass]
Example:
http://192.168.1.233:2323/?cmd=setStringSetting&key=motionSensitivity&value=100&password=password - Will set motion sensitivity to 100%
There are some commands you can send too: http://192.168.1.233:2323/?cmd=loadUrl&url=[url]&password=[pass] -> URLs need to be encoded, find an encoder utility on the web and it will encode your url in a click of a mouse. http://192.168.1.233:2323/?cmd=triggerMotion&password=[pass] http://192.168.1.233:2323/?cmd=loadStartUrl&password=[pass] http://192.168.1.233:2323/?cmd=restartApp&password=[pass]
You can also access the internal storage or a folder on your HASSIO system to play sounds, remember that HASSIO is like linux so it's CASE sensitive for file names: Classic-doorbell-sound.mp3 is just the sound I choose, you can use any sound file you have.
To get files onto your device you can transfer via google drive or your an SD card, you can view your tablet file tree at the remote admin page under MANAGE FILES
-> To access file from device: file:///storage/emulated/0/Download/Classic-doorbell-sound.mp3 -> To access file on device(URL Encoded): file%3A%2F%2F%2Fstorage%2Femulated%2F0%2FDownload%2FClassic-doorbell-sound.mp3
You could also access files from any accessible network location like a folder in your HASSIO setup: Which is easier I think. -> http://192.168.1.236:8123/local/sounds/Classic-doorbell-sound.mp3 URLencoded -> http%3A%2F%2F192.168.1.236%3A8123%2Flocal%2Fsounds%2FClassic-doorbell-sound.mp3
Play Sound from file on HASSIO http://192.168.1.233:2323/?cmd=playSound&url=http%3A%2F%2F192.168.1.236%3A8123%2Flocal%2Fsounds%2FClassic-doorbell-sound.mp3&loop=true&password=password&stream=1&type=json Play sound on Android Device File System http://192.168.1.233:2323/?cmd=playSound&url=file%3A%2F%2F%2Fstorage%2Femulated%2F0%2FDownload%2FClassic-doorbell-sound.mp3&loop=true&password=password&stream=1
Stop Playing Sound if set to loop http://192.168.1.233:2323/?cmd=stopSound&password=password&type=json
SETUP INFO HASSIO: So that the tablet can access network file locations on HASSIO and also so you don't have to enter the password in at the tablet all the time. The can setup trusted networks if you don't already have it setup it can be done like this. Under homeassistant: in your configuration.YAML
homeassistant:
auth_providers:
- type: homeassistant
- type: trusted_networks
trusted_networks:
- 192.168.1.0/24
- 10.1.30.0/24
trusted_users:
192.168.1.233: f5fbe3b5763d4e8a8240ba7ed875f985 #ID Numb.
The trusted user is the tablet - and the number following it is the id numberof the user the tablet uses in HASSIO this number is found in CONFIGURATION > USERS > (Select a user) and the id will be on the panel that pops up.
Next we setup REST to send commands to the tablet This goes in the configuration.YAML
rest_command:
kiosk_command:
url: !secret rest_url_kiosk_command
What to put in SECRETS.YAML file - But use your IP and Password
rest_url_kiosk_command: 'http://192.168.1.233:2323/?cmd={{ cmd }}&url={{ url }}&key={{ key }}&value={{ value }}&url={{ url }}&type={{ type }}&password=password'
tablet_settings: 'http://192.168.1.233:2323/?cmd=listSettings&type=json&password=password'
tablet_info: 'http://192.168.1.233:2323/?cmd=deviceInfo&type=json&password=password'
Copy fully.py into a folder in config/python_scripts/ if you don't have that folder then create it. Copy services.yaml in to config/python_scripts/ as well, if you already have a services.yaml then just append the contents to that file. This will create a service called python_script.fully that you can use to make automations. If you view the service under DEVELOPER TOOLS > SERVICES then you will see the info for all the different variables you can call, so you don't have to refer back to the docs in the future. We can set up these sensors too next:
Sensors:
- platform: rest
name: Kitchen Tablet
json_attributes:
- isScreenOn
- batteryLevel
- kioskMode
- screenBrightness
- motionDetectorState
- maintenanceMode
- appFreeMemory
- appUsedMemory
- totalFreeMemory
- totalUsedMemory
- hostname4
- ip4
- mac
- locationLatitude
- locationLongitude
- locationAltitude
- startUrl
- currentPage
resource: !secret tablet1
value_template: '{{ value_json.isScreenOn }}'
scan_interval: 10
- platform: rest
name: Kitchen Tablet Settings
json_attributes:
- timeToScreenOffV2
- screenBrightness
- motionSensitivity
- motionDection
- motionDetectionAcoustic
- motionSensitivityAcoustic
- screenOffInDarkness
- darknessLevel
resource: !secret tablet_settings
value_template: '{{ value_json.motionSensitivity }}'
scan_interval: 10
Battery Sensor Example - if your plugged in you won't need this.
- platform: template sensors: kitchen_tablet_battery: friendly_name: "Kitchen Tablet Battery Level" unit_of_measurement: '%' value_template: "{{ state_attr(sensor.kitchen_tablet_info,'batteryLevel') }}"
Some More things you can do:
Set Page on Tablets of LOVELACE
http://192.168.1.236:8123/lovelace-tablet/bell-view >encode path>
http%3A%2F%2F192.168.1.236%3A8123%2Flovelace-tablet%2Fbell-view
http://192.168.1.233:2323/?cmd=loadUrl&url=http%3A%2F%2F192.168.1.236%3A8123%2Flovelace-tablet%2Fbell-view&password=password&type=json Load Start URL - That is set in Fully Kiosk http://192.168.1.233:2323/?cmd=loadStartUrl&password=password
We can setup MQTT under SETTINGS > OTHER SETTINGS > MQTT integration plus > And then set your setting Note this is experimental and I found it to be a little flakey, but I'm sure it we be working eventually. What can you do with this?
binary_sensor: - platform: mqtt name: "Kitchen Tablet Motion" state_topic: 'fully/event/onMotion/209b880c-1d16af6f' #you will need to get the id of # your Fully Koisk Tablet (see below) device_class: motion off_delay: 10 payload_on: 'on' payload_off: 'off' value_template: "{% if value_json.event == 'onMotion' %}on{% else %}off{% endif %}" qos: 1
To find the state_topic I used MQTT Explorer - Which if you haven't used it is great for MQTT trouble shooting and general setup. Use your tablets motion detection to turn on a light, camera trigger an automation. Here are are some automation I have setup:
- Door bell chime - Kitchen night light sets screen time to 300sec - Reset tablet, to avoid lock ups - Reset tablet screen time back to 30sec in the morning
Not an automation but I have found it is a very handy additional controller for my air conditioner, I have an Advantage Air ducted reverse cycle system with 10 zones, it is a system called MyAir. I can use it to turn my unit on and off, and will a little more work control zones, modes etc, so look out for a detailed video on that project.
I am using Lovelace on my tablet right now and I'm making use of the new dashboards feature in HASSIO. Making a simple dash board to suit your needs, is the easiest method.
I tried Home Panel 2.0 briefly and did not find it suited my needs.
Lastly I tried HAdashboard which is a AppDaemon 4 based application, and I really like it. It is a lot more complicated to make a polished dashboards, but they look and function really well, you need to use CSS styling and html a little bit. And you need to custom design to fit your device of choice. I have this dashboard here that I started work on base on work by thundergreeen https://github.com/thundergreen/hadashboard. And I didn't have the issues I had with logins that Home Panel has, as there is no login to the dashboard, and as it is on my internal network, and the dashboard has no critical data security is not necessary for my use case. I plan on working on this design and in the future and will make a video on setup of HAdashboard.
Overall I love and recommend Fully Kiosk, having used it for a few months, and found it functional, especially having the screen turn on as you approach, it works flawlessly so far. The only issue I've had is the screen locking on loading, and I have got around that by restarting the app every morning on an automation.
While my tablet works fine, it's slow and that is a little bit disappointing so I don't like the choice of the nearly cheapest tablet available, and my next tablet I will spend a bit more on.
The Vidabox wall mount is well made, slim and makes the tablet look professional, and although it's not cheap I think it is worth the money. However, using this setup to view video's is slow and clunky and while I suspect that a better tablet may improve it slightly, it is not the best system to use if you want it to be a security camera viewing hub, as it is too slow, if that is your main goal look elsewhere.
I have set everything up except for the fully.py and services.yaml items mentioned below. I'm trying to play wav and mp3 files through the FKB on a Kindle Fire 8 HD. I've tried the method you've mentioned above and can't get it to work. Are there any troubleshooting advice you have to help me get this working?
I have the same question. Where are the fully.py and service.yaml?
Hello,
where can i find the mentioned files: fully.py and services.yaml?
Thank you!