1. Möchtest Du unser Team im Android OS-Bereich unterstützen? Details dazu findest du hier!
  2. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Neue Scriptsprache on{x} von MS zum Automatisieren

Dieses Thema im Forum "Tools" wurde erstellt von micleftic, 05.06.2012.

  1. micleftic, 05.06.2012 #1
    micleftic

    micleftic Threadstarter Android-Experte

    Beiträge:
    596
    Erhaltene Danke:
    51
    Registriert seit:
    15.03.2010
    Phone:
    Nexus 6P
    Wearable:
    Huawei Watch
    Habe diese App eben gefunden, damit kann man Abläufe automatisieren, also nach dem Motto "Wenn ich meine Arbeit verlasse, sende meiner Frau eine SMS..." Es gibt viele vorgefertigte Actions man kann aber auch, wenn man des Programmierens mächtig ist, selbst solche verfassen.

    Der Clou ist, dass die App von Microsoft ist :D

    Die Webseite:

    https://www.onx.ms/

    hier gibt es die App:

    https://play.google.com/store/apps/details?id=com.microsoft.onx.app
     
  2. jrahe, 06.06.2012 #2
    jrahe

    jrahe Fortgeschrittenes Mitglied

    Beiträge:
    321
    Erhaltene Danke:
    95
    Registriert seit:
    22.08.2011
    Microsoft hat eine neue Scriptsprache zum Automatisieren von Prozessen auf dem Android-Handy veröffentlicht. :)
    (aktuell noch beta)

    Startseite Microsoft on{x}

    Die Nutzung setzt den Login über Facebook voraus.
    Auf der MS-Seite sind schon einige Code-Beispiele, die natürlich auch individuell angepasst werden können.
    Ebenso ist das "freie" Programmieren eigener Scripte (Javascript) möglich.


    Allgemein:
    Ereignisorientiert (Wetter/Zeit/Ort/Unlock/...) lassen sich auf dem Handy Aktionen (website/SMS Text/SMS Versand/...) automatisch starten bzw. ausführen.


    App:
    Die App ist anscheinend (noch) nicht über Google Playstore erhältlich, sondern über Aufruf der MS-Seite und anschließendem Download per Login bei Google.
    (...hat bei mir zumindestens so funktioniert)


    Vorgehen:
    Nach der Installation der app auf dem Handy und dem Login bei Facebook wird über die MS-Seite und dessen Login bei Facebook das eigene "on{x}-Konto" geöffnet und ein Script aus den Beispielen "recipes" ausgewählt. Die Parameter lassen sich schnell und einfach durch anklicken ändern. Das so modifizierte Script wird dann durch Betätigen von "update" per push zu dem Handy gesendet. Dort ist es solange aktiv, bis es entweder in der on{x}-Verwaltung gelöscht/deaktiviert wird oder on{x} auf dem Handy per logout beendet wird.


    Getestete Beispiele:
    1.) "When I unlock my phone open Homepage"
    => funktioniert, allerdings bei WidgetLocker schon beim Einschalten vor dem unlocken
    => bei mir kommt noch die Frage nach dem Browser, da ich aktuell keinen Standard definiert habe

    2.) "Show me the weatherforecast every day at 11:00 am if the expected temperature is below 20° Celsius"
    => funktionierte noch nicht, evtl. liegt es an der Zeitzone


    Nach Neustart:
    Wenn des Handys mit laufendem on{x} neu gestartet wird, sind die Scripte automatisch wieder aktiv!
    Bei den aktiven Programmen läuft on{x} dagegen noch nicht => Ressourcen sparend.


    Offline-Modus:
    Sowohl bei Verlust der Datenverbindung im laufenden Betrieb als auch bei Neustart ohne Datenverbindung (im Flugzeugmodus) bleiben die Scripte weiter aktiv.

    Ein Starten der on{x}-app bewirkt allerdings auf Grund des nicht erfolgreichen logins ein Abbrechen der Scripte. Zum erneuten Starten ist dann wieder eine Datenverbindung notwendig.

    Ein Deaktivieren einzelner Scripte ist somit offline nicht möglich, da dies nur in der on{x}-app eingestellt werden könnte und ein Starten dieser app offline zum Beenden aller Scripte führt.


    Updaten von Scripten:
    Jederzeit möglich, ohne das das Programm extra laufen müsste. Script am PC ändern und Button für "Update" betätigen. Die Anmeldung muß natürlich noch aktiv sein. Benachrichtigung über update in der Benachrichtigungsleiste.


    Beenden von on{x}:

    Über das Menu den mittleren Button zum Beenden wählen. Anschließende Frage, ob das logout gewünscht sei, bestätigen.


    Potential:
    Alternative zu "tasker" / "Llama" u.ä. mit erweiterten Möglichkeiten der eigenen Programmierung.
    Remote-Steuerung des Handys bei Verlust oder Diebstahl (z.B. Senden der aktuellen GEO-Position)
    Eine vielnachgefragte Funktion für Tracking ist das regelmäßige Senden der eigenen Position z.B. an die eigene eMail-Adresse. Dies läßt sich sehr schnell mit on{x} umsetzen. :thumbsup:



    Problematik:
    Neben dem erforderlichen Login über den Facebook-Account besteht auch eine nicht unerhebliche mögliche "Gefahr" bei der Nutzung fremder Scripte, ohne deren Aufbau zu verstehen. :scared:

    Als Beispiel wäre ein Script möglich, welches in bestimmten zeitlichen Abständen eine SMS an jede Adresse des Telefonbuchs versendet.
    Die Funktionen/Zugriffsberechtigungen "SMS erstellen" und "SMS versenden" sowie "Zugriff auf die Telefonbucheinträge" sind durchaus gewollt und für die eigenen Scripte teilweise erforderlich.

    EDIT (07.06.2012): Der Zugriff auf Telefonbuch ist aktuell wohl doch nicht möglich. Außerdem werden Scripte vor der Veröffentlichung auf dem NS-Portal durch MS geprüft und selektiert.

    Beispiele wie:
    "Sende meiner Freundin eine SMS mit meiner aktuellen Position, wenn ich von ihr eine SMS erhalte mit folgender Frage: Wo bist Du?"
    erfordern SMS lesen, neu erstellen und senden sowie Zugriff auf die GEO-Position (GPS) und das Telefonbuch (solange die Nummer der Freundin nicht "hartcodiert" im Script steht).


    Also ACHTUNG bei fremden Scripten !!!
    Sie können ebenso hilfreich und lehrreich wie auch gefährlich sein !!!


    VIEL Spass beim TESTEN !!!

    Gruß Jörg

    Der ursprüngliche Beitrag von 12:11 Uhr wurde um 13:04 Uhr ergänzt:



    Eigenes Beispiel-Script

    ...welches beim Unlock das Programm Evernote startet.
    Code:
     [COLOR=#000000][FONT=Tahoma]    // Initializing variables 
    
         var appName = "Evernote";
    
         // End of variables initializing 
    
         console.log('Script gestartet: Bei Unlock starte: ' + appName);
        // launch browser when the screen is unlocked
        device.screen.on('unlock', function () {
            console.info('device unlocked, launching ' + appName);
            device.applications.launch(appName, {}, function (error) {
                console.error('Fehler beim Öffnen der app ' + appName + ', bitte app-Namen prüfen.');
        });
    
        console.log('Completed script: When I unlock my phone open ' + appName);
        });[/FONT][/COLOR]
      
    Ergebnis:
    => bei mir startet es schon nach Betätigen der Powertaste ca. 1 sec nach Erscheinen des WidgetLocker-Lockscreens.

    Wahrscheinlich ist der originäre Lockscreen ausschlaggebend, der durch WidgetLocker überlagert und zuvor "unlocked" wurde.

    => ich erhalte in der Logdatei Einträge wegen "Fehler beim Öffnen...", obwohl Evernote korrekt startet.

    => für das Starten eines anderen Programms, muss dessen Name (case-sensitive) für bei var appName eingetragen werden.
     
    Zuletzt bearbeitet: 07.06.2012
    CaveCanem und don_giovanni haben sich bedankt.
  3. gorgooger, 06.06.2012 #3
    gorgooger

    gorgooger Android-Hilfe.de Mitglied

    Beiträge:
    135
    Erhaltene Danke:
    9
    Registriert seit:
    23.11.2011
    Wie auch die meisten Kommentare (fast alle) sagen: "Warum zur Hölle Facebook?"
    Ich habe sogar eine Live-ID, aber Facebook? Mit Geodaten? Da kann ich meine Hosen auch gleich bei "Bild" runter lassen.
    Die Idee ist gut, ohne Frage.
     
    Zuletzt bearbeitet: 06.06.2012
  4. jrahe, 06.06.2012 #4
    jrahe

    jrahe Fortgeschrittenes Mitglied

    Beiträge:
    321
    Erhaltene Danke:
    95
    Registriert seit:
    22.08.2011
    ...hier eine Liste der aktuell unterstützten Schnittstellen:
    Quelle: Documentation zu on{x}


    Supported components


    • browser - opens URLs and launch native browser app
    • notifications - display notifications and message boxes
    • applications - query and run installed applications
    • scheduler - schedule scripts executions at a later time
    • screen - register/query for device screen state changes
    • telephony - register/query for telephony state changes
    • regions - trigger code based on entry/exit to/from user-defined geographical regions
    • battery - register/query for battery state changes
    • network - register/query for availability of WiFi and mobile networks
    • location - use it to receive location updates from the various location providers (GPS, network, etc.)
    • modeOfTransport - register for changes in the detected mode of transport (walking/running/vehicle/etc.)
    • localStorage - provides persistent storage for script's private data that is not visible to other scripts
    • sharedStorage - provides persistent storage for sharing information across several scripts
    • messaging - send emails and SMS messages and trigger code based on arrival of messages
     
  5. CaveCanem, 06.06.2012 #5
    CaveCanem

    CaveCanem Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    ich hab mal ein bisschen mit rumgespielt, auch wenn der FB Zwang unverständlich ist. Wird hoffentlich noch entfernt.

    Der Skript-Ansatz gefällt mir deutlich besser als der graphische Ansatz zBsp von Tasker. Dies bedeutet zwar eine längere Einarbeitungszeit und ohne Programmierkenntnisse ist das Erstellen eigener Profile wahrscheinlich unmöglich, allerdings dürfte die Skriptsprache deutlich mächtiger sein als zBsp Tasker. Zurzeit ist dies natürlich noch nicht der Fall, da die Anzahl der Trigger sehr begrenzt ist.

    Wirklich nutzbar ist es zur Zeit nur bedingt, da doch noch viele Bugs herumschwirren.
    Zum Beispiel soll die Location-Funktion angeblich von allein entscheiden welche Basis genutzt werden soll (Cell, UMTS, GPS) um möglichst wenig Energie zu verbrauchen, allerdings versucht er bei mir lediglich über GPS ein Positionssignal zu bekommen, auch in Gebäuden.

    Für nicht-Programmierer soll es schon vorgefertigte Profile geben die leicht an die eigenen Begebenheiten angepasst werden können ohne den Code anfassen zu müssen, insofern der Programmierer das entsprechend vorgesehen hat. - Interessiert mich jetzt eher weniger -

    Fazit für mich:
    Klingt sehr vielversprechend und hat das Potential Tasker mindestens ebenbürtig zu werden. Also abwarten und beobachten.
     
    jrahe bedankt sich.
  6. jrahe, 06.06.2012 #6
    jrahe

    jrahe Fortgeschrittenes Mitglied

    Beiträge:
    321
    Erhaltene Danke:
    95
    Registriert seit:
    22.08.2011
    Info zum vorausgesetzten Login über Facebook-Account:

    Quelle: onx-Team im Blog

    Gruß Jörg
     
  7. jrahe, 07.06.2012 #7
    jrahe

    jrahe Fortgeschrittenes Mitglied

    Beiträge:
    321
    Erhaltene Danke:
    95
    Registriert seit:
    22.08.2011
    Ich stimme "CaveCanem" voll zu: :thumbup:
    Gute Idee und hohes Potential in der Anwendung.
    Allerdings läßt sie sich auf meinem Handy noch nicht sinnvoll einsetzen.
    (...das liegt zum (kleinen) Teil sicherlich auch an meiner individuellen Konfiguration)



    Dazu noch ein paar Anmerkungen:

    ==== POSITIV: ====
    - Login über Facebook wird nach Angaben von MS nur technisch genutzt für einen gesicherten Zugang zum MS-Portal. Es werden laut Aussage MS keine Daten an Facbook übermittelt.
    In meinem Facebook-Account lassen sich von dieser zugelassenen Berechtigung keine weiteren Spuren finden außer in den Konto-Einstellungen unter Anwendungen die aufgeführte "on{x}-app".
    Es wird aktuell an alternativen Logins gearbeitet.

    - die Gefahr von "bösartigen" Scripten ist zumindestens für das MS-Portal relativiert, da vor einer Veröffentlichung von Scripten eine Prüfung und Selektion durch MS stattfindet.





    ==== WAS NOCH NICHT FUNKTIONIERT: ====
    - die Aktion "eMail senden" wird bei mir nicht ausgeführt, sondern nur die eMail-Anwendung geöffnet mit der vorausgefüllten Betreffzeile und dem definierten Text
    => zum Senden muß ich noch manuell den "send"-Button betätigen
    => gut gegen Spam/Malware-Scripte, aber schlecht für Automatisierung


    - die Aktion "SMS senden" wird bei mir nicht ausgeführt und auch nicht die SMS-Anwendung geöffnet
    => Script beendet, aber SMS nicht versendet


    - Scripte werden abgebrochen, wenn eine Abfrage nicht schnell genug bestätigt wird
    => z.B. Situation: 3 Scripte bei Event "unlock", eines davon "eMail senden". Da ich aktuell keinen Standard-eMail-Client festgelegt habe, erscheint die Abfrage, mit welchem Programm ausgeführt werden soll. Da aber das nächste Script schon direkt im Anschluss gestartet wurde, bleibt dieses Abfragefenster nur für einen Bruchteil einer Sekunde sichtbar und das Script wurde ohne Ergebnis beendet.


    - bei installierter "Lockscreen-App" wie z.B. "WidgetLocker" wird das Event "unlock" schon bei Betätigen des Powerknopfs ausgeführt, da WidgetLocker anscheinend den originären Lockscreen schon geöffnet hat.
    => hier sollte das getriggerte Event besser das Unlocken des WidgetLocker sein.


    - das aktivieren/deaktivieren einzelner Scripte ist nur bei bestehender Datenverbindung möglich
    => zum Deaktivieren von Scripten muß aktuell das ganze Programm on{x} beendet werden.


    - ein Editieren der Scripte oder zumindestens der Variablen-Werte ist weder on- noch offline auf dem Handy möglich, sondern nur im online-Portal von MS
    => z.B. ein Script "Zeige Wetter, wenn um 07:00 Temp kleiner 5° ist" kann im Winter hilfreich sein als Warnung vor Bodenfrost/Strassenglätte. Das gleiche Script könnte im Sommer mit den Werten "20:00" und "12°" dazu dienen, an das Schließen des Tomatengewächshauses zu erinnern.
    => aktuell ist für JEDE kleine Änderung in den Scripten der online Zugang zum MS-Portal notwendig, um anschließend das geänderte Script per Push wieder auf das Handy zu senden.


    - nett wären noch Widgets, die auf dem Homescreen abgelegt und deren Eigenschaften (Farbe/Icon/Text) frei festgelegt werden könnten, um deren "Klick" zu triggern
    => somit könnten Scripte auch einfach manuell gestartet werden


    Gruß Jörg

    Der ursprüngliche Beitrag von 10:57 Uhr wurde um 11:35 Uhr ergänzt:

    INFO AKTUELL (07.06.2012):
    Serverprobleme o.ä. bei MS
    Aktuell keine Logs möglich, weder auf Device noch online.
    Quelle: MS-Forum on{x}
     
  8. gorgooger, 07.06.2012 #8
    gorgooger

    gorgooger Android-Hilfe.de Mitglied

    Beiträge:
    135
    Erhaltene Danke:
    9
    Registriert seit:
    23.11.2011
    Uh ... das sollte aber nicht passieren, dass das dann nicht mal lokal geht. Ganz böse Falle!!!
     
  9. jrahe, 07.06.2012 #9
    jrahe

    jrahe Fortgeschrittenes Mitglied

    Beiträge:
    321
    Erhaltene Danke:
    95
    Registriert seit:
    22.08.2011
    @gorgooger:
    ...das WAS nicht lokal geht?

    a) das (de-)aktivieren einzelner Scripte?
    => als workaround immer noch möglich, on{x} zu beenden

    b) das editieren/coden von Scripten?
    => das eigentliche Programmieren ist sicherlich am PC komfortabler
    => schön wäre zumindestens die Möglichkeit, die Variablen-Werte zu ändern, ähnlich wie es im MS-Portal für die veröffentlichten Scriptbeispiele möglich ist.
    => eine Möglichkeit, Scripte lokal auf dem Handy zu erstellen/editieren, gibt es von MS für das WP7-Handy (TouchDevelop vom MS Research-Team). Dort ist eine speziell für das kleine Handydisplay angepasste visuelle IDE für Scripte entwickelt worden.
    Nachteil dort ist, daß (anfänglich) nur auf dem Handy programmiert werden konnte und nicht am PC.

    Gruß Jörg
     
    Zuletzt bearbeitet: 07.06.2012
  10. jna

    jna Ehrenmitglied

    Beiträge:
    7,398
    Erhaltene Danke:
    1,299
    Registriert seit:
    28.01.2011
    Jemand eine Idee, wie die das rausbekommen? Denn das würde ich gerne mal mit Tasker ausprobieren (Bluetooth an im Auto)
     
  11. CaveCanem, 07.06.2012 #11
    CaveCanem

    CaveCanem Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    65
    Registriert seit:
    26.01.2011
    Phone:
    Nexus 5
    laut MS ein recht "aufwendiger" Algorithmus.
    Ich schätze ein Zusammenspiel zwischen einer Ortungsfunktion über Cell/GPS und Beschleunigungssensor.

    Kann mit Tasker glaube ich nicht sinnvoll realisiert werden, da zu aufwendig.
     
  12. tosh_hamburg, 09.06.2012 #12
    tosh_hamburg

    tosh_hamburg Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    0
    Registriert seit:
    12.12.2011
    Habe ich gestern ausprobiert, ist leider noch sehr buggy. Nutzt das Accelerometer. Es gibt die Erkennung von Ruhen, Gehen und Fahren. Bei mir wurde allerdings kam allerdings schon "Fahren", als das GN noch auf dem Tisch lag.

    Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
     

Diese Seite empfehlen