Fully Kiosk Browser Smart-Home-Integration, kostenlos und Open Source

Discover Fully Kiosk tablets over MQTT or by IP, and control them through their local HTTP API.
Die Dokumentation dieser Integration wird von ihrem Autor geschrieben und ist bisher nur auf Englisch verfügbar.
Discover your Fully Kiosk Browser Android tablets from the status reports they already publish over MQTT (IP address, battery, current page, kiosk mode...), then control them - screen on/off, kiosk lock, load a URL, text-to-speech, restart, reboot... - through their local HTTP REST API.
How it works
- Discovery: MQTT, or manual add by IP. Fully Kiosk can periodically
publish a JSON "deviceInfo" report to an MQTT broker (Settings > Other
Settings > MQTT Settings, in the Fully Kiosk app) - but that MQTT feature
requires a Fully Kiosk PLUS license, it isn't in the free edition. This
integration connects to the configured broker and subscribes to everything
under a topic prefix (
fully/#by default): any JSON message that looks like a deviceInfo report (it carries a device identifier) is picked up, and the tablet appears in Gladys. Without a PLUS license, use the Add a tablet by IP action instead: it queries the tablet's REST API directly (which is free) to add it, no MQTT involved. - Control: local HTTP. Every command (screen on/off, load URL, restart
app...) is sent straight to the tablet's own REST API
(
http://<tablet-ip>:2323/?cmd=...), which Fully Kiosk protects with a password set per tablet (Settings > Other Settings > Remote Administration > Remote Admin Password). Register that password once the tablet has been added to Gladys, using the Set a tablet's REST API password action - no need to type its IP, pick it from the dropdown.
MQTT broker: dedicated or existing
Only relevant if you use MQTT discovery, which requires a Fully Kiosk PLUS license (see above). The MQTT broker configuration field offers three modes:
- Run a dedicated broker (recommended): this integration starts and manages its own Mosquitto broker (a sub-container), with an automatically generated username and password - nothing else to install. Use the Show managed broker credentials action (in the Configuration tab) to get the address, username, password and Device Info Topic to enter in each tablet's MQTT settings.
- Connect to an existing broker: if you already run an MQTT server (Mosquitto, EMQX...), fill in its host/port/credentials in the fields provided.
- Disable MQTT: if you only add tablets via the Add a tablet by IP action, this mode stops (or never starts) the Mosquitto sub-container and never attempts an MQTT connection - no point running a broker you don't use.
Configuration
With a Fully Kiosk PLUS license (MQTT discovery)
- Pick a broker mode (above). With the dedicated mode, save the configuration once first so the broker starts and its credentials get generated, then fetch them with the Show managed broker credentials action.
- In each tablet's Fully Kiosk app, enable MQTT (Settings > Other
Settings > MQTT Settings) and point it at the broker address/credentials
from step 1 - the exact topic you set there does not matter as long as it
starts with the prefix configured here (
fullyby default). - In each tablet's Fully Kiosk app, also enable Remote Administration (Settings > Other Settings > Remote Administration) and note the Remote Admin Password you set - Fully Kiosk's REST API needs it for every command.
- Save, then run Refresh the tablet list (or open the Discovery tab) once a tablet has sent its first MQTT report, and add it to Gladys.
- Run the Set a tablet's REST API password action, pick the tablet from the dropdown (only already-added tablets show up there), and enter its Remote Admin Password (and a custom REST port, if it isn't the default 2323). Repeat for each tablet.
Without a PLUS license (add by IP)
- Set MQTT broker to Disable MQTT (unless you plan to also add other, PLUS-licensed tablets later).
- In each tablet's Fully Kiosk app, enable Remote Administration (Settings > Other Settings > Remote Administration) and note its Remote Admin Password and IP address.
- Run the Add a tablet by IP action, enter the IP address, the password (and a custom REST port, if it isn't the default 2323). The tablet is added immediately and its password saved in the same step - no need for MQTT or for the "Set a tablet's REST API password" action. Repeat for each tablet.
This path doesn't depend on any MQTT broker: neither the MQTT broker configuration nor the topic prefix affect tablets added this way.
Why an action instead of a config field
Gladys external integrations only expose one flat, integration-wide configuration form - there is no built-in per-device settings screen. A manifest action can declare its own mini-form, though, including a dropdown pre-populated with the integration's already-created devices - the Set a tablet's REST API password action uses exactly that, so no one has to type or copy an IP address by hand. The password is stored keyed by the tablet's stable Gladys device id, not its IP, so it survives the tablet's next DHCP lease change unlike an IP-keyed list would.
For the same reason, there's also no conditional config field that would only appear for one of the two discovery modes (MQTT or IP): Gladys' configuration form is a flat list, with no "only show this field if..." logic. That's why adding a tablet by IP is its own action too, rather than an extra field in the main configuration form.
Available actions per tablet
| Feature | Effect |
|---|---|
| Screen | Turn the tablet's screen on/off |
| Kiosk lock | Enable/disable Fully Kiosk's lockdown (kiosk) mode |
| Screensaver | Start/stop the screensaver |
| Current page | Read-only: the URL/app currently in the foreground |
| Load URL | Write a URL to load it immediately |
| Text to speech | Write text to have the tablet speak it |
| Restart app | Restart the Fully Kiosk app |
| Reload start URL | Reload the configured start URL |
| Reboot device | Reboot the whole tablet (requires Device Owner/root on Android) |
| Clear cache | Clear the browser cache |
| Exit app | Exit the Fully Kiosk app |
| Battery / Charging | Read-only, when reported by the tablet |
Limitations
- Local network only: no cloud account, nothing works if the tablet or (in MQTT mode) the MQTT broker is unreachable.
- MQTT reporting is a Fully Kiosk PLUS-licensed feature - not in the free edition. Without PLUS, use the Add a tablet by IP action instead: it only relies on Fully Kiosk's REST API, available in the free edition.
- The "Set a tablet's REST API password" and "Add a tablet by IP" actions
show the password in clear while you type it - Gladys does not mask
secret-type fields inside an action's own form (only in the main Configuration form), so this integration uses a plain field there instead of a broken masked one. The value is still stored securely server-side and never displayed again afterwards. - Managed broker mode publishes the broker's port on your Gladys server's LAN - anyone on that network who has the generated credentials can connect to it. Fine for a home LAN, worth knowing on a shared/untrusted network.
- The managed broker's password file has to be world-readable (Gladys runs
every sub-container with all Linux capabilities dropped, so this
integration cannot
chownit to the broker's own user) - Mosquitto 2.0.18 only warns about this; a future Mosquitto version may refuse to start under that condition, which would need this integration's pinned Mosquitto image tag to be revisited. - No live push for commands' effect: the dashboard reflects a tablet's real state only after its next scheduled MQTT report (or a manual poll).
- Fully Kiosk's exact MQTT/REST field names have drifted across app versions
and are not formally versioned; if a field (e.g. current page) never
populates, check the raw payload (logged at debug level,
LOG_LEVEL=debug) against your Fully Kiosk version. - A tablet added right after its MQTT connection may show fewer features than
expected in the Discovery tab (no Battery/Charging, no Technical parameters
section) if its very first report didn't carry that information yet
(Wi-Fi/battery not reported yet). Unlike
should_poll, this isn't frozen at creation time: just run Refresh the tablet list again once a fuller report has come in - no need to delete and re-add the device. - "Reboot device" and some settings commands require the tablet to be a Device Owner (or rooted) - otherwise Fully Kiosk rejects the command, independently of this integration.
Konfigurationseinstellungen
Diese Einstellungen fragt Fully Kiosk Browser in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Fully Kiosk Browser, over MQTT + local HTTP | section | Nein | This integration discovers your Fully Kiosk Browser tablets from MQTT status messages, then controls them through their local REST API. MQTT reporting requires a Fully Kiosk PLUS license - on the free edition, use the "Add a tablet by IP" action instead, no MQTT needed. Fully Kiosk's REST API (used to control tablets either way) is protected by a password set per tablet (Fully Kiosk settings > Remote Administration). |
| MQTT broker | select | Nein | Only relevant if you use MQTT discovery (requires a Fully Kiosk PLUS license). If you only add tablets via the "Add a tablet by IP" action, pick "Disable MQTT" - no broker is started or contacted. "Run a dedicated broker": this integration starts and manages its own Mosquitto broker - nothing else to install, generated credentials shown by the "Show managed broker credentials" action below. "Connect to an existing broker": use the MQTT server you already run, with the fields further down. |
| MQTT broker host (external mode only) | string | Nein | |
| MQTT broker port (external mode only) | number | Nein | |
| Use TLS (mqtts://) (external mode only) | boolean | Nein | |
| MQTT username (external mode only) | string | Nein | |
| MQTT password (external mode only) | secret | Nein | |
| MQTT topic prefix | string | Nein | This integration subscribes to "<prefix>/#" and reads any JSON message that looks like a Fully Kiosk deviceInfo report. Must match the "MQTT Report Topic" root configured in each tablet's Fully Kiosk settings. |
| Tablets serve their REST API over HTTPS | boolean | Nein |
So installierst du Fully Kiosk Browser in Gladys
- Öffne in Gladys Integrationen: Fully Kiosk Browser erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/vincentbesseau/gladys-fullykiosk:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/vincentBesseau/gladys-fullykiosk.
Fully Kiosk Browser benötigt Gladys >=4.86.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Fully Kiosk Browser ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von vincentBesseau veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle externen Integrationen durchsuchen
- Die nativen Integrationen entdecken, die in Gladys eingebaut sind
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation