+ Antworten
Seite 1 von 4 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 36
  1. #1
    Registriert seit
    Nov 2016
    Ort
    Bockenem westlicher Harzrand
    Beiträge
    130

    Standard Per Fully Kiosk Browser REST API eine Steckdose fürs Laden eines Tablets schalten

    Dieser Post befand sich vorher dort:
    https://www.symcon.de/forum/threads/...338#post391338

    Um den Drachen nicht zu wecken habe ich alles nach hier in einen eigenen Thread verschoben!

    Original:

    Hallo alsk1 und prozanko,

    das ganze ist recht einfach gestrickt, aber auch schon eine Weile her. Ich hoffe ich vergesse nichts.

    Zu meiner Ausstattung:
    - Samsung Galaxy Tab E mit Android 4.4.4 mit fester IP-Adresse, da wir das Tablet später anpollen
    - Fully Kiosk Browser 1.28.1 PLUS Version (also gekaufte Version ca. 5€ damals)

    1) Im Browser von Links nach Rechts wischen um in die Einstellungen zu gelangen
    2) 'Settings' auswählen
    3) 'Remote Administration' auswählen
    4) 'Enable Remote Administration' einschalten
    5) 'Remote Admin Password' festlegen
    6) 'Remote Admin from Local Network' einschalten

    Das sollte im Fully Browser reichen.

    Ich habe dann noch den Browser so eingestellt, dass er durch die Kamera und das Mikrofon wieder aufwacht.
    (Vielleicht nicht jedermanns Sache, aber bei mir steht es an der Haustür und dort finden eher selten sensible Gespräche statt)

    Weiter in IPS:

    7) Einbindung im Baum:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Fully-Kiosk-Browser-REST-API_1.PNG 
