ioBroker: Android-Tablet mit Fully Kiosk und Bewegungsmelder bei Bewegung automatisch einschalten

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Für diese Variante sind einige Einstellungen im installierten Fully Browser Kiosk notwendig. Zusätzlich benötigst du ein Script im ioBroker, welches das Display bei erkannter Bewegung durch einen Bewegungssensor ein- und nach einer gewissen Zeit wieder ausschaltet. Ich zeige dir, wie du die App so konfigurierst, dass sie im Kiosk-Modus (PLUS-Feature) läuft, bei einem Neustart des Tablets automatisch wieder startet und welches Script im ioBroker notwendig ist.

Einstellungen im Fully Browser Kiosk

Web Content Settings

Öffne die Einstellungen des Fully Kiosk Browser und stelle unter Web Content Settings die „Start URL“ deiner Visualisierung ein:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Web Browsing Settings

Im Bereich Web Browsing Settings kannst du die Option „Enable Pull to Refresh“ aktivieren, um deine Visualisierung durch herunterziehen zu aktualisieren:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Web Auto Reload

Zusätzlich solltest du unter Web Auto Reload die folgenden Punkte aktivieren und einen Wert für „Auto Reload on Idle“ einstellen:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Screensaver

Im Bereich Screensaver stellst du unter „Screensaver Time“ die Dauer ein, nach der der Screensaver automatisch starten soll. Nach dieser Zeit reagiert der Bildschirm auf Berührung, beendet sich und zeigt die Visualisierung:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Unter „Screensaver Wallpaper URL“ stellst du mit folgendem Code die Screensaver-Farbe auf Schwarz:

fully://color#000000 

Device Management

Wechsle in den Bereich Device Management. Aktiviere optional die Option „Keep Screen On“ sowie „Unlock Screen“ und „Unlock Swipe Screen Lock“. Außerdem sollte die Option „Launch on Boot“ ebenfalls aktiviert sein:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Durch das Aktivieren dieser Einstellungen startet der Fully Browser automatisch nach jedem Neustart deines Tablets und hindert Android daran, dass Display auszuschalten.

Power Settings

Wechsle danach in den Bereich Power Settings. Dort aktivierst du den untern Punkt „Set Wifi Wakelock“. Diese Einstellung bewirkt, dass die WiFi-Verbindung nicht getrennt wird, wenn das Tablet nicht benutzt wird:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Kiosk Mode (PLUS)

Diese Einstellungen aktivieren den eigentlichen Kisok-Modus und verhindern, dass außer deiner Visualisierung nichts weiter auf dem Tablet angezeigt werden kann. Der Kiosk-Modus lässt sich außerdem nur durch eine Geste und eine definierte PIN beenden.

Hierzu aktivierst du die Einstellung „Enable Kiosk Mode“ und definierst unter „Kiosk Exit Gesture“ eine für dich passende Geste zum Beenden des Kiosk-Modus. Aktiviere zusätzlich unter „Kiosk Mode PIN“ einen Code, der zum Beenden notwendig ist:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Zusätzlich kannst du folgende selbsterklärende Einstellungen einschalten:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Beende anschließend die Einstellungen und wechsle auf deine Visualisierung.

Remote Administration

Damit du später über den ioBroker auf den Fully Browser und damit auf dein Tablet zugreifen kannst, musst du die „Remote Administration“ aktivieren. Lege außerdem ein Passwort unter „Remote Admin Password“ fest:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Die Einstellung „Remote Admin from Local Network“ ist nur notwendig, wenn du zu einem späteren Zeitpunkt über den Webbrowser auf den Fully Browser Kiosk zugreifen möchtest. Das funktioniert dann über folgende URL:

http://<IP DEINES TABLETS>:2323/

Adapter in ioBroker einrichten

Nachdem du dir den fullyBrowser Adapter installiert hast, öffnest du die Einstellungen der Adapter-Instanz und wechselst auf den Tab „Adresse für Monitoring“. Dort fügst du die IP-Adresse deines Tablets sowie den Port (Standard: 2323) und das oben gewählte Passwort ein:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Bitte setzte außerdem den Haken bei „enabled“. Unter „Haupteinstellungen“ kannst du die Abfrage-Zeit auf „15“ stellen.

Speichere die Konfiguration und schließe die Adaptereinstellungen. Unter „Objekten“ solltest du anschließend den Eintrag „fullybrowser.0“ finden und darunter einen Ordner mit der IP-Adresse deines Geräts. Darin enthalten sind ab sofort alle Steuer- und Informationsdatenpunkte zu deinem Fully Browser Kiosk.

