params.htm verstehen

warning Ab Version 7.7 des AirStudio wird die params.htm nicht mehr genutzt. Stattdessen gibt es nun deutlich einfacher auszuwertende JSON Files. Man kann die params.htm trotzdem weiternutzen. Dazu müsst ihr einfach die RAW params.htm Datei mit den Variablen in das entsprechende Theme Verzeichnis im Installationsordner des AirStudios kopieren und anschließend die Konfiguration auf den Lightmanager Air übertragen.

Hier könnt ihr die RAW params.htm herunterladen, um Sie weiterhin (ab AirStudio 7.7) zu nutzen. Besser ist aber die Nutzung der JSON-Files!

Download

Die params.htm ist eine Datei auf dem Lightmanager, die über die URL http://lightmanagerip/params.htm erreichbar ist. Sie ist besonders für den Aufbau einer eigenen Heimautomatiserungs-Lösung interessant, da sie u.a. die Marker-Zustände, die Temperatur des Raumthermometers des Lightmanagers und die Werte der (optionalen) externen Oregon Scientific Themometer beinhaltet. Aufgrund des einfachen Aufbaus, lässt sie sich gut auslesen. Mit PHP lassen sich die einzelnen Blöcke einfach mit der Funktion fgetcsv anhand des / trennen. Beispiel:

Alternativ:
Hier ein Beispiel der Ausgabe der params.htm
Hier die Erklärung der einzelnen Blöcke am o.g. Beispiel von links nach rechts:

Beispielwert Int. Bezeichner Erläuterung
21.1 ~temp~ aktuelle Innenraum Temperatur (°C)
Werte kommen aus Openweathermap oder von einem externen Oregon Scientific Sensor.
0 ~auth~ Web-Interface mit Authentifizierung?
(0=Nein / 1=Ja)
18:05:42 ~time~ Aktuelle Uhrzeit
03.12. ~date~ Aktuelles Datum
6 ~dow~ Aktueller Wochentag
0 ~isdst~ Sommerzeit? (0=Nein / 1=Ja)
00000010000000
100000000000000000
~marker~ Markerzustände
(0=Marker aus / 1=Marker an)
wlanssid ~ssid~ SSID des verbundenen WLAN
Sa ~day~ Aktueller Wochentag (Abkürzung)
Entfallen seit AirStudio 7.7
18:05 ~hm~ Aktuelle Uhrzeit ohne Sekunden
Entfallen seit AirStudio 7.7
0 ~ledoff~ Front LED dauerhaft deaktiviert?
(0=Nein / 1=Ja)
-0.9 ~tempowm~
~owmtemp~
Aktuelle Außentemperatur (°C)
Werte kommen aus Openweathermap oder von einem externen Oregon Scientific Sensor.
Umbenannt seit AirStudio 7.7
0.5 ~windowm~
~owmwind~
Aktuelle Windgeschwindigkeit (m/s)
Werte kommen aus Openweathermap
Umbenannt seit AirStudio 7.7
1478940080 ~lastupdate~ Zeitpunkt des letzten Updates (UNIX Timestamp)
5.9 ~fwver~ Aktuelle installierte Firmware Version
00-00-00-00-00-00 ~mac~ MAC Adresse des Lightmanagers
0 ~busy~ Busy?
(0=Nein / 1=Ja)
Wert ändert sich auf 1, wenn Szene/Einzelaktion aktiv
111.111.111.111 ~master~ IP Adresse des Master Lightmanager Air (Wird nur in der params.htm der Extender angezeigt). Extender senden Daten über Netzwerk an den Master LM Air
01 ~rftemp~ Ist ein Oregon Scientific Temperatur Sensor aktiv? Dieses Feld gibt zwei Bits an. Das linke Bit steht auf 1, wenn ein Temperatur Sensor auf Kanal 1 sendet (LM Air wertet dies dann als Innenraum-Temperatur). Das rechte Bit steht auf 1, wenn ein Sensor auf Kanal 2 sendet (LM Air wertet dies dann als Außen-Temperatur). Sind 2 Sensoren gleichzeitig auf Kanal 1 und 2 aktiv, ändert sich die beiden Bits folglich auf 11.
Entfallen seit AirStudio 7.7
60 ~humowm~
~owmhum~
Relative Luftfeuchtigkeit in %. Entweder von Openweathermap oder von einem externen Oregon Scientific Sensor.
Umbenannt seit AirStudio 7.7

Die einzelnen Marker Zustände adressieren

Hat man die einzelnen Blöcke der params.htm „extrahiert“, muss man natürlich noch die Marker-Zustände innerhalb des 32-stelligen Marker-Blocks einzeln adressieren. Dies geht am einfachsten über die PHP Funktion „substr“. Damit können beliebige Stellen innerhalb eines Strings nicht mehr mit ausgegeben werden. Dies kann sowohl vor als auch nach dem Zielwert sein. Beispiel:

$lightmanagerstring = substr(„lightmanager“, 2, -1);
echo $lightmanagerstring
Die Ausgabe wäre in diesem Fall: ghtmanage

Dabei sind die ersten beiden (2) und die letzte Stelle (-1) des Strings in der Variable nicht mehr enthalten und werden dann auch nicht mehr mit ausgegeben.

Nun ein Script-Beispiel für die Marker-Zustände:

Wichtig: Ändert man die Reihenfolge eines Markers, so ändert sich auch die Position des Marker in der params.htm und das Script muss angepasst werden!