Apple Script (Textausgabe)

  • Frage zu iTunes: Wird es evtl. zu Veränderungen mit iOS 13 kommen, sodass das Script angepasst werden müsste?

    denke NEIN, da apple meines wissens nach an applescript eh nichts mehr macht. nur ...gänzlich entfernen werden sie es -nehme ich an aus den neuen betriebssystemen auch nicht. warum auch. ABER ...die neue IOS Version wird das ganze wahrscheinlich überflüssig machen, da man dann direkt per "musik" reagieren können soll (per homekit). ich frag mich zwar noch, wie man dann eigene texte in "musik" bringen können wird (diese aiff files) aber ...schaun wir mal.

  • Ich finde das Thema auch super spannend und würde mir das gerne mal genauer anschauen in wieweit sich das daheim einbauen lässt :)


    Könntest du dein Script evtl. noch einmal uploaden?


    Vielen Dank!



    Gesendet von iPhone mit Community

  • plugin für Homebridge -> homebridge-ssh


    config für Homebridge:



    {

    "accessory": "SSH",

    "name": "Oberlichter-Temp-AUF",

    "on": "osascript /Users/wilfriedkneer/Documents/Homebridge/Master/meldung-flur-1.scpt",

    "off": "osascript -e 'tell application \"iTunes\" to stop'",

    "state": "osascript -e 'tell application \"iTunes\" to get player state'",

    "on_value": "playing",

    "exact_match": true,

    "ssh": {

    "user": "wilfriedkneer",

    "host": "192.xxx.x.xxx",

    "port": 22,

    "password": "xxxx",

    "key": ""

    }

    },

  • zu Meldung aus dem Hausflur:



    das hombebridge-ssh plugin erstellt dir beliebige dummy-schalter in HB.

    hier soll eine Meldung ausgegeben werden, wenn meine Oberlichter aufgehen weil die Temperatur einen gewissen Wert überschritten hat. -> TEMP-AUF.

    Natürlich wirst du dann einen zweiten dummy erstellen für ...richtig ...-> Oberlichter ZU.


    Hier kann man sich jetzt (nach und nach) völlig austoben und die .scpt scripts einfach kopieren und mit anderem leben füllen.

  • zu Begrüßung Bad:


    Du kannst in den jeweiligen Scripts natürlich auch (fast) beliebige Dinge machen.


    Hier z.B. zeitabhängige if- then - else mit jeweilig anderen texten, weil du morgens im bad anders begrüßt werden willst als mittag..nachmittag...nachts...(oder nachts halt garnicht) ...


    hoffe, das mit dem umbenennen von .txt in .scpt klappt ohne Probleme und ihr könnt die applescripts korrekt einsehen / editieren.


    zum Verständnis:

    das erste script, SOUNDSCRIPT, ist sozusagen das masterscript welches die übergabe der einzelnen Lautsprecher managet, fade in art (audio / text) und fade in Geschwindigkeit / Lautstärke ...bzw. fade out .....


    in den einzelnen meldungs-scripts muss dann eigentlich nur noch der gewünschte Ziellautsprecher oder mehrere angegeben werden (mit "_" ) , und halt der jeweilig gewünschte Ansagetext. that´s it.



    wenn man in HB einen Lautsprecher umbenennt oder man fügt einen neuen Lautsprecher hinzu, muss man ihn hier im soundscript natürlich auch aktualisieren, hinzufügen.

  • Suche schon seit Längerem nach einem Weg Siri interaktiver und "schlauer" zu machen. Das AirTunes Radio Plugin hab ich leider nicht zum Laufen bekommen. Das hier sieht nach einer guten Lösung aus!


    Vielen Dank für das zur Verfügung stellen des Scripts. Leider sind die Dateien (bei mir) nach dem Download total zerschossen. Könntest du sie bitte vielleicht an anderer Stelle nochmal hochladen?

  • Suche schon seit Längerem nach einem Weg Siri interaktiver und "schlauer" zu machen. Das AirTunes Radio Plugin hab ich leider nicht zum Laufen bekommen. Das hier sieht nach einer guten Lösung aus!


    Vielen Dank für das zur Verfügung stellen des Scripts. Leider sind die Dateien (bei mir) nach dem Download total zerschossen. Könntest du sie bitte vielleicht an anderer Stelle nochmal hochladen?

    Hast du denn die Dateien umbenannt auf .scpt ? Das hat bei mir funktioniert! :)

  • Vielen Dank! Ich hab mich jetzt schon einmal ein bisschen eingearbeitet, die Logik ist ja eigentlich ganz verständlich.

    verstehe ich es richtig, dass du in den einzelnen Meldungs Scripts erst einmal das Master Script initialisierst und darin dann die einzelnen Variablen übergibst, die du im Meldungsscript definierst ?


    VG Philipp

  • Vielen Dank! Ich hab mich jetzt schon einmal ein bisschen eingearbeitet, die Logik ist ja eigentlich ganz verständlich.

    verstehe ich es richtig, dass du in den einzelnen Meldungs Scripts erst einmal das Master Script initialisierst und darin dann die einzelnen Variablen übergibst, die du im Meldungsscript definierst ?


    VG Philipp

    ja. siehe in den beiden "meldungsscript´s" jeweils die erste Zeile.


    set myScript to load script file (("Macintosh HD:Users:wilfriedkneer:Documents:Homebridge:soundScript:") & "soundscript.scpt")

  • PhilippCF


    1. apple´s ios ist ein wenig ..."tricky" mit den pfadangaben innerhalb der scripts. deshalb habe ich mir angewöhnt, immer per copy+paste den verzeichnisPFAD aus dem finder zu kopieren. guckst du hier -> 11.jpg (nicht den pfadnamen abtippen im script, besser per copy + paste).



    2. wenn du dir ein zweites terminal aufmachst und in dem verzeichnis ....annafuchs \downloads guckst, wird die datei "meldung.aiff" denn nach starten des scripts angelegt ?


    3. hast du die namen DEINER lautsprecher in beiden scripten identisch ? im soundscript UND in den eigentlichen meldung-scripts ? bitte schau durch das GANZE soundscript, da die lautsprechernamen (lt. itunes) dort mehrmals angegeben werden, nicht das du noch einen namen von mir drin hast :)

  • Ich hab deine Datei angepasst mit Lautsprechern und Pfaden, hab eine Homebridge-Ansage Playlist erstellt...

    Das Script erstellt auch die richtige Datei die ich manuell abspielen kann aber er lädt sie nicht automatisch...

    sorry Phillip, in der eile überlesen.


    punkt 1 + punkt 2 erübrigen sich, klappt ja.


    bitte prüfe die namensgebung der lautsprecher lt. itunes -> in BEIDEN scripts. die müssen genau übereinstimmen.



    wie startest, lädst du denn das script bzw. was genau meinst du mit "...die ich manuell abspielen kann aber er lädt sie nicht automatisch..." ?

  • Danke dir erstmal für deine Antwort!


    Ja die Lautsprecher Namen habe ich alle geändert in beiden scripten an allen stellen, das sollte also passen :)


    Die Datei erstellt er richtig im Downloads Ordner. Er hat dann anscheinend nur ein Problem die Datei in iTunes zu laden und in die Playlist zu stecken.
    Die Datei ist also im Downloads Ordner zu finden aber nicht in der Playlist... und da stoppt das Script auch immer...


    Ich starte das Script indem ich im Meldungsscript auf den Play Botton drücke, da sehe ich dann bei „Events“ auch wir er alle Schritte durchläuft und dann bei iTunes hängen bleibt :/


    Ich hab gesehen dass du manchmal deinen Pfad mit Doppelpunkt und manchmal mit „/„ angibst. Hat das einen Grund ?


    Das mit Copy & Paste der Pfade werde ich auf jeden Fall noch einmal versuchen!




    Gesendet von iPhone mit Community

  • PhilippCF


    das dürfte es aber sein. NICHT in irgendeinen ordner (download) und daraus starten.


    lege dir in itunes eine playlist an z.b. Homebridge-Ansage




    (ich hab hier antenne bayern, wdr 2 und wdr4 hinterlegt, damit ich diese sender via applescript (homebride) auch schalten / starten kann, dies aber nur zur generellen info).


    wichtig ist, dass im soundscript bzw. im meldungsscript ja der pfad angegeben wird bzw. dann auch übergeben wird.

    guckst du hier ->



    hier (gelb markiert) bei

    if player state is .... say .... -> und dann die komplette pfadangabe wo du die aiff ablegst.


    im tell (darunter), muss aber eine playlist im itunes angesprochen werden, sonst kann itunes das nicht starten.

    bei mir heißt die playlist halt "Homebridge-Ansage". also dann auch hier die pfadangabe UND den namen der playlist.


    wenn du nicht mit einer playlist arbeitest, kann die logik nicht funktionieren, dass i-tunes etwaig laufende musik ausfadet, den meldungstext einfadet und nach erfolgter meldung das gleiche lied wieder einfadet. bzw. kann die logik nicht erkennen / unterscheiden (if player state ist paused or player state is stopped ...welchen zustand dein lautsprecher hat. kann ja sein, du hörst gerade musik ....und die meldung soll kommen ...dieser zustand ist ja anders zu behandeln als wenn du KEINE musik hörst, wenn die meldung kommen soll.


    Mach mal wie hier angegeben und gebe feedback.


    UND ...wenn du die meldung.aiff in ein verzeichnis "Homebridge-Ansage" erstellen lässt, die Meldung dann angesagt wird , schaue doch direkt mal nach, ob die meldung.aiff aus der playlist auch wieder gelöscht wird.


    Ich lösche nur die aiff von der Playlist, NICHT von der HDD / SDD, vom datenträger. das mache ich einmal im monat / quartal händisch, weil das löschen vie script noch wieder ein thema für sich ist, wozu ich aber keine lust hatte :)

  • Aaah vllt liegt hier der Fehler!!
    Ich dachte, dass das Script nimmt dann die Datei aus dem Downloadsordner und packt ihn in die Playlist?


    Oder hast du deinen Ordner in dem du dir die Meldung.aiff erzeugst davor schon mit der Playlist verknüpft, dass der Titel automatisch in der Playlist erscheint ?



    Gesendet von iPhone mit Community