Bluetooth verbinden per AS über System Events

Dieses Thema im Forum "AppleScript" wurde erstellt von franc, 14.11.17.

  1. franc

    franc Gala

    Dabei seit:
    25.01.09
    Beiträge:
    50
    Hallo
    ich habe einen Bluetooth Adapter für die Anlage, mit dem verbindet sich mein MacBook Pro Mid 2009 mit EC nicht automatisch. Daher habe ich so ein Applescript abgekupfert, siehe meinen Beitrag auf macuser.
    Das funktioniert zwar, also per Tastenkombination (mit Spark) klappt sofort das BT-Menü von der Systemleiste runter, aber danach dauert es einige Sekunden bis dann mein PhilipsBT ausgewählt wird. Das 'Verbinden' geht dann wieder ganz schnell.
    Hier noch mal das Skript:
    Code:
    activate application "SystemUIServer"
    tell application "System Events"
        tell process "SystemUIServer"
            -- Funktionierendes CONNECT Script.  Läuft durch folgende Befehle:
            -- Klickt auf Bluetooth Menu (OSX Menüleiste ganz oben)
            --    => Klickt auf das PhilipsBT Objekt
            --      => Klickt auf das Verbinden Objekt
            set btMenu to (menu bar item 1 of menu bar 1 whose description contains "bluetooth")
            tell btMenu
                click
                tell (menu item "PhilipsBT" of menu 1)
                    click
                    if exists menu item "Verbinden" of menu 1 then
                        click menu item "Verbinden" of menu 1
                        return "Verbindet..."
                    else
                        click btMenu -- Close main BT drop down if Connect wasn't present
                        return "Verbinden-Menü wurde nicht gefunden, schon verbunden?"
                    end if
                end tell
            end tell
        end tell
    end tell
    Kann mir jemand einen Trick verraten, wie man die Auswahl im heruntergeklappten Menu erheblich beschleunigen kann?
    Ist das vielleicht nicht zu ändern?

    Danke

    franc

    PS.: ich hab das jetzt hier im Forum gefragt, weil es im macuser Forum keine Applescript Unterabteilung gibt.

    EDIT: Mist, ich hab im macuser Forum übersehen, dass es doch eine AS Unterabteilung gibt :(
    Hätte ich auch dort nachfragen können. Zu spät, kann das hier anscheinend nicht mehr löschen.
    Ich hatte dort nach AppleScript gesucht, bin aber immer im MacOS Unterforum gelandet, statt in Scripting und Automatisierung, daher dachte ich das.
     
  2. franc

    franc Gala

    Dabei seit:
    25.01.09
    Beiträge:
    50
    Scheint definitiv nicht zu gehen, wie man anderen Posts entnehmen kann.

    Sobald der click (nach dem tell btMenu) erfolgt, bleibt das Skript stehen, vermutlich vom System gestoppt und macht eine fiese Kunstpause von ca. 6 Sekunden.

    Auch mit cliclick geht es nicht, ein per AS ausgeführtes:
    Code:
    do shell script "/opt/local/bin/cliclick c:810,10"
    öffnet das BT-Menü gar nicht. Übrigens auch kein anderes Symbolleistenmenü (LSP, Uhr etc.), das scheint von OSX geblockt zu werden und nur mit der physikalischen Maus möglich zu sein, der Klick.

    EDIT: falsch, nicht der Klick mit cliclick wird geblockt, sondern der Klick durch AppleScript. Rufe ich cliclick über das Terminal auf oder auch über ein Shellscript, dann wird es ausgeführt. Ich habe somit ein Skript philipsbt.sh erstellt:
    Code:
    #!/bin/bash
    /opt/local/bin/cliclick c:810,10 kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-right kp:return
    Ausführbar gemacht und das kann ich jetzt per Spark (per Tastenkombination) ausführen.
    Das ist zwar sehr pfuschig, weil die Reihenfolge sich jederzeit ändern kann und dann die Anzahl der Klick-Nach-Unten nicht mehr stimmen könnte, aber es ist sehr viel schneller als das blöde AS über die SystemUIServer Geschichte.
     
    #2 franc, 17.11.17
    Zuletzt bearbeitet: 17.11.17