Fully Kiosk Browser

Android-Tablets mit der App Fully Kiosk Browser aus Symcon überwachen und fernsteuern.

Stable 1.3.1Beta 2.01.395 Downloads41 in 30 Tagen

Privat kostenlos Gewerblich auf Anfrage Anfrage senden

Diese Dokumentation beschreibt immer die neueste Version des Moduls, aktuell 2.0 im Kanal Beta. Im Kanal Stable liegt noch die Version 1.3.1. Dort können Funktionen fehlen, die hier beschrieben sind.

FKBDevice

Dieses Modul ermöglicht es, ein Android Tablet mit der installierten Fully Kiosk Browser App fernzusteuern.

Inhaltverzeichnis

  1. Konfiguration
  2. Variablen
  3. Funktionen
  4. Spenden
  5. Lizenz

1. Konfiguration

FeldBeschreibung
HostIP-Adresse der Adnroid Tablets
PortPort der REST-API von der Fully Kiosk Browser App
PasswortPasswort für die REST-API
HTTPS verwendenVerbindung zum Tablet per HTTPS (das Zertifikat wird nicht geprüft)
UpdateintervallAktualisierungsintervall in Sekunden. Mit MQTT-Parent dient es nur als Rückfallebene (mindestens alle 300 Sekunden)
Geräte-IDMQTT: Geräte-ID des Tablets, leer = alle Geräte
VariablenTabelle, in der Variablen aktiviert oder deaktiviert werden
AppIn der Tabelle werden die Apps eingetragen, die über das Modul gestartet werden dürfen Beispiel: App: IPSView Package: brownson.ipsviewandroid

2. Variablen

Die Variablen werden in der Konfiguration einzeln aktiviert. Alle Variablen nutzen die Darstellungen von IP-Symcon 9. Der Ident entspricht dem Feldnamen aus den Geräteinformationen von Fully Kiosk Browser.

VariableIdentTypBeschreibung
DisplayscreenOnBooleanBildschirm ein/aus (bedienbar)
BildschirmhelligkeitscreenBrightnessInteger0 bis 255 (bedienbar)
BildschirmschonerisInScreensaverBooleanBildschirmschoner ein/aus (bedienbar)
DaydreamisInDaydreamBooleanDaydream ein/aus (bedienbar)
KioskmoduskioskModeBooleanKioskmodus ein/aus (bedienbar)
WartungsmodusmaintenanceModeBooleanWartungsmodus ein/aus (bedienbar)
In den Vordergrund / HintergrundtoForeground, toBackgroundIntegerFully in den Vorder- oder Hintergrund (bedienbar)
AppsAppsIntegerStartet eine der in der Konfiguration eingetragenen Apps (bedienbar)
GerätesteuerungDeviceControlIntegerHerunterfahren oder Neustart (bedienbar, nur gerootet)
VorlesentextToSpeechStringText wird auf dem Tablet gesprochen (bedienbar)
ÜberlagerungsnachrichtsetOverlayMessageStringNachricht wird auf dem Tablet angezeigt (bedienbar)
Lade Start URL / Lade URLloadStartURL, loadURLStringLädt die Start-URL oder eine eingegebene URL (bedienbar)
Letztes EreignislastEventStringLetztes per MQTT gemeldetes Fully-Ereignis
Daten des letzten EreignisseslastEventDataStringZusatzdaten des Ereignisses als JSON (zum Beispiel die URL bei onWebUrlChanged), leer ohne Zusatzdaten
Zeit des letzten EreignisseslastEventTimeInteger (Datum/Uhrzeit)Zeitpunkt, zu dem das Ereignis bei IP-Symcon ankam
Lautstärke MusikvolumeMusicInteger (%)Lautstärke des Musik-Streams, 0 bis 100 (bedienbar)
LautstärkenaudioVolumesStringAlle Lautstärken als JSON, Schlüssel ist die Stream-Nummer (3 = Musik)
DatenzählerrxBytesWifi, txBytesWifi, rxBytesMobile, txBytesMobileInteger (MB)Empfangene und gesendete Datenmenge, Wert -1 (nicht verfügbar) wird ignoriert
Letzte BenutzereingabelastUserInteractionTimeInteger (Datum/Uhrzeit)Zeitpunkt der letzten Eingabe am Tablet
Weitere AnzeigewertedisplayState, displayLetterboxed, motionDetectorStarted, installerSource, systemSignedverschiedenZustand der Anzeige und der Installation
WeiteredeviceId, deviceName, batteryLevel, batteryTemperature, SSID, ip4, …verschiedenReine Anzeigewerte aus den Geräteinformationen (Speicher, Netzwerk, Version, Standort und weitere)

