kleiner Auszug aus der Anleitung zu meinem Image:
MfG
Thomas
Code:
Diagramme (rrd´s):
- zuerst in das Verzeichnis wechseln
cd /var/www/rrd/
- Script zum Anlegen der Datenbank anpassen (als Beispiel verwende ich hier „Windgeschwindigkeit“)
In der 2. Zeile den Namen für die neue Datenbank ändern (Rest unbedingt unverändert lassen):
original:
rrdtool create database_aussen_temperatur_sued.rrd --start N --step 300 \
neu:
rrdtool create database_windgeschwindigkeit.rrd --start N --step 300 \
mit strg + X beenden u. speichern
- Script ausführen u . Datenbank erstellen
perl /var/www/rrd/create_db.pl
(mit „mc“ könnt Ihr nun den Midnight Commander aufrufen und überprüfen ob die Datenbank
„database_windgeschwindigkeit.rrd“ erstellt wurde)
- diese Schritte müsst Ihr für jede gewünschte Datenaufzeichnung wiederholen!
- nun den Midnight Commander mit „F10“ beenden und den Raspberry mit „reboot“ neu starten - jetzt werden die Daten gesichert
= = = = = = = = = =
- Nun müssen wir das Script zum eintragen der Daten in die Datenbank kopieren und anpassen
zuerst in das Verzeichnis wechseln
cd /var/www/rrd/
Midnight Commander aufrufen mit „mc“
mit den Pfeiltasten wählen wir die Datei „update_database_aussen_temperatur.sh“ aus
mit der Taste „F5“ kopieren und bei „nach“ (hier steht der Cursor) einfach
„update_database_windgeschwindigkeit.sh“ eingeben und mit „OK“ bestätigen
nun wählen wir mit den Pfeiltasten die neue Datei „update_database_windgeschwindigkeit.sh“ aus
mit der Taste „F4“ können wir diese nun editieren
In der 4. Zeile den Namen für den aufgezeichneten Wert ändern (Rest unbedingt unverändert lassen):
original:
tempread=`cat /var/www/linknx/Aussen_Temperatur`
neu:
tempread=`cat /var/www/linknx/windgeschwindigkeit`
und in der 7.Zeile die neue Datenbank eintragen (Rest unbedingt unverändert lassen):
original:
rrdtool update database_aussen_temperatur.rrd N:$temp
neu:
rrdtool update database_windgeschwindigkeit N:$temp
mit strg + X beenden u. speichern
- auch diese Schritte müsst Ihr für jede gewünschte Datenaufzeichnung wiederholen!
- nun den Midnight Commander mit „F10“ beenden und den Raspberry mit „reboot“ neu starten - jetzt werden die Daten gesichert
= = = = = = = = = =
- linknx anpassen (Verknüpfung zwischen Gruppenadressen (gad=“x/x/x“) und „sprechendem Namen“ (windgeschwindigkeit) herstellen
- - - - - - - - -
* zu verwendende Datenpunkttypen (type=“9.xxx“)
* 1.001: switching (on/off) (EIS1)
* 3.007: dimming (control of dimmer using up/down/stop) (EIS2)
* 3.008: blinds (control of blinds using close/open/stop)
* 5.xxx: 8bit unsigned integer (from 0 to 255) (EIS6)
* 5.001: scaling (from 0 to 100%)
* 5.003: angle (from 0 to 360°)
* 6.xxx: 8bit signed integer (EIS14)
* 7.xxx: 16bit unsigned integer (EIS10)
* 8.xxx: 16bit signed integer
* 9.xxx: 16 bit floating point number (EIS5)
* 10.001: time (EIS3)
* 11.001: date (EIS4)
* 12.xxx: 32bit unsigned integer (EIS11)
* 13.xxx: 32bit signed integer
* 14.xxx: 32 bit IEEE 754 floating point number
* 16.000: string (max 14 ASCII char) (EIS15)
* 20.102: heating mode (comfort/standby/night/frost)
- - - - - - - - -
nano /var/lib/linknx/linknx.xml
- Für jeden aufgezeichneten Datenpunkt benötigt Ihr hier eine entsprechende Definition - für Euren ersten Wert passt Ihr Euch
die 4. Zeile einfach an, für jeden weiteren Datenpunkt kopiert Ihr Euch am besten die 4. Zeile und fügt diese irgendwo
zwischen „<objects>“ und „</objects>“ ein. (normalerweise an der letzten Position vor „</objects>“)
original:
<?xml version="1.0"?>
config>
<objects>
<object id="Aussen_Temperatur" gad="0/0/1" type="9.xxx" flags="cwu" init="persist" log="false">Aussen_Temperatur</object>
</objects>
<rules>
…
neu:
<?xml version="1.0"?>
<config>
<objects>
<object id="Aussen_Temperatur" gad="0/0/1" type="9.xxx" flags="cwu" init="persist" log="false">Aussen_Temperatur</object>
<object id="Aussen_Temperatur" gad="0/0/1" type="9.xxx" flags="cwu" init="persist" log="false">Aussen_Temperatur</object>
</objects>
<rules>
</rules>
…
- Nun passen Wir uns die eingefügte Zeile für unseren Datenpunkt (windgeschwindigkeit) an:
gad=„x/x/x (hier wird die Gruppenadresse eingetragen x/x/x), type="9.xxx" (hier wird der Datenpunktstyp definiert)
<?xml version="1.0"?>
<config>
<objects>
<object id="Aussen_Temperatur" gad="0/0/1" type="9.xxx" flags="cwu" init="persist" log="false">Aussen_Temperatur</object>
<object id=„windgeschwindigkeit“ gad=„0/0/2“ type="9.xxx" flags="cwu" init="persist" log="false">windgeschwindigkeit</object>
</objects>
<rules>
</rules>
…
mit strg + X beenden u. speichern
- Den Raspberry mit „reboot“ neu starten - jetzt werden die Daten gesichert
= = = = = = = = = =
- Nun haben wir bisher:
die Datenbank angelegt
das Script für den Eintrag des aktuellen Wertes in die Datenbank angelegt
die Gruppenadressen (x/x/x) mit „sprechendem Namen“ (windgeschwindigkeit) verknüpft
was uns noch fehlt, ist eigentlich ein automatischer Aufruf,
der alle 5 Minuten das Script ausführt und den Eintrag des aktuellen Wertes in die Datenbank schreibt
dies erledigt ein cronjob für uns
- Aufruf:
crontab -e
interessant ist hier für uns der Bereich (Rest unbedingt unverändert lassen):
…
# alle 5 Minuten rrd (ramdisk) aktualisieren
*/5 * * * * /var/www/rrd/update_database_aussen_temperatur.sh
…
- für Euren ersten Wert passt Ihr Euch die Zeile mit „update_database_aussen_temperatur.sh“ einfach an,
ansonsten ergänzen wir einfach um unser neues Script:
…
# alle 5 Minuten rrd (ramdisk) aktualisieren
*/5 * * * * /var/www/rrd/update_database_aussen_temperatur.sh
*/5 * * * * /var/www/rrd/update_database_windgeschwindigkeit.sh
…
mit strg + X beenden u. speichern
- Den Raspberry mit „reboot“ neu starten - jetzt werden die Daten gesichert und die Aufzeichnung der Daten beginnt!
!!!Die Daten in einer Ramdisk aufgezeichnet und 1x stündlich tatsächlich auf die SD-Karte gesichert !!!
Die gebräuchlichsten HTML-Farben zum einfärben der Diagramme:
Code Farbe
#FF8000 orange
#0000FF blau
#00FF00 grün
#FF0000 rot
#000000 schwarz
#666666 grau
#DDDDDD helles grau
mehr dazu:
http://html-color-codes.info/webfarben_hexcodes/
Einbindung CometVisu:
siehe Demo-Config´s „pc“ und „ipad“ im speziellen
- width (Breite)
an iPad (1024er Auflösung) bzw. PC (1600er Auflösung) angepasst…
- series
Unterschiedliche Darstellungszeiträume (Woche bzw. Tag)
Thomas


Kommentar