Nach Installation gibt es vier Seiten, die per http aufgerufen werden können. Es kommen keinerlei HTML-Header und ähnliches, so daß das Ergebnis in Bash- oder CMD-Scripten usw. direkt weiterverwurstet werden kann.
Liefert eine Liste aller Datenpunkte und Systemvariablen mit ID, Name, Datenpunkt und aktuellem Wert. Auf meiner gut gefüllten CCU dauert die Abfrage etwa 4 Sekunden. Die Felder sind mit Tabulatoren getrennt, das Ergebnis kann dann weiterbearbeitet und z.B. am Stück in MySQL eingelesen werden.
Es werden nur die Datenpunkte aufgelistet, die lesbare Werte haben. Handsender oder Tasterschnittstellen beispielsweise liefern keine Werte und sind daher in der Auflistung nicht vorhanden.
Liefert den Wert eines Objekts zurück und kann auch neue Werte setzen.
Liefert eine Gesamtliste aller Datenpunkte zurück ohne aktuelle Werte zurück.
Liefert - wie table.cgi - eine Liste aller Datenpunkte zurück, die einen Wert zurückliefern. Anders als table.cgi gibt es hier nur die ID zur Identifikation, über die die Klarnamen aus objects.cgi verknüpft werden können. Außerdem wird hier der Timestamp der letzten Änderung mitgeliefert.
Zusätzlich gibt es eine Art UUID, die sich aus der ID des Datenpunktes und dem
Timestamp der letzten Änderung zusammensetzt. Wenn die Tabelle mit LOAD DATA INFILE
eingelesen wird und UUID als "Unique" definiert wird, kann so problemlos eine
Historie aller Werte der CCU angelegt werden, auch wenn sich hierfür vermutlich der
CCU
Historian besser eignet..
Die Abfrage der Timestamps erzeugt sporadisch "Internal Server Error" auf der CCU. Bei der Weiterverarbeitung sollte also darauf getestet werden, ob die Daten korrekt übertragen wurden. Weitere Auswirkungen des Fehlers sind bisher nicht bekannt.
state.cgi?item=Anwesenheit
state.cgi?item=950
liefert "true" oder "false"; Achtung: Groß- und Kleinschreibung beachten
state.cgi?item=Kombisensor&dp=TEMPERATURE
liefert aktuelle Temperatur; Achtung: Datenpunkte haben nur Großschreibung
state.cgi?item=Lichtaktor&dp=STATE&value=true
schaltet das Licht ein, wenn es aus war, und liefert "true"
state.cgi?item=Lichtaktor&dp=STATE&value=true&force=1
schaltet das Licht ein, auch wenn es schon eingeschaltet war, und liefert "true"
state.cgi?item=Lichtaktor&dp=STATE&value=1
schaltet ebenfalls das Licht ein, auch wenn es schon eingeschaltet war, weil "true" was anderes ist als "1", und liefert "true"
Das Beispiel benötigt
wget, das bei
Windows nachinstalliert werden muß. Die IP-Adresse der CCU muß entsprechend angepaßt
werden.
set command=wget -q -O - "http://ip-der-ccu/addons/db/state.cgi?item=Anwesenheit" for /f "usebackq tokens=*" %%f in (`%command%`) do set anwesenheit=%%f if "%anwesenheit%"=="true" ( echo Jemand ist anwesend. ) else ( echo Keiner da. )
cmd="http://ip-der-ccu/addons/db/state.cgi?item=Anwesenheit" x=$(wget -q -O - $cmd) if [ "$x" == "true" ] ; then echo "Jemand ist anwesend." else echo "Keiner da." fi
Bitte senden Sie keine E-Mail an ieew5illnj67oloj@christian-luetgens.de. Jede E-Mail an diese Adresse wird als Spam gewertet und Ihr Mailserver wird blockiert. Verwenden Sie Kontakt, wenn Sie mich kontaktieren möchten. Vielen Dank.
Please don't send e-mail to ieew5illnj67oloj@christian-luetgens.de. All e-mail sent to this address will be considered as spam and your mailserver will be blocked. Use Kontakt if you want to contact me. Thank you.