Trendkurven mit amcharts

Hallo,

für alle Trendkurvenfetischisten (bin auch einer) habe ich eine Lösung mit amcharts für die Version1 von IPS gebaut :slight_smile:
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?

  1. An den Schnittpunkten des Graphs und des Lineals kann durch einen Klick der aktuelle Wert abgelesen werden.

  2. 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.

  3. Graphen können einzeln ein- und ausgeblendet werden.

  4. 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.

graphen.rar (762 KB)

Hallo MSR_Junky,

sieht hervorragend aus.

Freu mich schon auf die V2-Version.

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.

cu uwe

Hallo Uwe,

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 :wink:

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.

CREATE  TABLE  `ipsdata`.`zaehlerstand_eg` (  `ID` int( 10  )  NOT  NULL  auto_increment ,
 `Timestamp` timestamp NOT  NULL  default CURRENT_TIMESTAMP ,
 `Name` varchar( 50  )  collate latin1_general_ci NOT  NULL ,
 `Wert` varchar( 20  )  collate latin1_general_ci NOT  NULL ,
 KEY  `Index` (  `ID`  )  ) ENGINE  =  MyISAM  DEFAULT CHARSET  = latin1 COLLATE  = latin1_general_ci COMMENT  =  'Zählerstand EG';

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.

Gruß
Thomas

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.

cu uwe

Hi Uwe,

Kann ich MySQLAdmin
auch auf den lokalen Server installieren wo auch die Datenbank läuft ?

klar kannst du das, wird auch in 99,9% der Fälle so sein denke ich :wink:

Gruß
Thomas

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

woran liegt das ?

cu uwe

Hallo Thomas,

ich habe natürlich auch gleich einmal die awcharts Erweiterung getestet, um auch meinem Dachs besser in den Bau sehen zu können. :wink:

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

Hast du eine Idee?

Grüße, Keule

Hallo Keule,

ich werde das mal prüfen, dauert aber etwas.

Hast du deinen Dachs auch an IPS angebunden?
Welchen Regler hast du MSR1 oder MSR2?

Gruß
Thomas

Hallo Thomas,

Kein Problem.

Mein Dachs hat leider die MSR2 Steuerung, bei der sogar unser Dachspfleger so seine Probleme hat die Daten auszulesen. :frowning:

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.

Grüße, Keule

Hoffentlich nicht zu offtopic:

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.

Gruesse,
Thomas

Hallo Thomas

Gibt’s an der 2.0-amcharts-Front schon was Neues?

Gruss, Andreas

Hi,

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.

Gruß
Thomas

Hi ich finde amcharts auch toll gibt es da schon was neues ??

was du dir auch mal ansehen solltest wenns bei dir nur um png’s geht istpchart.

Dacht einfach geile grafen
MFG Ken macht weiter so !!

Hi,

bei mir läuft AmCharts nun ohne Probleme mit V2. Ich hoffe ich komme nächste Woche dazu ein Paket fertig zu schnüren, das ich dann hier einstelle :wink:

Gruß
Thomas

hallo thomas !

das hört sich gut an. ich kämpfe auch inzwischen an der v2 front :slight_smile:

happy day, frank

Hi,

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 :frowning:

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.

Viel Spass!

Gruß
Thomas

Hallo MSR_Junky / Thomas,

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.

$options[$varID] = $varname.", ".$vartype." (".$varID.")";

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 :slight_smile:

Hallo Hinti,

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 :wink:
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 :wink:

Gruß
Tom

Hallo MSR_Junky,

super Seite :slight_smile:

Auch ich hätte Interesse an Deinen aktuellen Scripten zu amCharts.

Gruß
zkra