+ Antworten
Seite 11 von 18 ErsteErste ... 9 10 11 12 13 ... LetzteLetzte
Ergebnis 101 bis 110 von 178
  1. #101
    Registriert seit
    Jun 2012
    Ort
    Austria
    Beiträge
    75

    Danke für die schnelle Antwort. Ich versuch mich nun mal an einer Zusammenfassung für Anfänger in dem Bereich.

    1.0 Ordner anlegen.
    - Ich lege mir im normalen Objektbaum ein paar Ordner an (Bild1) die ich im "Webfront Configurator" verlinke.
    - Im "Webfront Configurator" erstelle ich eine SplitPane und zwei Kategorien darunter. (Bild2)

    2.0 Grundstruktur erstellen für Variablen und Scripte.
    - Am Ende soll es aussehen wie auf Bild4.
    - Nun einen Arbeitsordner anlegen und darin zwei Dummy Module erstellen. (Bild5)
    - Die Dummy Module verlinke ich zum Ordner "Rechts" und "Links" wie auf Bild3.

    2.1 Das Herzstück ist das Funktionsskript namens "e2_function".
    - Es beinhaltet alle wichtigen Funktionen für die weiteren Skripte.
    - Wir haben eine Datei namens "KonstantenArray". Diese beinhaltet unsere Geräte/IPs. In meinem Fall einen Fernseher und eine Dreambox.
    - Diese zwei Dateien sind bei fast allen Skripten inkludiert am Anfang.
    - Beim ersten Beispiel1 müssen wir nun auch schon unsere Variablen anpassen.

    3.0 Das Dummy Module "TV Informationen":(Beispiel1)
    - Als erstes kommt das "verfügbarkeit" Skript. (2 Variablen erstellen & IP Adresse(n) ändern)
    - Das "verfügbarkeit" Skript zeigt ob die in "KonstantenArray" vorhandenen IPs Online oder Offline sind und schreibt dies in zwei Variablen.
    - Bei mir Variable 37801 & 43383 (Bild5). Profil & Assoziationen & Aktion (Bild6)

    3.1 Das Dummy Module "TV Informationen":
    - Das Skript "Sender anzeigen" einbauen.
    - (wieder die include Variablen anpassen! & 4 Variablen erstellen)
    - Die 4 Variablen sind wieder unter Bild5 sichtbar und müssen im "Sender anzeigen" Skript angepasst werden.
    - Das "Sender anzeigen" Skript löse ich derzeit aus, in dem ich im Webfront auf "Online" klicke.(siehe Tabelle unten)
    (zum testen ganz ok so.)

    4.0 Das Dummy Module "TV Programm":
    - Das Skript "tv-movie" einbauen. (Bild5)
    - Eine Variable erstellen. (String mit HTMLBox)
    - Das Skript "tv-movie" kann zb alle 5 Minuten ausgeführt werden.

    --- Download der Skripte:
    - Hier noch die 5 Skripte: Download

    Code:
    ----TV Informationen
    --Dreambox 800HD........Boolean......Profil=(siehe Bild6)...........Aktion=sender anzeigen
    --Samsung TV...............Boolean......Profil=(siehe Bild6)...........Aktion=sender anzeigen
    --Aktueller Sender.........String.........Profil=~HTMLBox.............Aktion=Keine
    --Aktuelle Proginfos.......String.........Profil=~Textbox.............Aktion=Keine
    --Empfangspegel..........Integer.........Profil=~Intensity.100.....Aktion=Keine
    --Sendungsfortschritt....Integer.........Profil=~Intensity.100.....Aktion=Keine
    ----TV Programm
    --(rss-Feed TV-Movie)....String.........~HTMLBox.............Aktion=Keine
    Nun sollte wir Bild4 erreicht haben. Ein paar Skripte noch verstecken.. Ein bisschen sortieren.

    Ich hoffe ich hab nun den ersten Block geschafft zu erklären. Falls noch was Fehlt bitte melden.
    (Die Timer Sache ist in den Funktionen nicht enthalten.)

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

Name:	i11bgfysd.png 
Hits:	87 
Größe:	93.0 KB 
ID:	33645Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	i6bim59r.jpg 
Hits:	107 
Größe:	159.5 KB 
ID:	33646Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	i7bvnlv3.png 
Hits:	85 
Größe:	5.2 KB 
ID:	33647
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	i9bbny36.png 
Hits:	80 
Größe:	17.5 KB 
ID:	33648Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	i10b39bot.png 
Hits:	80 
Größe:	77.2 KB 
ID:	33649Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	i18bxpnaq.png 
Hits:	72 
Größe:	5.0 KB 
ID:	33650
    Geändert von t33kanne (19.03.16 um 15:02 Uhr) Grund: Links angepasst...

  2. #102
    Registriert seit
    May 2010
    Ort
    Eppstein/Taunus
    Beiträge
    111

    Vielen Dank für die Anleitung.Installation passt soweit.
    Leider bekomme ich einen Fehler beim Abfruf der Infos:

    PHP-Code:
    NoticeUndefined variableresult in C:\IP-Symcon\scripts\46002.ips.php on line 119

    Notice
    Undefined variableresult in C:\IP-Symcon\scripts\46002.ips.php on line 134 

    Script 46002 ist die e2_function.php
    Irgendwas stimmt da bei ir beim abholen das Sendernamens nicht.

    Woran könnte es liegen?Ich habe eine Dreambox mit e2. Denke aber das ist egal oder?

    Gruß
    Robert
    Homematic CFG-LAN mit

  3. #103
    Registriert seit
    Jun 2012
    Ort
    Austria
    Beiträge
    75

    Hallo Robert.

    Vielleicht hilft dir das noch ein bisschen weiter.

    In Zeile 119 und 134 wird ja das hier aufgerufen:
    Code:
    http://192.168.x23.x32/web/subservices
    Versuch das mal im Browser einzugeben. Hier ein Bild von meiner Ausgabe.

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

Name:	i11bgfysd.png 
Hits:	75 
Größe:	93.0 KB 
ID:	33651

    Sollte ja bei dir auch so sein. Vielleicht stimmt der Pfad nicht ganz.

    Grüße,
    Die t33kanne
    Geändert von t33kanne (19.03.16 um 15:06 Uhr)

  4. #104
    Registriert seit
    May 2010
    Ort
    Eppstein/Taunus
    Beiträge
    111

    Hi,

    das hab ich schon getestet. Sieht bei mir auch so aus. Habe rausgefunden woran es liegt.

    Ich benutze nicht Port 80 sondern einen anderen.
    Wenn man das im Konstantenscript mit DreamboxIP:6666 hinterlegt,kann er die Boolean nicht mehr schreiben."Invalid argument"
    Dadurch passt die Verfügbarkeitsprüfung der E2_function nicht mehr.
    Jetzt schau ich mal was ich mache.
    Geändert von Ravenous (20.06.13 um 22:50 Uhr)
    Homematic CFG-LAN mit

  5. #105
    Registriert seit
    Jun 2012
    Ort
    Austria
    Beiträge
    75

    hmm na dann.

    ... https getestet? Vielleicht kannst du ja 443 verwenden statt 6666

  6. #106
    Registriert seit
    Apr 2008
    Ort
    Obersulm
    Beiträge
    257

    Hi,

    das hab ich schon getestet. Sieht bei mir auch so aus. Habe rausgefunden woran es liegt.

    Ich benutze nicht Port 80 sondern einen anderen.
    Wenn man das im Konstantenscript mit DreamboxIP:6666 hinterlegt,kann er die Boolean nicht mehr schreiben."Invalid argument"
    Dadurch passt die Verfügbarkeitsprüfung der E2_function nicht mehr.
    Jetzt schau ich mal was ich mache.
    Hi ist da schon jemand weiter gekommen? habe exakt das gleiche problem, meine Box lauft auf dem port 8059

    LG
    LG Reblade
    Homeserver 2011; IPS 5.x; HM; Alexa; HUE; sonos; netatmo; Fitzbox 7590: Samsung Navibot's; Siemens HomeConnect; Landroid S; Xiaomi; Nello

  7. #107
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,432

    Hallo reblade,

    es müsste funktionieren wenn Du DreamboxIP:6666 als "DreamboxIP:6666" an die Funkion(en) übergibst...

    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  8. #108
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,530

    Zitat Zitat von JPaeper Beitrag anzeigen
    Hallo reblade,

    es müsste funktionieren wenn Du DreamboxIP:6666 als "DreamboxIP:6666" an die Funkion(en) übergibst...

    Joachim
    Nein das wird so nicht funktionieren. Alle die einen anderen Webport nutzen müssen die Funktion umschreiben, da die gleiche Variable in den Funktionen benutzt wird, aber einmal nur die IP verlangt wird zum anpingen und einmal die IP mit Port zum Aufrufen im Webinterface. Da die Funktion ENIGMA2_GetAvailable nur ausgeführt wird wenn nur die IP angegeben wird, übergebe ich an die Funktion nur die IP Adresse ohne den Port.

    Die Konstanten sehen bei mir so aus:
    PHP-Code:
    <?

    //*************************************************************************************************************
    // Definieren der Konstanten für den Enigma-Receiver
    global $k_DREAMBOXIP;
    global 
    $k_SAMSUNG;
    global 
    $k_WIFPORT;
    global 
    $k_DREAMBOX;

    $k_DREAMBOXIP GetValue(58413 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\IP]*/); //IP Adresse der Dreambox
    $k_SAMSUNG GetValue(32110 /*[Erdgeschoss\Wohnzimmer\LE40C750\IP]*/);
    $k_WIFPORT GetValue(42651 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Port]*/); //Webinterface Port der Dreambox
    $k_DREAMBOX $k_DREAMBOXIP.":".$k_WIFPORT;

    ?>
    Sender anzeigen (aus dem obigen Beispiel):
    PHP-Code:
    include "12370.ips.php"// e2_function Skript
    include "46750.ips.php"// KonstantenArray Skript

    $AktuellerSender "Keine Information";

    $AktuellerSender ENIGMA2_GetCurrentServiceName($k_DREAMBOX);
    list(
    $AktuelleSenderinformation$Fortschrittsanzeige) = ENIGMA2_GetCurrentFilm($k_DREAMBOX);;
    $AktuelleSenderreferenz ENIGMA2_GetCurrentServiceReference($k_DREAMBOX);
    $URL "<a href='http://".$k_DREAMBOX."/web/stream.m3u?ref=$AktuelleSenderreferenz'>$AktuellerSender</a>";
    list(
    $snrdb$snr$ber$acg) = ENIGMA2_SignalStatus($k_DREAMBOX);

    If (
    $AktuellerSender == "")
        {
       
    SetValueString(59613 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Aktueller Sender]*/  "Keine Information");
       
    SetValueString(19962 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Aktuelle Programminformationen]*/ "");
        
    SetValueInteger(20384 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Sendungsfortschritt]*/  0);
        
    SetValueInteger(43413 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Empfangspegel (AGC)]*/  0);
        }
       else
       {
        
    SetValueString(59613 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Aktueller Sender]*/  $URL);
        
    SetValueString(19962 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Aktuelle Programminformationen]*/ "$AktuelleSenderinformation");
        
    SetValueInteger(20384 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Sendungsfortschritt]*/  $Fortschrittsanzeige);
        
    SetValueInteger(43413 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Empfangspegel (AGC)]*/  $acg);
        }

    ?> 
    verfügbarkeit (aus dem obigen Beispiel)
    PHP-Code:
    <?

    include "12370.ips.php"// e2_function Skript
    include "46750.ips.php"// KonstantenArray Skript

    $dreamboxIP ENIGMA2_GetAvailable($k_DREAMBOXIP);
    $samsungIP ENIGMA2_GetAvailable($k_SAMSUNG);
    SetValueBoolean(20109 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Dreambox Online]*/    $dreamboxIP);
    SetValueBoolean(48381 /*[Erdgeschoss\Wohnzimmer\Dreambox 8000\Dreambox Anzeige\TV Informationen\Samsung TV Online]*/    $samsungIP);
    ?>
    e2_function (aus dem obigen Beispiel)
    PHP-Code:
    <?

    /*
    * Holt IPAdresse aus Variable 'IP' eines DummyModules obj
    */
    function GetIpFromObj($obj)
    {

        
    $ip_obj = @IPS_GetObjectIDByName("IP"$obj); // Hole das Object aus Variable IP
        
    $ip_adr = @GetValue($ip_obj);

    return 
    $ip_adr;
    }
    /**
    *  Prüft über Ping ob Gerät erreichbar
    *  Return
    *  true  -  wenn erreichbar
    *  false -  nicht erreichbar
    **/
    /*
    * OK
    */
    function ENIGMA2_GetAvailable($ipadr)
    {
        
    $result false;
       if (
    $ipadr "" )
        {
           
    $result = (Boolean) Sys_Ping($ipadr1000);   // Ping max. 1 Sek. warten
       
    }
    return 
    $result;
    }


    /**
    * Setzt Dreambox in Standby/nicht StandBy
    *  -1    -  bei Fehler
    *  1  -  wenn in StandBy
    *  0 -  wenn nicht in Standby
    **/
    function ENIGMA2_ToggleStandby($ipadr)
    {
        
    $powerstate 0;
        
    $result = -1;
       global 
    $k_DREAMBOXIP;
       if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
            
    print_r ($xmlResult);
            if (
    $xmlResult->e2instandby == 'true')
            {
               
    $result 1;
            }
            else
            {
                
    $result 0;
            }
       }

    return 
    $result;
    }
    /**
    * true - wenn ok
    */
    function ENIGMA2_DeepStandby($ipadr)
    {
        
    $powerstate 1;
        
    $result false;

        global 
    $k_DREAMBOXIP;
       if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
           
    print_r($xmlResult);
            
    $result = (Boolean)$xmlResult->e2instandby;
       }

    return 
    $result;
    }
    /**
    * true - wenn ok
    */
    function ENIGMA2_Reboot($ipadr)
    {
        
    $powerstate 2;
        
    $result false;

       global 
    $k_DREAMBOXIP;
        if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
           
    $result = (Boolean)$xmlResult->e2instandby;
       }

    return 
    $result;
    }
    /**
    * true - wenn ok
    */
    function ENIGMA2_RestartEnigma($ipadr)
    {
        
    $powerstate 3;
        
    $result false;

        global 
    $k_DREAMBOXIP;
       if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/powerstate?newstate=$powerstate"));
           
    $result = (Boolean)$xmlResult->e2instandby;
       }

    return 
    $result;
    }
    /**
    * liefert den Namen des aktuellen Sendernamens
    */
    /*
    * OK
    */
    function ENIGMA2_GetCurrentServiceName($ipadr)
    {

        global 
    $k_DREAMBOXIP;
       if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/subservices"));
           
    $result $xmlResult->e2service[0]->e2servicename;
       }

    return 
    $result;
    }
    /**
    * liefert den Namen der aktuellen Servicereferenz
    */
    /*
    * OK
    */
    function ENIGMA2_GetCurrentServiceReference($ipadr)
    {

       global 
    $k_DREAMBOXIP;
       if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))

         {
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/subservices"));
           
    $result $xmlResult->e2service[0]->e2servicereference;
       }

    return 
    $result;
    }


    /**
    * liefert ein Array mit den Namen der Bouquets wenn $bouquet = ""
    * liefert ein Array mit den Namen der Sender eines Bouquet  wenn $bouquet ungleich ""
    * keys e2servicereference
    * keys e2servicename
    */
    function ENIGMA2_GetServiceBouquetsOrServices($ipadr,$bouquet "")
    {
       global 
    $k_DREAMBOXIP;
        if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           if (
    $bouquet == "" )
           {
               
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/getservices"));
           }
           else {
              
    $bouquet urlencode($bouquet);
               
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/getservices?sRef=$bouquet"));
           }
       }
       else
        {
          
    $xmlResult[] = "";
        }
    return 
    $xmlResult;
    }
    /*
    * Schreibt eine Infomessage auf den Bildschirm
    * return
    * true wenn erfolgreich
    * false wenn nicht erfolgreich
    **/
    function ENIGMA2_WriteInfoMessage($ipadr,$message "",$time=5)
    {
        
    $type 1;
        
    $result false;
       global 
    $k_DREAMBOXIP;
        if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $message urlencode($message);
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
          if (
    $xmlResult->e2state == "True")
          {
             
    $result true;
            }
        }
       else
        {
           
    $result false;
        }
    return 
    $result;
    }
    /*
    * Schreibt eine Errormessage auf den Bildschirm
    * return
    * true wenn erfolgreich
    * false wenn nicht erfolgreich
    **/
    function ENIGMA2_WriteErrorMessage($ipadr,$message "",$time=5)
    {
        
    $type 3;
        
    $result false;
       global 
    $k_DREAMBOXIP;
        if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $message urlencode($message);
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
          if (
    $xmlResult->e2state == "True")
          {
             
    $result true;
            }
        }
       else
        {
           
    $result false;
        }
    return 
    $result;
    }
    /*
    * Schreibt eine Message auf den Bildschirm
    * return
    * true wenn erfolgreich
    * false wenn nicht erfolgreich
    **/
    function ENIGMA2_WriteMessage($ipadr,$message "",$time=5)
    {
        
    $type 2;
        
    $result false;
       global 
    $k_DREAMBOXIP;
        if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $message urlencode($message);
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
          if (
    $xmlResult->e2state == "True")
          {
             
    $result true;
            }
        }
       else
        {
           
    $result false;
        }
    return 
    $result;
    }
    /*
    * Schreibt eine Message auf den Bildschirm die man mit ja oder nein beantworten muss
    * man sollte die Frage immer so stellen, das nein als aktive Antwort ausgewertet wird,
    * da in allen anderen Fällen 0 oder -1  gemeldet wird
    * return
    * -1  wenn keine erfolgreiche Verbindung
    * 0 wenn mit ja oder garnicht geantwortet wurde
    * 1 wenn mit nein geantwortet
    **/
    function ENIGMA2_GetAnswerFromMessage($ipadr,$message "",$time=5)
    {
        
    $type 0;
        
    $result = -1;
       global 
    $k_DREAMBOXIP;
        if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
        {
           
    $message urlencode($message);
           
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/message?text=$message&type=$type&timeout=$time"));
          if (
    $xmlResult->e2state == "True")
          {
             
    sleep($time);
             
    $result = -1;
             
    $xmlResult =  new SimpleXMLElement(file_get_contents("http://$ipadr/web/messageanswer?getanswer=now"));
                if (
    $xmlResult->e2statetext == "Answer is NO!")
              {
                  
    $result 1;
              }
              else
              {
                 
    $result 0;
              }
            }
        }
       else
        {
           
    $result = -1;
        }
    return 
    $result;
    }

    function 
    ENIGMA2_GetCurrentFilm($ipadr)
    {
       global 
    $k_DREAMBOXIP;
        if (
    ENIGMA2_GetAvailable($k_DREAMBOXIP))
           {
          
    $xmlResult =  new SimpleXMLElement(file_get_contents("http://$ipadr/web/subservices"));
          
    $reference $xmlResult->e2service->e2servicereference;
          
    $name utf8_decode($xmlResult->e2service->e2servicename);
          
    $xmlResult =  new SimpleXMLElement(file_get_contents("http://$ipadr/web/epgservice?sRef=$reference"));
          
    $title utf8_decode($xmlResult->e2event->e2eventtitle);
          
    $description utf8_decode($xmlResult->e2event->e2eventdescriptionextended);
          
    $startsec $xmlResult->e2event->e2eventstart;
          
    $duration $xmlResult->e2event->e2eventduration;
          
    $currenttime time();
          if ((int)
    $startsec >= time() - 36000)
                {
             
    $start date("H:i",(int)$startsec) .' Uhr';
             
    $vorbei round(((int)$currenttime - (int)$startsec) / 60 ).' Minuten';
                }
          else
                {
             
    $start "N/A";
             
    $vorbei "N/A";
                }
            if (((int)
    $duration 0) and ((int)$startsec >= time() - 36000))
                
    $ende date("H:i",(int)$startsec + (int)$duration) .' Uhr';
            else
               
    $ende "N/A";
            if ((int)
    $duration 0)
                
    $dauer round((int)$duration 60).' Minuten';
            else
               
    $dauer "N/A";
            if (((int)
    $currenttime time() - 1800) and ((int)$currenttime time() + 1800) and ((int)$startsec >= time() - 36000) and ((int)$duration 0))
                
    $verbl round(((int)$startsec + (int)$duration - (int)$currenttime) / 60 ).' Minuten';
            else
               
    $verbl "N/A";
                If (
    round((int)$duration 60) > 0)
                   {
                    
    $Fortschritt = (int)(round(((int)$currenttime - (int)$startsec) / 60 ) / round((int)$duration 60) * 100) ;
                    }
                else
                   {
                   
    $Fortschritt 0;
                   }
                
    $Filminformation "Titel      : $title\nStart      : $start - Ende       : $ende\nDauer      : $dauer - Vergangen  : $vorbei - Verbleiben : $verbl\nDetails    : $description";
                return array(
    $Filminformation$Fortschritt);
        }
       else
       return 
    'Box nicht erreichbar!';
    }



    //*************************************************************************************************************
    // Ermittelt die EPG-Daten eines definierten Senders
    function ENIGMA2_EPG($ipadr,$sender "")
    {
       
    $xmlResult[] = "";
       
    $sender urlencode($sender);
       
    $xmlResult = new SimpleXMLElement(file_get_contents("http://$ipadr/web/epgservice?sRef=$sender"));
      
    //$title = $xmlResult->e2event->e2eventtitle;
       
    return $xmlResult;
        
    //return "$title";
    }

    function 
    GetDreamEpg($ipadr$channel) {
        
    $epgentry "";
        
    $chanlist = new SimpleXMLElement(file_get_contents("http://$ipadr/web/getservices?sRef=1%3A7%3A1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3AFROM%20BOUQUET%20%22userbouquet."."dbe00.tv"."%22%20ORDER%20BY%20bouquet"));
        
    $bouquetlist $chanlist->e2service;
        
    $zapname IPS_GetObject($channel);
        
    $zapname2 $zapname['ObjectName'];
        foreach (
    $bouquetlist as $entry) {
        
    $sendername utf8_decode($entry->e2servicename);
      
    $sref = ("$entry->e2servicereference \n");
      
    $pos1 strpos($sref,'"');
      
    $pos2 strpos($sref,'"',$pos1+1);
      
    $sref substr($sref,$pos1,$pos2-$pos1-1);
      if(
    $sendername == $zapname2) {
         
    $ergebnis $sref;
             
    $epgservice = new SimpleXMLElement(file_get_contents("http://$ipadr/web/epgservice?sRef=".$ergebnis.""));
       
    $epglist $epgservice->e2event;
       foreach (
    $epglist as $entry2) {
          
    $heute time();
          
    $heute date("dmy"$heute);
          
    $eventstartraw trim($entry2->e2eventstart);
          
    $eventdate date("dmy"$eventstartraw);
          
    //if ($eventdate  == $heute) {
             
    $newtitel utf8_decode($entry2->e2eventtitle);
             
    $newsref $entry2->e2eventservicereference;
             
    $newtime date("H:i",$eventstartraw);
             
    $newdesc utf8_decode($entry2->e2eventdescriptionextended);
             
    $neweventid trim($entry2->e2eventid);
             
    $newlenght $entry2->e2eventduration /60;
             
    $epgentry .= "<div class=\"standardContainer\">" ."Zeit: " .$newtime ."</div>";
             
    $epgentry .= "<div class=\"standardContainer\">" ."Länge: " .$newlenght ." Minuten"."</div>";
           
    $epgentry .= "<div class=\"standardContainer\">" ."Titel: " .$newtitel ."</div>";
           
    $epgentry .= "<div class=\"standardContainer\">" ."Inhalt: " .$newdesc ."</div>";
           
    $epgentry .= '<td style="line-height: 25px;">'.'</td><td align="right"><div onclick="dojo.xhrGet({ url: \'http://192.168.0.5/web/timeraddbyeventid?sRef='.$newsref .'&eventid=' .$neweventid .'\'});" style="border:1px solid #3B3B4D; margin:0px; padding:3px; text-align:center; width: 100px;">Aufnehmen</div></td>';
           
    $epgentry .= "<br>";
          
    //}
       
    }
        }
        }
        return 
    $epgentry;
    }


    //*************************************************************************************************************
    // Prüft die Signalstärke des Senders
    function ENIGMA2_SignalStatus($ipadr)
    {
       global 
    $k_DREAMBOXIP;
         if (
    ENIGMA2_GetAvailable$k_DREAMBOXIP ))
            {
            
    $xml simplexml_load_file("http://$ipadr/web/signal?.xml");
            
    $snrdb = (int)$xml->e2snrdb;
            
    $snr = (int)$xml->e2snr;
            
    $ber = (int)$xml->e2ber;
            
    $acg = (int)$xml->e2acg;
            }
        else
            {
            
    $snrdb 0;
            
    $snr 0;
            
    $ber 0;
            
    $acg 0;
            }

    return array(
    $snrdb$snr$ber$acg);
    }



    ?>

  9. #109
    Registriert seit
    Apr 2008
    Ort
    Obersulm
    Beiträge
    257

    Danke @ Fonzo, jetzt läufts
    LG Reblade
    Homeserver 2011; IPS 5.x; HM; Alexa; HUE; sonos; netatmo; Fitzbox 7590: Samsung Navibot's; Siemens HomeConnect; Landroid S; Xiaomi; Nello

  10. #110
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,530

    Ich lasse mir die aktuellen Sendungen mit dem TV Movie Rss Feed im Webfront anzeigen. Ich möchte gerne mit einem druck auf die Sendung auf den Sender umschalten können. Dazu habe ich einfach die Zeile

    PHP-Code:
    $titel '<a href=http://'.$ipadr.'/web/zap?sRef='.$sref.'><img src=picon/'.$pref.'.png alt="not Found"><b style=color:#C00000;>'.$item['title'].'</b></a>'
    ergänzt. Das Umschalten der Dreambox funktioniert damit auch wunderbar, nur werde ich dann weitergeleitet auf die Webseite der Dreambox mit der Bestätigung und verlasse damit den Webfront von IPS. Kann man das irgendwie verhindern, bzw. wie habt ihr das gelöst von einem Webseiten Element umschalten zu können.

Ähnliche Themen

  1. IPS per VDR Steuern
    Von mighty im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 13
    Letzter Beitrag: 02.01.12, 20:31
  2. UVR1611 ueber IPS steuern - geht das ???
    Von pelletone im Forum Haustechnik
    Antworten: 27
    Letzter Beitrag: 25.10.09, 10:07
  3. Funk-Stellantriebe mit IPS steuern
    Von alex im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 5
    Letzter Beitrag: 17.02.09, 20:55
  4. FS20 LD: Schaltnetzteil für LEDs über IPS steuern
    Von bauhaus im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 4
    Letzter Beitrag: 07.03.08, 17:52
  5. FS20 Steckdose über IPS und Handsender steuern ?
    Von visionsurfer im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 10
    Letzter Beitrag: 11.12.06, 09:48