EZcontrol XS1 mit Tasker steuern: Teil 2 – Sensoren lesen

Das XS1 von Rose + Herleth GbR ist ein ideales Steuergerät für die Hausautomation. Mit Hilfe der genialen App Tasker kann das XS1 auch mit einem Android-Smartphone gut gesteuert werden. Im Teil 2 soll gezeigt werden, wie Sensoren gelesen werden können.

Die folgende Beispielaufgabe liest einen Sensor aus und gibt ihn als Benachrichtigung aus.

Task: XS1.Lese
 A1: Task Ausführen
[
Name:XS1.GetSensor
Stop:Aus Priorität:5
Parameter 1 (%par1):1
Parameter 2 (%par2):
Rücksetzungswert
Variable:
]
A2: Benachrichtigung
[
Titel:XS1 Sensor
Text:%XS1NAME=%XS1VALUE %XS1UNIT
Icon:<icon>
Nummer:0
Dauerhaft:Aus
]

Die Aufgabe A1 liest den angegebenen Sensor und extrahiert den Namen, den Wert und die Einheit. A2 erzeugt eine Benachrichtigung aus den gewonnenen Informationen.

Variablen

Wir legen einige globale Variablen an:

%XS1NAME
%XS1VALUE
%XS1UNIT
%XS1DATA

%XS1NAME, %XS1VALUE, %XS1UNIT enthalten nach der XS1.GetSensor-Ausführung die Sensorwerte. %XS1DATA wird temporär benötigt.

Task: XS1.GetSensor

A1: HTTP Get
[ Server:Port:%XS1PORT
Pfad:control?callback=tasker&cmd=get_state_Sensor&number=%par1
Attribute:
Timeout:10
MIME Typ:text/*
Ausgabe Datei:
]
A2: Variable Setzen
[
Name:%XS1DATA
Zu:%HTTPD
Mathematisch:Aus
Hinzufügen:Aus
]
A3: Variable Aufteilen
[
Name:%XS1DATA
Teiler:
Basis löschen:Aus
]
A4: Variable Aufteilen
[
Name:%XS1DATA19
Teiler:"
Basis löschen:Aus
]
A5: Variable Aufteilen
[
Name:%XS1DATA11
Teiler:"
Basis löschen:Aus
]
A6: Variable Aufteilen
[
Name:%XS1DATA15
Teiler:,
Basis löschen:Aus
]
A7: Variable Setzen
[
Name:%XS1NAME
Zu:%XS1DATA112
Mathematisch:Aus
Hinzufügen:Aus
]
A8: Variable Setzen
[
Name:%XS1VALUE
Zu:%XS1DATA151
Mathematisch:Aus
Hinzufügen:Aus
]
A9: Variable Setzen
[
Name:%XS1UNIT
Zu:%XS1DATA192
Mathematisch:Aus
Hinzufügen:Aus
]

A1 liest den als Parameter 1 übergebenen Sensor. Die folgenden Aufgaben zerlegen die XS1-Antwort und extrahieren die gewünschten Informationen, hier Name, Wert und Einheit des Sensors.
A2 kopiert die XS1-Antwort nach %XS1DATA, das erleichtert das spätere Aufräumen nicht benötigter Variablen.
A3 splittet %XS1DATA an den Leerzeichen. Dabei entstehen %XS1DATA1, %XS1DATA2, %XS1DATA3 usw.
A4 bis A6 splittet die interessierenden Zeichenketten noch einmal, um störende Satzzeichen zu entfernen. Aus den neuen Variablen werden in A7 bis A9 die eigentlichen Werte kopiert.

Beim Splitten sind viele neue Variablen entstanden die, wenn sie stören, weitgehend gelöscht werden können. Zunächst werden die Teile verbunden:

Variable registrieren
[
Name:%XS1DATA
Starter:%XS1DATA
Teile löschen:An
]

und dann die resultierende %XS1DATA gelöscht.

Leider klappt das das nicht hundertprozentig, einige Variablen bleiben übrig, aber das ist nicht so dramatisch und sollte nicht stören.

Anmerkung: Nur getestet mit EZcontrol Firmware 3.0.0.3322.

 

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.