Mittwoch, 6. Februar 2013

Tasker und das XS1

Ich habe mir gerade ein LED-"Glühlampen"-Set von Philips gekauft, und auch schon zur Zusammenarbeit mit Tasker überredet. Aber dazu später mehr - erstmal will ich noch die alten Tasker-Sachen nachholen:

Allgemeingültiges

Nachdem ich die ersten Tests 'einfach so' angefangen hatte, habe ich mir dann eine Variable (%EZC) angelegt, die Hostnamen/IP, Benutzername und Passwort speichert. So muss ich nicht durch alle Tasks gehen, wenn ich mal etwas ändern möchte, sondern habe eine zentrale Anlaufstelle.

Steckdosensteuerung

Alles was man wirklich braucht ist ein HTTP Get (zu finden in der Kategory Net). Bei Server:Port trägt man die oben genannte Variable %EZC ein. Path enthält preset?switch=<x>&value=<on/off>.

<x> ersetzt man durch die Nummer des Aktors - zu finden in der ersten Spalte auf der Seite Actuators vom XS1

<on/off> gibt an, ob die Steckdose an oder aus geschaltet werden soll - man entscheide sich für eins, und lasse die Klammern weg. :-)

Da mein WLAN ab und an unzuverlässig ist, habe ich noch eine Abfrage der Variablen %HTTPR angefügt. Wenn sie 204 enthält, wird der Task beendet. Andernfalls wird das HTTP Get nach 3 Sekunden erneut versucht.

Heizkörpersteuerung

Der eigentliche Vorgang funktioniert analog zur Steckdosensteuerung. Hinter value gibt man die gewünschte Zieltemeratur an. Also z.B. preset?switch=4&value=19. Antrieb Nummer 4 ist bei mir die Heizung im Bad.

Zusätzlich zu der Sicherheitsabfrage von %HTTPR habe ich noch eine Abfrage eingefügt, ob das jeweilige Fenster offen ist - ich will ja nicht für draußen heizen. Wie das geht folgt im nächsten Abschnitt.

Sensor "Fenster offen"

Nach den Actuators kommen wir nun zu den Sensors auf dem XS1. Der gravierenste Unterschied ist, dass diese nicht unverzüglich arbeiten, sondern durchaus Verzögerungen von mehreren Minuten haben. Der Grund liegt im Bestreben, die Batterien in den Sensoren zu schonen. Für meinen Bedarf ist das auch vollkommen ausreichend und funktioniert gut.

Wir kommen nun nicht mehr nur mit einem HTTP Get aus, sondern müssen auch noch das Ergebnis auswerten. Außerdem sieht der Path etwas anders aus: control?callback=mycallback&cmd=get_state_sensor&number=<x>.

<x> enthält wieder die Nummer aus der Übersichtsseite des XS1, diesmal natürlich derjenigen unter Sensors.

Außerdem muss man noch Output File auf eine Datei seiner Wahl legen, z.B. Tasker/Fenster_Bad. Diese Datei kann man dann mit Read Line (Kategorie File) auslesen. Dazu trägt man bei Line eine 8 ein und wählt eine To Var, z.B. %FENSTER_BAD_TEMP. File ist natürlich auf die selbe Datei zu setzen, die man auch beim HTTP Get angegeben hat. Dann noch die folgenden Schritte, um den richtigen Wert herauszufischen:

Variable Split mit der gerade gewählten Variablen als Name.

Variable Set mit z.B. %FENSTER_BAD als Name und %FENSTER_BAD_TEMP2 bei To (die Variable von oben, mit einer angehängten 2).

Im Grunde reicht das, um den 'aktuellen' (im Rahmen der oben erwähten Verzögerungen) Stand des Fensters auszulesen. Ich speichere mir noch den alten Stand des Fensters um so einen Vergleich zu haben und mir nur dann eine Benachrichtigung anzeigen zu lassen, wenn das Fenster gerade geöffnet wurde - und nicht jedes mal wieder, wenn er feststellt, dass das Fenster immer noch offen ist.

Bewegungsmelder als "Klingel" für die Katze

Da Heidi einen festen Platz hat(te), an dem sie gewartet hat, wenn sie wieder rein wollte, ist es einfach, diesen mit einem mobilen Bewegungsmelder zu überwachen. Zum Starten der Überwachung startet man den entsprechenden Task über einen Shortcut auf dem Homescreen.

Dieser Task fragt dann analog zum "Fenster offen"-Sensor den Bewegungsmelder ab. Allerdings steht die gewünschte Information hier in Zeile 11 statt in Zeile 8.

Dienstag, 5. Februar 2013

Anlegen der Sensoren im XS1

Allgemeines

Ich lasse das XS1 die aktuelle Öffnung der Heizungsventile in Prozent anzeigen, die erreichte Temperatur, den Stand des Fensters und eine festgestellte Bewegung eines mobilen Bewegungsmelders FS20 PIRA.

Einrichtung

HC1, HC2 und Adresse bekommt man entweder durch manuelles Eintragen (FHT Ventil und Temperatur - diese Werte werden beim Einrichten des ELV FHT80b angezeigt) oder durch Anlernen (FHT Fenstermelder - nach dem Klick auf Anlernen öffnet/schließt man das Fenster innerhalb der Zeit, die der Countdown läuft).

Beim Bewegungsmelder bin ich mir nicht mehr ganz sicher, aber ich glaube auch hier funktionierte es über Anlernen.






















Stolperfallen

Der Bewegungsmelder zeigt immer 100% an, sobald einmal eine Bewegung (seit dem Start des XS1) erkannt wurde. Interessant ist hier die letzte protokollierte Uhrzeit.

Die Werte werden nur in gewissen Intervallen abfragt, und kommen somit manchmal verzögert an. Dies sollte man schon bei der Anschaffung bedenken. Der Fensterkontakt reagiert bei mir eigentlich immer innerhalb von 2 Minuten - damit kann ich auch gut leben. Bei den Ventilen und der Temperatur dauert es meist länger.