Blockly-Script erstellen

Erstelle jetzt im ioBroker ein neues Script und ziehe dir einen Trigger-Block in den Editor. Den Trigger wählst du den Datenpunkt deines Bewegungsmelders, der bei einer Bewegung auf <true> wechselt. Die Trigger-Bedingung stellst du auf ist größer als letztes:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Füge aus dem Bereich System einen steuere Object ID-Block in den Trigger ein. Als „Object ID“ wählst du folgenden Datenpunkt:

fullybrowser.0.IP-ADRESSE.Commands.triggerMotion

Aus dem Bereich Logik steckst du einen wahr-Block in den „steuere Object ID“-Block:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Somit schaltet das Display deines Tablets automatisch ein, wenn der Bewegungsmelder eine Bewegung erkannt hat. Damit das Display auch wieder komplett ausschaltet, benötigst du einen zweiten Trigger.

Als Auslöser wählst du folgenden Datenpunkt:

fullybrowser.0.IP-ADRESSE.Info.isInScreensaver

Stelle die Bedingung des Triggers auf „wurde geändert“:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Anschließend ziehst du aus dem Bereich Logik einen falls-Block in den Trigger und stellst diesen über das blaue Zahnrad auf falls – sonst. Als Bedingung steckst du aus dem Bereich Trigger einen Objekt ID-Block an den „falls“-Eingang und stellst diesen auf Wert:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Zuletzt benötigst du ein Timeout, das nach Ablauf der eingestellten Zeit dein Tablet in den Standby-Modus (forceSleep) versetzt. Hierfür ziehst du die einen Ausführen timeout-Block in das „mache“-Feld und direkt darüber einen stop timeout-Block (dadurch wird ein eventuell laufendes Timeout erstmal gestoppt, bevor ein weiterer gestartet wird). Die Zeit kannst du wählen, wie du möchtest. Bei mir funktioniert 1 Minute ganz hervorragend:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Jetzt ziehst du dir aus dem Bereich System wieder einen steuere Object ID-Block in den „Ausführen timeout“-Block. Als „Object ID“ wählst du folgenden Datenpunkt:

fullybrowser.0.IP-ADRESSE.Commands.forceSleep

Aus dem Bereich Logik steckst du dann wieder einen wahr-Block in den „steuere Object ID“-Block:

Wenn du deine ioBroker-Visualisierung über ein Android- oder Fire HD-Tablet ausgibst, erfährst du in diesem Artikel, wie du dieses bei Bewegung mit einem Bewegungsmelder automatisch ein- und ausschalten kannst.

Abschließend setzt du einen stop timeout-Block in den „sonst“-Bereich. Dieser stoppt ein laufendes Timeout, sobald jemand das Display berührt und den Screensaver dadurch beendet.

Speichere und starte das Script. Es überwacht nun deinen Bewegungsmelder und schaltet das Display deines Tablets ein, sobald eine Bewegung erkannt wurde. Nach 30 Sekunden wird der Bildschirmschoner aktiviert. Danach kann das Display durch Berührung (Touch) wieder eingeschaltet werden. Wenn das nicht der Fall ist, wird nach einer weiteren Minute das Tablet in den Standby-Modus (forceSleep) versetzt.

Fertiges Script

Blockly

<xml xmlns="https://developers.google.com/blockly/xml">
  <variables>
    <variable type="timeout" id="timeout">timeout</variable>
  </variables>
  <block type="on" id=";%C0jIhN.f%`BsN3T6o@" x="-62" y="-587">
    <field name="OID">deconz.0.Sensors.7.presence</field>
    <field name="CONDITION">gt</field>
    <field name="ACK_CONDITION"></field>
    <statement name="STATEMENT">
      <block type="control" id="X-v@m.+pl$.~IEvk19ox">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
        <field name="OID">fullybrowser.0.192_168_178_250.Commands.triggerMotion</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
          <block type="logic_boolean" id="6_=)QKTjU2*^?jzc;-`I">
            <field name="BOOL">TRUE</field>
          </block>
        </value>
      </block>
    </statement>
    <next>
      <block type="on" id="d7g[e97lZ?l(Rtf=z~lG">
        <field name="OID">fullybrowser.0.192_168_178_250.Info.isInScreensaver</field>
        <field name="CONDITION">ne</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
          <block type="controls_if" id="wNU9,DH=IAYWe8;s{q0`">
            <mutation else="1"></mutation>
            <value name="IF0">
              <block type="on_source" id="#~AxAzdxQe,sBU.MEpeT">
                <field name="ATTR">state.val</field>
              </block>
            </value>
            <statement name="DO0">
              <block type="timeouts_cleartimeout" id="AV^*]3KwLfAQ`s_,|Ac#">
                <field name="NAME">timeout</field>
                <next>
                  <block type="timeouts_settimeout" id="GHbBoJtha2M$jlwf-Jeu">
                    <field name="NAME">timeout</field>
                    <field name="DELAY">1</field>
                    <field name="UNIT">min</field>
                    <statement name="STATEMENT">
                      <block type="control" id="F2SvfjaRQAubu]aP8_W%">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">fullybrowser.0.192_168_178_250.Commands.forceSleep</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="logic_boolean" id="j?9tvvMpsu^Ik_#3`)YG">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </statement>
            <statement name="ELSE">
              <block type="timeouts_cleartimeout" id="^3+o{Qgn}t6C*-iV!z)w">
                <field name="NAME">timeout</field>
              </block>
            </statement>
          </block>
        </statement>
      </block>
    </next>
  </block>
</xml>

Javascript

var timeout;


on({id: "deconz.0.Sensors.7.presence"/*SENS_EG_Bewegung_Flur presence*/, change: "gt"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  setState("fullybrowser.0.192_168_178_250.Commands.triggerMotion"/*triggerMotion*/, true);
});
on({id: "fullybrowser.0.192_168_178_250.Info.isInScreensaver"/*isInScreensaver*/, change: "ne"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  if ((obj.state ? obj.state.val : "")) {
    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
    timeout = setTimeout(function () {
      setState("fullybrowser.0.192_168_178_250.Commands.forceSleep"/*forceSleep*/, true);
    }, 60000);
  } else {
    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
  }
});
War dieser Beitrag hilfreich?
Hat dir der Beitrag geholfen?
Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.

16 Kommentare

Kommentieren

Hallo,
brauche Deine Hilfe bzgl. des Datenpunktes „isInScreensaver“. Diesen finde ich nicht ! Habe nach Deiner Anleitung meinen Fire HD 10 eingerichtet, beim Blockly findet ich diesen Datenpunkt nicht.
Habe den Adapter uploadet leider ohne Erfolg.

Hast du die Screensaver-Funktion im Fully Browser aktiviert? Bei mir befindet sich der Punkt unter fullybrowser.0.XXX.Info.isInScreensaver

Ich habe alle Einstellungen wie ober beschrieben durchgeführt, dann sollte doch die:…..Screensaver-Funktion im Fully Browser aktiviert…… sein oder? Der Datenpunkt ist bei mir nicht vorhanden. Bie mir steht unter
…Info nur Status + Statustext

Starte mal den Adapter bzw den ioBroker neu. Evtl liest er die fehlenden Datenpunkte neu ein. Viele Grüße

Das passt jetzt nicht ganz hierzu, aber ich finde nirgdwo eine lösung. Ich habe mich an euro anleitungen gehalten. Es werden mir auch eine Daten angezeigt. Nur nicht meine Battery vom Tablett. Wie bekomme ich diese angezeigt.im Iobroker.

Würde mich freuen wenn Ihr mir helfen könntet.

Moin, schöne Anleitung und echt brauchbar. Vielen Dank dafür. Kann ich dem Fullybrowser noch eine spezielle View im VIS angeben, die er aufrufen soll, falls die verstellt wurde?

Vielen Dank für den hilfreichen Input! Ich habe kürzlich Fully Kiosk auf einem NSPanel Pro installiert. Gefühlt läuft meine Visualisierung dort deutlich zäher als auf jedem anderen Device – aber nur zeitweise. Außerdem lädt er oft nach und benötigt auch für diesen Vorgang recht lange. Ich habe schon verschiedene Settings ausprobiert – ich vermute aber, dass ich beim iobroker nicht die idealen Einstellungen habe. Da gibt es ja einerseits die Sockets in der Web-Instanz und andererseits die Vis-Einstellungen selbst. Hat vielleicht jemand gute Erfahrungswerte, was man dort einstellt, damit Fully Kiosk reibungsfrei läuft?
Merci und Grüße,
clfberlin

Hallo,

