[RELEASE] Fully Kiosk Browser Controller

I wrote this quick driver when I found out that Fully Kiosk Browser had a REST API. This way you can use your tablet as a chime or using TTS in your apps.

Features:

  • Chime with custom audio file
  • Can be used as an Alarm device
  • Text to speach
  • Command to launch another app via FKB (custom command "launchAppPackage")
  • Command to bring FKB back to the front (custom command "bringFullyToFront")
  • Commands to turn the screen on/off (custom commands "screenOn/screenOff")
  • Command to trigger motion. (custom command "triggerMotion")
  • Commands to start/stop the screensaver (custom commands "startScreensaver/stopScreensaver")
  • Commands to load the start URL or another URL
  • Command to set the screen brightness (setScreenBrightness)
  • Commands to mute/unmute FKB
  • Commands to play/stop custom sounds (playSound/stopSound)

Requirements:

  • A device running Fully Kiosk Browser with a plus license so you can enable the REST API (Fully Kiosk Browser Lockdown | Android Kiosk Mode App)
  • Enable the REST api by launching FKB -> Settings -> Remote Administration (PLUS) -> Enable Remote Administration. Set your password and enable the Remote ADmin from Local Network. This will also list the IP and the Port you need.

Driver Installation:

  • Copy the code from the GitHub link below.
  • In the Hubitat web admin click on Drivers Code -> New Driver
  • Paste the code into the new box and save it.
  • From the Hubitat main screen click on Devices -> Add Virtual Device
  • Fill in the Device Name and Device Network ID (at minimum) and select Fully Kiosk Browser
  • Controller from the Type drop down box.
  • Select Save Device
  • Your new device will now be avialable and you can configure it from there.

Settings:

  • Server IP Address: The IP address of the device running FKB.
  • Server Port: The port used for the FKB REST API.
  • Server Password: The password set in FKB to connect to the REST API
  • Tone Audio File URL: URL to a mp3 file to play when beep is executed.
  • Siren Audio File URL: URL to a mp3 file to play when the alarm is triggered
  • Siren Volume: Volume to set FKB to when alarm triggered. Previous volume will be restored when siren stopped.
  • Volume Stream: Volume stream on device to use for setting the volume. You may need to test and see what works for you.
  • Logging Level: set to none after everything is working properly to avoid extra logging

Notes:

  • I was also able to save an MP3 file directly to my tables sdcard and reference the audio file like this "file:///storage/sdcard1/mysound.mp3". This should cut down on any delay when using an URL.

Driver source on my GitHub:

History:
[1.0]: Initlal version
[1.02]: Added commands screenOn,screenOff,triggerMotion,startScreensaver,stopScreensaver. Added import url in metadata.
[1.03]: Added actuator capability so you can create custom commands in Rule Machine.
[1.04]: Added commands loadURL and loadStartURL
[1.05]: Added setScreenBrightness command
[1.10]: Implement mute/unmute commands
Added volumeStream setting to choose what volume to control.
Added alarm capability. Includes settings for alarm volume and file.
Changed the volumeStream setting to a drop down with names (streams 1-10).
Changed lauchAppPackage command to accept the package as parameter to allow more flexibility.
Made adjustements to setVolume to properly test for volumeStream value
Added playSound/stopSound commands.
Added the AudioVolume mute attributes.
Set default attributes when installed.
[1.20]: Changed the speak command to use the Hubitat TTS methods. Has faster response and allows voice changing via the Hub Details settings page.
[1.21]: Changed the importUrl to the proper URL.
[1.22]: Updated sendcommand calls to have the parameters properly encoded.

15 Likes

Great work! I was using pushover for this, but there was a slight delay and internet was needed. I'll test soon!

How you enable the rest api? I have the plus license.

Thanks for the driver

I'm not really sure what's the case use for this.

I updated the post with quick details.

  • Enable the REST api by launching FKB -> Settings -> Remote Administration (PLUS) -> Enable Remote Administration. Set your password and enable the Remote Admin from Local Network. This will also list the IP and the Port you need.
1 Like

If you have a device running Fully Kiosk Browser to display your dashboards, you can also use it as a chime for if a door opens/closes.

I personally have it setup as a chime. And I use my own MP3 file so it plays my own sound instead of sounds that are built into other devices.

All my TTS stuff is done through my Alexa's but I added that in as well anyways.

2 Likes

Oh that's awesome. I'm going to install it. Thanks!

It's working, thanks again.

1 Like

Is a audio file necessary to make it chime or TTS? Or is there default values in there?

You will need an audio file for the chime. TTS you can type your text and click speak on the driver and the device should do the rest and speak it out.

Great work!

I am currently using LanNouncer on Fire HD8 tablets with BigTalker, and although it generally works well, on my devices it appears that the Fire OS puts LanNouncer to sleep, so sometimes it stops talking. This should eliminate that issue since Fully is usually 100% in the foreground.

I tested the kiosk browser device with BigTalker, and it worked perfectly.

Anyone have a link to a Chime MP3 File similar to the Chime in LanNouncer?

Part of my system is still on SmartThings, any plans to port this device to ST?

1 Like

With an addition to this controller, would it be possible to turn the tablet screen on?

Nope. I sold my ST a long time ago. But the code is there. Anybody can port it. Shouldn't be hard as it's not difficult. They probably just either need to add an include for the async methods or change them to sync methods and it should work. I can't verify this though. Just guessing.

There is a API call for screen on/off and I could tie it to a switch capability but doesn't fully have this built into their settings? You can have it wake up based on motion etc.

I do have that set but would love to be able to do that from HE, via a motion sensor etc. The current way only works if there is enough light for the camera to see.

Makes sense. I'll add it later today when I get a chance. It's very easy.

I'm just going to add it as a custom command though similar how I have he bring to front added. Adding a button or switch capability will confuse things more.

1 Like

That's brilliant.....Many thanks.

Give the update a try. You probably want to use the screensaver commands as the screen on/off actually locks my firehd. Or just use the trigger motion command. That should do what you want.

I have driver Installed and working now. :blush:
I can turn the screen on and off from the device page but I cant figure out how to harness this In the rule machine(sorry my knowledge Is still a little limited) .

In Rule Machine you need to create a custom command. You can then use that.

The problem is that this device doesn't fit into any of the capabilities so won't show up in the list.

You can add "capability "Actuator"" in the code at the top under the others and it will show up in the actuator list. You can then choose the command and create a custom one. Then when you create a rule you can select the custom command to execute.

Gonna update the code now.