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