Ankündigung

Einklappen
Keine Ankündigung bisher.

iTunes | Steuerung via Script über WebServer | Edomi

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    OK, danke :-)

    Eine Zusatzfrage ohne Joker (Fehler abfangen noch nicht implementiert) ;-)

    PHP-Code:
    $url "http://".$E[34]['value']."/%7E".$E[33]['value']."/iControl.php?c=apvolume&ap1=Computer&p2=";

    if (
    $E[20]['value']!=&& $E[20]['refresh']==1) {
        
    $ctx=stream_context_create(array('http' => array('timeout' => )));
        
    $r=file_get_contents($URL.$E[20]['value'],0,$ctx);
        } 

    Wenn ich noch den Wert/String NICHT hardcodieren möchte/sollte ...
    • apvolume = hier wird der Apple-Script der die Lautstärkenregelung steuert ausgewähl und "Computer" wird als Variable übergeben
    • Computer = das ist ein Lautsprecher/AirPlayLautsprecher die notwendige Variable für "apvolume" (hier MUSS der tatsächliche Name des Lautsprechers verwendet/übergeben werden) der bei diesem HTTP-Request gesteuert werden soll

    PHP-Code:
    c=apvolume&ap1=Computer 

    Nun, bei mir ist das hardcodiert z.B. so:
    • LS1 $E[10]['value'] ist der Computer 1/0 (EIN/AUS) = Apple-Script "apDevice.scpt"
    • LSV1 (apVolume.scpt) ist die Lautstärke für den LS1 ... der Wert wird über $E[20]['value'] übernommen
    • LS2 ist das ATV (Apple-TV) usw.

    Andere User weden mit dem hardcodiertem Teil nicht die Freude haben ... entweder sie ändern den LBS oder sie müssten den Lautsprecher-Namen ändern :-(

    Kann man es in PHP codieren, dass der User für ap1=Computer z.B.:
    • LS1 "Computer"
    • LS2 "ATV"
    • LS3 "Loewe"
    • LS4 "B&W" zuweisen kann ?

    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

    Kommentar


      Warum nicht? Einfach entsprechende Eingänge definieren - dort kann der Nutzer doch die "Namen" entsprechend definieren...
      EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

      Kommentar


        OK, doch, dann wird der LBS noch etwas länger ;-)

        Nun zur "Fehler abfangen" ...

        Ist das so erlaubt || ?

        PHP-Code:
                                if ($E[33]['value']!=&& $E[33]['refresh']==1) || ($E[34]['value']!=&& $E[34]['refresh']==1) {
                                    
        $urlA "http://".$E[34]['value']."/%7E".$E[33]['value']."/iControl.php?c=apVolume&ap1=";
                                    
        $urlB "http://".$E[34]['value']."/%7E".$E[33]['value']."/iControl.php?c=apDevice&ap1="

        DANKE !
        Danke und LG, Dariusz
        GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

        Kommentar


          Abgesehen von fehlenden Klammern...

          Aber E33/34 sind doch eher Strings - keine Zahlen. !=0 ist daher nicht wirklich zielführend... Entweder !='' oder meine eigene Funktion !isEmpty() nutzen...

          Statt || wäre wohl eher && angebracht - also bezüglich der Values... Musst Du noch etwas nachdenken
          EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

          Kommentar


            Geht's auch so ?

            if empty(($E[33]['value']!=true) && ($E[33]['refresh']==false))
            Danke und LG, Dariusz
            GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

            Kommentar


              Oder so ?

              if isset(($E[33])['value'] != 1) && ($E[33]['refresh'] !=1 )); // angeblich ergibt eine 1 wenn die Variable Leer ist oder nicht existiert
              Danke und LG, Dariusz
              GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

              Kommentar


                Nein und nein Nimm' doch einfach isEmpty() oder !=''
                EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                Kommentar


                  Tatsächlich nur ...

                  if (($E[33]['value'] !=" && $E[33]['refresh'] !=") && ($E[34]['value'] !=" && $E[34]['refresh'] !=")) {
                  Danke und LG, Dariusz
                  GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                  Kommentar


                    Och Jung'....

                    PHP-Code:
                    if ( ( !isEmpty($E[33]['value']) && !isEmpty($E[34]['value']) ) && ( $E[33]['refresh']==|| $E[34]['refresh']==) ) {...} 
                    Frei übersetzt:
                    beide Values dürfen nicht leer sein UND mindestens einer der Eingänge muss refreshed worden sein... (falls es das ist, was Du erreichen willst)
                    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                    Kommentar




                      Ich werde nach einem PHP-Buch in www suchen ...

                      !isEmpty() aus deiner ersten Antwort habe ich schon verstanden aber !=" nicht ... deshalb mein Beispiel in #143
                      Hätte es so sein müssen if (($E[33]['value'] !=") && ... ?
                      Danke und LG, Dariusz
                      GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                      Kommentar


                        Genau, !='' bedeutet ungleich leerer String. Kann aber tückisch sein, z.b. Wenn die Variable NULL ist.

                        NULL ist übrigens nicht 0...
                        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                        Kommentar


                          MERCI :-)

                          Macht es noch Sinn, ist es möglich zu prüfen ob der String einem IPv4 Konstrukt entspricht - x.x.x.x ?
                          Danke und LG, Dariusz
                          GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                          Kommentar


                            Ob es Sinn macht, kann ich in dem Zusammenhang nicht beurteilen. Möglich ist das mit PHP ohne Probleme, gehört aber irgendwie so langsam nicht mehr hierher. Vielleicht macht ja Christian einen separaten Thread "Grundkurs PHP" auf...
                            Kind regards,
                            Yves

                            Kommentar


                              Zitat von gaert Beitrag anzeigen
                              Genau, !='' bedeutet ungleich leerer String. Kann aber tückisch sein, z.b. Wenn die Variable NULL ist...
                              Könnte er aber mit !== abfangen, oder? Bin auch schon ne Weile raus...
                              Hier was zum Stöbern bzgl. PHP, Dariusz.

                              Kommentar


                                Zitat von starwarsfan Beitrag anzeigen
                                Ob es Sinn macht, kann ich in dem Zusammenhang nicht beurteilen. Möglich ist das mit PHP ohne Probleme, gehört aber irgendwie so langsam nicht mehr hierher.
                                Warum nicht ?
                                Mir gefällt es während der Entstehungsgeschichte zu lernen :-)

                                Vielleicht macht ja Christian einen separaten Thread "Grundkurs PHP" auf...
                                Das, ist eine gute Idee ;-)

                                Hier was zum Stöbern bzgl. PHP, Dariusz.
                                Danke, kenne ich als erste Referenz, leider für mich als Anfänger nicht immer verständlich ...
                                Danke und LG, Dariusz
                                GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                                Kommentar

                                Lädt...
                                X