Apple Script (Textausgabe)

  • nanekx DJay


    super. gibt immer weitere Anregungen.


    Frage: wie kan ich mit nem applescript den audio-ausgang von intern auf die verschiedenen externen airplay Ausgänge ändern?


    mit


    tell application "System Preferences"

    reveal anchor "output" of pane id "com.apple.preference.sound".

    activate

    end tell



    öffnet mir das script zwar beim iMac das Fenster \systemeintellungen\ton und zeigt mir auch den internen bzw die hinterlegten airplay Lautsprecher an, aber ich schaff es einfach nicht, mittels script auf die externen Lautsprecher zu wechseln *grübel*


    ich würd die nämlich gerne IN/MIT/DURCH die eigentlichen scpt´s wechseln / ansteuern, weil ich dann mit evtl. texten und/oder titeln bzw. Playlists einfacher flexibler bin. denke ich.

  • Wilfhelm2 Vielleicht kannst Du daraus etwas basteln. ?


    Hilfreich?

  • DJay


    danke dir. das script beispiel hatte ich auch gegoogelt und versucht abzuwandeln.


    muss man denn (zeile 11) per tabelle sozusagen das gewünschte input auswählen bzw. durch diese art dem script dann die gewünschte auswahl angeben?

    scheint mir doch, als würde diese tabelle die angezeigten airplay lautsprecher die bei "TON" angezeigt werden, darstellen.


    ach...ich probier es nochmal.

  • DJay


    danke nochmal.

    schritt für schritt komme ich weiter. eben kurz die

    OS X: AppleScript mit Bedienungshilfen und Sicherheitsfunktionen in Mavericks verwenden

    entsprechend für automator und skritp-editor eingestellt und schon..."scheint" es zu funktionieren. bin zwar gerade nicht daheim, kann also nicht hören, aber es sieht ok aus (also, so wie sich itunes und die aktivierten lautsprecher verhalten).

    mal gespannt, wenn ich gleich daheim teste.


    ABER:

    ok, dass ist mir so weit alles klar, funktioniert ja soweit auch. ich möchte aber eigentlich den ausgabelautsprecher im script direkt angeben, anwählen, auswählen. das obige script benötigt ja das aktive agieren durch mausklick.


    hoffe, ich hab mich verständlich ausgedrückt. ich möchte nicht manuell auswählen müssen, sondern vorgeben/angeben, worauf ausgegeben werden soll.


    aber...schon cool, was man mit applescript so alles basteln kann :)

  • Ich hab zwar keine Ahnung von AppleScript außer vom tail and error, aber hab einfach mal logisch ein paar Zeilen entfernt und et voilà.

    Vielleicht nicht ganz sauber, aber hier hat es zumindest funktioniert. ;)


    Hilfreich?

  • Also hier meine Variante sieht so aus ... es werden zwei AirPlay Lautsprecher gleichzeitig angewählt und wenn man z.b. Die Lautstärke später auf z.b. 30% stellt gehen beide Lautsprecher auf 30% - ich glaube das nennt man multiroom ?

    P.S. die Lautsprecher wird in iTunes als Küche und als Wohnzimmer angezeigt (bzw. sind die Namen von der frixbox)


    tell application "iTunes"

    set kuecheSpeaker to (first AirPlay device whose name = "Kueche")

    set wohnzimmerSpeaker to (first AirPlay device whose name = "Wohnzimmer")

    set current AirPlay devices to {kuecheSpeaker, wohnzimmerSpeaker}

    set the sound volume to 2

    delay 3

    set kuecheSpeaker to (first AirPlay device whose name = "Kueche")

    set wohnzimmerSpeaker to (first AirPlay device whose name = "Wohnzimmer")

    set current AirPlay devices to {kuecheSpeaker, wohnzimmerSpeaker}

    set the sound volume to 2

    end tell



    Zum Schluss wird die Lautstärke zunächst auf 2% gestellt , da z.b. eine andere Person die Lautstärke verändert hat - z.b. 80% und ich die Musik anmache , ich nicht gleich ein Herzinfarkt bekomme ... wie gesagt, das sind jetzt zwei Lautsprecher... man könnte auch Computer und AppleTv auswählen statt Küche und Wohnzimmer... ich poste noch ein Beispiel mit einem Lautsprecher... Moment...

  • tell application "iTunes"

    set wohnzimmerSpeaker to (first AirPlay device whose name = "Wohnzimmer")

    set kuecheSpeaker to (first AirPlay device whose name = "Kueche")

    set aussenbereichSpeaker to (first AirPlay device whose name = "Aussenbereich")

    set current AirPlay devices to {wohnzimmerSpeaker, kuecheSpeaker, aussenbereichSpeaker}

    end tell


    Das ist mit drei Lautsprechern ...


    Lautstärke kann man überall mit einfügen wenn man will... und viel Spaß - denkt daran wie ihr eure Lautsprecher nennt ist wichtig ?? ihr glaubt garnicht wie lange ich mit der Küche/Kueche gekämpft habe ...

  • nanekx DJay


    danke nochmal für eure tipp´s / Hilfe und anregungen :thumbup:


    kann nun (endlich) meinen Yamaha im Badezimmer direkt per script aufrufen, ein/aus schalten, laut/leise und zwischen den Eingangsmodi wechseln.


    läuft mit plugin ssh + mit plugin multiswitch. bin (fast) zufrieden :)


    ne im ernst. ist schon wirklich cool, was man mit applescript so alles treiben kann.


    hab aber heute eine schöpferische pause beim "script-projekt" eingelegt und dafür dann doch den z-wave Figaro rollershutter 2 eingbaut.


    und..klappt :)

    ein bisschen "trikki" das einbauen aber man kann es auch als nicht Elektriker hinbekommen. werde mir noch zwei weiter holen.


    jetzt muss ich nur noch austüfteln, wie ich das Fenster z.b. 33 /66 /100 % öffnen kann, bislang macht er immer ganz auf, aber das wird schon noch.


    wollte auf jeden fall Feedback geben.

  • Cool ? freue mich mit dir ? ich war am Anfang auch begeistert von den Möglichkeiten bezüglich AppleScript - ich meine, ich kann dir nachfühlen... für mich ist es immer noch erstaunlich wenn ich Musik höre und der Siri dann sage „nächstes Lied“ und das nächste Lied in der Playlist angespielt wird. Und es macht so viel Spaß... das einzige was jetzt noch fehlt ist ein HomePod ? sollte doch die gleiche Siri sein wie auf dem iPhone ? dann, denke ich, ist es perfekt ?

  • Siri dann sage „nächstes Lied“

    Kommt Dir das nichts ins Gehege mit der Music App auf dem iPhone? Also Siri dann meint die Music App zu öffnen und nicht Deinen Befehlt.

    Hast Du das "nächstes Lied" als Szene oder als Gerät?


    Und ich stimme Dir absolut zu wie erstaunlich das ist und wie cool alles auf Zuruf starten zu können. Bin bei sowas der totale Nerd und warte sehnsüchtig auf den HomePod.

    Hilfreich?

  • Sowohl als auch - Habe eine Szene erstellt mit dem Namen „nächstes Lied“ in dem der Schalter „nächstes Lied“ liegt, in meiner veröffentlichten config sollte es ersichtlich sein - nachdem Update auf iOS 11 ging es nicht, so wie du das auch schon erwähnt hast, ist die Musik App aufgegangen... jetzt mit iOS 11.1 geht’s wieder und vor iOS 11 ging es auch! Ich vermute die Schrauben im Hintergrund an der Siri ?

  • Als der Befehl nicht funktionierte bzw die Musik App immer geöffnet wurde, hatte ich die Szene kurzerhand in „Bum Bäm“ umbenannt ? und „ein Lied zurück“ hieß dann „Bäm Bum“ ? funktioniert einwandfrei ??

  • eine Anfrage (state) bezüglich Bildschirmschoner habe ich übernommen, allerdings klappt die Anfrage nicht wirklich

    Mir ist in Deine config aufgefallen, dass Du "state" nicht gesetzt hast. Vielleicht liegt es daran?


    Hilfreich?

  • Stimmt - habe aber dein Befehl verwendet (zum testen) ... vorher hatte ich nix drin, das stimmt.... ?? beides funktioniert nicht wirklich ?? naja, nicht so wichtig... wie gesagt, nur ein Schönheitsfehler ??

  • yep. ist (immer schon) so gewesen, dass frau siri bei befehlen wie "musik" "itunes" die lokale app (iphone) öffnet.


    so langsam wird es bei mir auch eng mit der namenskonvetion :)


    sage ich "badezimmer an" gehen halt alle schalter die AN/AUS schalten können, auch an.


    heißt, "badezimmer an" -> lautsprecher geht an, dachfenster geht auf. von daher muss ich mir auch andere bezeichner ausdenken, allerdings ist "dachfenster" und "badezimmerlautsprecher" ja jetzt auch nicht soooo schwierig zu merken :)


    hab mir ein begrüßungsintro (text to speach) gemacht. geht ja sogar mit variablen, die (bei mir ist es anna) direkt umgesetzt werden. anna begrüßt mit datum + uhrzeit und erzählt über den -per script angesprochenen lautsprecher- dem "besucher" und erläutert, was man in dem raum alles per sprache befehlen kann.


    jetzt noch einen double-z-wave-switch für das licht und so einen "dot" und schon geht das für alle, auch ohne iphone und...

    fertig ist es. hoffe ich.


    wenn ich das alles so habe wie ich es mir vorstellen, dann mach ich mal nen video für den showroom.

  • Wilfhelm2 Das klingt super was Du beschreibst. :thumbup: Bin auf Deine Showroom Vorstellung gespannt.

    Legst Du Dein Script für die Sprachausgabe auch hier ab? Das mit den Variablen klingt top.


    Gruß und einen guten Start in die Woche.

    Hilfreich?

  • DJay  nanekx


    hallo script-freunde. muss mal nachfragen.


    habe jetzt nette scripts erstellt. die laufen auch wie sie sollen. werden in HB geschaltet, geben aus, holen Datum, Uhrzeit, erstellen von Homepage Wetterdaten-files, lesen vor. alles fein.


    ABER:

    das ganze funktioniert von der Sprachausgabe (also jetzt ein reines Audio-problem) nur wunderbar flüssig, wen ich die texte auf dem internen Lautsprecher, also auf dem iMac vorlesen lasse.

    aktiviere ich die Umschaltung auf den Lautsprecher "Badezimmer" via airplay, dann ruckelt und hakelt das vorgelesene, ist nicht wirklich nett anzuhören.


    lasse ich die Dateien via iTunes auf genau dem selben externen Lautsprecher Ausgaben, alles prima.


    beide wegen gehen doch über ein und den gleichen weg, nämlich über das wlan.

    kann doch nur in Richtung "unterschied interne ausgabe auf mac -> ausgabe auf iTunes " handeln *grübel*


    hab ihr ne´n tipp ?

    danke, ich mach mich an´s googeln :)