Ankündigung

Einklappen
Keine Ankündigung bisher.

Eib PC und Mac Mini

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

    #31
    Zitat von keegan Beitrag anzeigen
    Hallo MrKNX,

    wie wäre es denn mit m..myhome for Mac ->Damit kannst Du iTunes über ein Protokoll steuern. Das lässt sich sicher einfach mit dem eibPC umsetzen..
    Wecken und Sleep Mode auch kein Problem..

    Bei Interesse einfach melden.
    Wäre sicher eine Alternative, habe ich mir auch schon angesehen, nur ist m..myhome nicht wirklich günstig für die paar Features, die ich verwenden will!
    MfG MrKnx

    Kommentar


      #32
      Mac über Browser steuern


      Webserver auf dem Mac aktivieren



      1. In Systemeinstellungen unter Freigaben den Webserver aktivieren

      2. Bearbeiten von /etc/apache2/httpd.conf in terminal mit :

      sudo pico /etc/apache2/httpd.conf
      • uncommented LoadModule php5_module libexec/apache2/libphp5.so (uncommented heißt einfach vorne das # entfernen)



      • Folgenden Eintrag suchen:
        • User _www
        • Group _www

      • abändern in: (Der Username muss der gleiche sein wie der Benutzername des Macs!!)
        • User MrKNX
        • Group staff




      • anschließend diesen Eintrag suchen:

      <IfModule dir_module>
      DirectoryIndex index.html
      </IfModule>
      • abändern in:

      <IfModule dir_module>
      DirectoryIndex index.html index.php
      </IfModule>
      • Speichern mit Control o
      • Beenden mit Control X

      3. Schliesslich webserver neu starten, dazu in terminal absetzen: sudo apachectl graceful
      php-Script auf dem Mac anlegen

      Ebenfalls gemäß o.g. Implementation-Guide Datei angelegt: /Users/MrKNX/Sites/control.php
      (Programm um eine php Script Datei auf dem Mac zu erstellen: TextMate (Mac) - Download)


      Die folgende Script Datei einfach in die control.php Datei kopieren und sichern!

      Code:
      <head>
      </head>
      <body>
      <?
      $q = $_GET['q'];
      
      switch ($q)
          {
          case "":
              echo "You need to send me a command, then I shall execute it";
              break;
          
          case "play":
              exec("osascript -e 'tell app \"iTunes\" to play'");
              echo "Playing";
              break;
          
          case "pause":
              exec("osascript -e 'tell app \"iTunes\" to pause'");
              echo "Pausing";
              break;
          
          case "playpause":
              exec("osascript -e 'tell app \"iTunes\" to playpause'");
              echo "Toggling Play";
              break;
          
          case "next":
              exec("osascript -e 'tell app \"iTunes\" to next track'");
              echo "Next Track";
              break;
          
          case "prev":
              exec("osascript -e 'tell app \"iTunes\" to previous track'");
              echo "Previous Track";
              break;
          
          case "louder":
              exec("osascript -e 'tell app \"iTunes\" to set sound volume to sound volume + 5'");
              echo "Turning Up the Volume";
              break;
          
          case "quieter":
              exec("osascript -e 'tell app \"iTunes\" to set sound volume to sound volume - 5'");
              echo "Turning Down the Volume";
              break;
      
              case "shutdown":
                      exec("osascript -e 'tell app \"System Events\"' -e 'shut down' -e 'end tell'");
                      echo "Shutting down...";
                      break;
      
              case "sleep":
                      exec("osascript -e 'tell app \"System Events\"' -e 'sleep' -e 'end tell'");                            
                      echo "Sending to sleep...";
                      break;
      
          }
      ?>
      </body>
      Zum Testen einfach von irgendeinem Rechner im Heimnetzwerk versuchen, das script zu triggern. Dazu im Browser des Rechners (nicht des Mac) eine URL nach folgendem Schema eingeben:

      http://<mac-ip>:<port>/~<mac-username>/control.php?q=<command>

      also zB
      http://192.168.178.30:80/~MrKNX/control.php?q=playpause
      MfG MrKnx

      Kommentar


        #33
        Jetzt muss ich nur noch schaffen diese Zeile http://192.168.178.30/~MrKNX/control.php?q=playpause
        vom Eib PC abzusetzen!
        Denke jedoch, das sollte machbar sein!
        MfG MrKnx

        Kommentar


          #34
          Zitat von MrKNX Beitrag anzeigen
          Jetzt muss ich nur noch schaffen diese Zeile http://192.168.178.30/~MrKNX/control.php?q=playpause
          vom Eib PC abzusetzen!
          Denke jedoch, das sollte machbar sein!
          Etwa in der Form
          [highlight=epc]
          Startabfrage=AUS
          if after(Startabfrage == EIN,600u64) then {
          connecttcp(80u16,192.168.178.30)
          } endif

          if (after(Startabfrage,1000u64) == EIN) then {
          sendtcp(80u16,192.168.178.30, $GET /~MrKNX/control.php?q=playpause HTTP/1.1$,0x0D,0x0A,0x0D,0x0A)
          }endif
          [/highlight]
          Ob das "HTTP/1.1" da in den String gehört weiss ich nicht aus dem Gedächtnis, denke aber schon.
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #35
            Wie müsste der Code aussehen??
            Der BrowserCode sieht so aus:

            http://xx.xx.xx.xx/~MrKNX/control.php?q=play

            So funzt es leider nicht:

            Code:
            ServerPortMac=80u16
            ServerIPMac=xx.xx.xx.xx
            LagTimeMac=250u64
            
            if ("Play iTunes-1/4/5" == EIN) then {
              connecttcp(ServerPortMac,ServerIPMac)
            }endif
            if (after ("Play iTunes-1/4/5" == EIN, LagTimeMac)) then {
              sendtcp(ServerPortDream,ServerIPDream,$GET /~MrKNX/control.php?q=play HTTP/1.0$,0x0Du08,0x0Au08,0x0Du08,0x0Au08);
              closetcp(ServerPortMac,ServerIPMac)
            }endif
            So auch nicht:

            Code:
            sendtcp(ServerPortDream,ServerIPDream,$GET :80/~MrKNX/control.php?q=play HTTP/1.0$,0x0Du08,0x0Au08,0x0Du08,0x0Au08);
            Bitte um kurzen Denkanstoß!!
            MfG MrKnx

            Kommentar


              #36
              Zitat von MrKNX Beitrag anzeigen
              Bitte um kurzen Denkanstoß!!
              Siehe oben. Bin dann noch schnell im Büro gewesen und habe netcat für OSX kompiliert.
              Anbei hier ein netcat mit der Möglichkeit der Programmausführung (hier mit Option "-e" für execute), wobei für iTunes Deine Version wesentlich eleganter ist.
              Angehängte Dateien
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar


                #37
                Zitat von enertegus Beitrag anzeigen
                Siehe oben.
                Bitte beachten: ich hatte das connecttcp vergessen...
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar


                  #38
                  Zitat von enertegus Beitrag anzeigen
                  Etwa in der Form
                  [highlight=epc]
                  Startabfrage=AUS
                  if after(Startabfrage == EIN,600u64) then {
                  connecttcp(80u16,192.168.178.30)
                  } endif

                  if (after(Startabfrage,1000u64) == EIN) then {
                  sendtcp(80u16,192.168.178.30, $GET /~MrKNX/control.php?q=playpause HTTP/1.1$,0x0D,0x0A,0x0D,0x0A)
                  }endif
                  [/highlight]
                  Ob das "HTTP/1.1" da in den String gehört weiss ich nicht aus dem Gedächtnis, denke aber schon.
                  Irgendwie hauts nicht hin, weis aber auch nicht warum!!

                  EDIT:: ICH HAAAABBBBBBBBSSSSSSS!!!!!!!!!!!!

                  Es war "HTTP/1.0"
                  Code:
                  sendtcp(80u16,192.168.178.30, $GET /~MrKNX/control.php?q=playpause [COLOR=Red]HTTP/1.0[/COLOR]$,0x0D,0x0A,0x0D,0x0A)
                  MfG MrKnx

                  Kommentar


                    #39
                    probier einmal zwischen connectcp und sendtcp eine Verzögerung von ca. 1sec einzubauen - hat bei mir geholfen....
                    EPIX
                    ...und möge der Saft mit euch sein...
                    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                    Kommentar


                      #40
                      Zitat von MrKNX Beitrag anzeigen
                      EDIT:: ICH HAAAABBBBBBBBSSSSSSS!!!!!!!!!!!!
                      Reschbäggd!
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #41
                        Jetzt liegt natürlich Nahe, in der Visu eine Rückmeldung des iTunes Tracks, der aktuell gespielt wird, anzuzeigen!

                        Auch dazu hätte ich schon etwas gefunden (denke ich)
                        Brandon Fuller | Now Playing: An iTunes for Mac OS X Plugin

                        @enertegus & EIB Pc Spezi's
                        Denk ihr, es wäre mit dem Plugin etwas anzufangen???
                        MfG MrKnx

                        Kommentar


                          #42
                          Zitat von MrKNX Beitrag anzeigen
                          Jetzt liegt natürlich Nahe, in der Visu eine Rückmeldung des iTunes Tracks, der aktuell gespielt wird, anzuzeigen!
                          Das kommt nun darauf an, was das Tool macht. Wenn es auf den Webserver das Cover bereitstellt, kannst Du es mit picture einbinden bzw. den Songtitel im Webserver einblenden.
                          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                          Enertex Produkte kaufen

                          Kommentar


                            #43
                            Ich bin gerade dabei das Ganze in einem Mac spezifischen Forum abzuarbeiten, bzw. abzuklären!!
                            Ich weis nicht, ob ich das Forum bzw. den Beitrag hier verlinken darf, kann, soll????
                            MfG MrKnx

                            Kommentar


                              #44
                              Ok soweit so gut!
                              Das Plugin schreibt schon alles in die XML und der Webserver des Macs stellt es schon zur Verfügung!

                              Wenn ich jetzt im Browser http://xx.xx.xx.xx/~MrKNX/now_playing.php eingebe, bekomme ich Folgendes:

                              Code:
                              Now Playing is Jona Vark by Gypsy & The Cat
                              Das Lied das gerade spielt ist "Jona Vark" von "Gypsy & The Cat" !!
                              Wie kann ich das jetzt verwenden??
                              MfG MrKnx

                              Kommentar


                                #45
                                Zitat von MrKNX Beitrag anzeigen
                                Wenn ich jetzt im Browser http://xx.xx.xx.xx/~MrKNX/now_playing.php
                                (...)
                                Wie kann ich das jetzt verwenden??
                                dazu musst Du nun wieder die Sache mit sendtcp und den Strings mit $GET ...$ nutzen und die Antwort selbst auswerten, vgl. auch Handbuch S. 68:
                                if event(readtcp(Port,IP,Data) and IP==MyMAC_IP then pdisplay(... , Data, ... ) endif
                                Du kannst also den String direkt auf die Visu schreiben oder auch auf den Bus schicken, weiterverarbeiten etc.
                                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                                Enertex Produkte kaufen

                                Kommentar

                                Lädt...
                                X