Ein automatisiertes iTunes?

Also ich wollte das schon sehr lange , aber ich bin mir nicht 100% sicher, wie ich es machen soll. Ich möchte im Grunde in der Lage sein, dass iTunes einen Radiosender spielt, wenn ich nach Hause komme .

Ich dachte daran, alle zehn Sekunden ein Skript ausführen zu lassen, um zu sehen, ob mein iPhone mit meinem drahtlosen Netzwerk verbunden ist, wodurch iTunes geöffnet und dieser Radiosender gespielt wird. Nachdem es mit der Wiedergabe begonnen hat, verhindert es, dass das Skript bis 12 Stunden später erneut überprüft wird. (Ich gebe ein Beispiel von 12 Stunden, da ich nicht schon zu Hause sein möchte und plötzlich Musik ohne Grund plötzlich anfängt).

Wo soll ich also anfangen? Fange ich überhaupt an der richtigen Stelle an? Gibt es etwas Besseres als das? Ich brauche etwas Hilfe und Anleitung! Ich finde, was ich will, ist relativ einfach... :-/

Könntest Du das erläutern? Sprechen Sie über iTunes auf Ihrem iPhone oder Ihrem Mac? Sie meinen einen Internet-basierten Radiosender, keinen konventionellen Over-the-Air?
Genau wie meine zwei Cent, denke ich, dass Sie wahrscheinlich besser dran sind, Heim/Nicht-Heim-Set zu haben, anstatt es einfach für 12 Stunden zu deaktivieren - das würde bedeuten, dass es um 5 Uhr morgens zu spielen beginnt, wenn Sie um 17 Uhr nach Hause kommen! Wenn Ihr Skript die Überprüfung ausführt und nur dann mit der Wiedergabe beginnt, wenn Ihr Telefon bei der vorherigen Überprüfung nicht gefunden wurde, scheint dies eine Verbesserung zu sein.

Antworten (3)

Für den Anfang könnten Sie sich ControlPlane ansehen, um iTunes auszulösen, wenn Sie nach Hause kommen.

von http://www.controlplaneapp.com/about/ :

Mit ControlPlane können Sie Konfigurationsprofile, Kontexte im ControlPlane-Jargon, für Ihren Mac erstellen, basierend darauf, wo Sie sich befinden oder was Sie tun. ControlPlane bestimmt anhand einer Reihe verfügbarer Beweisquellen, wo Sie sich befinden oder was Sie tun, und konfiguriert Ihren Mac dann automatisch entsprechend Ihren Vorlieben neu. Beweisquellen können Ihren aktuellen Standort, sichtbare WLAN-Netzwerke, angeschlossene USB-Geräte, laufende Anwendungen und mehr umfassen.

Es wäre hilfreich, wenn Sie etwas mehr Informationen über Ihre erwartete Funktionalität bereitstellen könnten. Es hört sich so an, als hätten Sie einen Mac in Ihrem Haus – bleibt er die ganze Zeit eingeschaltet?

Ein paar Ideen kommen mir in den Sinn, aber wie Sie sie zusammenstellen, hängt davon ab, was genau passieren soll.

Standortprüfung

Wenn Sie Ihr iPhone dabei haben und es sich automatisch mit Ihrem WLAN verbindet, ist dies wahrscheinlich der beste Weg, um zu überprüfen, ob Sie zu Hause sind.

Notieren Sie sich zunächst die WLAN-MAC-Adresse Ihres iPhones, die Sie unter Einstellungen → Allgemein → Info → WLAN-Adresse finden .

Sie können den Befehl im Terminal (oder ein Skript) verwenden arp -a, um die Liste der bekannten Adressen des Mac im lokalen Netzwerk zu drucken, und dann verwenden, grepum zu überprüfen, ob die Adresse Ihres iPhones darin enthalten ist:

arp -a | grep -i IPHONE_MAC_HERE

Dadurch wird der ARP-Eintrag gedruckt, wenn einer mit der Adresse Ihres iPhones übereinstimmt, und nichts gedruckt, wenn dies nicht der Fall ist.

Es ist wichtig zu beachten, dass dies möglicherweise nur dann zuverlässig funktioniert, wenn Ihr iPhone so eingestellt ist, dass es über Wi-Fi mit Ihrem Mac synchronisiert wird. arp -alistet nur Adressen auf, mit denen es kürzlich kommuniziert hat - es weiß nicht, dass Ihr iPhone dort ist, es sei denn, es kommuniziert mit Ihrem Mac. Da die Wi-Fi-Synchronisierung bewirkt, dass das iPhone eine Identifikationsnachricht sendet, wenn es einem Netzwerk beitritt (um zu sehen, ob Computer, mit denen es synchronisiert, online sind), wird es der ARP-Tabelle Ihres Mac hinzugefügt, wenn Sie nach Hause kommen, aber möglicherweise nicht wenn Sie keine WLAN-Synchronisierung eingerichtet haben.

