Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Und um nicht das System-Log in unermessliche Größen anschwellen zu lassen, leitet man am besten die Ausgabe ins Nirwana um (nachdem man gecheckt hat, dass alles läuft wie es soll):
/* Verbindung zu mySQL aufbauen, auswählen einer Datenbank */ $link = mysql_connect("localhost", "user", "passwort") or die("Keine Verbindung möglich: " . mysql_error() . "\n"); echo "Verbindung zum Datenbankserver erfolgreich\n"; mysql_select_db("eib") or die("Auswahl der Datenbank fehlgeschlagen\n");
Hallo
Wenn man rrd-Tools installiert hat muss man die rrd-Datenbanken erzeugen.
PHP-Code:
#!/etc/php5/cli -q
<?php
error_reporting(E_ALL);
# ==================================
# Erstellt eine rrd-Datenbank
# wird einmal von der Console aufgerufen
# 10.10.2007
# ==================================
# create solar.rrd legt die Datenbank solar.rrd an
# --step 60 alle 60sec wird ein wert erwartet
# DS:t1:GAUGE:120:-25:40 es wird eine Datenquelle mit dem Namen st1 angelegt,
# der Typ ist Gauge est wird 120sec gewartet auf neue Daten wenn nicht
# werden die Daten als UNKNOWN in die Datenbank geschrieben
# der minimale und Maximale Messwert
# RRA:AVERAGE:0.5:1:2160 Das ist rrd-Archiv AVERAGE=Mittelwert 0.5= Intervallabweichung
# 36h Archiv jede Minute ein Wert, 1:2160 = 1h=3600sec 36h*3600=129600 1Minute=60sec jede Minute ein Wert, 129600/60=2160 Einträge
# RRA:AVERAGE:0.5:5:2016 1Woche Archiv alle 5Minuten 1Wert, 3600*24h*7Tage=604800Sec / (5Minuten+60Sec=2016 Einträge
# RRA:AVERAGE:0.5:15:2880 30Tage Archiv alle 15Minuten 1Wert,
# RRA:AVERAGE:0.5:60:8760 1Jahr Archiv alle 60Minuten ein Wert
Dann füttert man die rrd_DB ich mache es mit Cron jede Minute.
PHP-Code:
#!/etc/php5/cli
<?php
# -------------------------------------
# holt jede Minute aus der DB Werte und schreibt sie in die rrd-Dateien
#
# 30.09.2007
# -------------------------------------
#
#
echo"rrd_solar.php gestartet \n";
include_once"/var/www/myhouse/brick/db_rrd_update8.brk";
$gradr1="1/3/2"; # T HQ Rueklauf
$gradr2="1/3/20"; # T Splarspeicher oben
$gradr3="1/3/22"; # T Splarspeicher mitte
$gradr4="1/3/24"; # T Splarspeicher unten
$gradr5="1/3/26"; # T Splarspeicher Ruecklauf
$gradr6="1/3/3"; # T HQ Vorlauf
$gradr7="100/0/5"; # Solarstaerke GL Mittelwert
$gradr8="5/3/1"; # T Solarkollektor
#
#
# Endlosschleife oder cron
# while(1){
# holt aus der DB die Werte
$db_rrd_werte = db_rrd_update8($gradr1,$gradr2,$gradr3,$gradr4,$gradr5,$gradr6,$gradr7,$gradr8);
$db_rrd_werte[6] = $db_rrd_werte[6] / 10; # Anpassung Messbereich Solarstaerke
$command="rrdtool update /var/www/myhouse/rrd/solar.rrd N:$db_rrd_werte[0]:$db_rrd_werte[1]:$db_rrd_werte[2]:$db_rrd_werte[3]:$db_rrd_werte[4]:$db_rrd_werte[5]:$db_rrd_werte[7]:$db_rrd_werte[6]";
echo "$command \n";
system($command);
# alle 60sec wird die schleife durchlaufen
# sleep(60);
# }
?>
Wenn man die rrd-DB gefüttert hat kann man sich mit PHP und HTML die Daten im Browser anzeigen lassen.
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
echo " <head>\n";
echo " <title>Temperatur</title>\n";
echo " </head>\n";
echo " <body>\n";
echo ("<center><img src='solar0.gif'></center>\n");
echo ("<center><img src='solar1.gif'></center>\n");
# echo " <center>Aussentemp. die letzten 24h</center>\n";
echo ("<center><img src='solar2.gif'></center>\n");
# echo " <center>Aussentemp. die letzten 48h</center>\n";
echo ("<center><img src='solar3.gif'></center>\n");
# echo " <center>Aussentemp. die letzten 7 Tage</center>\n";
echo ("<center><img src='solar4.gif'></center>\n");
# echo " <center>Aussentemp. die letzten 30 Tage</center>\n";
echo " </body>\n";
echo "</html>\n";
?>
Das ist alles um mit rrd_Tools seine Daten anzuzeigen.
Diese Webseite hat mir damals viel geholfen http://www.arbeitsplatzvernichtung-d...4/rrdtool.html
Es gibt auch in der Konsole einen Befehl um sich die rrd-Datenbank als Textdatei anzuzeigen,ich weis ihn aber so nicht.
Eine Frage habe ich alledrings: nachdem in KNXweb keine Historien aufgezeichnet werden: wie machst DU das? (Mit welchen Tool generierst du Graphiken?)
Auf der Synology bringe ich RRD nicht zum laufen
Hi EPIX,
ich generiere meine Grafiken mit jpgraph (PHP-Bibliothek). Die Daten dazu kommen aus der mySQL Datenbank der Synology DS.
Und die Daten werden mittels eines PHP-Skiptes von linKNX in die mySQL DB geschrieben. Dieses Skipt rufe ich auf der Synology per wget alle 10 Minuten als cron-Job auf.
rrd-tool hatte ich auch erst, doch es lief bei mir auch nicht auf der Synology. Kam immer der Fehler (Segmentation fault).
Also hatte ich es dann so wie die jetztige Lösung umgesetzt.
hab es ausproboiert, so lange man nicht über linknx zugreift läuft es, doch sobald man z.B. über die XML-Schnittstelle darauf zugreift stürzt linknx auf der FritzBox mit der Meldung "Segmentation fault" ab! :-(
Schade, bei mir läuft es also auch nicht!
Kannst Du evtl. paar Sachen weg lassen (z.B. den mySQL Support oder so) und dann noch mal kopilieren?
Eine Frage habe ich alledrings: nachdem in KNXweb keine Historien aufgezeichnet werden: wie machst DU das? (Mit welchen Tool generierst du Graphiken?)
Auf der Synology bringe ich RRD nicht zum laufen, aber irgendwie möchte ich die Werte vom Openwrt (linknx) die zwar geloggt werden graphisch aufbereiten....
Da ich weder eine Synology noch OpenWRT einsetze, hier wie ich Statistiken per Befehlt auf einer beliebigen Linux-Kiste (und wohl auch Windows...) generiere:
Allerdings habe ich kein lighttpd + PHP + KNXweb am laufen, da ich eine eigene Visualisierung gebaut habe. Aber damit könnte ich es ja auch mal testen!
Ich hatte mir als Lösung für mich überlegt linknx und PHP nicht zu nutzen und statt dessen einen kleinen Daemon zu schreiben, der JSON Objekte liefert und seine Kommandos über leichtgewichtige GET oder POST Aufrufe entgegen nimmt. Mehr müsste für eine AJAX-Visu nicht benötigt werden (ok, Mails, Statistiken, ... geht dann noch nicht, dafür ist aber alles kostenlos )
Da ich nun aber weis, was Makki mit 1-Wire plant, das ganze viel mehr Power besitzt und außerdem für mich auch kostenneutral ist (hab da aktuell noch zwei dumme RTRs verplant die dann gar nicht erst angeschafft werden), werde ich wohl meine Kraft eher in eine gute Konfig-Oberfläche (inkl. HS Funktionalität) stecken
Du hast also eine Visu selbst gebaut, alle Achtung, ich plage mich schon mit KNXweb herum und bringe es doch nicht so hin, wie ich es haben will...
Leider fehlen mir die Kenntnisse um eine Visu selbst zu bauen...
Eine Frage habe ich alledrings: nachdem in KNXweb keine Historien aufgezeichnet werden: wie machst DU das? (Mit welchen Tool generierst du Graphiken?)
Auf der Synology bringe ich RRD nicht zum laufen, aber irgendwie möchte ich die Werte vom Openwrt (linknx) die zwar geloggt werden graphisch aufbereiten....
also bei mir läuft Deine eibd Version vom 16.01.2009 nun seit 19.01.2009 sehr gut und stabil!
Wenn Du linknx nun auch noch zum download zur Verfügung stellen könntest, dann könnte ich das auch mal probieren!
Allerdings habe ich kein lighttpd + PHP + KNXweb am laufen, da ich eine eigene Visualisierung gebaut habe. Aber damit könnte ich es ja auch mal testen!
So, linknx ist compiliert (gestrippt fast 1.5 MB ), auf die Box übertragen und gestartet: läuft
Nur, linknx alleine ist ja etwas langweilig, also knxweb auch auf die Box übertragen und in's Verzeichnis vom lighttpd + PHP kopiert. Wenn ich nun im Browser zugreife, beendet sich (oder wird beendet?) linknx
=> lighttpd + PHP + eibd + linknx (+ knxweb) ist für die Fritz!Box zu viel
Aber: die Box läuft wunderbar stabil, von ihrer normalen Funktionalität hat sie während der ganzen Versuche nichts eingebüßt
(Evtl. könnte ich noch bisschen optimieren mit einem shared statt static pthsem - aber die Box bis an die Grenze zu belasten traue ich mich nicht, dazu ist sie bei mir zu wichtig, oder wie soll ich sonst ins Internet kommen?)
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: