[RELEASE] Fully Kiosk Browser Controller


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.


Thank you very much .... Working well


One major difference I found between Lannouncer vs Fully for TTS:

  • Using Fully: messages speak to completion before the next message is issued. In other words, there seems to be a message queue someplace beyond the Device Handler

  • Using Lannouncer: messages being spoken are chopped off when the next message arrives.


Thanks for this driver,it has made TTS so simple on my Fire 7 Alarm Panel.


I see you have command to launch a app.. how about load a webpage? i'm thinking have some sort of popup when a alarm goes off or something. Or how about having my camera at my door go full screen when doorbell is rung...


I added loadURL and loadStartURL commands. One will load any URL and the other will load the StartURL. I don't have any ability to do a popup though.

I tried to trigger the ring app for my doorbell to show when motion was detected, unfortunately the app doesn't automatically display the video feed so it would just come to the front and do nothing. But this may help.


I ported the original HE version of this app to SmartThings, and it works great over there as well. A release notice will be posted on the ST forum in the next few days.

Regarding the "beep" file. I copied a chime.mp3 file into the Download folder of two Fire HD8s and a old Android smartphone by connecting the devices via usb to my Win 10 computer. The Tone Audio File URL is coded as: file:///sdcard/Download/chime.mp3


That's ok for my application. I setup where my doorbell triggers a relay and via a Arduino shows as virtual button. So I can setup a rule using it as a trigger. And use the cameras url for the feed


With Gavin's approval, this Device V1.04 is now available on SmartThings.

@gavincampbell The following was requested from ST user Alwas

I wonder if it would be possible to include Change Screen Brightness…


Added setScreenBrightness. A value of 0-255 is accepted.


Please add the following to the "mute" command


That doesn't mute the device, it just stops the current sound from playing. Would be misleading to do that. Mute should set the volume to 0. The problem is the amount of logic behind the unmute that is needed. I can look into implementing it but instead of mute they could just set volume to 0.

stopSound should be its own command.


Yes you are correct on how that functions. I noticed sound stopped then continued with the next "beep".


Please consider adding the following
Capability: Alarm with a corresponding Alarm sound file, plus commands off (same as stopSound), both and alarm, allowing the device to be used for intrusion alerts.

A playSoundFile command, allowing dynamic user specification of the sound file to be played.


Not sure what is needed for an unmute, but if it's anything like the volume adjustment, it's over the top. I truly don't understand why 10 commands are needed.

SmartThings is choking on the flurry of commands, then ignoring them. They have some sort of monitor that stops threads they consider "abusive". Volume control is the only thing I don't have working in ST. I'm going to contact Fully to see if there is some way around this issue.


I'll take a look into the mute/unmute. The logic is around what unmute should do when pressed. You have to save the previous volume but one if somebody sets the volume and then you press unmute. It's just a but of logic and thinking that had to go into it. As I would need to add code to volume adjustment as well. It's so much easier if they just set the volume to 0 and restore it to whatever. But will take a stab at it.

As for the volume sending 10 commands. I have to look further into this. I couldn't figure out what channel controlled the volume. It felt like it was switching for me. So I just set them all. It's not like volume is really set often enough to flood it. But I guess ST is different. Hence why I don't want to mess with it. I may just make it a configurable item.

I'll take a stab after work tomorrow. Just been slammed these last few days.


Based upon email below I'm test with 9 and 3 only.

Email from Alexy at Fully regarding streams
an Android device has many audio streams for different purposes. The common stream IDs are as follow.

/** Used to identify the volume of audio streams for phone calls */ public static final int STREAM_VOICE_CALL = 0;

/** Used to identify the volume of audio streams for system sounds */ public static final int STREAM_SYSTEM = 1;

/** Used to identify the volume of audio streams for the phone ring and message alerts */ public static final int STREAM_RING = 2;

/** Used to identify the volume of audio streams for music playback */ public static final int STREAM_MUSIC = 3;

/** Used to identify the volume of audio streams for alarms */ public static final int STREAM_ALARM = 4;

/** Used to identify the volume of audio streams for notifications */ public static final int STREAM_NOTIFICATION = 5;

/** Used to identify the volume of audio streams for phone calls when connected on bluetooth */ public static final int STREAM_BLUETOOTH_SCO = 6;

/** Used to identify the volume of audio streams for enforced system sounds in certain * countries (e.g camera in Japan) */ public static final int STREAM_SYSTEM_ENFORCED = 7;

/** Used to identify the volume of audio streams for DTMF tones */ public static final int STREAM_DTMF = 8;

/** Used to identify the volume of audio streams exclusively transmitted through the * speaker (TTS) of the device */ public static final int STREAM_TTS = 9;

/** Used to identify the volume of audio streams for accessibility prompts */ public static final int STREAM_ACCESSIBILITY = 10;

I hope this helps you to find a proper stream ID.


Fully Kiosk Solutions for Android


Based on my testing
TTS stream is 9
MP3 Sounds is on 2, not 3


What device do you have. On my fire hd I went through each one and noted what changed. Looks like 3,8 and 9. But I can't do them independently.

0 = no change
1 = no change
2 = no change (set system & notification volume)
3 = changed tts/beep (set media volume)
4 = no change (set alarm volume)
5 = no change (set system & notification volume)
6 = no change
7 = no change
8 = changed tts/beep
9 = changed tts/beep
10 = no change


I have Fire HD8s and a old Samsung phone also used for a display in my office. I've been testing on the Samsung, where 2 worked for mp3s and 9 for TTS. Just tried on my Fires and it worked as expected with 2 and 9.

Are you saying the various devices you have use varying streams? That would be a real issue.

I've also tested my version on SmartThings where everything works except Tile sliders, and sound control. This version also allows the device to be used as an Alarm device.

Dashboard HSM intrusion alert display