+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte
Ergebnis 1 bis 10 von 27
  1. #1
    Registriert seit
    Jun 2017
    Beiträge
    132

    Standard "fully kiosk browser" mjpeg.cgi video.cgi IP-Cam stream wird nicht angezeigt

    Hallo Zusammen,

    ich nutzte als Anzeige für IPS ein Android-Tablett und darauf die App "fully kiosk browser". Das funktioniert hervorragend, bis auf eine Kleinigkeit: die Video-Streams meiner IP-Cams werden nicht angezeigt (URL ist z.B. http://<ip>/video.cgi). Der Firefox auf dem Tablett zeigt richtig an.

    Welche Einstellung im "fully kiosk browser" verhindert die Anzeige?

  2. #2
    Registriert seit
    Jan 2009
    Ort
    Frankfurt
    Beiträge
    157

    Ich nutze den gleichen Browser, zeige aber nur ein Standbild meiner jeweiligen Kamera an.
    Externe Streams (z.b Autobahn Cam´s) werden ohne Probleme angezeigt.

    Dafür habe ich ein anderes Problem. Nach einem Tag aktualisiert der Browser nicht mehr die Zustände wie Schalter ec..
    Es geht dann erst wieder nach einem Neustart des "fully kiosk browsers".
    IPS 5.3 unter Raspberry 3b (Buster), diverse FS20, FHT, sowie HM (HM IP) Module in Haus und Garten,
    Lichtmanagement, Heizungsmanagement (Heizkörper, Fußbodenheizung, adaptive Brennersteuerung) Bewässerunsgmanagement, Alarmmanagement, Regenradaranalyse, Alexa anbindung

  3. #3
    Registriert seit
    Jul 2010
    Ort
    Schwerin
    Beiträge
    512

    Bei Problemen kannst Du den Entwickler anschreiben, der ist sehr offen und unkompliziert.
    Ich hatte auch schon Wünsche geäußert, diese wurden prompt erledigt.

    Der Fully Kiosk hat eine Remote Api, damit starte ich diesen einmal täglich neu.

    PHP-Code:
    <?
    $IP
    =IPS_GetObject(IPS_GetObject(IPS_GetParent($_IPS['SELF']))['ParentID'])['ObjectInfo'];
    //echo $IP;

    if (Sys_Ping($IP1000)== true)
        {

            
    fopen("http://$IP:2323/?cmd=restartApp&password=passwort","r"); // Fully Kiosk Browser neu starten.
            
        
    }
    ?>
    Über einen Bewegungsmelder neben dem Tablet steuere ich auch das Ein-/Ausschalten des Displays über den Fully Kiosk.

    An:
    PHP-Code:
    <?
    $IP
    =IPS_GetObject(IPS_GetParent($_IPS['SELF']))['ObjectInfo'];

    if (
    Sys_Ping($IP1000)== true)
        {
    //        fopen("http://$IP:50000/screenon","r"); // mediaplayer 24
            
    fopen("http://$IP:2323/?cmd=screenOn&password=passwort","r"); // Fully Kiosk Browser
            
    IPS_SetScriptTimer(15667 /*[Bornkamp 4\Geräte nach Standort\Küche\EDV\192.168.029.035 - XORO\Display aus]*/0);
            
    IPS_SetScriptTimer(15667 /*[Bornkamp 4\Geräte nach Standort\Küche\EDV\192.168.029.035 - XORO\Display aus]*/5*60);
        }
    ?>
    Aus:
    PHP-Code:
    <?
    $IP
    =IPS_GetObject(IPS_GetParent($_IPS['SELF']))['ObjectInfo'];

    if (
    Sys_Ping($IP1000)== true)
        {
            
    // fopen("http://$IP:50000/screenoff","r");  // mediaplayer 24
            
    fopen("http://$IP:2323/?cmd=screenOff&password=passwort","r"); // Fully Kiosk Browser
            
    IPS_SetScriptTimer($_IPS['SELF'], 0);
        }
    ?>

    Lördy

  4. #4
    Registriert seit
    Jan 2009
    Ort
    Frankfurt
    Beiträge
    157

    Danke für den Hinweis.
    Ich hatte allerdings auch schon mehrfach mit dem Entwickler Kontakt. Er konnte nicht weiter helfen da es wohl nach seiner Aussage an Android selbst liegt,
    Dein Tip mit dem täglichen Neustart ist ein guter Ansatz.

    Ich arbeite mit der Bewegungserkennung in seiner Software. Funktioniert außer im Dunkeln sehr gut.
    IPS 5.3 unter Raspberry 3b (Buster), diverse FS20, FHT, sowie HM (HM IP) Module in Haus und Garten,
    Lichtmanagement, Heizungsmanagement (Heizkörper, Fußbodenheizung, adaptive Brennersteuerung) Bewässerunsgmanagement, Alarmmanagement, Regenradaranalyse, Alexa anbindung

  5. #5
    Registriert seit
    Jun 2017
    Beiträge
    132

    Standard Java-Script-Interface

    Hallo Zusammen,

    wie bekommt man die Werte des Java-Script-Interface nach IPS?
    http://www.ozerov.de/fully-kiosk-browser/de/#rest

    Mich würde insbesondere der Batteriestatus interessieren.

    Dieser Einschub in eine HTML-Box bringt ein POP-UP mit dem gewünschten Wert, aber das ist nicht ganz das was mir vorschwebt:
    Code:
    <script>
    alert(fully.getBatteryLevel());
    </script>
    Ich habe auch ein Konstrukt mit
    Code:
    document.getElementById('Akku').innerHTML = fully.getBatteryLevel();
    und
    Code:
    <p>Akkustand: <b/ id='Akku'>%</p>
    versucht. Leider wird der Wert nicht übertragen.

    Wo liegt das Problem?
    versucht.

  6. #6
    Registriert seit
    Jun 2017
    Beiträge
    132

    Standard ... einen Schritt weiter....

    Zwei Lösungsansätze sind im folgenden Script enthalten (Ausgabe in eine HTML-Textbox / Ausgabe als Einschub (entity).


    HTML-Code:
    <HTML>
    
    <HEAD>
    
        <TITLE>Fully Daten</TITLE>
    
    <script language="JavaScript">
    
    function FullyDaten() {
    
    	var Inh=""; //Inhalt definieren
    	Inh = "BatteryLevel: " + fully.getBatteryLevel() + "\n";
    	Inh = Inh + "CurrentLocale: " + fully.getCurrentLocale() + "\n";
    	Inh = Inh + "Ip4Address: " + fully.getIp4Address() + "\n";
    	Inh = Inh + "Ip6Address: " + fully.getIp6Address() + "\n";
    	Inh = Inh + "MacAddress: " + fully.getMacAddress() + "\n";
    	Inh = Inh + "WifiSsid: " + fully.getWifiSsid() + "\n";
    	Inh = Inh + "SerialNumber: " + fully.getSerialNumber() + "\n";
    	Inh = Inh + "DeviceId: " + fully.getDeviceId() + "\n";
    	Inh = Inh + "ScreenBrightness: " + fully.getScreenBrightness() + "\n";
    	Inh = Inh + "ScreenOn: " + fully.getScreenOn() + "\n";
    	Inh = Inh + "isPlugged: " + fully.isPlugged() + "\n";
    	
    	document.myform.area.value=Inh; // Inhalt Textarea zuweisen
    
    	}
    	
    window.onload = FullyDaten;
    </script>
    
    </HEAD>
    
    <BODY BGCOLOR="#FFFFFF">
    
        <Form name=myform>
    		<CENTER>
    			<TEXTAREA NAME=area ROWS=11 COLS=50 WRAP=virtual></TEXTAREA>	
    		</CENTER>
    	</FORM>
    <div id="AkkuStand"/>
    <script>document.getElementById("AkkuStand").innerHTML = "Akkustand: " + fully.getBatteryLevel() + "%";</script>
    </BODY>
    
    </HTML> 
    Frage an JavaScript-Profies: Warum kann der JS-Code nicht im "HEAD" stehen, sondern muss nach dem HTML ID-Container stehen? Kann man das auch anders lösen?

    Das Grundproblem bleibt: die Schnittstelle im Fully ist an dieser Stelle Java-Script-basiert. Wie bekommt man diese Daten nach PHP, bzw. nach IPS?

  7. #7
    Registriert seit
    Jun 2017
    Beiträge
    132

    Standard Stream wird nicht angezeigt

    Sorry das sich hier zwei Themen zum Fully-Browser inzwischen mischen. Für die anfängliche Frage konnte ich einen Workaround zusammen mit dem hilfsbereiten Fully-Entwickler finden: den Stream in einen HTML <img> Container verpacken. Und das sieht so aus:

    PHP-Code:
    <?
    $up
    ="user:password@";
    $up="";
    $style='height="100%"';
    SetValue(37944 /*[Zuhause\Hardware\Cams\MR-161-CAM]*/,'<img src="http://'.$up.'10.0.0.161/mjpeg.cgi" '.$style.' />');
    SetValue(30476 /*[Zuhause\Hardware\Cams\MR-162-CAM]*/,'<img src="http://'.$up.'10.0.0.162/mjpeg.cgi" '.$style.' />');
    SetValue(58350 /*[Zuhause\Hardware\Cams\MR-163-CAM]*/,'<img src="http://'.$up.'10.0.0.163/mjpeg.cgi" '.$style.' />');
    SetValue(33731 /*[Zuhause\Hardware\Cams\MR-164-CAM]*/,'<img src="http://'.$up.'10.0.0.164/mjpeg.cgi" '.$style.' />');
    SetValue(34281 /*[Zuhause\Hardware\Cams\MR-165-CAM]*/,'<img src="http://'.$up.'10.0.0.165/mjpeg.cgi" '.$style.' />');
    SetValue(44941 /*[Zuhause\Hardware\Cams\MR-166-CAM]*/,'<img src="http://'.$up.'10.0.0.166/mjpeg.cgi" '.$style.' />');

    $style='height="325"';
    $value='
    <center>
        <table>
            <tr>
                <th><img src="http://'
    .$up.'10.0.0.162/mjpeg.cgi" '.$style.'/></th>
                <th><img src="http://'
    .$up.'10.0.0.163/mjpeg.cgi" '.$style.'/></th>
                <th><img src="http://'
    .$up.'10.0.0.166/mjpeg.cgi" '.$style.'/></th>
            </tr>
            <tr>
                <th><img src="http://'
    .$up.'10.0.0.165/mjpeg.cgi" '.$style.'/></th>
                <th><img src="http://'
    .$up.'10.0.0.164/mjpeg.cgi" '.$style.'/></th>
                <th><img src="http://'
    .$up.'10.0.0.161/mjpeg.cgi" '.$style.'/></th>
            </tr>
        </table>
    </center>'
    ;
    SetValue(31577 /*[Zuhause\Hardware\Cams\AlleCams]*/$value);
    ?>
    Der Fully-Browser läuft bei mir auf Android 4.4.2 und Samsung GT-P5210. Die User:Password-Lösung funktioniert im Fully leider hier nicht. Laut Entwickler ist die WebEngine in Andriod 4.4 Ursache "meiner" Probleme (soweit ich ermitteln konnte ist diese WebEngine nicht weiter update-bar).

    Besonderheit zum Skript:
    Da ich es in IPS bislang nicht geschafft habe mit dem Seitenteiler 6 Fenster zu erzeugen, habe ich meine 6 CAMs via HTML-Tabelle zusammengefasst.

  8. #8
    Registriert seit
    Jun 2017
    Beiträge
    132

    Standard "Fully Info" & "Device Info" in IPS zur Verfügung haben

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

Name:	MR_20170820_121017.jpg 
Hits:	189 
Größe:	137.3 KB 
ID:	40186

    Da ich über die REST-API nicht an Daten wie "Batterie Level" komme, habe ich einen Parser für die Fully-Website geschrieben. Damit stehen nun alle Daten nach belieben zur Verfügung. Falls das jemand besser gelöst hat... bin ich ganz Ohr.

    PHP-Code:
    <?
    $IP
    ="192.168.168.22"//IP-Adresse
    $PW="2654"//Passwort

    $homepage file_get_contents('http://'.$IP.':2323/?password='.$PW); // Fully Device Info Page als HTML einlesen
    $Inhalt=explode("<h1>Fully Info</h1>"$homepage); //HTML-Code bei "Fully Info" unterteilen
    $Inhalt=$Inhalt[1]; //mit Fully Info-Daten weiter
    $Inhalt explode("\n"$Inhalt); //Daten zeilenweise aufteilen
    $data=array(); //Daten-Array definieren

    foreach($Inhalt as $Zeile//Zeilenweise abarbeiten
    {
        if (
    $Zeile!==""//leere Zeilen ignorieren
        
    {
            
    $Zeile=str_replace('<tr class="table-row"><td class="table-cell">'''$Zeile); //bestimmten HTML-Tag löschen
            
    $Zeile=str_replace('</td><td class="table-cell">''=>'$Zeile); //bestimmen HTML-Tag löschen/ersetzen
            
    $Zeile=str_replace('</td></tr>'''$Zeile); //HTML-Tag löschen
            
    $Zeile=strip_tags($Zeile); // restlich HTML-Tag löschen

            
    if ($Zeile!="" and $Zeile!="Device Info"//Daten in Array schreiben
            
    {
                
    $Zeile=explode("=>",$Zeile); // Key und Value erzeugen
                
    $data=array_merge($data, array($Zeile[0] => $Zeile[1])); //neuen Array an Data-Array anhängen
            
    }
        }
    }
    $data2=json_encode($data); //Daten ins JSON-Format konvertieren

    SetValue(12883 /*[Zuhause\Hardware\Fully Kiosk Browser\Fully Kiosk Browser\JSON]*/$data2); //Daten in eine Variable schreiben

    ?>
    An den Akkustand kommt man dann beispielsweise so
    PHP-Code:
    <?
    $data
    =GetValue(12883 /*[Zuhause\Hardware\Fully Kiosk Browser\Fully Kiosk Browser\JSON]*/);
    $data=json_decode($datatrue);

    $akku=$data['Battery level'];
    $akku=explode("%"$akku);
    $akku=$akku[0];

    SetValue(25060 /*[Zuhause\Hardware\Fully Kiosk Browser\Fully Kiosk Browser\Akku]*/$akku)
    ?>
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	MR_20170820_121823.jpg 
Hits:	127 
Größe:	101.1 KB 
ID:	40187

  9. #9
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,579

    Kann jemand mal kurz beschreiben wie vorgehen muss um mit IPS zugriff auf den Fully Browser im Heimnetz zu bekommen?
    Bedingungen in Fully, welche IP Adresse wo... muss man ein Passwort verwenden e.c.
    Mir ist es noch nicht gelungen Zugriff zu bekommen.
    MfG: Heiner_________________IPS5.4, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.3.0; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

  10. #10
    Registriert seit
    Jun 2005
    Beiträge
    3,746

    Den habe ich auch gerade für mich entdeckt ;-)

    Du mußt die Adresse Deines Tablet wissen, dann kannst zum Beispiel die oben aufgeführten Scripte nutzen
    zuvor eine stringvariable erstellen wohin es geschrieben wird.

    Wenn das Script ausgeführt werden soll muß die Full Kiosk app laufen

    PHP-Code:
    <? 
    $IP
    ="192.168.0.191"//IP-Adresse 
    $PW="xyz"//Passwort 

    $homepage file_get_contents('http://'.$IP.':2323/?password='.$PW); // Fully Device Info Page als HTML einlesen 
    $Inhalt=explode("<h1>Fully Info</h1>"$homepage); //HTML-Code bei "Fully Info" unterteilen 
    $Inhalt=$Inhalt[1]; //mit Fully Info-Daten weiter 
    $Inhalt explode("\n"$Inhalt); //Daten zeilenweise aufteilen 
    $data=array(); //Daten-Array definieren 

    foreach($Inhalt as $Zeile//Zeilenweise abarbeiten 

        if (
    $Zeile!==""//leere Zeilen ignorieren 
        

            
    $Zeile=str_replace('<tr class="table-row"><td class="table-cell">'''$Zeile); //bestimmten HTML-Tag löschen 
            
    $Zeile=str_replace('</td><td class="table-cell">''=>'$Zeile); //bestimmen HTML-Tag löschen/ersetzen 
            
    $Zeile=str_replace('</td></tr>'''$Zeile); //HTML-Tag löschen 
            
    $Zeile=strip_tags($Zeile); // restlich HTML-Tag löschen 

            
    if ($Zeile!="" and $Zeile!="Device Info"//Daten in Array schreiben 
            

                
    $Zeile=explode("=>",$Zeile); // Key und Value erzeugen 
                
    $data=array_merge($data, array($Zeile[0] => $Zeile[1])); //neuen Array an Data-Array anhängen 
            

        } 

    $data2=json_encode($data); //Daten ins JSON-Format konvertieren 

    SetValue(28627 /*[Full Kiosk Tablett\String Variable Tablett]*/$data2); //Daten in eine Variable schreiben 

    ?>
    Gruß Helmut

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 03.07.16, 16:13
  2. Antworten: 1
    Letzter Beitrag: 09.05.16, 20:54
  3. Antworten: 1
    Letzter Beitrag: 19.01.16, 08:34
  4. WebView - Browser Navigation "Zurück" und "Vorwärts"
    Von Bayaro im Forum IPSStudio & IPSView
    Antworten: 2
    Letzter Beitrag: 27.07.15, 21:24
  5. Wert von "Is Raining?" wird nicht angezeigt
    Von axbigo im Forum WebFront
    Antworten: 3
    Letzter Beitrag: 07.04.09, 17:42