für alle Trendkurvenfetischisten (bin auch einer) habe ich eine Lösung mit amcharts für die Version1 von IPS gebaut
Das ganze lehnt sich an den Ursprungsscripten von „Elektrofreak“ an. Der hat so tolle Vorarbeit geleistet, das man nichts neues erfinden musste. Die Datenbank ist die gleiche wie für die Lösung mit JPGraph. Es kann auch beides parallel betrieben werden.
Was kann amcharts?
An den Schnittpunkten des Graphs und des Lineals kann durch einen Klick der aktuelle Wert abgelesen werden.
Durch markieren eines Bereichs (durch halten der linken Maustaste und Bewegen des Lineals) kann in den Graphen gezoomt werden.
Im Zoommodus kann mit einem Rollbalken im oberen Bereich der Zeitbereich abgefahren werden.
Graphen können einzeln ein- und ausgeblendet werden.
Graphen können ausgedruckt werden.
usw.
Alles weitere steht in der install.txt
amcharts für die Version2 von IPS ist auch schon am Laufen, hier bin ich gerade mit Bruns8234 in Verbindung, damit wir nicht alles doppelt machen.
Viel Spass.
Gruß
Thomas
P.S. wer sich das ganze live ansehen möchte, kann dies unter www.online-bhkw.de tun. Dazu einfach auf irgendeinen Fühlerwert oder entsprechenden Button klicken.
Hallo Thomas,
Danke für die ausführlichen Erklärungen, habe es mit dem Beispielscript geschafft.
Jetzt noch eine Frage, wie bekomme ich so eine Balkengrafik wie auf Deine Seite Stromverbrauch EG hin. Ich möchte meinen Verbrauch an Strom jeden Tag in die DB um 23:59 schreiben und mit dem Balkendiagramm auswerten.
Ich habe gesehen das Du es mit Amcolumm machts.
Über ein Beispiel würde ich mich freuen.
um die Balkengrafik zu erhalten habe ich eigene Tabellen, die Werte werden also nicht aus der „data“ Tabelle geholt. Du brauchst einfach eine Tabelle pro Datenpunkt in der du täglich den Zählerwert Nachts um 23:59 reinschreibst.
Mit dem Script das ich dir geschickt hatte kannst du dann die Werte holen und bekommst Balken angezeigt
Beispiel:
Du hast einen Datenpunkt „Zaehlerstand_EG“.
Du legst eine Tabelle „zaehlerstand_eg“ in der Mysql an (das kannst du in der ipsdata machen). Einfach folgende SQL Anweisung mit MySQLAdmin starten.
Mit folgendem Script das du über „Timers&Triggers“ um 23:59 Uhr startest schreibst du den Wert in die DB.
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Werte_in_IPS_Werte_DB.ips.php
Trigger :
Interval :
*/
//Variablen holen
$val1 = GetValueFloat("Zaehlerstand_EG");
//Werte in DB schreiben
werteindb("Zaehlerstand EG",$val1,"zaehlerstand_eg"); //Datenpunktbeschreibung,Variable mit dem Wert,Tabelle
function werteindb($varname,$wert,$table){
include("zugriff_db.inc.php");
$link = mysql_connect($MySQLHost, $username, $password) or die("Keine Verbindung möglich!");
mysql_select_db("ipsdata") or die("Auswahl der Datenbank fehlgeschlagen");
$insert = "insert into `$table`(Name,Wert) values ('$varname','$wert');";
mysql_query($insert);
if (!$insert) {
echo "Insert Error!";
}
echo $insert."
";
$v= mysql_query("SELECT * FROM $table");
printf ("Veränderte Datensätze: %d
", mysql_affected_rows());
mysql_query("COMMIT");
mysql_close();
}
?>
Wenn du mehrere Wert speichern möchtest, musst du das Script entsprechend erweitern.
Die Tabellen kannst du entweder über das SQL Script anlegen (musst dann halt die Bezeichnungen im Script ändern) oder aber mit MySQLAdmin die Tabellen kopieren.
Hallo Thomas,
vielen Dank für die Hilfe. Eine Frage habe ich noch. Kann ich MySQLAdmin
auch auf den lokalen Server installieren wo auch die Datenbank läuft ?
Mit den Tabellen anlegen komme ich so nicht klar.
Hallo Thomas,
habe es geschafft phpMyadmin zu installieren. Jetzt wollte ich die Tabelle erstellen die weiter oben steht. Es kommt aber eine Fehlermeldung beim erstellen.
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‚Name NOT NULL default CURRENT_TIMESTAMP , Name varchar( 50 ) collate la‘ at line 2
ich habe natürlich auch gleich einmal die awcharts Erweiterung getestet, um auch meinem Dachs besser in den Bau sehen zu können.
Dabei ist mir aufgefallen, dass bei Variablen die einen „.“ im Namen haben keine xml Datei erzeugt und somit auch kein Graph angezeigt wird.
Ich habe leider ziemlich viele davon.:o
Mein Dachs hat leider die MSR2 Steuerung, bei der sogar unser Dachspfleger so seine Probleme hat die Daten auszulesen.
Ich greife alle Daten die ich bekommen kann über externe Sensoren ab. Diese übertrage ich dann per Microcontroller und XBee ins IPS.
An die Daten der Steuerung selbst kommt man soweit ich weiss nicht ran.
amcharts sieht richtig klasse aus. Nun nutze ich allerdings nicht den Webserver, sondern ausschliesslich den Designer.
Gibt es irgendeine Moeglichkeit, Flash-Graphen im Designer anzuzeigen? Derzeit ist der Oeltank das einzige visualisierte und das mache ich mit einem selbstgeschriebenen Script, welches ein PNG erzeugt, dieses zeige ich einfach im Designer an. Flash kann man leider nicht als Bild einfuegen. Die einzige Idee, die ich noch hatte, ist ein Webbrowser-Objekt einzufuegen und darueber den Flash-Graphen zu laden. Das kann man jedoch (es sei denn, ich bin zu bloede dafuer - dann bitte einen Tipp) offenbar nicht in der Groesse veraendern.
Gibt es irgendeine Chance, dass ich als reiner Designer-Nutzer amcharts einbinden kann? Ich nutze bereits die V2.
nö kämpfe gerade noch mit der V2. Ich habe da die Trends schon laufen nur muss noch ein bisschen was für die Installation gemacht werden, damit das auch so funzt wie in der V1 (soll ja einigermassen einfach zu installieren sein). Ich hoffe ab Februar wieder was machen zu können, vorrausgestezt meine Probleme mit der V2 habe ich bis dahin im Griff.
@ Caveman
Was den Designer angeht kann ich dir momentan leider nicht viel helfen da ich fast noch nichts mit dem Designer gemacht habe. Bei einem Bekannten habe ich einfach eine Webseite in den Designer eingefügt und da kann man dann alles bedienen.
hier mal das amcharts Paket für die V2. Mit Firefox zum Speichern rechte Maustaste -> „Ziel speichern unter“ klicken ! Das File kann ich hier nicht hochladen da über 1MB
Installation:
Das rar-File in das IP-Symcon Verzeichnis kopieren und hier entpacken.
Es wird im „Scripts Verzeichnis“ ein File eingefügt (MySQLDataExport.ips.php)
Es wird ein Verzeichnis Web angelegt.
Dort findet ihr dann das Verzeichnis Graphen/Install und dort die install.php und install.txt. Lest euch das File install.txt durch, dann müsste das mit der Installation klappen.
Danke fürs bereitstellen deiner Scripte. Habs bei mir mit kleineren Anpassungen eingeführt und kann es nun auch nutzen.
Ich habe amcharts irgendwo gesehen und mir haben die Grafiken wahnsinnig gut gefallen. Vorallem das scrollen mit der Maus und der exakten Anzeige des Wertes im Moment, sozusagen. Also die flexibilität des Graphen gefällt mir.
Das Thema ist ja schon etwas älter und ich weiß nicht in wie fern das noch jemanden interessiert.
Ich habe z.b. die Zeile in varconf.php angepaßt: (also das eingefügt: ." (".$varID.")",
und zwar weil viele meiner Variablen gleiche Namen haben.
Im Bild siehst du dann auch das fertige Ergebnis. Damit kann ich meine Variable identifizieren.
Du hast mir geholfen mich in amcharts einzulesen/reinzukommen, und dafür danke ich dir
ich finde amCharts genial was die Anzeigemöglichkeiten angeht und genial einfach zu implementieren.
Natürlich hat sich seit damals sehr viel getan bei meinen Scripten. Wenn du die aktuellen benötigst, gib bescheid
Ich habe jetzt auch angefangen die Farben usw. änderbar zu machen.
Hier kannst du dir das an meinem Demo - PC ansehen. Es werden dort aber keine Werte in die DB geschrieben die sich großartig ändern. An dem UVR-Regler hängt nur das Simulationsboard und solange da keiner an den Potis dreht, ändert sich auch nicht viel.
Du kannst dir das ganze gerne ansehen und darin rumspielen. Wenn du dort in die Konfiguration möchtest wird nach Benutzer und Passwort gefragt.
Benutzer: energie
Passwort: energie
Wenn du auf irgendeinen Wert klickst, bekommst du den Trend dazu angezeigt.
Meine DSL Verbindung ist leider etwas lahm, also nicht gleich die Geduld verlieren