Hits:	176 
Größe:	20.6 KB 
ID:	48579

    8)
    Script Inhalt:

    PHP-Code:
    <?
    //
    //     Funktion:    Steuerung der Ladung eines Webfront Tablets, dass mit 
    //                            einem 'Fully Kiosk Browser' ausgestattet ist
    //
    //        History:    26.09.18 gr        erstellt
    //

    //
    // Script ID fuer die Anzeige von Meldungen
    //
    $tmp_meldungsanzeige_script 52962;


    //
    // Die App 'Fully Kiosk Browser' auf dem Tablet bzgl. des Status anfragen
    //
    $response Sys_GetURLContent"http://" GetValueStringIPS_GetObjectIDByName"Webfront-Tablet" $_IPS['SELF'] ) ) . ":2323/?cmd=deviceInfo&password=fkb&type=json" ); 
    if( 
    $response === false )
    {
        
    //
        // Meldung auf Meldungsseite
        //
        
    IPS_RunScriptWaitEx$tmp_meldungsanzeige_script, array( 'action' => 'add''text' => date"d.m.y G:i:s" ) . ' Das Tablet [' GetValueStringIPS_GetObjectIDByName"Webfront-Tablet" $_IPS['SELF'] ) ) . '] konnte nicht erreicht werden !''type' => '2''removable' => true ));
        
        
    IPS_LogMessageIPS_GetScriptFile$_IPS['SELF'] ) , "[" IPS_GetName$_IPS['SELF'] ) . "] -> " 'Das Tablet [' GetValueStringIPS_GetObjectIDByName"Webfront-Tablet" $_IPS['SELF'] ) ) . '] konnte nicht erreicht werden !' );    
    }
    else
    {
        
    //
        // Die Information bzgl. Akkustand aus der Antwort json extrahieren
        //
        
    $status json_decode$responseTrue );
        
        
    $ladungszustand $status["batteryLevel"];
        
        if( 
    $ladungszustand 30 )
        {
            
    //
            // Ladegeraet einschalten
            //
            
    if( HM_WriteValueBooleanIPS_GetParent$_IPS['SELF'] ), "STATE"true ) == false )
            {
                
    IPS_RunScriptWaitEx$tmp_meldungsanzeige_script, array( 'action' => 'add''text' => date"d.m.y G:i:s" ) . ' Das Ladegerät für das Tablet [' GetValueStringIPS_GetObjectIDByName"Webfront-Tablet" $_IPS['SELF'] ) ) . '] konnte nicht eingeschaltet werden !''type' => '2''removable' => true ));
            }
        }
        else if( 
    $ladungszustand 90 )
        {
            
    //
            // Ladegeraet ausschalten
            //
            
    if( HM_WriteValueBooleanIPS_GetParent$_IPS['SELF'] ), "STATE"false ) == false )
            {
                
    IPS_RunScriptWaitEx$tmp_meldungsanzeige_script, array( 'action' => 'add''text' => date"d.m.y G:i:s" ) . ' Das Ladegerät für das Tablet [' GetValueStringIPS_GetObjectIDByName"Webfront-Tablet" $_IPS['SELF'] ) ) . '] konnte nicht ausgeschaltet werden !''type' => '2''removable' => true ));
            }
        }
    }


    ?>

    Natürlich ist in dem Script noch einiges für euch anzupassen. Die Log Meldungen könnt ihr natürlich entfernen oder ersetzen.
    Und die Schaltbefehle müssen ganz sicher ersetzt werden. Da kann ich euch kaum helfen. Bei mir ist es ein Homematik Schaltaktor.

    Wenn es noch Fragen gibt, dann bitte schön. Ich hoffe ich kann sie beantworten...

    Grüße

    Gollum
    IPS 5.2 (mal Stable, mal Beta und mal Testing) Unlimited auf DS918+/Docker, APC USV, CCU2, Eigenbau Rolladensteuerung (HW & SW), HUE, Z-Wave (Fibaro), Shelly, Fritz 7590, Netgear GS728 TPv2 POE und China Cams

  2. #2
    Registriert seit
    Nov 2016
    Ort
    Bockenem westlicher Harzrand
    Beiträge
    130

    @prozanko fragte noch:

    Super, besten Dank! Versuche mich mal die Tage dran Hoffe ich muss im Skript nicht zu viel anpassen, da habe ich leider weniger Ahnung von:/
    Eine Frage noch zu IPS: Außer dem Skript benötige ich nur noch den Webfront-Tablet String, oder noch mehr?
    Grüße
    Den 'Webfront-Tablet String' habe ich nur angelegt damit ich die IP nicht im Script setzen muss, sondern sie im direkt im Baum sehe.
    Du kannst sie natürlich auch einfach in das Script schreiben.

    Ich versuche mal das Script auf das wesentliche zu reduzieren!

    PHP-Code:
    <?
    //
    //     Funktion:    Steuerung der Ladung eines Webfront Tablets, dass mit 
    //                            einem 'Fully Kiosk Browser' ausgestattet ist
    //

    //
    // Die App 'Fully Kiosk Browser' auf dem Tablet bzgl. des Status anfragen
    //
    $response Sys_GetURLContent"http://192.168.x.x:2323/?cmd=deviceInfo&password=fkb&type=json" ); 

    //
    // Die Information bzgl. Akkustand aus der Antwort json extrahieren
    //
    $status json_decode$responseTrue );

    $ladungszustand $status["batteryLevel"];

    if( 
    $ladungszustand 30 )
    {
        
    //
        // Ladegeraet einschalten
        //
        
    HM_WriteValueBooleanIPS_GetParent$_IPS['SELF'] ), "STATE"true )
    }
    else if( 
    $ladungszustand 90 )
    {
        
    //
        // Ladegeraet ausschalten
        //
        
    HM_WriteValueBooleanIPS_GetParent$_IPS['SELF'] ), "STATE"false )
    }



    ?>
    Wenn es weitere Fragen dazu gibt, nur zu...

    Gruß

    Gollum
    IPS 5.2 (mal Stable, mal Beta und mal Testing) Unlimited auf DS918+/Docker, APC USV, CCU2, Eigenbau Rolladensteuerung (HW & SW), HUE, Z-Wave (Fibaro), Shelly, Fritz 7590, Netgear GS728 TPv2 POE und China Cams

  3. #3
    Registriert seit
    Nov 2016
    Beiträge
    302

    Hallo,
    habe noch Fragen zu dem Skript:
    Muss ich nirgends das Passwort, welches ich im Kiosk Browser eingestellt habe, eingeben?

    Ich schalte mit diesem Befehl die Steckdose:
    EIB_Switch(41144 /*[#HOME\02 Steckdosen\1/2 Steckdosen\HWR EG - IPS Tablet Nische]*/, true);
    Wie soll ich das in das Skript einfügen?

    Beim Ausführen des Skriptes bekomme ich folgende Meldung:
    Parse error: syntax error, unexpected '}' in C:\IP-Symcon\scripts\56164.ips.php on line 25

    Sorry wenn die Frage vielleicht banal ist, ich komme mit php aber nicht wirklich klar:/

    Grüße
    Angehängte Grafiken Angehängte Grafiken  

  4. #4
    Registriert seit
    Dec 2006
    Ort
    Friedberg (Hessen)
    Beiträge
    1,710

    Zitat Zitat von prozanko Beitrag anzeigen
    Beim Ausführen des Skriptes bekomme ich folgende Meldung:
    Parse error: syntax error, unexpected '}' in C:\IP-Symcon\scripts\56164.ips.php on line 25
    Typischer Fehler, der mir auch immer wieder passiert. In der Zeile 24 und 31 fehlt das Semicolon";"
    Viele Grüße Rainer
    Windows 10,IPS V 5.2 + Testsysteme -- FHZ -- PiVCCU3 -- Phillips Hue --1-Wire, Anwesendheits-Tracker, ESP-Easy und viele, viele Spielereien , I-View, Raspberry 2, 3, Zero, Tinkerboard, Nello, Nuki

  5. #5
    Registriert seit
    Nov 2016
    Beiträge
    302

    Besten Dank! Sowas sehe ich halt nicht:/

    Trotzdem funktioniert das Skript nicht da ich noch was mit der KNX Variable falsch habe:
    Code im Skript:
    EIB_Switch( IPS_GetParent( $_IPS['SELF'] ), "STATE", true );
    Rückmeldung IPS:
    Warning: Wrong parameter count for EIB_Switch() in C:\IP-Symcon\scripts\56164.ips.php on line 25

  6. #6
    Registriert seit
    Dec 2013
    Beiträge
    157

    Standard Per Fully Kiosk Browser REST API eine Steckdose fürs Laden eines Tablets schalten

    Die fehlermeldung sagt doch was falsch ist .. die übergibst die falsche Anzahl an parametern. Die Funktion erwartet: Instanz ID und einen Boolean Wert.

    Siehe auch: EIB_Switch — IP-Symcon :: Automatisierungssoftware

    Code:
    “state“,
    ist also zuviel.
    Geändert von Inspra (18.04.19 um 12:45 Uhr)

  7. #7
    Registriert seit
    Nov 2016
    Ort
    Bockenem westlicher Harzrand
    Beiträge
    130

    Hallo prozanko,

    sorry wegen der fehlenden Semikolons, dass ist durch die Minimierung des Scripts passiert.

    Bzgl. des Passworts, die Stelle hast du vielleicht schon gefunden!?

    PHP-Code:
    $response Sys_GetURLContent"http://192.168.x.x:2323/?cmd=deviceInfo&password=fkb&type=json" ); 
    In meinem Beispiel ist fkb das hochsicherheits Passwort :-)

    Grüße

    Gollum
    IPS 5.2 (mal Stable, mal Beta und mal Testing) Unlimited auf DS918+/Docker, APC USV, CCU2, Eigenbau Rolladensteuerung (HW & SW), HUE, Z-Wave (Fibaro), Shelly, Fritz 7590, Netgear GS728 TPv2 POE und China Cams

  8. #8
    Registriert seit
    Nov 2016
    Beiträge
    302

    Hallo,

    wenn ich das Skript starte kommt zumindest keine Fehlermeldung mehr. Das Tablet ist zu 100% voll, das Skript schaltet die Steckdose nicht aus, aber ein wenn diese aus war.

    Wenn ich aus:
    else if( $ladungszustand < 15 )
    {
    //
    // Ladegeraet ausschalten
    //
    //HM_WriteValueBoolean( IPS_GetParent( $_IPS['SELF'] ), "STATE", false );
    EIB_Switch( IPS_GetParent( $_IPS['SELF'] ), true );
    ein:
    EIB_Switch( IPS_GetParent( $_IPS['SELF'] ), false );
    mache, geht die Steckdose aus. Das passiert auch unabhängig ob ich das richtige Passwort drin habe oder nicht.
    Ist es normal, dass die Zeile mit der Adresse bei mir grau ist? Bei dir sieht es ja etwas anders aus😉

    Grüße
    Angehängte Grafiken Angehängte Grafiken  

  9. #9
    Registriert seit
    Nov 2016
    Ort
    Bockenem westlicher Harzrand
    Beiträge
    130

    ...versuch doch mal die Rückgabe des FKB im Code Editor auszugeben um zu sehen was da überhaupt vom Browser zurückkommt.

    Etwa in der Art:
    print_r( $status );

    Diese Zeile fügst du hinter dieser ein:
    PHP-Code:
    $status json_decode$responseTrue ); 
    Und betätigst anschließend 'Ausführen' oben rechts auf dem Code Editor.

    Dann such mal nach dem Wert von 'batteryLevel'.

    ...

    Also du möchtest das bei einem Ladezustand kleiner 15% die Steckdose eingeschaltet und bei über 90% wieder ausgeschaltet wird.

    Dazu wäre der Code.
    if( $ladezustand < 15 )
    {
    EIB_Switch( IPS_GetParent( $_IPS['SELF'] ), true );
    }
    else if( $ladezustand > 90 )
    {
    EIB_Switch( IPS_GetParent( $_IPS['SELF'] ), false );
    }

    Ein weitere Test wäre, wenn du folgende Zeile:
    PHP-Code:
    $ladezustand 10
    vor

    PHP-Code:
    if( $ladezustand 15 
    einbaust und auf 'Ausführen' klickt. Dann muss die Steckdoese eingeschaltet werden.

    Und ebenso bei
    PHP-Code:
    $ladezustand 95
    wieder ausgeschaltet werden.
    IPS 5.2 (mal Stable, mal Beta und mal Testing) Unlimited auf DS918+/Docker, APC USV, CCU2, Eigenbau Rolladensteuerung (HW & SW), HUE, Z-Wave (Fibaro), Shelly, Fritz 7590, Netgear GS728 TPv2 POE und China Cams

  10. #10
    Registriert seit
    Nov 2016
    Beiträge
    302

    Hallo,

    versuche mich jetzt die Tage mal wieder an das Thema dran. Mit folgenden kann ich noch nicht ganz was anfangen:
    "versuch doch mal die Rückgabe des FKB im Code Editor auszugeben um zu sehen was da überhaupt vom Browser zurückkommt"
    Was genau ist der Code Editor?

    Grüße

Ähnliche Themen

  1. Fehlermeldung Webfront mit Fully Kiosk Browser
    Von prozanko im Forum WebFront
    Antworten: 21
    Letzter Beitrag: 13.04.19, 19:46
  2. SIPGATE REST-API wie anwenden?
    Von babba im Forum Allgemeine Diskussion
    Antworten: 39
    Letzter Beitrag: 02.01.19, 18:42
  3. Antworten: 26
    Letzter Beitrag: 13.10.18, 23:09
  4. REST API Messagebird
    Von Stone im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 21.11.17, 20:24
  5. Welchen Browser für Tablets (Android ..?)
    Von herbertf im Forum WebFront
    Antworten: 16
    Letzter Beitrag: 30.08.13, 12:56