tolle Arbeit, und sehr verständlich auch für Laien (wie mich) erklärt.
Ich habe das obige Blockly nachgebaut und funktioniert super.
Nun möchte ich zusätzlich noch einen bestimmten View in VIS öffnen lassen, finde aber keine Lösung.

viele Grüße

Hallo zusammen,
habe mich mit meinen 53 Jahren jetzt auch an iobroker gewagt und einiges realisiert/visualisiert bekommen.
Jetzt hänge ich an einer Sache bei der ich um Hilfe bitte.
Ich möchte auch meine Bewegungsmelder visualisieren. Dazu habe ich über den VDS adapter 2 Datenpunkte.
Datenpunkt 1 liefert mir den Standort des Melders; Datenpunkt 2 meldet mir true oder false.
Derzeit habe ich es in Vis so gelöst das ich über jeden Raum ein Hintegrund gelegt habe mit „Sichtbarkeit“ Datenpunkt 1 enthält Raum. Farbe nach Zustand True=rot, fals = grün.
So weit so gut, ich bekomme immer nur ein Raum angezeigt.
Mein Ziel ist es nun den jeweiligen Hintergrund anzusprechen und mit einem counter z.b. 10 sec angezeigt zu lassen so das auch weitere Hintergründe ausgelöst werden können. Bei erneuter Auslösung eines „aktiven“ Hintergrund sollte der Counter wieder von vorne beginnen.
In der Vis hätte ich somit dann mehrere Auslösungen angezeigt.

Danke im Voraus ;),
bin total begeistert von dem Tool und den Leuten die sich so hingebungsvoll damit beschäftigen und somit alles aktuell halten und neues schaffen.

Hallo ich habe das Teil auch nachgebaut, funkt leider nicht, folgende Meldung kommt:
20:59:30.057 warn javascript.0 (16829) script.js.Tablet_aufwecken.Präsenzmelder___Tablet: setForeignState(id=fullybrowser.0.192_168_188_64.Commands.triggerMotion, state={„val“:true,“ack“:false,“ts“:1681066770057,“q“:0,“from“:“system.adapter.javascript.0″,“lc“:1680709620460,“c“:“script.js.Tablet_aufwecken.Präsenzmelder___Tablet“}) – wurde nicht ausgeführt, während der Debug-Modus aktiv ist
20:59:53.352 warn javascript.0 (16829) script.js.Tablet_aufwecken.Präsenzmelder___Tablet: setForeignState(id=fullybrowser.0.192_168_188_64.Commands.triggerMotion, state={„val“:true,“ack“:false,“ts“:1681066793352,“q“:0,“from“:“system.adapter.javascript.0″,“lc“:1680709620460,“c“:“script.js.Tablet_aufwecken.Präsenzmelder___Tablet“}) – wurde nicht ausgeführt, während der Debug-Modus aktiv ist
21:02:44.717 warn javascript.0 (16829) script.js.Tablet_aufwecken.Präsenzmelder___Tablet: setForeignState(id=fullybrowser.0.192_168_188_64.Commands.triggerMotion, state={„val“:true,“ack“:false,“ts“:1681066964717,“q“:0,“from“:“system.adapter.javascript.0″,“lc“:1680709620460,“c“:“script.js.Tablet_aufwecken.Präsenzmelder___Tablet“}) – wurde nicht ausgeführt, während der Debug-Modus aktiv ist
21:04:42.847 warn javascript.0 (16829) script.js.Tablet_aufwecken.Präsenzmelder___Tablet: setForeignState(id=fullybrowser.0.192_168_188_64.Commands.triggerMotion, state={„val“:true,“ack“:false,“ts“:1681067082846,“q“:0,“from“:“system.adapter.javascript.0″,“lc“:1680709620460,“c“:“script.js.Tablet_aufwecken.Präsenzmelder___Tablet“}) – wurde nicht ausgeführt, während der Debug-Modus aktiv ist
Bitte kann mir jemand weiterhelfen. fricor

falls du das problem inzwischen noch nicht lösen konntest: im blocky-editor rechts oben auf den schraubenschlüssel dann im darunter erscheinenden menü „debug“ deaktivieren.

Hallo! So, hab nun alles wie beschrieben eingerichtet, und nun komme ich aus dem Kiosk-Modus nicht mehr heraus. Egal was ich mache, es lädt immer wieder der Kiosk-Modus, auch beim swipen von links. Was nun? Bin für Hilfe sehr dankbar!

Schreibe einen Kommentar