ITunes-Modul - Installation und pairing

Aus FHEMWiki

Es gibt (noch nicht im trunk) ein Modul zur Steuerung von iTunes.
Das iTunes-Modul simuliert eine Original-Aplle-Software-Remote und ist daher in der Lage, neben den üblichen Befehlen auch das ein/ausschalten von Airplay-Lautsprecher.
Zur Installation

  • das modifizierte DMAP.pm in die Perl-Distribution aufnehmen
  • das iTunes-Modul in den Ordner fhem/FHEM kopieren
  • dann einmalig das iTunes-Modul an iTunes pairen

Der Pairing-Vorgang kann eine Herausforderung sein - wenn's aber geklappt hat, ist die Steuerung der iTunes/Apple-TV-Geräte aus fhem heraus sehr komfortabel möglich.

Wo finde ich die erforderlichen Dateien

Aktuell m.W. nur im Forum, und zwar in diesem Post.

Pairing

Diese Beschreibung geht davon, aus, dass fhem und iTunes auf unterschiedlichen Rechnern laufen. Falls bei Ihnen fhem auf demselben mac läuft wie iTunes - siehe "Workaround" weiter unten.
Bei mir läuft fhem auf ner Fritzbox, iTunes auf dem mac.

DMAP.pm platzieren

Zunächst muss das modifizierte DMAP.pm in die Perl-Distribution des Rechners aufgenommen werden, auf dem fhem läuft. Der Ablageort ist Net/DAAP/DMAP.pm Häufig existiert der Ordner Net jedoch mehrfach, daher zunächst den richtigen Ablageort ermitteln.

  • im Terminal eingeben perl -V. Aus der Ausgabe interessiert uns nur die Suchreihenfolge, also der Inhalt von @INC
  • Die @INC-Pfade von oben nach unten rpüfen und jeweils schauen, ob es in dem angegebenen Pfad den Unterordner Net/DAAP gibt. Beim ersten Treffer sind wir im richtigen Ordner angekommen. Hier die bereits vorhandene DMAP.pm umbenennen, z.B. in DMAP-Original.pm , und die hier zu verwendende DMAP.pm hineinkopieren. Danach den Rechner neu starten!

Falls in keinem der @INC-Pfade ein Ordner Net/DAAP existiert, kann man den Ordner DAAP unterhalb von Net in einem "beliebigen" @INC-Pfad anlegen und DMAP.pm hineinkopieren. Bei "beliebig" ist zu beachten, dass es natürlich der Pfad zur wirklich verwendeten perl-Version ist. Danach den Rechner neu starten!

iTunes-Modul installieren, iTunes-device anlegen

  • Nun noch das Modul 33_iTunes.pm in den Ordner fhem/FHEM kopieren, in fhem mit reload 33_iTunes.pm bekanntmachen (oder fhem neu starten)
  • In fhem das neue iTunes-device anlegen mit
     define <name> iTunes <ip des Rechners auf dem iTunes läuft>
    Erscheint nun eine Fehlermeldung, dass Net:DAAP:DMAP nicht gefunden wurde, hat man im ersten Schritt den falschen Pfad erwischt :)

Pairing

  • in fhem erscheint das neue iTunes-device im Status "Pairing".
  • Mit get &ltname&gt advertisingCommand kann man sich den Befehl zum advertising anzeigen lassen. Dadurch wird gegenüber iTunes so getan, als befände isch gerade eine Apple-Software-Remote im Pairing-Modus.

Um das Advertising zu starten, werden zwei Varianten angezeigt: falls ihr fhem auf dem mac läuft, können Sie dns-sd verwenden, da dieses tool auf dem mac standardmäßig vorhanden ist. Auf anderen Rechnern prüfen Sie, ob dns-sd oder avahi installiert sind. Ist keins von beiden vorhanden, installieren Sie eines der beiden nach - oder verwenden Sie den unten beschriebenen Workaround.
Für fhem auf dem mac kann die obere Zeile verwendet werden, da dns-sd standardmäßig vorhanden ist. Dafür per copy&paste das obere angezeigte advertising-command in ein frisches Terminal-Fenster kopieren und absetzen.

  • Nun in iTunes schauen - oben rechts erscheint ein button "Remote". Diesen Klicken und als Pairing-Code "0000" eingeben.
  • Wenn alles geklappt hat, wechselt im fhem-device der Status von "Pairing" auf "Connected".

Workaround - fhem (temporär) auf mac installieren

In meiner eigenen Installation läuft fhem auf ner Fritzbox und iTunes auf dem mac. Das pairing zwischen Fritzbox-fhem und mac-iTunes wollte aber nicht funktionieren, es kam im letzten Schritt immer wieder die Meldung, dass der eingegebene Code 0000 falsch sei. Dies habe ich umgangen, indem ich

  • fhem auf dem mac installiert habe (geht schnell, da Perl ja schon vorhanden ist - einfach das .tar.gz von fhem.de herunterladen, auspacken, starten). Im mac-fhem habe ich dann ein iTunes-device angelegt und dann den oben beschriebenen Pairing-Vorgang mittels des vorhandenen dns-sd durchgeführt.
  • Anschließend habe ich aus dem iTunes-device im mac-fhem den Wert aus dem Attribut "key" kopiert und in das Fritzbox-iTunes-device übertragen, dann das mac-iTunes-device gelöscht. Ggf. kann man gleich das gesamte fhem vom mac wieder löschen - zuvor noch kurz überlegen, denn man kann es ggf. hervorragend per FHEM2FHEM verwenden, um auf den mac Systembefehle abzusetzen :)
  • Nach Neustart des mac hat sich nun mein Fritzbox-iTunes-device prima mit dem mac-iTunes verbunden.

Ziemlich von hinten durch die Brust ins Auge, aber wenn man einmal durch den Pairing-Krampf durch ist, möchte man dieses Modul nicht mehr missen. Versprochen :)
An dieser Stelle übrigen noch herzlichsten Dank an Andre für dieses klasse Modul.