Der Screenshot und das Kamerabild liegen nach dem Aufruf von FKB_getScreenshot und FKB_getCamshot als Medienobjekt unterhalb der Instanz.

MQTT (optional)

Die Instanz kann mit einem MQTT-Server oder MQTT-Client als übergeordnete Instanz verbunden werden. Das Tablet sendet dann seine Geräteinformationen und Ereignisse selbst, die Variablen werden sofort aktualisiert. Befehle laufen weiterhin über die REST-Schnittstelle. Die MQTT-Funktion in Fully Kiosk Browser (Plus) muss dazu aktiviert und auf den Broker gerichtet sein.

3. Funktionen

FKB_screen(integer $InstanceID, bool $Value)

Mit dieser Funktion kann das Display ein- bzw. ausgeschaltet werden.

Beispiel:

FKB_screen(12345, true); //Einschalten
FKB_screen(12345, false); //Auschalten

FKB_screensaver(integer $InstanceID, bool $Value)

Mit dieser Funktion kann der Bildschirmschoner ein- bzw. ausgeschaltet werden.

Beispiel:

FKB_screensaver(12345, true); //Einschalten
FKB_screensaver(12345, false); //Auschalten

FKB_daydream(integer $InstanceID, bool $Value)

Mit dieser Funktion kann Daydream ein- bzw. ausgeschaltet werden.

Beispiel:

FKB_daydream(12345, true); //Einschalten
FKB_daydream(12345, false); //Auschalten

FKB_kioskMode(integer $InstanceID. bool $Value)

Mit dieser Funktion kann der Kiosk Mode ein- bzw. ausgeschaltet werden.

Beispiel:

FKB_kioskMode(12345, true); //Einschalten
FKB_kioskMode(12345, false); //Auschalten

FKB_startApplication(integer $InstanceID, string $Value)

Mit dieser Funktion kann eine App auf dem Tablet gestartet werden.

Beispiel:

FKB_startApplication(12345, 'ipsviewandroid'); //IPSView wird auf dem Tablet gestartet

FKB_toForeground(integer $InstanceID)

Mit dieser Funktion wird die Fully Kiosk Browser App in der Vordergrund geholt.

Beispiel:

FKB_toForeground(12345); //IPSView wird auf dem Tablet gestartet

FKB_popFragment(integer $InstanceID)

???

Beispiel:

FKB_popFragment(12345); //???

FKB_loadApkFile(integer $InstanceID, string $Value)

Mit dieser Funktion kann eine neue App auf dem Tablet installiert werden.

Beispiel:

FKB_loadApkFile(12345,'URL'); //Die App von der URL wird installiert

FKB_maintenanceMode(integer $InstanceID, bool $Value)

Mit dieser Funktion kann der Wartungsmodus ein- bzw. ausgeschaltet werden.

Beispiel:

FKB_maintenanceMode(12345, true); //Wartungsmodus ein
FKB_maintenanceMode(12345, false); //Wartungsmodus aus

FKB_setOverlayMessage(integer $InstanceID, string $Value)

Mit dieser Funktion kann eine Nachricht auf dem Tablet angezeigt werden.

Beispiel:

FKB_setOverlayMessage(12345, true); //Wartungsmodus ein

FKB_shutdownDevice(integer $InstanceID)

Mit dieser Funktion kann das Gerät ausgeschaltet werden. (Nur wenn es gerootet ist!)

Beispiel:

FKB_shutdownDevice(12345); //Gerät ausschalten

FKB_rebootDevice(integer $InstanceID)

Mit dieser Funktion kann das Gerät neugestartet werden. (Nur wenn es gerootet ist!)

Beispiel:

FKB_rebootDevice(12345); //Gerät neustarten

FKB_setAudioVolume(integer $InstanceID, integer $level, integer $stream)

Mit dieser Funktion kann Lautstärke angepasst werden. Für die weiteren Parameter siehe die FKB-Doku.

Beispiel:

FKB_setAudioVolume(12345,50 ,1);