Skripterstellung für die iTunes-Wiedergabe

Wenn Sie so etwas wie Controlplane (in Kraymers Antwort erwähnt) nicht verwenden , ist AppleScript die beste Möglichkeit, die iTunes-Wiedergabe zu steuern.

Es ist ziemlich einfach:

tell application "iTunes"
    play playlist "Music"
end tell

Beginnt mit der Wiedergabe Ihrer Hauptbibliothek. Ändern Sie „Musik“ in einen Ihrer Wiedergabelistennamen, wenn Sie eine bestimmte haben, die Sie spielen möchten. Sie können auch set shuffle of playlist "Music" to yesdie Zeile vor der playZeile hinzufügen, wenn Sie die Zufallswiedergabe aktivieren möchten.

Sie können die Wiedergabe auch innerhalb eines Shell-Skripts starten:

osascript -e 'tell application "iTunes" to play playlist "Music"'

Beispielskript

#!/bin/bash

iPhoneMAC='78:a3:e4:4C:8f:a9' # From Settings > General > About > Wi-Fi Address

# Check if the iPhone is in the ARP table
arp -a | grep -i $iPhoneMAC > /dev/null # Silence output

# Repeat check every 30 seconds, if the iPhone address isn't detected
while [[ $? == 1 ]]; do 
    sleep 30
    arp -a | grep -i $iPhoneMAC > /dev/null
done

# Once the iPhone is detected, play music
osascript -e 'tell application "iTunes" to play playlist "Music"'

Dies ist eine ziemlich vereinfachte Version, aber es sollte ein guter Ausgangspunkt sein, um etwas näher an das zu bringen, was Sie wollen. Wenn Sie das Skript ausführen, wird es alle dreißig Sekunden nach der iPhone-Adresse suchen (stellen Sie sicher, dass Sie die richtige in das Skript einfügen), bis es sie erkennt, und spielt dann iTunes ab.

Vorgeschlagene Verbesserungen

  • Es ist ein One-Shot-Deal, sobald es das iPhone erkennt, spielt es die Musik ab und stoppt die Überprüfung. Sie sollten herausfinden, welche Logik Sie dahinter haben wollen (zB soll es einmal pro Wochentag starten, damit es spielt, wenn Sie von der Arbeit nach Hause kommen, oder soll es jedes Mal spielen, wenn Sie das Haus betreten).
  • Es kann eine gute Idee sein , es über die OS X- launchdFunktionalität auszuführen (die verschiedene Planungen und Wiederholungen von Skripten ermöglicht). Es gibt viele Ressourcen dazu, sowohl auf Ask Different als auch anderswo.
    • Wenn Sie dies auf diese Weise tun, benötigen Sie die Schleifenfunktion möglicherweise nicht und launchdkönnen dafür verantwortlich sein, sie in einem Intervall zur Überprüfung auszuführen.
  • Eine Art Mechanismus, um unnötiges Überprüfen zu vermeiden, wenn Sie tatsächlich nach Hause kommen und die Musik gespielt hat. Könnte nur ein langer Schlaf sein, sobald die Musik abgespielt wird, oder etwas Klügeres, je nachdem, wann Sie es überprüfen möchten.

Zusätzlich zu dem, was alle anderen sagen, gibt es eine weitere Option, die Sie in Betracht ziehen sollten, wenn es Ihnen nichts ausmacht, Bluetooth auf Ihrem Telefon aktiviert zu lassen (und da die neueren iPhones Bluetooth 4.0 verwenden, wird es nicht annähernd so schlimm sein, Ihren Akku zu entladen wie frühere Inkarnationen). Diese Website beschreibt eine App namens Bluetooth Proximity Tasker, mit der Sie verschiedene Aktionen ausführen können, wenn Ihr System Ihr iPhone (oder ein anderes Bluetooth-fähiges Gerät) mit einer bestimmten Signalstärke erkennt.

Ich habe diese App nicht persönlich getestet, aber ich habe eine andere ausprobiert, die ich vor ein oder zwei Monaten gefunden hatte und die mein iPhone erfolgreich erkennen und den Passwortschutz auf meinem iMac deaktivieren konnte (obwohl diese App sowohl kostenlos war als auch fehlte die benutzerdefinierte Stärkeauswahloption).