Sikuli erkennt Bildschirm-Inhalte: Script-Sprache automatisiert einfach alles
Wer auf dem Mac nur ungern ins Terminal abtaucht, sich aber dennoch den Kopf über eine Handvoll Arbeitsabläufe zerbricht, die automatisiert werden sollen, hat üblicherweise die Wahl zwischen den beiden Dienstprogrammen „AppleScript-Editor“ und „Automator“.
Während der Automator mit bereits vordefinierten „Workflows“ ausgestattet ist, die sich verketten und mit eigenen Argumenten füttern lassen, hängt der praktische Einsatz des „AppleScript-Editor“ stark davon ab, ob sich das zu automatisierende Programm auch auf Apples einfache Programmiersprache versteht.
Eine Voraussetzung die sich einfach überprüfen lässt: Den „AppleScript-Editor“ im Ordner Programme -> Dienstprogramme suchen und öffnen, anschließend im Menu „Ablage“ das Funktionsverzeichnis starten. Ist eure App hier gelistet, könnt ihr die unterstützten Kommandos einsehen und nutzen, fehlt die App hingegen, so lässt sich die Anwendung mit Apples Script-Sprache nicht automatisieren.
Womit wir bei Sikuli angelangt werden. Das für Windows und Mac kostenlos erhältliche Programm kombiniert eine (relativ) einfach zu erlernende Script-Sprache mit der Fähigkeit, den aktiven Bildschirminhalt zu erkennen und auszulesen. Sikuli gestattet damit die Automatisierung fast aller Programmabläufe und vertreibt euch am regnerischen Wochenende sicher gerne die Zeit.
Das klassische „Hello World“-Beispiel der Macher erklärt das Konzept des visuellen Programmierens anhand einer Eingabe in der Spotlight-Suche des Mac-Betriebssystems OS X, die sich etwa in den folgenden Pseudo-Code übersetzen lässt:
- Suche auf dem Bildschirm dieses Lupen-Symbol.
- Klicke auf die Lupe
- Gib „hello world“ auf der Tastatur ein.
Was genau ihr letztendlich mit Sikuli automatisiert, darüber muss euer kreativer Kopf entschieden – die Video-Tutorials der offiziellen Webseite demonstrieren zahlreichen Szenarien .
Die Möglichkeit zur Automation ist jetzt immerhin auch bei all jenen Programmen gegeben, die von „Automator“ und dem „AppleScript-Editor“ nur schlecht bzw. gar nicht unterstützt werden.
Erinnert mich an autohotkey, das macht das auch
Makros Mal ein Stück weitergedacht.
passt hier vielleicht nicht ganz hin, aber ich würde gerne automatisieren, dass erkannt wird ob sich ein iphone in mein Wlan eingebucht hat und mir dann eine Push-Nachricht sendet. Eine Art Anwesenheitsmeldung. Beispielsweise ob meine Frau bereits zuhause ist… Hat jemand von euch so etwas schon mal realisiert?
Geofencing könnte helfen…
frag sie doch einfach? oder willste sie ausspionieren. das ist ilegal!
Nicht unbedingt…
mit der Freunde App. und ihrer Einwilligung eine Mitteilung für die Ankunft bei „Privat“ aktivieren: 3 Klicks auf deinem iPhone. fertig
Ich hatte man eine Erweiterung gesehen, die Geräte am Bluetooth Signal erkennt und dann AppleScript ausführen. Auch unterschiedliche Scripte für kommen und gehen.
Eigentlich wäre die Fritze der richtige Ort für die WLAN-Überprüfung. Aber weil Du natürlich die erhaltene Info auch weiter verarbeiten willst (von Deinem Rechner), muss so ein Skript doch auf diesem laufen. Also muss dieser Rechner immer eingeschaltet sein und permanent bzw zyklisch die Fritze überprüfen.
Als erstes würde ich mal rausfinden, ob AVM nicht vielleicht eine API (z.B. per WebService) auf seinen Geräten bereitstellt, um solche Infos abfragen zu können. Wenn nein, bliebe noch die Möglichkeit sich in die Admin-Oberfläche einzuloggen, zur richtigen Seite zu navigieren und die Geräteliste zu parsen. Das kannst Du wahlweise über die Steuerung Deines Browsers machen (hier könnte Sikuli helfen, schätze ich) oder aber – einfacher – über einen programmierten http-Client, der bloß textuell arbeitet. Dafür würde ich zu AutoIt greifen.
Hast Du erst einmal die Info, musst Du nur noch Deine Heimautomation steuern – die hoffentlich mit entsprechenden APIs ausgestattet ist, sonst wird der Teil nämlich deutlich schwieriger als die Geräte-Ermittlung….
ja klar ausspionieren, oh mann. Wenn ich das wollte hätte ich ihre iphone-Suche aktiviert. Weitergedacht hatte ich eigentlich daran, die Hausautomatisierung zu verbessern. Iphone zuhause –> Heizung an, verschiedene Lichtszenarien ein usw. … da gibt es schon Überlegungen mit Scripten für die Fritzbox, aber ich finde nicht ausgereiftes.
leider wird „Quickeys“ im Moment nicht weiterentwickelt…..
http://startly.com/products/qu.....eys/mac/4/
Deshalb danke für diesen Tip !
Na, DAS klingt mal sehr vielviersprechend! Ich habe schon vieles mit AutoHotkey und auch AutoIt gesteuert, und gerade die Erkennung von GUI-Elementen ist immer das komplizierteste und fehlerträchtigste dabei. Wenn Sikuli hier eine vernünftige Verbesserung bieten kann, wäre es vllt. ein neuer Favorit. Muss ich mir sofort anschauen, grafische Suche ist definitiv einen Blick wert. Danke, iFun Team!
Hätte das Prog. gerne ausprobiert, aber leider bekomme ich immer die Meldung beim öffnen:
Diese Datei kann nicht geöffnet werden, da sie beschädigt ist.
Auf meinen iMac läuft OS X 10.8.2 . Hat jemand das selbe Problem?
Ja, ich habe das selbe Problem. Ich hatte es schon vor Wochen versucht. Heute wieder…immer noch diese Fehlermeldung.