URL-Schemes

Mit Hife von URL-Schemes können Parameter über eine normale URL an eine App gesendet werden, die dann dort weiter verarbeitet werden. Mit HomeControl kann so schon beim Start der App ein Gerät gesteuert werden. Die passende Aktion wird direkt nach dem Login losgeschickt, sodass ein schnelles Ausführen von vordefinierten Aktionen geschehen kann. Es fällt somit das Warten auf das komplette Laden der App und das Aufsuchen der passenden Aktoren in den Räumen weg.

Der Vorteil an URL-Schemes ist, dass es sich um normale URLs handelt, die z.B. über (Javacript-)Lesezeichen in Browsern geöffnet werden können. Es gibt auch Apps, die es sich zur Aufgabe gemacht haben verschiedene Aktionen per URL-Schemes zu verwalten. Launch Center Pro ist wohl die bekannteste.

Wie hat eine gültige URL auszusehen?

Allgemeines Beispiel:
homecontrol://x-callback-url/GeräteTyp?x-success=[]&LID=___&value=___&next=[homecontrol://x-callback-url/GeräteTyp?LID=___&value=___&next=[]]
  • homecontrol://
    • sorgt dafür, dass die App startet
  • x-callback-url
    • zeigt an, dass es sich um eine URL handelt, die eine Aktion ausführen kann, wenn der Request zur Geräte-Steuerung abgeschickt wurde.
  • GeräteTyp (ist mit passendem Wert zu ersetzen)
    • Der Typ des Geräts, das gesteuert werden soll.
  • x-success (optional)
    • Die URL, die nach Absenden des Befehls zur Steuerung des Geräts aufgerufen werden soll. Ist in [ ] einzuklammern.
  • LID
    • ID des Geräts, vom Typ "GeräteTyp", der vorher definiert wurde.
  • value
    • Was mit dem Gerät passieren soll.
  • (mode)
    • Nur bei der Steuerung von Heizkörpern!! (Akzeptierte Werte: Manu, Auto)
  • next (optional)
    • Die nächste Aktion. Das Schema ist das gleiche wie von Anfang bis hierher, es fällt nur der "x-success" Parameter weg. Es können beliebig viele Aktionen miteinander verknüpft werden. Bei der letzten fällt dann einfach der "next"-Parameter weg. Jede Aktion ist jeweils in [ ] einzuklammern.
Konkretes Beispiel:
homecontrol://x-callback-url/SwitchActuator?x-success=[http://google.de]&LID=c35a4cbc-cc3c-f1a4-3d6d-a55932fa953c&value=False&next=[homecontrol://x-callback-url/RoomTemperatureActuator?LID=c35a4cbc-cc3c-f1a4-3d6d-a55932fa953c&value=19.0&mode=Auto]
Was passiert hier?

Zuerst wird ein Zwischenstecker ausgeschaltet und danach die Heizung auf 19.0°C geregelt und dabei auf den Automatik-Modus gesetzt. Wenn die beiden Requests losgeschickt wurden, wird Safari mit Google.de geöffnet.

Was sind die richtigen Parameter?

In HomeControl kann auf einen Aktor (keine Sliderzelle) in der Raumansicht und der Übersicht mit einem langen Tap (ca. 2 Sekunden) das "Share"-Menü aufgerufen werden. Das bietet die Möglichkeit diese Informationen zu kopieren oder zu verschicken. Anschließend müssen sie nur noch passend in die URL eingebaut werden.