Ankündigung

Einklappen
Keine Ankündigung bisher.

iTunes und Airplay über Webserver steuern

Einklappen
Dieses Thema ist geschlossen.
X
Das ist ein wichtiges Thema.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Allgemein iTunes und Airplay über Webserver steuern

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------
    26.12.15, 00:00 - Erste Fassung
    27.12.15, 13:00 - Anleitung im PDF Format in das hsrepeat Paket eingefügt
    27.12.15, 22:30 - Einige Tippfehler im Posting und in der PDF Anleitung korrigiert
    28.12.15, 23:12 - Fehler in der Beschreibung zum Skript "iTunesStop.scpt" im Posting und in der PDF Anleitung korrigiert
    29.12.15, 12:16 - Startprogramm HsRun.app hinzugefügt und Anleitung im Posting und in der PDF Anleitung angepasst
    02.01.16, 06:15 - Neues Installationspaket mit zusätzlichen Skripten. Anleitung angepasst und erweitert.
    02.01.16, 23:20 - Anleitung angepasst und erweitert.
    10.01.16, 04:51 - Neues Paket mit HsServerSetup für Webserver Einrichtung. Anleitungen angepasst.
    11.01.16, 03:45 - Neues Paket. Fehlerbehandlung in HsRepeat.app verbessert.
    11.01.16, 17:40 - Neues Paket. Anleitungen überarbeitet.
    12.01.16, 13:45 - Kleinere Textkorrekturen.
    14.01.16, 11:52 - Neues Paket. Steuerung für netzwerkfähige Denon AVR implementiert.
    15.01.16, 02:36 - Neues Paket. Steuerung für netzwerkfähige Onkyo AVR implementiert.
    25.01.16, 13:10 - Anleitung Teil 3 - Webserver ergänzt.
    05.02.16, 10:30 - Neues Paket mit div. Anpassungen. Neu: HsRestart Skript. Change: Einzelrückmeldungen in den ApLSxxx Skripten geändert.
    05.02.16, 10:30 - Bitte Anleitung Teil 2 - Beschreibung der Skripte beachten.
    07.02.16, 21:15 - Neues Paket. Anpassungen an den Rückmeldungen einiger Skripte und an den Anleitungen.
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Hallo zusammen

    Ich möchte euch hier eine Reihe von Applescript Snipplets und Apps zu Verfügung stellen. Diese könnten z.B. dazu diesen, iTunes komfortabel über KNX oder einen Gira Homeserver zu steuern. Besonderes Augenmerk wurde darauf gelegt, dass die einzelnen Bestandteile aussagekräftige Feedbacks zurückgeben, in Form von Telegrammen. Das Ganze ist ursprünglich auf den Wunsch des Users @coliflower entstanden und wurde mit Hilfe von @MrKNX erweitert und vervollständigt. Vielen Dank auch an euch beide für die vielen Inputs und Anregungen Wer sich dafür interessiert, der kann in diesem Thread die ganze Entstehungsgeschichte nachlesen. Dort finden sich evtl. auch Hinweise und Informationen, die in dieser Anleitung nicht zu finden sind.

    KNX User können auf dem integrierten Apache Webserver aufsetzen. Die Konfiguration des Webservers wird vom Setup Programm automatisch durchgeführt, wenn diese Option ausgewählt wird. User mit einem Gira Homeserver benötigen den Apache nicht und können deshalb darauf verzichten. Die Einbindung der einzelnen Skripte erfolgt hier mit der Gira Software OS Connect (nur für Mac OS verfügbar).

    Dieser Text soll eine Übersicht über die Funktionen geben und als Installationsanleitung dienen. Die Ausführliche Beschreibung der Skripte und Funktionen ist als PDF am Ende des Postings verfügbar. Die PDFs sind auch im Installationspaket enthalten.


    Aufbau / Funktionen

    Es handelt sich hier um eine Skriptsammlung, die verschiedene Funktionen für die iTunes Steuerung bereitstellt. Folgende Skripte sind verfügbar:

    - Activate / Deactivate Airplay Devices
    - Mute Airplay Devices (mit Fade-In)
    - Pause
    - Play
    - Play/Pause (Toggle)
    - Next Track
    - Previous Track
    - Stop
    - Set Airplay Device Volume (in %)
    - Airplay Device Volume - (Step -3)
    - Airplay Device Volume + (Step +3)
    - Set Equalizer Preset
    - Set Master Volume (in %)
    - Master Volume - (Step -3)
    - Master Volume + (Step +3)
    - Set Playlist
    - Steuerung von netzwerkfähigen Denon AVR
    - Steuerung von netzwerkfähigen Onkyo AVR (experimentell; noch nicht getestet)

    Ausserdem gibt es ein PHP Kontrollskript, mit dem sich die iTunes Skripte über den integrierten Apache Webserver starten lassen. Dazu später mehr.

    Alle Skripte senden auf Wunsch auch eine Antwort, z.B. an einen Rechner, Server oder ein Gerät für die Visualisierung. Das wird via Shell erledigt, durch eine echo Nachricht an IP Adresse und Port des anfragenden Systems.

    Daneben gibt es noch ein Endlosskript, welches immer im Hintergrund läuft. Es prüft sämtliche Einstellungen und sendet bei einer Veränderung ein entsprechendes Telegramm an das anfragende System. Dadurch werden auch Veränderungen erkannt und übermittelt, die direkt auf dem Mac durchgeführt werden. Diese würden sonst nicht bemerkt, da die Feedbacks nur dann gesendet werden, wenn eines der Skripte gestartet wird.

    Hier ist das Installationspaket mit allen benötigten Dateien. Den Inhalt werde ich gleich noch besprechen.

    HsRepeat.zip


    Installation

    Die Installation ist denkbar einfach. Packt das Zip File einfach auf dem Desktop aus und öffnet den Ordner "HsRepeat". In diesem Ordner findet ihr die Datei "Install.app". Führt diese aus. Die Datei kopiert den ebenfalls vorhandenen Ordner "MiniMMC" in den "Programme" Ordner und startet das Setup Programm. Ausserdem findet ihr im Ordner "Programme/MiniMMC/HsRepeat/" ein kleines Logfile. Dieses Logfile wird auch vom Setup Programm verwendet und enthält u.U. einige Informationen für eine Fehlersuche. Zusätzlich wird die Datei "Pashua.app" in den "Programme" Ordner kopiert. Diese Datei wird unbedingt für das Setup Programm benötigt.

    Weitere Informationen zu Pashua findet ihr auf der Website von Carsten Blüm, dem Entwickler.


    Das Setup Programm


    Das Setup Programm wird bei der Installation automatisch aufgerufen. Es kann jedoch jederzeit auch manuell gestartet werden, z.B. um die Einstellungen anzupassen. Es ist im Ordner "Programme/MiniMMC/HsRepeat/" zu finden und trägt den Namen "HsSetup.app". In diesem Programm werden alle Einstellungen gemacht und in der Datei "Programme/MiniMMC/HsRepeat/HsRepeat.conf" abgespeichert. Alle Skripte greifen auf diese Datei zu und lesen dort die Einstellungen. Somit ist es nicht nötig, Änderungen direkt in den Skripten durchzuführen.

    Hier ein Screenshot der Oberfläche und die Erklärung der Einstellungen.

    sc1.jpg


    KNX / HS Kommunikation

    Hier können die Kommunikationsparameter für die Feedbacks eingegeben werden. Die Antworttelegramme der Skripte werden via Shell echo Befehl übermittelt. Hier können nun genötigte Optionen festgelegt werden, sowie die IP Adresse und der Port des Empfängers.


    Install Webserver

    Automatische Installation für den Apache Webserver. Die ausführliche Beschreibung folgt weiter unten.


    Loop Script Mode

    Dabei handelt es sich um eine Dropdown Liste. Es gibt 3 verschiedene Modi:

    - Endless
    - StandbyTrigger
    - Terminate

    Ein grosser Bestandteil des Paketes ist ein Endlosskript. Es läuft ständig im Hintergrund und überwacht die verschiedenen iTunes Parameter. Wird eine Änderung festgestellt, dann schickt das Skript Telegramme mit Status-Updates an den Server. Mit dem Loop Script Mode wird bestimmt, wie sich das Skript selbst verhält. Im Normalfall sollte "Endless" die passende Einstellung sein. Das Skript verursacht keine nennenswerte Last und steht somit der "Energie Sparen" Funktion in Mac OS nicht im Wege. D.h. das System fährt bei Nichtgebrauch trotz Loop Script automatisch in den Standby, wenn das so eingestellt ist.

    Das Skript kann aber selbstständig lokale iTunes Aktivitäten und die Benutzung von Maus und Tastatur überwachen. Dafür gibt es die beiden Einstellungen "iTunes Idle" und "HID Idle". Die dort eingegebene Zahl gibt an, wie lange iTunes nicht verwendet werden darf und wie lange Maus und Tastatur ruhen müssen, damit das System in den Standby gehen kann. Der Standby wird in diesem Fall nicht über die "Energie Sparen" Option ausgeführt, sondern direkt aus dem Skript heraus angestossen. Dafür muss der Mode auf "StandbyTrigger" eingestellt sein. Das ist hauptsächlich für Systeme gedacht, die Einschlafprobleme haben. Jedoch kann das Skript keine Streaming Aktivitäten erkennen. Wer also z.B. via Apple TV einen Film aus der iTunes Mediathek schaut, der wird an dieser Einstellung keine Freude haben. Denn diese Aktivität wird nicht bemerkt. Und so schickt das Skript das System gnadenlos in den Standby, trotz laufender Streaming Wiedergabe.

    Die letzte Option "Terminate" ist an "StandbyTrigger" angelehnt. Jedoch beendet sich das Skript hier selbst, wenn die eingestellten Wartezeiten erreicht sind. Das ist für Systeme gedacht, bei denen es einen Konflikt zwischen dem Endlosskript und der "Energie Sparen" Option gibt. Das Skript wird beendet, ein evtl. Streaming wird dadurch nicht unterbrochen und die systemeigene "Energie Sparen" Funktion sollte funktionieren.

    Wie gesagt, i.d.R. sollte das Skript keine Störungen der "Energie Sparen" Funktion verursachen. Die beiden letztgenannten Optionen sind eigentlich ein Relikt aus der Zeit, als das Skript noch einen anderen Aufbau hatte (repeat / end repeat) und das System daher evtl. nicht zuverlässig in den Standby gehen wollte.


    Script Debug Mode

    Der Script Debug Mode dient der Fehlersuche. Alle Skripte senden ein Feedback Telegramm an den Server, wenn das so eingestellt ist. Falls ein Telegramm am Server nicht ankommen sollte (oder es zumindest den Anschein hat), dann kann der Script Debug Mode helfen. Ist dieser aktiviert, werden keine Telegramme verschickt. Stattdessen wird das Telegramm zur Kontrolle in einer Dialogbox am Bildschirm ausgegeben. Hier ein Beispiel:

    sc4.jpg

    Dadurch lässt sich sehr gut überprüfen, ob ein Telegramm erzeugt wird und ob der Inhalt in Ordnung ist. Das ist hilfreich, um ein Skript als Fehlerursache auszuklammern - oder als solche zu identifizieren.

    Der Debug Mode wirkt auf alle Skripte gleichzeitig.


    Autostart

    Hier lässt sich festlegen, ob das HsRepeat Endlosskript beim Systemstart automatische geladen werden soll. Wenn aktiviert, dann erzeugt HsSetup einen Eintrag für die HsRun.app in den Anmeldeobjekten. Wird der Haken entfernt, dann löscht HsSetup auch den Autostart Eintrag. Die HsRun.app versucht beim Systemstart, iTunes zu aktivieren und wartet anschliessend ab, bevor das eigentliche Endlosskript HsRepeat.app gestartet wird. Dadurch soll iTunes genügend Zeit für den Start erhalten.


    ApLs01 .. ApLs10

    In der gegenwärtigen Form können die Skripte mit max. 10 Airplay Devices umgehen. Die Namen der Airplay Devices werden vom Setup Programm automatisch ermittelt. Das wird über eine iTunes Abfrage realisiert. Hier tauchen also alle Airplay Devices auf, die iTunes in diesem Moment "sehen" kann. Diese Informationen werden ebenfalls gespeichert und stellen die Basis für die Skripte dar. Wenn neue Airplay Devices hinzugefügt werden, oder welche entfernt werden, dann muss HsSetup erneut ausgeführt werden damit die Liste aktualisiert werden kann. Bitte keine manuellen Eingaben oder Änderungen vornehmen! Die Bezeichnung ApLS.. dienen später noch als Keywords, damit ein Airplay Device am Server eindeutig zugeordnet werden kann.

    Damit Die Abfrage durchgeführt werden kann, muss iTunes zwingend gestartet sein! Falls iTunes nicht laufen sollte, dann wird eine Meldung ausgegeben:

    sc3.jpg


    Single Script Feedback Telegram

    Für die einzelnen Funktionen gibt es Skripte, die bei Bedarf durch ein Telegramm vom Server angestossen werden können. Diese Skripte können selbst Feedback Telegramme an den Server schicken, unabhängig vom Endlosskript. Das ist ganz praktisch für User, die kein Endlosskript benutzen möchten oder trotzdem noch zusätzlich ein direktes Feedback möchten. Hier kann die Feedback Funktion für alle verfügbaren Arbeitsskripte einzeln eingeschaltet werden. Diese Einstellungen haben keine Auswirkung auf die Funktion des Endlosskripts! Das sendet immer alle Feedbacks. Ausgenommen im Debug Mode. Da werden die Meldungen ebenfalls nur auf dem Bildschirm ausgegeben. Um die Anzahl der Checkboxen in einem überschaubaren Rahmen zu halten, wurden die Skripte teilweise nach Funktion zusammengefasst. Die Checkbox "Play/Pause" steuert z.B. das Feedback für die Einzelskripte "Play/Pause (Toggle), "Play" und "Pause".


    Send Delay

    Dieser Parameter betrifft nur das Endlosskript. Hier kann festgelegt werden, um wie viele Sekunden der Versand des nächsten Telegramms verzögert werden soll. Beim Start von HsRepeat werden alle überwachten Einstellungen innerhalb von wenigen Sekunden in mehreren Telegrammen an den Server übermittelt. Beim ersten Durchlauf wird also zunächst eine komplette Statusübermittlung durchgeführt. Bei jedem weiteren Durchlauf werden nur noch Veränderungen übermittelt. Damit bei der ersten Übermittlung aber keine Überlastung der Server Schnittstelle (und damit ein Informationsverlust) passiert, kann der Versand der Telegramme verzögert werden. So entsteht eine künstliche Pause zwischen den einzelnen Übermittlungen.


    Install Webserver

    Diese Option startet die automatische Konfiguration des internen Apache Webserver. Alle benötigten Files werden vollautomatisch kopiert und die Konfigurationsdateien des Apache werden für den Betrieb der Skripte angepasst. Die Konfiguration muss mit Administrator-Rechten durchgeführt werden. Das Kennwort dafür wird abgefragt, sobald HsSetup mit dem OK Button beendet wird.


    Abschluss

    Wenn alle Einstellungen vorgenommen wurden, kann HsSetup mit dem "OK" Button verlassen werden. Die Einstellungen werden gespeichert und sofort wirksam. Wurde die Option „Install Webserver“ ausgewählt, dann wird jetzt das Administrator Login abgefragt und die Apache Konfiguration startet.

    sc10.jpg


    Weitere Eingaben sind nicht nötig. Sobald die Installation abgeschlossen ist, öffnet sich ein Browserfenster und es wird einen PHP Info angezeigt.

    sc11.jpg


    Die Installation ist damit abgeschlossen und der Webserver ist vollständig funktionsfähig.

    Wenn HsSetup mit dem "Abbrechen" Button verlassen wird, dann gehen alle Änderungen an den Einstellungen verloren. Es wird folgende Meldung ausgegeben:


    sc2.jpg


    Soviel zu Installation und Setup. Hier die PDF Dateien mit der Beschreibung der Skripte und die Anleitung für die Benutzung des Webservers.


    Anleitung Teil 2 - Beschreibung der Skripte.pdf
    Anleitung Teil 3 - Webserver.pdf
    Anleitung Teil 4 - AVR Info Denon.pdf
    Anleitung Teil 4 - AVR Info Onkyo.pdf


    Viel Erfolg bei der Einrichtung!

    lg

    Michael
    Zuletzt geändert von lifeflow; 07.02.2016, 20:17.
    HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac
Lädt...
X