FKB_playSound(integer $InstanceID, string $url, bool $loop, integer $stream)

Mit dieser Funktion kann eine Audiodatei gestartet werden. Für die weiteren Parameter siehe die FKB-Doku.

Beispiel:

FKB_playSound(12345, 'URL zur Audiodatei',false,1);

FKB_stopSound(integer $InstanceID)

Mit dieser Funktion kann die Wiedergabe der Audiodatei gestoppt werden. Für die weiteren Parameter siehe die FKB-Doku.

Beispiel:

FKB_stopSound(12345);

FKB_playVideo(integer $InstanceID, string $url, bool $loop, bool $showControls, bool $exitOnTouch, bool $exitOnCompletion)

Mit dieser Funktion kann ein Video gestartet werden. Für die weiteren Parameter siehe die FKB-Doku.

Beispiel:

FKB_playVideo(12345, 'URL zum Video',false,true,true,true); //Das angegebene Video wird ein Mal abgespielt und auf Touch oder am Ende beendet.

FKB_textToSpeech(integer $InstanceID, string $Value)

Mit dieser Funktion kann ein Text auf dem Gerät wiedergegeben werden.

Beispiel:

FKB_textToSpeech(12345, 'Hallo, IP-Symcon ist toll!'); //Der Text "Hallo, IP-Symcon ist toll!" wird auf dem Gerät wiedergegeben.

FKB_setBooleanSetting(integer $InstanceID, string $Key, bool $Value)

Mit dieser Funktion können boolesche Einstellungen auf dem Gerät verändert werden.

Beispiel:

FKB_setBooleanSetting(12345, 'Key', true); //Einstellung "Key" wird auf true gesetzt

FKB_setStringSetting(integer $InstanceID, string $Key, string $Value)

Mit dieser Funktion können alle anderen Einstellungen auf dem Gerät verändert werden.

Beispiel:

FKB_setStringSetting(12345, 'screenBrightness', '100'); //Helligkeit wird auf 100 gesetzt

Weitere Funktionen

FunktionBeschreibung
FKB_forceSleep(integer $InstanceID)Schickt das Gerät in den Standby
FKB_triggerMotion(integer $InstanceID)Löst eine Bewegungserkennung aus
FKB_restartApp(integer $InstanceID)Startet Fully Kiosk Browser neu
FKB_exitApp(integer $InstanceID)Beendet Fully Kiosk Browser
FKB_loadStartURL(integer $InstanceID)Lädt die Start-URL
FKB_loadURL(integer $InstanceID, string $Value)Lädt eine URL
FKB_injectJavascript(integer $InstanceID, string $Code)Führt JavaScript auf der Seite aus
FKB_refreshTab(integer $InstanceID)Lädt den aktuellen Tab neu
FKB_focusTab(integer $InstanceID, integer $Tab)Wechselt zu einem Tab
FKB_closeTab(integer $InstanceID, integer $Tab)Schließt einen Tab
FKB_clearCache(integer $InstanceID)Leert den Cache
FKB_clearWebstorage(integer $InstanceID)Leert den Webspeicher
FKB_clearCookies(integer $InstanceID)Löscht die Cookies
FKB_resetWebview(integer $InstanceID)Setzt die WebView zurück
FKB_textToSpeechEx(integer $InstanceID, string $Value, string $Locale, bool $Queue)Text sprechen mit Sprache (leer = Standard) und Warteschlange
FKB_stopTextToSpeech(integer $InstanceID)Stoppt die Sprachausgabe
FKB_stopVideo(integer $InstanceID)Stoppt die Videowiedergabe
FKB_listSettings(integer $InstanceID)Liefert alle Einstellungen des Tablets als JSON
FKB_getScreenshot(integer $InstanceID)Speichert einen Screenshot als Medienobjekt
FKB_getCamshot(integer $InstanceID)Speichert ein Kamerabild (Bewegungserkennung muss aktiv sein)
FKB_testConnection(integer $InstanceID)Prüft die Verbindung und liefert eine Meldung als Text

Alle Funktionen liefern true bei Erfolg und false bei einem Fehler. Ausnahmen: FKB_listSettings und FKB_testConnection liefern einen Text.

4. Spenden

Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

PayPal Amazon Wunschzettel

5. Lizenz

CC BY-NC-SA 4.0